Skip to content

Commit a90fe69

Browse files
committed
v1.0.0
1 parent d521c85 commit a90fe69

File tree

1,088 files changed

+244740
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,088 files changed

+244740
-2
lines changed

.editorconfig

Lines changed: 193 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
# https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference
2+
# https://editorconfig.org
3+
4+
# top-most EditorConfig file
5+
root = true
6+
7+
# Default settings:
8+
# A newline ending every file
9+
# Use 4 spaces as indentation
10+
[*]
11+
# insert_final_newline = false
12+
indent_style = space
13+
indent_size = 4
14+
15+
[project.json]
16+
indent_size = 2
17+
18+
# C# files
19+
[*.cs]
20+
indent_style = tab
21+
22+
dotnet_diagnostic.CA1416.severity = error
23+
24+
# TODO: Remove this to reenable the COMAnalyzer once https://github.com/dotnet/linker/issues/2686 is fixed
25+
dotnet_diagnostic.IL2050.severity = none
26+
27+
# Code analyzers
28+
dotnet_diagnostic.CA1307.severity = error
29+
dotnet_diagnostic.CA1309.severity = error
30+
dotnet_diagnostic.CA1311.severity = error
31+
dotnet_diagnostic.CA1815.severity = error
32+
dotnet_diagnostic.CA1825.severity = error
33+
34+
# nullability checks
35+
36+
dotnet_diagnostic.IDE0029.severity = error
37+
dotnet_diagnostic.IDE0031.severity = error
38+
dotnet_diagnostic.IDE0041.severity = error
39+
40+
# Modifier preferences
41+
dotnet_style_require_accessibility_modifiers = never:suggestion
42+
43+
# New line preferences
44+
csharp_new_line_before_open_brace = all
45+
csharp_new_line_before_else = true
46+
csharp_new_line_before_catch = true
47+
csharp_new_line_before_finally = true
48+
csharp_new_line_before_members_in_object_initializers = true
49+
csharp_new_line_before_members_in_anonymous_types = true
50+
csharp_new_line_between_query_expression_clauses = true
51+
52+
# Indentation preferences
53+
csharp_indent_block_contents = true
54+
csharp_indent_braces = false
55+
csharp_indent_case_contents = true
56+
csharp_indent_switch_labels = true
57+
csharp_indent_labels = one_less_than_current
58+
59+
# avoid this. unless absolutely necessary
60+
dotnet_style_qualification_for_field = false:suggestion
61+
dotnet_style_qualification_for_property = false:suggestion
62+
dotnet_style_qualification_for_method = false:suggestion
63+
dotnet_style_qualification_for_event = false:suggestion
64+
65+
# only use var when it's obvious what the variable type is
66+
csharp_style_var_for_built_in_types = true:none
67+
csharp_style_var_when_type_is_apparent = true:none
68+
csharp_style_var_elsewhere = false:none
69+
70+
# use language keywords instead of BCL types
71+
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
72+
dotnet_style_predefined_type_for_member_access = true:suggestion
73+
74+
# name all constant fields using PascalCase
75+
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
76+
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
77+
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
78+
79+
dotnet_naming_symbols.constant_fields.applicable_kinds = field
80+
dotnet_naming_symbols.constant_fields.required_modifiers = const
81+
82+
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
83+
84+
# static fields should be PascalCase
85+
dotnet_naming_rule.static_fields_should_have_prefix.severity = suggestion
86+
dotnet_naming_rule.static_fields_should_have_prefix.symbols = static_fields
87+
dotnet_naming_rule.static_fields_should_have_prefix.style = static_prefix_style
88+
89+
dotnet_naming_symbols.static_fields.applicable_kinds = field
90+
dotnet_naming_symbols.static_fields.required_modifiers = static
91+
92+
dotnet_naming_style.static_prefix_style.capitalization = pascal_case
93+
94+
# internal and private fields should be _camelCase
95+
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
96+
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
97+
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
98+
99+
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
100+
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
101+
102+
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
103+
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
104+
105+
# Code style defaults
106+
dotnet_sort_system_directives_first = true
107+
csharp_preserve_single_line_blocks = true
108+
csharp_preserve_single_line_statements = false
109+
csharp_prefer_braces = true:suggestion
110+
111+
# Expression-level preferences
112+
dotnet_style_object_initializer = true:suggestion
113+
dotnet_style_collection_initializer = true:suggestion
114+
dotnet_style_explicit_tuple_names = true:suggestion
115+
dotnet_style_coalesce_expression = true:suggestion
116+
dotnet_style_null_propagation = true:suggestion
117+
118+
# Expression-bodied members
119+
csharp_style_expression_bodied_methods = false:none
120+
csharp_style_expression_bodied_constructors = false:none
121+
csharp_style_expression_bodied_operators = false:none
122+
csharp_style_expression_bodied_properties = true:none
123+
csharp_style_expression_bodied_indexers = true:none
124+
csharp_style_expression_bodied_accessors = true:none
125+
126+
# Pattern matching
127+
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
128+
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
129+
csharp_style_inlined_variable_declaration = true:suggestion
130+
131+
# Null checking preferences
132+
csharp_style_throw_expression = true:suggestion
133+
csharp_style_conditional_delegate_call = true:suggestion
134+
135+
# Space preferences
136+
csharp_space_after_cast = false
137+
csharp_space_after_colon_in_inheritance_clause = true
138+
csharp_space_after_comma = true
139+
csharp_space_after_dot = false
140+
csharp_space_after_keywords_in_control_flow_statements = true
141+
csharp_space_after_semicolon_in_for_statement = true
142+
csharp_space_around_binary_operators = before_and_after
143+
csharp_space_around_declaration_statements = do_not_ignore
144+
csharp_space_before_colon_in_inheritance_clause = true
145+
csharp_space_before_comma = false
146+
csharp_space_before_dot = false
147+
csharp_space_before_open_square_brackets = false
148+
csharp_space_before_semicolon_in_for_statement = false
149+
csharp_space_between_empty_square_brackets = false
150+
csharp_space_between_method_call_empty_parameter_list_parentheses = false
151+
csharp_space_between_method_call_name_and_opening_parenthesis = false
152+
csharp_space_between_method_call_parameter_list_parentheses = false
153+
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
154+
csharp_space_between_method_declaration_name_and_open_parenthesis = false
155+
csharp_space_between_method_declaration_parameter_list_parentheses = false
156+
csharp_space_between_parentheses = false
157+
csharp_space_between_square_brackets = false
158+
159+
# C++ Files
160+
[*.{cpp,h,in}]
161+
curly_bracket_next_line = true
162+
indent_brace_style = Allman
163+
164+
# Xml project files
165+
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
166+
indent_size = 2
167+
168+
# Xml build files
169+
[*.builds]
170+
indent_size = 2
171+
172+
# Xml files
173+
[*.{xml,stylecop,resx,ruleset}]
174+
indent_size = 2
175+
176+
# Xaml files
177+
[*.{xaml}]
178+
indent_size = 2
179+
180+
# Xml config files
181+
[*.{props,targets,config,nuspec}]
182+
indent_size = 2
183+
184+
# Shell scripts
185+
[*.sh]
186+
end_of_line = lf
187+
[*.{cmd, bat}]
188+
end_of_line = crlf
189+
190+
# Ignore Banned APIs that get generated by the WinUI Xaml Generator
191+
# This is currently being used for the banned Services/Application APIs
192+
[**/obj/**/XamlTypeInfo.g.cs]
193+
dotnet_diagnostic.RS0030.severity = none

.github/CONTRIBUTING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to the Syncfusion Toolkit for .NET MAUI! In this document, we'll outline what you need to know about contributing and how to get started.
4+
5+
First and foremost: if you are thinking about contributing a bigger change or feature, **please open an issue or talk to a core team member first**! By doing this, we can coordinate and see if the change you are going to work on is something that aligns with our current priorities and is something we can commit to reviewing and merging within a reasonable time. We would want to prevent you from investing a lot of your valuable time in something that might not be in line with what we want for the toolkit.
6+
7+
## Code of Conduct
8+
9+
Please see our [Code of Conduct](CODE_OF_CONDUCT.md).
10+
11+
## Contributing Code
12+
13+
Currently, we are in the beginning phases of building up the Syncfusion Toolkit for .NET MAUI. Yet, we are still very excited for you to join us during this exciting time!
14+
15+
Have a look at our [Development Guide](DEVELOPMENT.md) to learn about setting up your development environment.
16+
17+
### What to Work On
18+
19+
If you're looking for something to work on, please browse our [backlog](https://github.com/syncfusion/maui-toolkit/issues?q=is%3Aopen+is%3Aissue+milestone%3ABacklog). Any issue that is not already assigned is up for grabs.
20+
21+
Follow the style used by the [.NET Foundation](https://github.com/dotnet/runtime/blob/master/docs/coding-guidelines/coding-style.md), with two primary exceptions:
22+
23+
- We do not use the `private` keyword, as it is the default accessibility level in C#.
24+
- We use hard tabs over spaces.
25+
26+
Read and follow our [pull request template](PULL_REQUEST_TEMPLATE.md).
27+
28+
### Pull Request Requirements
29+
30+
Please refer to our [pull request template](PULL_REQUEST_TEMPLATE.md).
31+
32+
Please check the "Allow edits from maintainers" checkbox on your pull request. This allows us to make minor fixes and resolve conflicts for you quickly.
33+
34+
## Proposals/Enhancements/Suggestions
35+
36+
To propose a change or new feature, open an issue using the [feature request template](https://github.com/syncfusion/maui-toolkit/issues/new?assignees=&labels=proposal-open%2C+t%2Fenhancement+%E2%9E%95&template=feature_request.md&title=%5BEnhancement%5D+YOUR+IDEA!). You may also use the [spec template](https://github.com/syncfusion/maui-toolkit/issues/new?assignees=&labels=proposal-open%2C+t%2Fenhancement+➕&template=spec.md&title=[Spec]++) if you have an idea of what the API should look like. Be sure to also browse current issues that may be related.
37+
38+
## Review Process
39+
All pull requests need to be reviewed and tested by at least two members of the .NET MAUI team. We do our best to review pull requests in a timely manner, but please be patient! Two reviewers will be assigned and will start the review process as soon as possible. If there are any changes requested, the contributor should make them at their earliest convenience or let the reviewers know that they are unable to make further contributions. If the pull request requires only minor changes, then someone else may pick it up and finish it. We will do our best to make sure that all credit is retained for contributors.
40+
41+
## Merge Process
42+
All PRs should target the main branch.

.github/DEVELOPMENT.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Development Guide
2+
3+
This page contains the steps to build and run the Syncfusion Toolkit for .NET MAUI repository from source. If you are looking to build apps with the Syncfusion Toolkit for .NET MAUI, please head over to the links in the [README](https://github.com/syncfusion/maui-toolkit/blob/main/README.md) to get started.
4+
5+
## Initial setup
6+
### Windows
7+
- Install VS 17.10 or newer.
8+
- Follow [these steps](https://learn.microsoft.com/dotnet/maui/get-started/installation?tabs=vswin) to include MAUI.
9+
- If building iOS with pair to Mac, install current, stable Xcode on your Mac. Install from the [App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12) or [Apple Developer portal](https://developer.apple.com/download/more/?name=Xcode).
10+
- If you're missing any of the Android SDKs, Visual Studio should prompt you to install them. If it doesn't prompt you, then use the [Android SDK Manager](https://learn.microsoft.com/xamarin/android/get-started/installation/android-sdk) to install the necessary SDKs.
11+
- Install [Open JDK 17](https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-17).
12+
13+
### Mac
14+
- Install [VSCode](https://code.visualstudio.com/download).
15+
- Follow the steps for installing the .NET MAUI Dev Kit for VS Code: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.dotnet-maui
16+
17+
## Building the Build Tasks
18+
Before opening the solution in Visual Studio/VS Code, you **MUST** build the build tasks.
19+
20+
1. Open a command prompt/terminal/shell window.
21+
1. Navigate to the location of your cloned `syncfusion/maui-toolkit` repo, for example:
22+
```shell
23+
cd \repos\maui-toolkit
24+
```
25+
1. Run these commands:
26+
```dotnetcli
27+
dotnet tool restore
28+
dotnet build ./Syncfusion.Maui.Toolkit.sln
29+
```
30+
31+
## Windows
32+
33+
Open the `Syncfusion.Maui.Toolkit.sln` file in Visual Studio from the root of the repo.
34+
35+
## Mac
36+
37+
Open the root folder of the repository in VS Code.
38+
39+
40+
## What branch should I use?
41+
42+
As a general rule:
43+
- [main](https://github.com/syncfusion/maui-toolkit/tree/main)
44+
45+
46+
## Sample projects
47+
48+
### Samples
49+
```
50+
├── samples
51+
│ ├── Syncfusion.Maui.ControlsGallery
52+
│ ├── Syncfusion.Maui.Controls.Samples.Sandbox
53+
│ │ ├── Maui.Controls.Sample.Sandbox
54+
```
55+
56+
- *Syncfusion.Maui.ControlsGallery*: Full gallery sample with all of the controls and features of the Syncfusion .NET MAUI Toolkit.
57+
- *Syncfusion.Maui.Samples.Sandbox*: Empty project useful for testing reproductions or use cases.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
### Root Cause of the Issue
3+
4+
<!-- Enter the root cause of the issue in this section. -->
5+
6+
### Description of Change
7+
8+
<!-- Enter description of the fix in this section. -->
9+
10+
### Issues Fixed
11+
12+
<!-- Please make sure that there is a bug logged for the issue being fixed. The bug should describe the problem and how to reproduce it. -->
13+
14+
Fixes #
15+
16+
<!--
17+
Are you targeting main? All PRs should target the main branch unless otherwise noted.
18+
-->
19+
20+
### Screenshots
21+
22+
#### Before:
23+
24+
#### After:

CONTRIBUTING.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Contributing
2+
3+
Thank you for your interest in contributing to the Syncfusion Toolkit for .NET MAUI! In this document, we'll outline what you need to know about contributing and how to get started.
4+
5+
Important: If you are considering a significant change or feature, please open an issue or talk to us first! This step allows us to coordinate and ensure that your intended change aligns with our current priorities and is something we can commit to reviewing and merging within a reasonable timeframe. We want to prevent you from investing a lot of valuable time in something that may not align with the toolkit's goals.
6+
7+
## Contributing Code
8+
9+
We are in the early stages of building the Syncfusion Toolkit for .NET MAUI, and we're excited for you to join us during this journey!
10+
11+
Please refer to our [Development Guide](DEVELOPMENT.md) for instructions on setting up your development environment.
12+
13+
### What to Work On
14+
15+
If you're looking for tasks to tackle, please browse our [backlog](https://github.com/syncfusion/maui-toolkit/issues?q=is%3Aopen+is%3Aissue+milestone%3ABacklog). Any issue that is not already assigned is available for contribution.
16+
17+
Follow the coding style guidelines set by the [.NET Foundation](https://github.com/dotnet/runtime/blob/master/docs/coding-guidelines/coding-style.md), with two primary exceptions:
18+
19+
- Default Accessibility: We do not use the private keyword, as it is the default accessibility level in C#.
20+
- Tab vs. Spaces: We use hard tabs over spaces.
21+
22+
23+
### Pull Request Requirements
24+
25+
Please refer to our [pull request template](PULL_REQUEST_TEMPLATE.md) for details on how to format your submissions.
26+
27+
* **Allow Edits from Maintainers:** Ensure you check the "Allow edits from maintainers" checkbox on your pull request. This permission allows us to make minor fixes and resolve conflicts quickly.
28+
29+
## Proposals/Enhancements/Suggestions
30+
31+
To propose a change or new feature, open an issue using the [feature request template](https://github.com/syncfusion/maui-toolkit/issues/new?assignees=&labels=proposal-open%2C+t%2Fenhancement+%E2%9E%95&template=feature_request.md&title=%5BEnhancement%5D+YOUR+IDEA!). If you have a specific idea for the API, you may also use the [spec template](https://github.com/syncfusion/maui-toolkit/issues/new?assignees=&labels=proposal-open%2C+t%2Fenhancement+➕&template=spec.md&title=[Spec]++).
32+
33+
## Review Process
34+
35+
All pull requests must be reviewed and tested by at least two members of the Syncfusion Toolkit for .NET MAUI team. We strive to review pull requests promptly, so please be patient! Once a PR is submitted, two reviewers will be assigned to initiate the review process.
36+
37+
* If changes are requested, please address them at your earliest convenience. If you cannot make further changes, let the reviewers know.
38+
* If the PR requires only minor adjustments, another contributor may pick it up and complete it. We will ensure that all credit is retained for contributors.
39+
40+
## Merge Process
41+
42+
All PRs should target the main branch.

0 commit comments

Comments
 (0)