Repository: Strypper/mauisland Branch: main Commit: 9ef8848c738f Files: 874 Total size: 8.2 MB Directory structure: gitextract_ew_du5mx/ ├── .config/ │ └── dotnet-tools.json ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── add-new-control.yml │ ├── bug-report.yml │ ├── feature.yml │ └── showcase-submission.yml ├── .gitignore ├── .vscode/ │ ├── launch.json │ └── settings.json ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── build.cake ├── docs/ │ └── pull_request_template.md ├── maui-island.sln ├── showcases/ │ └── version_2.0/ │ └── Contribute.md └── src/ ├── Core/ │ └── MAUIsland.Core/ │ ├── Animations/ │ │ └── SampleScaleAnimation.cs │ ├── AppSettings/ │ │ └── AppSettings.cs │ ├── Attributes/ │ │ ├── FieldCompareAttribute.cs │ │ └── PasswordAttribute.cs │ ├── Converters/ │ │ ├── AllTrueValueConverter.cs │ │ ├── BoolToOpacityValueConverter.cs │ │ ├── DateTimeToSimpleDateTimeStringConverter.cs │ │ ├── HexToSolidColorBrushConverter.cs │ │ ├── ImageSourceToBoolConverter.cs │ │ ├── LineBreakModeEnumToStringConverter.cs │ │ ├── RatioValueConverter.cs │ │ ├── StringTernaryOperatorConverter.cs │ │ └── StringToColorConverter.cs │ ├── Extensions/ │ │ └── TaskHelpers.cs │ ├── Features/ │ │ └── Gallery/ │ │ ├── ContentViews/ │ │ │ ├── BrandIconContentView.xaml │ │ │ ├── BrandIconContentView.xaml.cs │ │ │ ├── ControlCardContentView.xaml │ │ │ ├── ControlCardContentView.xaml.cs │ │ │ ├── MaterialUICardContentView.xaml │ │ │ ├── MaterialUICardContentView.xaml.cs │ │ │ ├── SyncfusionCardContentView.xaml │ │ │ └── SyncfusionCardContentView.xaml.cs │ │ ├── Core/ │ │ │ ├── IBuiltInGalleryCardInfo.cs │ │ │ ├── ICommunityToolkitGalleryCardInfo.cs │ │ │ ├── IGalleryCardInfo.cs │ │ │ ├── IGalleryPage.cs │ │ │ ├── IGithubGalleryCardInfo.cs │ │ │ └── IMaterialUIGalleryCardInfo.cs │ │ ├── DataTemplateSelectors/ │ │ │ └── BrandCardTemplateSelector.cs │ │ ├── Enums/ │ │ │ ├── BuiltInGalleryCardStatus.cs │ │ │ ├── ControlGroupInfoImportantLevel.cs │ │ │ ├── GalleryCardStatus.cs │ │ │ └── GalleryCardType.cs │ │ ├── Models/ │ │ │ ├── ControlGroupInfo.cs │ │ │ ├── ControlGroupInfoImportant.cs │ │ │ ├── ControlIssueModel.cs │ │ │ └── PlatformInfo.cs │ │ └── Pages/ │ │ ├── BuiltIn/ │ │ │ ├── BaseBuiltInPageControlViewModel.cs │ │ │ ├── Controls/ │ │ │ │ ├── ActivityIndicator/ │ │ │ │ │ ├── ActivityIndicatorControlInfo.cs │ │ │ │ │ └── ActivityIndicatorPageViewModel.cs │ │ │ │ ├── BlazorWebView/ │ │ │ │ │ ├── BlazorWebViewControlInfo.cs │ │ │ │ │ └── BlazorWebViewPageViewModel.cs │ │ │ │ ├── Border/ │ │ │ │ │ ├── BorderControlInfo.cs │ │ │ │ │ └── BorderPageViewModel.cs │ │ │ │ ├── Button/ │ │ │ │ │ ├── ButtonControlInfo.cs │ │ │ │ │ └── ButtonPageViewModel.cs │ │ │ │ ├── CarouselView/ │ │ │ │ │ ├── CarouselViewControlInfo.cs │ │ │ │ │ ├── CarouselViewPageViewModel.cs │ │ │ │ │ ├── Models/ │ │ │ │ │ │ └── CarouselItem.cs │ │ │ │ │ └── TemplateSelector/ │ │ │ │ │ └── CarouselViewItemDataTemplateSelector.cs │ │ │ │ ├── Checkbox/ │ │ │ │ │ ├── CheckBoxControlInfo.cs │ │ │ │ │ └── CheckBoxPageViewModel.cs │ │ │ │ ├── CollectionView/ │ │ │ │ │ ├── CollectionViewControlInfo.cs │ │ │ │ │ ├── CollectionViewPageViewModel.cs │ │ │ │ │ ├── Models/ │ │ │ │ │ │ └── MrIncreadible.cs │ │ │ │ │ ├── TemplateContentViews/ │ │ │ │ │ │ ├── ControllInfoCollectionFourItemRowTemplateContentView.xaml │ │ │ │ │ │ ├── ControllInfoCollectionFourItemRowTemplateContentView.xaml.cs │ │ │ │ │ │ ├── ControllInfoCollectionTemplateContentView.xaml │ │ │ │ │ │ ├── ControllInfoCollectionTemplateContentView.xaml.cs │ │ │ │ │ │ ├── ControllInfoCollectionThreeItemRowTemplateContentView.xaml │ │ │ │ │ │ ├── ControllInfoCollectionThreeItemRowTemplateContentView.xaml.cs │ │ │ │ │ │ ├── ControllInfoCollectionTwoItemRowTemplateContentView.xaml │ │ │ │ │ │ ├── ControllInfoCollectionTwoItemRowTemplateContentView.xaml.cs │ │ │ │ │ │ ├── MrIncreadibleCollectionTemplateWithSwipeContentView.xaml │ │ │ │ │ │ ├── MrIncreadibleCollectionTemplateWithSwipeContentView.xaml.cs │ │ │ │ │ │ ├── MrIncreadibleItemHorizontalTemplateContentView.xaml │ │ │ │ │ │ ├── MrIncreadibleItemHorizontalTemplateContentView.xaml.cs │ │ │ │ │ │ ├── MrIncreadibleItemTemplateContentView.xaml │ │ │ │ │ │ ├── MrIncreadibleItemTemplateContentView.xaml.cs │ │ │ │ │ │ ├── MrIncreadibleItemVerticalSpan2TemplateContentView.xaml │ │ │ │ │ │ ├── MrIncreadibleItemVerticalSpan2TemplateContentView.xaml.cs │ │ │ │ │ │ ├── MrIncreadibleItemVerticalTemplateContentView.xaml │ │ │ │ │ │ ├── MrIncreadibleItemVerticalTemplateContentView.xaml.cs │ │ │ │ │ │ ├── NormalItemTemplateContentView.xaml │ │ │ │ │ │ ├── NormalItemTemplateContentView.xaml.cs │ │ │ │ │ │ ├── SelectedItemTemplateContentView.xaml │ │ │ │ │ │ └── SelectedItemTemplateContentView.xaml.cs │ │ │ │ │ └── TemplateSelector/ │ │ │ │ │ └── TemplateSelector.cs │ │ │ │ ├── DatePicker/ │ │ │ │ │ ├── DatePickerControlInfo.cs │ │ │ │ │ └── DatePickerPageViewModel.cs │ │ │ │ ├── Editor/ │ │ │ │ │ ├── EditorControlInfo.cs │ │ │ │ │ └── EditorPageViewModel.cs │ │ │ │ ├── Entry/ │ │ │ │ │ ├── EntryControlInfo.cs │ │ │ │ │ ├── EntryPageViewModel.cs │ │ │ │ │ └── Models/ │ │ │ │ │ └── ChatMessageModel.cs │ │ │ │ ├── Frame/ │ │ │ │ │ ├── FrameControlInfo.cs │ │ │ │ │ └── FramePageViewModel.cs │ │ │ │ ├── ImageButton/ │ │ │ │ │ ├── ImageButtonControlInfo.cs │ │ │ │ │ └── ImageButtonPageViewModel.cs │ │ │ │ ├── IndicatorView/ │ │ │ │ │ ├── IndicatorViewControlInfo.cs │ │ │ │ │ ├── IndicatorViewPageViewModel.cs │ │ │ │ │ └── Models/ │ │ │ │ │ └── Cat.cs │ │ │ │ ├── Label/ │ │ │ │ │ ├── LabelControlInfo.cs │ │ │ │ │ └── LabelPageViewModel.cs │ │ │ │ ├── MenuBar/ │ │ │ │ │ ├── MenuBarControlInfo.cs │ │ │ │ │ └── MenuBarPageViewModel.cs │ │ │ │ ├── Picker/ │ │ │ │ │ ├── PickerControlInfo.cs │ │ │ │ │ └── PickerPageViewModel.cs │ │ │ │ ├── ProgressBar/ │ │ │ │ │ ├── ProgressBarControlInfo.cs │ │ │ │ │ ├── ProgressBarPageViewModel.cs │ │ │ │ │ └── ProgressBarPercentageConverter.cs │ │ │ │ ├── RadioButton/ │ │ │ │ │ ├── RadioButtonControlInfo.cs │ │ │ │ │ └── RadioButtonPageViewModel.cs │ │ │ │ ├── RefreshView/ │ │ │ │ │ ├── RefreshViewControlInfo.cs │ │ │ │ │ └── RefreshViewPageViewModel.cs │ │ │ │ ├── SearchBar/ │ │ │ │ │ ├── ControlInfoListView.xaml │ │ │ │ │ ├── ControlInfoListView.xaml.cs │ │ │ │ │ ├── SearchBarControlInfo.cs │ │ │ │ │ └── SearchBarPageViewModel.cs │ │ │ │ ├── Slider/ │ │ │ │ │ ├── SliderControlInfo.cs │ │ │ │ │ └── SliderPageViewModel.cs │ │ │ │ ├── Stepper/ │ │ │ │ │ ├── Converters/ │ │ │ │ │ │ ├── AgeToMemeImageConverter.cs │ │ │ │ │ │ └── AgeToMemeTitleConverter.cs │ │ │ │ │ ├── StepperControlInfo.cs │ │ │ │ │ └── StepperPageViewModel.cs │ │ │ │ ├── SwipeView/ │ │ │ │ │ ├── SwipeViewControlInfo.cs │ │ │ │ │ └── SwipeViewPageViewModel.cs │ │ │ │ ├── Switch/ │ │ │ │ │ ├── SwitchControlInfo.cs │ │ │ │ │ └── SwitchPageViewModel.cs │ │ │ │ ├── TabbedPage/ │ │ │ │ │ ├── TabbedPageControlInfo.cs │ │ │ │ │ └── TabbedPagePageViewModel.cs │ │ │ │ ├── TableView/ │ │ │ │ │ ├── TableViewControlInfo.cs │ │ │ │ │ └── TableViewPageViewModel.cs │ │ │ │ └── TimePicker/ │ │ │ │ ├── Converters/ │ │ │ │ │ └── TimeOnyToTimeSpanConverter.cs │ │ │ │ ├── TimePickerControlInfo.cs │ │ │ │ └── TimePickerPageViewModel.cs │ │ │ ├── Helpers/ │ │ │ │ ├── AppSettingsJson/ │ │ │ │ │ ├── AppSettingsJsonControlInfo.cs │ │ │ │ │ ├── AppSettingsJsonPageViewModel.cs │ │ │ │ │ └── Models/ │ │ │ │ │ └── Settings.cs │ │ │ │ └── Popup/ │ │ │ │ ├── PopupControlInfo.cs │ │ │ │ └── PopupPageViewModel.cs │ │ │ └── Layouts/ │ │ │ ├── AbsoluteLayout/ │ │ │ │ ├── AbsoluteLayoutControlInfo.cs │ │ │ │ └── AbsoluteLayoutPageViewModel.cs │ │ │ ├── Grid/ │ │ │ │ ├── DoubleToIntConverter.cs │ │ │ │ ├── GridControlInfo.cs │ │ │ │ └── GridPageViewModel.cs │ │ │ ├── HorizontalStackLayout/ │ │ │ │ ├── HorizontalStackLayoutControlInfo.cs │ │ │ │ └── HorizontalStackLayoutPageViewModel.cs │ │ │ ├── StackLayout/ │ │ │ │ ├── StackLayoutControlInfo.cs │ │ │ │ └── StackLayoutPageViewModel.cs │ │ │ └── VerticalStackLayout/ │ │ │ ├── VerticalStackLayoutControlInfo.cs │ │ │ └── VerticalStackLayoutPageViewModel.cs │ │ ├── Community/ │ │ │ ├── Controls/ │ │ │ │ ├── AcrylicView/ │ │ │ │ │ ├── AcrylicViewControlInfo.cs │ │ │ │ │ └── AcrylicViewPageViewModel.cs │ │ │ │ ├── DataGrid/ │ │ │ │ │ ├── DataGridControlInfo.cs │ │ │ │ │ └── DataGridPageViewModel.cs │ │ │ │ ├── LiveCharts2/ │ │ │ │ │ ├── LiveCharts2ControlInfo.cs │ │ │ │ │ ├── LiveCharts2PageViewModel.cs │ │ │ │ │ └── Models/ │ │ │ │ │ └── PilotInfo.cs │ │ │ │ └── OverFlower/ │ │ │ │ ├── OverFlowerControlInfo.cs │ │ │ │ └── OverFlowerPageViewModel.cs │ │ │ └── Helpers/ │ │ │ ├── OCR/ │ │ │ │ ├── OCRControlInfo.cs │ │ │ │ └── OCRPageViewModel.cs │ │ │ ├── SQLite-net/ │ │ │ │ ├── SQLiteNETControlInfo.cs │ │ │ │ └── SQLiteNETPageViewModel.cs │ │ │ └── ZXingNetMaui/ │ │ │ ├── ZXingNetMauiControlInfo.cs │ │ │ └── ZXingNetMauiPageViewModel.cs │ │ ├── Material/ │ │ │ ├── Controls/ │ │ │ │ ├── MaterialButton/ │ │ │ │ │ ├── MaterialButtonControlInfo.cs │ │ │ │ │ └── MaterialButtonPageViewModel.cs │ │ │ │ ├── MaterialChip/ │ │ │ │ │ ├── MaterialChipControlInfo.cs │ │ │ │ │ └── MaterialChipPageViewModel.cs │ │ │ │ ├── MaterialComboBox/ │ │ │ │ │ ├── MaterialComboBoxControlInfo.cs │ │ │ │ │ └── MaterialComboBoxPageViewModel.cs │ │ │ │ ├── MaterialContextMenu/ │ │ │ │ │ ├── MaterialContextMenuControlInfo.cs │ │ │ │ │ └── MaterialContextMenuPageViewModel.cs │ │ │ │ ├── MaterialFAB/ │ │ │ │ │ ├── MaterialFABControlInfo.cs │ │ │ │ │ └── MaterialFABPageViewModel.cs │ │ │ │ ├── MaterialProgressIndicator/ │ │ │ │ │ ├── MaterialProgressIndicatorControlInfo.cs │ │ │ │ │ └── MaterialProgressIndicatorPageViewModel.cs │ │ │ │ ├── MaterialRadioButton/ │ │ │ │ │ ├── MaterialRadioButtonControlInfo.cs │ │ │ │ │ └── MaterialRadioButtonPageViewModel.cs │ │ │ │ ├── MaterialSwitch/ │ │ │ │ │ ├── MaterialSwitchControlInfo.cs │ │ │ │ │ └── MaterialSwitchPageViewModel.cs │ │ │ │ └── MaterialTextFields/ │ │ │ │ ├── MaterialTextFieldControlInfo.cs │ │ │ │ └── MaterialTextFieldPageViewModel.cs │ │ │ └── Models/ │ │ │ ├── MaterialComponentEvent.cs │ │ │ └── MaterialComponentProperty.cs │ │ ├── Syncfusion/ │ │ │ ├── SfAvatarView/ │ │ │ │ ├── Models/ │ │ │ │ │ └── SfAvatarViewTestUserModel.cs │ │ │ │ ├── SfAvatarViewControlInfo.cs │ │ │ │ └── SfAvatarViewPageViewModel.cs │ │ │ ├── SfBadgeView/ │ │ │ │ ├── SfBadgeViewControlInfo.cs │ │ │ │ └── SfBadgeViewPageViewModel.cs │ │ │ ├── SfBarcodeGenerator/ │ │ │ │ ├── SfBarcodeGeneratorControlInfo.cs │ │ │ │ └── SfBarcodeGeneratorPageViewModel.cs │ │ │ ├── SfBusyIndicator/ │ │ │ │ ├── SfBusyIndicatorControlInfo.cs │ │ │ │ └── SfBusyIndicatorPageViewModel.cs │ │ │ ├── SfCartesianChart/ │ │ │ │ ├── ContentView/ │ │ │ │ │ ├── Annotation/ │ │ │ │ │ │ ├── SfCartesianChartAnnotation.xaml │ │ │ │ │ │ └── SfCartesianChartAnnotation.xaml.cs │ │ │ │ │ ├── Appearance/ │ │ │ │ │ │ ├── SfCartesianChartAppearanceChart.xaml │ │ │ │ │ │ ├── SfCartesianChartAppearanceChart.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartAppearanceSeries.xaml │ │ │ │ │ │ ├── SfCartesianChartAppearanceSeries.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartPlottingCustomization.xaml │ │ │ │ │ │ └── SfCartesianChartPlottingCustomization.xaml.cs │ │ │ │ │ ├── Axis/ │ │ │ │ │ │ ├── SfCartesianChartCategoryAxis.xaml │ │ │ │ │ │ ├── SfCartesianChartCategoryAxis.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartDateTimeAxis.xaml │ │ │ │ │ │ ├── SfCartesianChartDateTimeAxis.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartLogarithmicAxis.xaml │ │ │ │ │ │ ├── SfCartesianChartLogarithmicAxis.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartNumericalAxis.xaml │ │ │ │ │ │ ├── SfCartesianChartNumericalAxis.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartOtherAxis.xaml │ │ │ │ │ │ └── SfCartesianChartOtherAxis.xaml.cs │ │ │ │ │ ├── Chart/ │ │ │ │ │ │ ├── Area/ │ │ │ │ │ │ │ ├── SfCartesianChartArea.xaml │ │ │ │ │ │ │ ├── SfCartesianChartArea.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartRangeArea.xaml │ │ │ │ │ │ │ ├── SfCartesianChartRangeArea.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartSplineArea.xaml │ │ │ │ │ │ │ ├── SfCartesianChartSplineArea.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartSplineRangeArea.xaml │ │ │ │ │ │ │ ├── SfCartesianChartSplineRangeArea.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStackingArea.xaml │ │ │ │ │ │ │ ├── SfCartesianChartStackingArea.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStackingArea100.xaml │ │ │ │ │ │ │ ├── SfCartesianChartStackingArea100.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStepArea.xaml │ │ │ │ │ │ │ └── SfCartesianChartStepArea.xaml.cs │ │ │ │ │ │ ├── BoxPlot/ │ │ │ │ │ │ │ ├── SfCartesianChartBoxAndWhisker.xaml │ │ │ │ │ │ │ └── SfCartesianChartBoxAndWhisker.xaml.cs │ │ │ │ │ │ ├── Bubble/ │ │ │ │ │ │ │ ├── SfCartesianChartBubble.xaml │ │ │ │ │ │ │ └── SfCartesianChartBubble.xaml.cs │ │ │ │ │ │ ├── Column/ │ │ │ │ │ │ │ ├── Bar/ │ │ │ │ │ │ │ │ ├── SfCartesianChartBar.xaml │ │ │ │ │ │ │ │ ├── SfCartesianChartBar.xaml.cs │ │ │ │ │ │ │ │ ├── SfCartesianChartErrorBar.xaml │ │ │ │ │ │ │ │ ├── SfCartesianChartErrorBar.xaml.cs │ │ │ │ │ │ │ │ ├── SfCartesianChartRangeBar.xaml │ │ │ │ │ │ │ │ ├── SfCartesianChartRangeBar.xaml.cs │ │ │ │ │ │ │ │ ├── SfCartesianChartStackingBar.xaml │ │ │ │ │ │ │ │ ├── SfCartesianChartStackingBar.xaml.cs │ │ │ │ │ │ │ │ ├── SfCartesianChartStackingBar100.xaml │ │ │ │ │ │ │ │ └── SfCartesianChartStackingBar100.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartColumn.xaml │ │ │ │ │ │ │ ├── SfCartesianChartColumn.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartRangeColumn.xaml │ │ │ │ │ │ │ ├── SfCartesianChartRangeColumn.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStackingColumn.xaml │ │ │ │ │ │ │ ├── SfCartesianChartStackingColumn.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStackingColumn100.xaml │ │ │ │ │ │ │ └── SfCartesianChartStackingColumn100.xaml.cs │ │ │ │ │ │ ├── Financial/ │ │ │ │ │ │ │ ├── SfCartesianChartCandle.xaml │ │ │ │ │ │ │ ├── SfCartesianChartCandle.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartOHLC.xaml │ │ │ │ │ │ │ └── SfCartesianChartOHLC.xaml.cs │ │ │ │ │ │ ├── Histogram/ │ │ │ │ │ │ │ ├── SfCartesianChartHistogram.xaml │ │ │ │ │ │ │ └── SfCartesianChartHistogram.xaml.cs │ │ │ │ │ │ ├── Line/ │ │ │ │ │ │ │ ├── SfCartesianChartFastLine.xaml │ │ │ │ │ │ │ ├── SfCartesianChartFastLine.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartLine.xaml │ │ │ │ │ │ │ ├── SfCartesianChartLine.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartSpline.xaml │ │ │ │ │ │ │ ├── SfCartesianChartSpline.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStackingLine.xaml │ │ │ │ │ │ │ ├── SfCartesianChartStackingLine.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStackingLine100.xaml │ │ │ │ │ │ │ ├── SfCartesianChartStackingLine100.xaml.cs │ │ │ │ │ │ │ ├── SfCartesianChartStepLine.xaml │ │ │ │ │ │ │ └── SfCartesianChartStepLine.xaml.cs │ │ │ │ │ │ ├── Scatter/ │ │ │ │ │ │ │ ├── SfCartesianChartScatter.xaml │ │ │ │ │ │ │ └── SfCartesianChartScatter.xaml.cs │ │ │ │ │ │ └── Waterfall/ │ │ │ │ │ │ ├── SfCartesianChartWaterfall.xaml │ │ │ │ │ │ └── SfCartesianChartWaterfall.xaml.cs │ │ │ │ │ ├── DataLabel/ │ │ │ │ │ │ ├── SfCartesianChartDataLabel.xaml │ │ │ │ │ │ ├── SfCartesianChartDataLabel.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartDataLabelContext.xaml │ │ │ │ │ │ ├── SfCartesianChartDataLabelContext.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartDataLabelTemplate.xaml │ │ │ │ │ │ └── SfCartesianChartDataLabelTemplate.xaml.cs │ │ │ │ │ ├── Legend/ │ │ │ │ │ │ ├── SfCartesianChartLegend.xaml │ │ │ │ │ │ └── SfCartesianChartLegend.xaml.cs │ │ │ │ │ ├── PlotBand/ │ │ │ │ │ │ ├── SfCartesianChartDateTimePlotBand.xaml │ │ │ │ │ │ ├── SfCartesianChartDateTimePlotBand.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartNumericalPlotBand.xaml │ │ │ │ │ │ ├── SfCartesianChartNumericalPlotBand.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartOtherPlotBand.xaml │ │ │ │ │ │ ├── SfCartesianChartOtherPlotBand.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartPlotBandPropertiesInfo.xaml │ │ │ │ │ │ └── SfCartesianChartPlotBandPropertiesInfo.xaml.cs │ │ │ │ │ ├── Selection/ │ │ │ │ │ │ ├── SfCartesianChartSelection.xaml │ │ │ │ │ │ ├── SfCartesianChartSelection.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartSeriesSelection.xaml │ │ │ │ │ │ └── SfCartesianChartSeriesSelection.xaml.cs │ │ │ │ │ ├── Tooltip/ │ │ │ │ │ │ ├── SfCartesianChartTooltip.xaml │ │ │ │ │ │ └── SfCartesianChartTooltip.xaml.cs │ │ │ │ │ ├── Trackball/ │ │ │ │ │ │ ├── SfCartesianChartCustomTrackball.xaml │ │ │ │ │ │ ├── SfCartesianChartCustomTrackball.xaml.cs │ │ │ │ │ │ ├── SfCartesianChartTrackball.xaml │ │ │ │ │ │ └── SfCartesianChartTrackball.xaml.cs │ │ │ │ │ └── Zooming/ │ │ │ │ │ ├── SfCartesianChartSelectionZooming.xaml │ │ │ │ │ ├── SfCartesianChartSelectionZooming.xaml.cs │ │ │ │ │ ├── SfCartesianChartZooming.xaml │ │ │ │ │ └── SfCartesianChartZooming.xaml.cs │ │ │ │ ├── Models/ │ │ │ │ │ └── SfCartesianChartModel.cs │ │ │ │ ├── SfCartesianChartControlInfo.cs │ │ │ │ ├── SfCartesianChartPageViewModel.cs │ │ │ │ └── TemplateSelector/ │ │ │ │ └── ChartTemplateSelector.cs │ │ │ ├── SfCircularChart/ │ │ │ │ ├── SfCircularChartControlInfo.cs │ │ │ │ └── SfCircularChartPageViewModel.cs │ │ │ ├── SfComboBox/ │ │ │ │ ├── SfComboBoxControlInfo.cs │ │ │ │ └── SfComboBoxPageViewModel.cs │ │ │ ├── SfDataGrid/ │ │ │ │ ├── SfDataGridControlInfo.cs │ │ │ │ └── SfDataGridPageViewModel.cs │ │ │ ├── SfListView/ │ │ │ │ ├── SfListViewControlInfo.cs │ │ │ │ └── SfListViewPageViewModel.cs │ │ │ ├── SfMaps/ │ │ │ │ ├── MapViewModels/ │ │ │ │ │ ├── AustraliaViewModel.cs │ │ │ │ │ ├── MarkerViewModel.cs │ │ │ │ │ └── SelectionViewModel.cs │ │ │ │ ├── Marker/ │ │ │ │ │ └── CustomMarker.cs │ │ │ │ ├── Models/ │ │ │ │ │ ├── AustraliaModel.cs │ │ │ │ │ └── PopulationDensityDetails.cs │ │ │ │ ├── SfMapsControlInfo.cs │ │ │ │ └── SfMapsViewPageViewModel.cs │ │ │ ├── SfRadialGauge/ │ │ │ │ ├── SfRadialGaugeControlInfo.cs │ │ │ │ └── SfRadialGaugePageViewModel.cs │ │ │ └── SfRangeSelector/ │ │ │ ├── SfRangeSelectorControlInfo.cs │ │ │ └── SfRangeSelectorPageViewModel.cs │ │ └── Toolkit/ │ │ ├── BaseToolkitPageControlViewModel.cs │ │ ├── Controls/ │ │ │ ├── AvatarView/ │ │ │ │ ├── AvatarViewControlInfo.cs │ │ │ │ └── AvatarViewPageViewModel.cs │ │ │ ├── DrawingView/ │ │ │ │ ├── DrawingViewControlInfo.cs │ │ │ │ └── DrawingViewPageViewModel.cs │ │ │ ├── Expander/ │ │ │ │ ├── ExpanderControlInfo.cs │ │ │ │ └── ExpanderPageViewModel.cs │ │ │ └── MediaElement/ │ │ │ ├── MediaElementControlInfo.cs │ │ │ └── MediaElementPageViewModel.cs │ │ ├── Converters/ │ │ │ ├── BoolToObjectConverter/ │ │ │ │ ├── BoolToObjectConverterControlInfo.cs │ │ │ │ └── BoolToObjectConverterPageViewModel.cs │ │ │ ├── ByteArrayToImageSourceConverter/ │ │ │ │ ├── ByteArrayToImageSourceConverterControlInfo.cs │ │ │ │ └── ByteArrayToImageSourceConverterPageViewModel.cs │ │ │ ├── ColorConverter/ │ │ │ │ ├── ColorConverterControlInfo.cs │ │ │ │ └── ColorConverterPageViewModel.cs │ │ │ ├── CompareConverter/ │ │ │ │ ├── CompareConverterControlInfo.cs │ │ │ │ └── CompareConverterPageViewModel.cs │ │ │ ├── DateTimeOffsetConverter/ │ │ │ │ ├── DateTimeOffsetConverterControlInfo.cs │ │ │ │ └── DateTimeOffsetConverterPageViewModel.cs │ │ │ ├── DoubleToIntConverter/ │ │ │ │ ├── DoubleToIntConverterControlInfo.cs │ │ │ │ └── DoubleToIntConverterPageViewModel.cs │ │ │ ├── EnumToBoolConverter/ │ │ │ │ ├── EnumToBoolConverterControlInfo.cs │ │ │ │ └── EnumToBoolConverterPageViewModel.cs │ │ │ ├── EnumToIntConverter/ │ │ │ │ ├── EnumToIntConverterControlInfo.cs │ │ │ │ └── EnumToIntConverterPageViewModel.cs │ │ │ └── ImageResourceConverter/ │ │ │ ├── ImageResourceConverterControlInfo.cs │ │ │ └── ImageResourceConverterPageViewModel.cs │ │ ├── Helpers/ │ │ │ ├── ObservableProperty/ │ │ │ │ ├── ObservablePropertyControlInfo.cs │ │ │ │ └── ObservablePropertyPageViewModel.cs │ │ │ └── RelayCommand/ │ │ │ ├── RelayCommandControlInfo.cs │ │ │ └── RelayCommandPageViewModel.cs │ │ └── Layouts/ │ │ ├── DockLayout/ │ │ │ ├── DockLayoutControlInfo.cs │ │ │ └── DockLayoutPageViewModel.cs │ │ ├── StateContainer/ │ │ │ ├── StateContainerControlInfo.cs │ │ │ └── StateContainerPageViewModel.cs │ │ └── UniformLayout/ │ │ ├── UniformItemsLayoutControlInfo.cs │ │ └── UniformItemsLayoutPageViewModel.cs │ ├── GlobalUsings.cs │ ├── Helpers/ │ │ ├── FormattedStringFormatter.cs │ │ └── ServiceHelper.cs │ ├── Icons/ │ │ └── FluentUIIcon.cs │ ├── MAUIsland - Backup.Core.csproj │ ├── MAUIsland.Core.csproj │ ├── MAUIsland.Core.sln │ ├── MarkupExtensions/ │ │ └── EdgeInsetsExtension.cs │ ├── Platforms/ │ │ ├── Android/ │ │ │ └── PlatformClass1.cs │ │ ├── MacCatalyst/ │ │ │ └── PlatformClass1.cs │ │ ├── Tizen/ │ │ │ └── PlatformClass1.cs │ │ ├── Windows/ │ │ │ └── PlatformClass1.cs │ │ └── iOS/ │ │ └── PlatformClass1.cs │ ├── ServiceExtension.cs │ ├── Services/ │ │ ├── Controls/ │ │ │ ├── ControlsService.cs │ │ │ └── IControlsService.cs │ │ ├── Dialog/ │ │ │ ├── DialogService.cs │ │ │ └── IDialogService.cs │ │ ├── FilePicker/ │ │ │ ├── FilePicker.cs │ │ │ ├── IFilePicker.cs │ │ │ └── ImageFile.cs │ │ ├── LocalDb/ │ │ │ ├── Extensions/ │ │ │ │ └── SyncRepositoryExtensions.cs │ │ │ ├── Implementations/ │ │ │ │ ├── CardInfoSyncService.cs │ │ │ │ ├── GitHubRepositorySyncService.cs │ │ │ │ └── SQLitePCLRawService.cs │ │ │ ├── Interfaces/ │ │ │ │ ├── ICardInfoSyncService.cs │ │ │ │ ├── IGitHubRepositorySyncService.cs │ │ │ │ └── ILocalDbService.cs │ │ │ └── Models/ │ │ │ ├── BaseLocalEntity.cs │ │ │ ├── CardInfoSyncLocalDbModel.cs │ │ │ └── GitHubRepositoryLocalDbModel.cs │ │ └── MrIncreadibleMeme/ │ │ ├── IMrIncreadibleMemeService.cs │ │ └── MrIncreadibleMemeService.cs │ ├── Utils/ │ │ ├── MVVM/ │ │ │ ├── BaseFormModel.cs │ │ │ ├── BaseModel.cs │ │ │ ├── BasePage.cs │ │ │ ├── BasePopup.cs │ │ │ └── BaseViewModel.cs │ │ └── Navigation/ │ │ ├── AppNavigator.cs │ │ ├── IAppNavigator.cs │ │ ├── NavigationAwareBaseViewModel.cs │ │ └── UriHelper.cs │ └── Views/ │ ├── ContentViews/ │ │ ├── DocumentAlert.xaml │ │ ├── DocumentAlert.xaml.cs │ │ ├── HorizontalIconButton.xaml │ │ ├── HorizontalIconButton.xaml.cs │ │ ├── IconLabel.xaml │ │ ├── IconLabel.xaml.cs │ │ ├── MockUps/ │ │ │ ├── AppleIphone15ProMaxContentView.xaml │ │ │ ├── AppleIphone15ProMaxContentView.xaml.cs │ │ │ ├── Converters/ │ │ │ │ └── InnerFrameDimensionConverter.cs │ │ │ ├── GooglePixel5ContentView.xaml │ │ │ ├── GooglePixel5ContentView.xaml.cs │ │ │ ├── GooglePixel6ProContentView.xaml │ │ │ ├── GooglePixel6ProContentView.xaml.cs │ │ │ ├── Iphone13MiniContentView.xaml │ │ │ ├── Iphone13MiniContentView.xaml.cs │ │ │ ├── Iphone15ContentView.xaml │ │ │ ├── Iphone15ContentView.xaml.cs │ │ │ ├── Models/ │ │ │ │ ├── AppleIphone15ProMaxModel.cs │ │ │ │ ├── BaseMockUp.cs │ │ │ │ ├── GooglePixel5Model.cs │ │ │ │ ├── GooglePixel6ProModel.cs │ │ │ │ ├── IPhone13MiniModel.cs │ │ │ │ ├── Iphone15Model.cs │ │ │ │ ├── SamsungGalaxyS22UltraModel.cs │ │ │ │ └── SamsungS8Model.cs │ │ │ ├── SamsungGalaxyS22UltraContentView.xaml │ │ │ ├── SamsungGalaxyS22UltraContentView.xaml.cs │ │ │ ├── SamsungS8ContentView.xaml │ │ │ └── SamsungS8ContentView.xaml.cs │ │ ├── RoundedEntry.xaml │ │ ├── RoundedEntry.xaml.cs │ │ ├── Showcases/ │ │ │ ├── Enums/ │ │ │ │ └── PhoneModelEnum.cs │ │ │ ├── MobileAppShowcaseContentView.xaml │ │ │ ├── MobileAppShowcaseContentView.xaml.cs │ │ │ └── Models/ │ │ │ ├── MobileAppShowcaseModel.cs │ │ │ └── MockupImage.cs │ │ └── SourceCodeExpander/ │ │ ├── LazyViewSourceCodeExpanderContent.cs │ │ ├── SourceCodeExpander.xaml │ │ ├── SourceCodeExpander.xaml.cs │ │ ├── SourceCodeExpanderContent.xaml │ │ └── SourceCodeExpanderContent.xaml.cs │ ├── DesignSystem/ │ │ ├── AppColors.cs │ │ ├── AppConverters.cs │ │ ├── Dimensions.cs │ │ ├── FontNames.cs │ │ └── Styles.cs │ └── Layouts/ │ ├── HorizontalWrapLayout.cs │ └── HorizontalWrapLayoutManager.cs ├── Features/ │ ├── GitHubFeatures/ │ │ ├── MAUIsland.GitHubFeatures/ │ │ │ ├── Constants.cs │ │ │ ├── FeatureSettings.cs │ │ │ ├── GlobalUsings.cs │ │ │ ├── IGitHubService.cs │ │ │ ├── Implementations/ │ │ │ │ └── OctokitGitHubClient.cs │ │ │ ├── MAUIsland.GitHubFeatures.csproj │ │ │ ├── Models/ │ │ │ │ ├── GitHubAuthorModel.cs │ │ │ │ ├── GitHubBaseModel.cs │ │ │ │ ├── GitHubIssueModel.cs │ │ │ │ ├── GitHubLabelModel.cs │ │ │ │ ├── GitHubMilestoneModel.cs │ │ │ │ ├── GitHubRepositoryModel.cs │ │ │ │ ├── GitHubRepositoryReleaseModel.cs │ │ │ │ ├── ServiceError.cs │ │ │ │ └── ServiceSuccess.cs │ │ │ └── ServiceExtension.cs │ │ └── MAUIsland.GitHubFeatures.IntegrationTests/ │ │ ├── GitHubServiceIntegrationTest.cs │ │ ├── GlobalUsings.cs │ │ └── MAUIsland.GitHubFeatures.IntegrationTests.csproj │ ├── LocalDbFeatures/ │ │ ├── GitHub/ │ │ │ └── MAUIsland.Features.LocalDbFeatures.GitHub/ │ │ │ ├── Implementations/ │ │ │ │ └── GitHubIssueLocalDbService.cs │ │ │ ├── Interfaces/ │ │ │ │ └── IGitHubIssueLocalDbService.cs │ │ │ ├── MAUIsland.Features.LocalDbFeatures.GitHub.csproj │ │ │ ├── Models/ │ │ │ │ └── GitHubIssueLocalDbModel.cs │ │ │ └── ServiceExtension.cs │ │ └── MAUIsland.Features.LocalDbFeatures/ │ │ ├── BaseLocalEntity.cs │ │ ├── DatabaseSettings.cs │ │ ├── GlobalUsings.cs │ │ ├── ILocalDbService.cs │ │ ├── Implementations/ │ │ │ └── SQLitePCLRawService.cs │ │ ├── MAUIsland.Features.LocalDbFeatures.csproj │ │ └── ServiceExtension.cs │ ├── NewsFeatures/ │ │ ├── MAUIsland.NewsFeatures/ │ │ │ ├── Constants.cs │ │ │ ├── GlobalUsings.cs │ │ │ ├── INewsService.cs │ │ │ ├── Implementations/ │ │ │ │ └── ImplVersion1.cs │ │ │ ├── MAUIsland.NewsFeatures.csproj │ │ │ ├── Models/ │ │ │ │ ├── MAUINewsModel.cs │ │ │ │ ├── NewsBaseModel.cs │ │ │ │ ├── ServiceError.cs │ │ │ │ └── ServiceSuccess.cs │ │ │ └── ServiceExtension.cs │ │ └── MAUIsland.NewsFeatures.IntergrationTests/ │ │ ├── MAUIsland.NewsFeatures.IntergrationTests.csproj │ │ └── NewsServiceIntegrationTest.cs │ └── NuGetFeatures/ │ ├── MAUIsland.NuGetFeatures/ │ │ ├── GlobalUsings.cs │ │ ├── INuGetFeatures.cs │ │ ├── Implementations/ │ │ │ ├── Mock1.cs │ │ │ └── Version1.cs │ │ ├── MAUIsland.NuGetFeatures.csproj │ │ ├── Models/ │ │ │ ├── ServiceError.cs │ │ │ └── ServiceSuccess.cs │ │ └── ServiceExtension.cs │ └── NuGetFeatures.IntegrationTests/ │ ├── NuGetFeatures.IntegrationTests.csproj │ └── Version1Test.cs └── Presentations/ └── Windows/ ├── .meteor/ │ └── generated/ │ ├── CommunityToolkit.Maui.MediaElement.json │ ├── CommunityToolkit.Maui.json │ ├── MAUIsland.json │ ├── Microsoft.Maui.Controls.Compatibility.json │ ├── Microsoft.Maui.Controls.json │ ├── SkiaSharp.Extended.UI.json │ ├── SkiaSharp.Views.Maui.Controls.json │ ├── Syncfusion.Maui.Backdrop.json │ ├── Syncfusion.Maui.Barcode.json │ ├── Syncfusion.Maui.Calendar.json │ ├── Syncfusion.Maui.Charts.json │ ├── Syncfusion.Maui.Core.json │ ├── Syncfusion.Maui.DataForm.json │ ├── Syncfusion.Maui.DataGrid.json │ ├── Syncfusion.Maui.Gauges.json │ ├── Syncfusion.Maui.Inputs.json │ ├── Syncfusion.Maui.ListView.json │ ├── Syncfusion.Maui.Maps.json │ ├── Syncfusion.Maui.PdfViewer.json │ ├── Syncfusion.Maui.ProgressBar.json │ ├── Syncfusion.Maui.SignaturePad.json │ ├── Syncfusion.Maui.Sliders.json │ ├── Syncfusion.Maui.TabView.json │ └── ZXing.Net.MAUI.Controls.json ├── .vscode/ │ ├── launch.json │ └── tasks.json ├── App.xaml ├── App.xaml.cs ├── AppRoutes.cs ├── AppSettings/ │ └── AppSettings.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Blazor/ │ ├── MainLayout.razor │ ├── MainLayout.razor.css │ ├── Routes.razor │ └── _Imports.razor ├── Features/ │ ├── Chat/ │ │ ├── Constants/ │ │ │ └── ChatConstants.cs │ │ ├── ContentViews/ │ │ │ ├── ChatBubbleContentView.xaml │ │ │ ├── ChatBubbleContentView.xaml.cs │ │ │ ├── ChatPageDesktopLayout.xaml │ │ │ ├── ChatPageDesktopLayout.xaml.cs │ │ │ ├── ChatPagePhoneLayout.xaml │ │ │ ├── ChatPagePhoneLayout.xaml.cs │ │ │ ├── ChatPageTabletLayout.xaml │ │ │ ├── ChatPageTabletLayout.xaml.cs │ │ │ ├── LoginFormContentView.xaml │ │ │ ├── LoginFormContentView.xaml.cs │ │ │ ├── RegisterFormContentView.xaml │ │ │ └── RegisterFormContentView.xaml.cs │ │ ├── Messages/ │ │ │ └── LoginMessage.cs │ │ ├── Models/ │ │ │ ├── DTOs/ │ │ │ │ ├── AuthenticationResponseDTO.cs │ │ │ │ ├── PhoneNumberLoginDTO.cs │ │ │ │ ├── RegisterDTO.cs │ │ │ │ └── UserNameLoginDTO.cs │ │ │ ├── Forms/ │ │ │ │ └── LoginFormModel.cs │ │ │ ├── Refits/ │ │ │ │ └── Responses/ │ │ │ │ ├── RefitChatMessageResponse.cs │ │ │ │ ├── RefitErrorMessageModel.cs │ │ │ │ ├── RefitLoginSuccessModelRespone.cs │ │ │ │ └── RefitUserInfoResponseModel.cs │ │ │ ├── Sqlite/ │ │ │ │ └── UserInformationSqlite.cs │ │ │ ├── UI/ │ │ │ │ ├── PrincipalUserModel.cs │ │ │ │ └── ServiceUserInfo.cs │ │ │ └── UserModel.cs │ │ ├── Pages/ │ │ │ ├── ChatPage.xaml │ │ │ ├── ChatPage.xaml.cs │ │ │ └── ChatPageViewModel.cs │ │ ├── Popups/ │ │ │ ├── AuthenticatePopup.xaml │ │ │ ├── AuthenticatePopup.xaml.cs │ │ │ └── AuthenticatePopupViewModel.cs │ │ ├── Refits/ │ │ │ └── Interfaces/ │ │ │ ├── IIntranetAuthenticationRefit.cs │ │ │ ├── IIntranetConversationRefit.cs │ │ │ └── IIntranetUserRefit.cs │ │ ├── Services/ │ │ │ ├── Implementations/ │ │ │ │ ├── BogusAuthenticationService.cs │ │ │ │ ├── BogusUserServices.cs │ │ │ │ ├── RefitAuthenticationService.cs │ │ │ │ ├── RefitIntranetConversationService.cs │ │ │ │ ├── RefitIntranetUserService.cs │ │ │ │ └── SignalRChatHubService.cs │ │ │ └── Interfaces/ │ │ │ ├── IAuthenticationServices.cs │ │ │ ├── IChatHubService.cs │ │ │ ├── IConversationService.cs │ │ │ ├── ILocalDatabaseService.cs │ │ │ └── IUserServices.cs │ │ └── Styles/ │ │ └── ChatStyles.xaml │ ├── Gallery/ │ │ ├── Animations/ │ │ │ └── SampleScaleAnimation.cs │ │ ├── ContentViews/ │ │ │ ├── BrandIconContentView.xaml │ │ │ ├── BrandIconContentView.xaml.cs │ │ │ ├── ControlCardContentView.xaml │ │ │ ├── ControlCardContentView.xaml.cs │ │ │ ├── GithubCardContentView.xaml │ │ │ ├── GithubCardContentView.xaml.cs │ │ │ ├── MaterialUICardContentView.xaml │ │ │ ├── MaterialUICardContentView.xaml.cs │ │ │ ├── SyncfusionCardContentView.xaml │ │ │ └── SyncfusionCardContentView.xaml.cs │ │ ├── DataTemplateSelectors/ │ │ │ └── BrandCardTemplateSelector.cs │ │ ├── Enums/ │ │ │ └── ControlGroupInfoImportantLevel.cs │ │ ├── Handlers/ │ │ │ └── CardsSearchHandler.cs │ │ ├── Models/ │ │ │ ├── ControlGroupInfoImportant.cs │ │ │ └── PlatformInfo.cs │ │ ├── Pages/ │ │ │ ├── BuiltIn/ │ │ │ │ ├── Controls/ │ │ │ │ │ ├── ActivityIndicator/ │ │ │ │ │ │ ├── ActivityIndicatorPage.xaml │ │ │ │ │ │ └── ActivityIndicatorPage.xaml.cs │ │ │ │ │ ├── BlazorWebView/ │ │ │ │ │ │ ├── Blazor/ │ │ │ │ │ │ │ ├── Components/ │ │ │ │ │ │ │ │ ├── Counter.razor │ │ │ │ │ │ │ │ ├── Main.razor │ │ │ │ │ │ │ │ └── Weather.razor │ │ │ │ │ │ │ ├── NavMenu.razor │ │ │ │ │ │ │ ├── NavMenu.razor.css │ │ │ │ │ │ │ └── _Imports.razor │ │ │ │ │ │ ├── BlazorWebViewPage.xaml │ │ │ │ │ │ └── BlazorWebViewPage.xaml.cs │ │ │ │ │ ├── Border/ │ │ │ │ │ │ ├── BorderPage.xaml │ │ │ │ │ │ └── BorderPage.xaml.cs │ │ │ │ │ ├── Button/ │ │ │ │ │ │ ├── ButtonPage.xaml │ │ │ │ │ │ └── ButtonPage.xaml.cs │ │ │ │ │ ├── CarouselView/ │ │ │ │ │ │ ├── CarouselViewPage.xaml │ │ │ │ │ │ └── CarouselViewPage.xaml.cs │ │ │ │ │ ├── CheckBox/ │ │ │ │ │ │ ├── CheckBoxPage.xaml │ │ │ │ │ │ └── CheckBoxPage.xaml.cs │ │ │ │ │ ├── CollectionView/ │ │ │ │ │ │ ├── CollectionViewPage.xaml │ │ │ │ │ │ └── CollectionViewPage.xaml.cs │ │ │ │ │ ├── DatePicker/ │ │ │ │ │ │ ├── Converters/ │ │ │ │ │ │ │ └── FulldateToDateOnlyConverter.cs │ │ │ │ │ │ ├── DatePickerPage.xaml │ │ │ │ │ │ └── DatePickerPage.xaml.cs │ │ │ │ │ ├── Editor/ │ │ │ │ │ │ ├── Converter/ │ │ │ │ │ │ │ └── EditorTextTransformPickerConverter.cs │ │ │ │ │ │ ├── EditorPage.xaml │ │ │ │ │ │ └── EditorPage.xaml.cs │ │ │ │ │ ├── Entry/ │ │ │ │ │ │ ├── EntryPage.xaml │ │ │ │ │ │ └── EntryPage.xaml.cs │ │ │ │ │ ├── Frame/ │ │ │ │ │ │ ├── FramePage.xaml │ │ │ │ │ │ └── FramePage.xaml.cs │ │ │ │ │ ├── ImageButton/ │ │ │ │ │ │ ├── ImageButtonPage.xaml │ │ │ │ │ │ └── ImageButtonPage.xaml.cs │ │ │ │ │ ├── IndicatorView/ │ │ │ │ │ │ ├── IndicatorViewPage.xaml │ │ │ │ │ │ └── IndicatorViewPage.xaml.cs │ │ │ │ │ ├── Label/ │ │ │ │ │ │ ├── LabelPage.xaml │ │ │ │ │ │ └── LabelPage.xaml.cs │ │ │ │ │ ├── MenuBar/ │ │ │ │ │ │ ├── MenuBarPage.xaml │ │ │ │ │ │ └── MenuBarPage.xaml.cs │ │ │ │ │ ├── Picker/ │ │ │ │ │ │ ├── PickerPage.xaml │ │ │ │ │ │ └── PickerPage.xaml.cs │ │ │ │ │ ├── ProgressBar/ │ │ │ │ │ │ ├── ProgressBarPage.xaml │ │ │ │ │ │ └── ProgressBarPage.xaml.cs │ │ │ │ │ ├── RadioButton/ │ │ │ │ │ │ ├── RadioButtonPage.xaml │ │ │ │ │ │ └── RadioButtonPage.xaml.cs │ │ │ │ │ ├── RefreshView/ │ │ │ │ │ │ ├── RefreshViewPage.xaml │ │ │ │ │ │ └── RefreshViewPage.xaml.cs │ │ │ │ │ ├── SearchBar/ │ │ │ │ │ │ ├── SearchBarPage.xaml │ │ │ │ │ │ └── SearchBarPage.xaml.cs │ │ │ │ │ ├── Slider/ │ │ │ │ │ │ ├── SliderPage.xaml │ │ │ │ │ │ └── SliderPage.xaml.cs │ │ │ │ │ ├── Stepper/ │ │ │ │ │ │ ├── StepperPage.xaml │ │ │ │ │ │ └── StepperPage.xaml.cs │ │ │ │ │ ├── SwipeView/ │ │ │ │ │ │ ├── SwipeViewPage.xaml │ │ │ │ │ │ └── SwipeViewPage.xaml.cs │ │ │ │ │ ├── Switch/ │ │ │ │ │ │ ├── SwitchPage.xaml │ │ │ │ │ │ └── SwitchPage.xaml.cs │ │ │ │ │ ├── TabbedPage/ │ │ │ │ │ │ ├── TabbedPagePage.xaml │ │ │ │ │ │ ├── TabbedPagePage.xaml.cs │ │ │ │ │ │ └── TabbedPages/ │ │ │ │ │ │ ├── CommunityPage.xaml │ │ │ │ │ │ ├── CommunityPage.xaml.cs │ │ │ │ │ │ ├── NewsPage.xaml │ │ │ │ │ │ └── NewsPage.xaml.cs │ │ │ │ │ ├── TableView/ │ │ │ │ │ │ ├── TableViewPage.xaml │ │ │ │ │ │ └── TableViewPage.xaml.cs │ │ │ │ │ └── TimePicker/ │ │ │ │ │ ├── TimePickerPage.xaml │ │ │ │ │ └── TimePickerPage.xaml.cs │ │ │ │ ├── Helpers/ │ │ │ │ │ ├── AppSettingsJson/ │ │ │ │ │ │ ├── AppSettingsJsonPage.xaml │ │ │ │ │ │ ├── AppSettingsJsonPage.xaml.cs │ │ │ │ │ │ └── JsonFiles/ │ │ │ │ │ │ └── appsettings.json │ │ │ │ │ └── Popup/ │ │ │ │ │ ├── PopupPage.xaml │ │ │ │ │ └── PopupPage.xaml.cs │ │ │ │ └── Layouts/ │ │ │ │ ├── AbsoluteLayout/ │ │ │ │ │ ├── AbsoluteLayoutPage.xaml │ │ │ │ │ ├── AbsoluteLayoutPage.xaml.cs │ │ │ │ │ └── ContentViews/ │ │ │ │ │ ├── DotNetRoadMap.xaml │ │ │ │ │ └── DotNetRoadMap.xaml.cs │ │ │ │ ├── Grid/ │ │ │ │ │ ├── GridPage.xaml │ │ │ │ │ └── GridPage.xaml.cs │ │ │ │ ├── HorizontalStackLayout/ │ │ │ │ │ ├── HorizontalStackLayoutPage.xaml │ │ │ │ │ └── HorizontalStackLayoutPage.xaml.cs │ │ │ │ ├── StackLayout/ │ │ │ │ │ ├── StackLayoutPage.xaml │ │ │ │ │ └── StackLayoutPage.xaml.cs │ │ │ │ └── VerticalStackLayout/ │ │ │ │ ├── VerticalStackLayoutPage.xaml │ │ │ │ └── VerticalStackLayoutPage.xaml.cs │ │ │ ├── CardsByGroupPage.xaml │ │ │ ├── CardsByGroupPage.xaml.cs │ │ │ ├── CardsByGroupPageViewModel.cs │ │ │ ├── Community/ │ │ │ │ ├── Controls/ │ │ │ │ │ ├── AcrylicView/ │ │ │ │ │ │ ├── AcrylicViewPage.xaml │ │ │ │ │ │ └── AcrylicViewPage.xaml.cs │ │ │ │ │ ├── DataGrid/ │ │ │ │ │ │ ├── DataGridPage.xaml │ │ │ │ │ │ └── DataGridPage.xaml.cs │ │ │ │ │ ├── LiveCharts2/ │ │ │ │ │ │ ├── LiveCharts2Page.xaml │ │ │ │ │ │ └── LiveCharts2Page.xaml.cs │ │ │ │ │ └── OverFlower/ │ │ │ │ │ ├── OverFlowerPage.xaml │ │ │ │ │ └── OverFlowerPage.xaml.cs │ │ │ │ └── Helpers/ │ │ │ │ ├── OCR/ │ │ │ │ │ ├── OCRPage.xaml │ │ │ │ │ └── OCRPage.xaml.cs │ │ │ │ ├── SQLite-net/ │ │ │ │ │ ├── SQLiteNETPage.xaml │ │ │ │ │ └── SQLiteNETPage.xaml.cs │ │ │ │ └── ZXingNetMaui/ │ │ │ │ ├── ZXingNetMauiPage.xaml │ │ │ │ └── ZXingNetMauiPage.xaml.cs │ │ │ ├── Converters/ │ │ │ │ └── CardByGroupPageTypePickerConverter.cs │ │ │ ├── GalleryPage.xaml │ │ │ ├── GalleryPage.xaml.cs │ │ │ ├── GalleryPageViewModel.cs │ │ │ ├── Material/ │ │ │ │ └── Controls/ │ │ │ │ ├── MaterialButton/ │ │ │ │ │ ├── MaterialButtonPage.xaml │ │ │ │ │ └── MaterialButtonPage.xaml.cs │ │ │ │ ├── MaterialChip/ │ │ │ │ │ ├── MaterialChipPage.xaml │ │ │ │ │ └── MaterialChipPage.xaml.cs │ │ │ │ ├── MaterialComboBox/ │ │ │ │ │ ├── MaterialComboBoxPage.xaml │ │ │ │ │ └── MaterialComboBoxPage.xaml.cs │ │ │ │ ├── MaterialContextMenu/ │ │ │ │ │ ├── MaterialContextMenuPage.xaml │ │ │ │ │ └── MaterialContextMenuPage.xaml.cs │ │ │ │ ├── MaterialFAB/ │ │ │ │ │ ├── MaterialFABPage.xaml │ │ │ │ │ └── MaterialFABPage.xaml.cs │ │ │ │ ├── MaterialProgressIndicator/ │ │ │ │ │ ├── MaterialProgressIndicatorPage.xaml │ │ │ │ │ └── MaterialProgressIndicatorPage.xaml.cs │ │ │ │ ├── MaterialRadioButton/ │ │ │ │ │ ├── MaterialRadioButtonPage.xaml │ │ │ │ │ └── MaterialRadioButtonPage.xaml.cs │ │ │ │ ├── MaterialSwitch/ │ │ │ │ │ ├── MaterialSwitchPage.xaml │ │ │ │ │ └── MaterialSwitchPage.xaml.cs │ │ │ │ └── MaterialTextField/ │ │ │ │ ├── MaterialTextFieldPage.xaml │ │ │ │ └── MaterialTextFieldPage.xaml.cs │ │ │ ├── Syncfusion/ │ │ │ │ └── Controls/ │ │ │ │ ├── SfAvatarView/ │ │ │ │ │ ├── SfAvatarViewPage.xaml │ │ │ │ │ └── SfAvatarViewPage.xaml.cs │ │ │ │ ├── SfBadgeView/ │ │ │ │ │ ├── SfBadgeViewPage.xaml │ │ │ │ │ └── SfBadgeViewPage.xaml.cs │ │ │ │ ├── SfBarcodeGenerator/ │ │ │ │ │ ├── SfBarcodeGeneratorPage.xaml │ │ │ │ │ └── SfBarcodeGeneratorPage.xaml.cs │ │ │ │ ├── SfBusyIndicator/ │ │ │ │ │ ├── SfBusyIndicatorPage.xaml │ │ │ │ │ └── SfBusyIndicatorPage.xaml.cs │ │ │ │ ├── SfCartesianChart/ │ │ │ │ │ ├── SfCartesianChartPage.xaml │ │ │ │ │ └── SfCartesianChartPage.xaml.cs │ │ │ │ ├── SfCircularChart/ │ │ │ │ │ ├── SfCircularChartPage.xaml │ │ │ │ │ └── SfCircularChartPage.xaml.cs │ │ │ │ ├── SfComboBox/ │ │ │ │ │ ├── SfComboBoxPage.xaml │ │ │ │ │ └── SfComboBoxPage.xaml.cs │ │ │ │ ├── SfDataGrid/ │ │ │ │ │ ├── SfDataGridPage.xaml │ │ │ │ │ └── SfDataGridPage.xaml.cs │ │ │ │ ├── SfListView/ │ │ │ │ │ ├── SfListViewPage.xaml │ │ │ │ │ └── SfListViewPage.xaml.cs │ │ │ │ ├── SfMaps/ │ │ │ │ │ ├── SfMapsViewPage.xaml │ │ │ │ │ └── SfMapsViewPage.xaml.cs │ │ │ │ ├── SfRadialGauge/ │ │ │ │ │ ├── SfRadialGaugePage.xaml │ │ │ │ │ └── SfRadialGaugePage.xaml.cs │ │ │ │ └── SfRangeSelector/ │ │ │ │ ├── SfRangeSelectorPage.xaml │ │ │ │ └── SfRangeSelectorPage.xaml.cs │ │ │ └── Toolkit/ │ │ │ ├── Controls/ │ │ │ │ ├── AvatarView/ │ │ │ │ │ ├── AvatarViewPage.xaml │ │ │ │ │ └── AvatarViewPage.xaml.cs │ │ │ │ ├── DrawingView/ │ │ │ │ │ ├── DrawingViewPage.xaml │ │ │ │ │ └── DrawingViewPage.xaml.cs │ │ │ │ ├── Expander/ │ │ │ │ │ ├── ExpanderPage.xaml │ │ │ │ │ └── ExpanderPage.xaml.cs │ │ │ │ └── MediaElement/ │ │ │ │ ├── MediaElementPage.xaml │ │ │ │ └── MediaElementPage.xaml.cs │ │ │ ├── Converters/ │ │ │ │ ├── BoolToObjectConverter/ │ │ │ │ │ ├── BoolToObjectConverterPage.xaml │ │ │ │ │ └── BoolToObjectConverterPage.xaml.cs │ │ │ │ ├── ByteArrayToImageSourceConverter/ │ │ │ │ │ ├── ByteArrayToImageSourceConverterPage.xaml │ │ │ │ │ └── ByteArrayToImageSourceConverterPage.xaml.cs │ │ │ │ ├── ColorConverter/ │ │ │ │ │ ├── ColorConverterPage.xaml │ │ │ │ │ └── ColorConverterPage.xaml.cs │ │ │ │ ├── CompareConverter/ │ │ │ │ │ ├── CompareConverterPage.xaml │ │ │ │ │ └── CompareConverterPage.xaml.cs │ │ │ │ ├── DateTimeOffsetConverter/ │ │ │ │ │ ├── DateTimeOffsetConverterPage.xaml │ │ │ │ │ └── DateTimeOffsetConverterPage.xaml.cs │ │ │ │ ├── DoubleToIntConverter/ │ │ │ │ │ ├── DoubleToIntConverterPage.xaml │ │ │ │ │ └── DoubleToIntConverterPage.xaml.cs │ │ │ │ ├── EnumToBoolConverter/ │ │ │ │ │ ├── EnumToBoolConverterPage.xaml │ │ │ │ │ └── EnumToBoolConverterPage.xaml.cs │ │ │ │ ├── EnumToIntConverter/ │ │ │ │ │ ├── EnumToIntConverterPage.xaml │ │ │ │ │ └── EnumToIntConverterPage.xaml.cs │ │ │ │ └── ImageResourceConverter/ │ │ │ │ ├── ImageResourceConverterPage.xaml │ │ │ │ └── ImageResourceConverterPage.xaml.cs │ │ │ ├── Helpers/ │ │ │ │ ├── ObservableProperty/ │ │ │ │ │ ├── ObservablePropertyPage.xaml │ │ │ │ │ └── ObservablePropertyPage.xaml.cs │ │ │ │ └── RelayCommand/ │ │ │ │ ├── RelayCommandPage.xaml │ │ │ │ └── RelayCommandPage.xaml.cs │ │ │ └── Layouts/ │ │ │ ├── DockLayout/ │ │ │ │ ├── DockLayoutPage.xaml │ │ │ │ └── DockLayoutPage.xaml.cs │ │ │ ├── StateContainer/ │ │ │ │ ├── StateContainerPage.xaml │ │ │ │ └── StateContainerPage.xaml.cs │ │ │ └── UniformLayout/ │ │ │ ├── UniformItemsLayoutPage.xaml │ │ │ └── UniformItemsLayoutPage.xaml.cs │ │ └── Styles/ │ │ └── GalleryStyles.xaml │ ├── Home/ │ │ ├── ContentViews/ │ │ │ ├── ControlActivityCardContentView.xaml │ │ │ └── ControlActivityCardContentView.xaml.cs │ │ ├── Converters/ │ │ │ └── NewActivityToStringConverter.cs │ │ ├── Enums/ │ │ │ └── ItemType.cs │ │ ├── Models/ │ │ │ ├── ApplicationNew.cs │ │ │ ├── BookItem.cs │ │ │ ├── Item.cs │ │ │ └── UIItem.cs │ │ ├── Pages/ │ │ │ ├── HomePage.xaml │ │ │ ├── HomePage.xaml.cs │ │ │ └── HomePageViewModel.cs │ │ └── Services/ │ │ ├── Implementations/ │ │ │ └── IHomeService.cs │ │ └── Interfaces/ │ │ └── HomeService.cs │ ├── Mockup/ │ │ ├── ContentViews/ │ │ │ ├── AddButtonContentView/ │ │ │ │ ├── AddButtonContentView.xaml │ │ │ │ ├── AddButtonContentView.xaml.cs │ │ │ │ ├── AddButtonEventModel.cs │ │ │ │ └── ImageDropEventArgs.cs │ │ │ ├── MockupPreviewItemContentView/ │ │ │ │ ├── ScreenshotItemContentView.xaml │ │ │ │ └── ScreenshotItemContentView.xaml.cs │ │ │ ├── MockupScreenShotsContentView/ │ │ │ │ ├── DeviceListPageComponent.xaml │ │ │ │ └── DeviceListPageComponent.xaml.cs │ │ │ └── ShowcaseInformationContentView/ │ │ │ ├── ShowcaseInformationPageComponent.xaml │ │ │ └── ShowcaseInformationPageComponent.xaml.cs │ │ ├── Converters/ │ │ │ ├── ListOfMockupPreviewItemModelToListStringConverter.cs │ │ │ └── SelectedScreenshotModelToStringConverter.cs │ │ ├── DataTemplateSelectors/ │ │ │ └── ScreenshotDataTemplateSelector.cs │ │ ├── Messages/ │ │ │ ├── DeleteScreenShotMessage.cs │ │ │ └── DropImageMessage.cs │ │ ├── Models/ │ │ │ ├── DeviceItemModel.cs │ │ │ └── ScreenshotModel.cs │ │ └── Pages/ │ │ ├── MockupPage.xaml │ │ ├── MockupPage.xaml.cs │ │ └── MockupPageViewModel.cs │ ├── ResumesTemplate/ │ │ ├── Blazor/ │ │ │ ├── Components/ │ │ │ │ ├── DotNetTemplate.razor │ │ │ │ └── DotNetTemplate.razor.cs │ │ │ └── ResumesTemplate.razor │ │ ├── Models/ │ │ │ └── WorkHistoryModel.cs │ │ └── Pages/ │ │ ├── ResumeDetailPage.xaml │ │ ├── ResumeDetailPage.xaml.cs │ │ ├── ResumeDetailPageViewModel.cs │ │ ├── ResumesPage.xaml │ │ ├── ResumesPage.xaml.cs │ │ └── ResumesPageViewModel.cs │ ├── SecureStorage/ │ │ ├── Implementations/ │ │ │ └── SecureStorageService.cs │ │ └── Interfaces/ │ │ └── ISecureStorageService.cs │ ├── Settings/ │ │ └── Pages/ │ │ ├── SettingsPage.xaml │ │ ├── SettingsPage.xaml.cs │ │ └── SettingsPageViewModel.cs │ └── Showcases/ │ └── Pages/ │ ├── ShowcasesPage.xaml │ ├── ShowcasesPage.xaml.cs │ └── ShowcasesPageViewModel.cs ├── GlobalUsings.cs ├── MAUIsland - Backup.csproj ├── MAUIsland.csproj ├── MAUIslandWindow.xaml ├── MAUIslandWindow.xaml.cs ├── MauiProgram.cs ├── Platforms/ │ └── Windows/ │ ├── AcrylicWindow.cs │ ├── App.xaml │ ├── App.xaml.cs │ ├── MicaWindow.cs │ ├── Package.appxmanifest │ ├── WindowsSystemDispatcherQueueHelper.cs │ └── app.manifest ├── Properties/ │ └── launchSettings.json ├── Resources/ │ ├── Raw/ │ │ ├── AboutAssets.txt │ │ ├── australia.shp │ │ ├── dotnetbot.json │ │ ├── island.json │ │ ├── river.json │ │ ├── swipeupordown.json │ │ ├── totechs_logo.json │ │ ├── usa_state.shp │ │ └── world-map.json │ └── Styles/ │ ├── Colors.xaml │ └── Styles.xaml ├── Web.config ├── Windows.sln └── wwwroot/ ├── css/ │ └── app.css └── index.html ================================================ FILE CONTENTS ================================================ ================================================ FILE: .config/dotnet-tools.json ================================================ { "version": 1, "isRoot": true, "tools": { "cake.tool": { "version": "3.0.0", "commands": [ "dotnet-cake" ] } } } ================================================ FILE: .github/ISSUE_TEMPLATE/add-new-control.yml ================================================ name: Add New Control description: Suggest a new control for MAUIsland labels: ["proposal/open", "t/enhancement"] body: - type: markdown attributes: value: | Thank you for your interest in .NET MAUI! We welcome any and all ideas for features or improvements that you might have. All we ask is to fill in this template with some detail. A detailed description, perhaps supported with some screenshots, mockups, and a (public) API design in pseudo-code, would be very much appreciated and will help get your proposal reviewed sooner. Keep in mind that .NET MAUI is a multi-platform framework. Consider how feasible it is to implement this feature across all the supported platforms. If you're not completely sure about a request yet, feel free to [open a discussion](https://github.com/dotnet/maui/discussions/new?category=ideas) first to discuss with the team and the community first. - type: textarea id: description attributes: label: Description description: Please give us a detailed description of the feature that you envision. Focus on _what_ this feature does, over the _why_ you want this feature. What would be the end-result when implemented? Feel free to add any diagrams, (mocked up) screenshots, or other materials that support your story. placeholder: I would love to have a button that I can make shiny. This is something that is supported on all the underlaying platforms, so this would just be exposing that on the .NET MAUI layer. validations: required: true - type: textarea id: usage attributes: label: Usage description: Include a list of all API changes, additions, subtractions as would be required by your proposal. These APIs should be considered placeholders, so the naming is not as important as getting the concepts correct. If possible you should include some example (pseudo-)code of usage of your new API. This will not only help us understand better, but also help you think about how you want to use this feature as a developer. placeholder: | ```csharp var button = new Button (); button.MakeShiny = true; // new API ``` The MakeShiny API works even if the button is already visible. validations: required: true - type: dropdown id: platforms attributes: label: What platforms will this control be available? multiple: true options: - Android - Windows - MacOS - IOS - Tizen - type: textarea id: use-case attributes: label: Properties list description: Provide a detailed example of where your proposal would be used and for what purpose. Focus on _why_ you want this feature instead of _what_ the feature does. placeholder: In my app I have a situation where I would really want a shiny button to make it stand out from the rest of the plain and boring buttons. validations: required: true - type: markdown attributes: value: | By opening the issue you agree to follow this project's [Code of Conduct](https://github.com/dotnet/maui/blob/main/.github/CODE_OF_CONDUCT.md) ================================================ FILE: .github/ISSUE_TEMPLATE/bug-report.yml ================================================ name: Bug Report description: File a bug report title: "[Bug]: " labels: ["bug", "triage"] assignees: - octocat body: - type: markdown attributes: value: | Thanks for taking the time to fill out this bug report! - type: input id: contact attributes: label: Contact Details description: How can we get in touch with you if we need more info ? placeholder: ex. email@example.com validations: required: false - type: textarea id: what-happened attributes: label: What happened? description: Also tell us, what did you expect to happen? placeholder: Tell us what you see! value: "A bug happened!" validations: required: true - type: dropdown id: version attributes: label: Version description: What version of MAUI are you running? options: - 6.0 (Default) - 7.0 - 8.0 - 9.0 validations: required: true - type: dropdown id: platforms attributes: label: What platforms are you seeing the problem on? multiple: true options: - Android - Windows - MacOS - IOS - type: textarea id: logs attributes: label: Relevant log output description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. render: shell - type: checkboxes id: terms attributes: label: Code of Conduct description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com) options: - label: I agree to respect and follow this project's rules required: true ================================================ FILE: .github/ISSUE_TEMPLATE/feature.yml ================================================ name: Feature Request description: Suggest an idea for .NET MAUI labels: ["proposal/open", "t/enhancement"] body: - type: markdown attributes: value: | Thank you for your interest in .NET MAUI! We welcome any and all ideas for features or improvements that you might have. All we ask is to fill in this template with some detail. A detailed description, perhaps supported with some screenshots, mockups, and a (public) API design in pseudo-code, would be very much appreciated and will help get your proposal reviewed sooner. Keep in mind that .NET MAUI is a multi-platform framework. Consider how feasible it is to implement this feature across all the supported platforms. If you're not completely sure about a request yet, feel free to [open a discussion](https://github.com/dotnet/maui/discussions/new?category=ideas) first to discuss with the team and the community first. - type: textarea id: description attributes: label: Description description: Please give us a detailed description of the feature that you envision. Focus on _what_ this feature does, over the _why_ you want this feature. What would be the end-result when implemented? Feel free to add any diagrams, (mocked up) screenshots, or other materials that support your story. placeholder: I would love to have a button that I can make shiny. This is something that is supported on all the underlaying platforms, so this would just be exposing that on the .NET MAUI layer. validations: required: true - type: textarea id: api-changes attributes: label: Public API Changes description: Include a list of all API changes, additions, subtractions as would be required by your proposal. These APIs should be considered placeholders, so the naming is not as important as getting the concepts correct. If possible you should include some example (pseudo-)code of usage of your new API. This will not only help us understand better, but also help you think about how you want to use this feature as a developer. placeholder: | ```csharp var button = new Button (); button.MakeShiny = true; // new API ``` The MakeShiny API works even if the button is already visible. validations: required: true - type: textarea id: use-case attributes: label: Intended Use-Case description: Provide a detailed example of where your proposal would be used and for what purpose. Focus on _why_ you want this feature instead of _what_ the feature does. placeholder: In my app I have a situation where I would really want a shiny button to make it stand out from the rest of the plain and boring buttons. validations: required: true - type: markdown attributes: value: | By opening the issue you agree to follow this project's [Code of Conduct](https://github.com/dotnet/maui/blob/main/.github/CODE_OF_CONDUCT.md) ================================================ FILE: .github/ISSUE_TEMPLATE/showcase-submission.yml ================================================ name: Showcase Submission description: Submit your project to be showcased on MAUIsland. title: "Showcase Submission: MAUIsland" labels: - showcase - submission body: - type: markdown attributes: value: | Thank you for submitting your project to be showcased! Please provide the following details so we can include your project on MAUIsland. - type: input id: repository_url attributes: label: "Repository URL" description: "Provide the URL of the GitHub repository for your project." placeholder: "https://github.com/username/repository-name" validations: required: true - type: checkboxes id: project_technology attributes: label: "What technology is this project using?" description: "Select all technologies applicable to your project." options: - label: ".NET MAUI" - label: "Uno Platform" - label: "WinUI 3" - label: "UWP" - label: "WPF" validations: required: true - type: checkboxes id: platform_support attributes: label: "How many platforms does this project support?" description: "Select all platforms your project supports." options: - label: Android - label: iOS - label: Windows - label: MacOS - label: Tizen validations: required: true - type: textarea id: screenshots attributes: label: "Screenshots of the application" description: "Provide links to screenshots of your application. You can upload them to your repository or a cloud storage service and share the links here." validations: required: true - type: dropdown id: device_frame attributes: label: "Which device frame do you want to display your application on?" description: "Select one or more device frames you would like to use." multiple: true options: - Apple IPhone 15 Pro Max - Google Pixel 5 - Google Pixel 6 Pro - Apple IPhone 13 Mini - Apple IPhone 15 - Samsung Galaxy S22 Ultra - Samsung Galaxy S8 validations: required: true - type: checkboxes id: terms attributes: label: Code of Conduct description: "By submitting this showcase, you agree to follow our [Code of Conduct](https://example.com)." options: - label: I agree to respect and follow this project's rules validations: required: true - type: markdown attributes: value: | ## Public API Changes None ================================================ FILE: .gitignore ================================================ # globs Makefile.in *.userprefs *.usertasks appsettings.Development.json src/appsettings.Development.json config.make config.status aclocal.m4 install-sh autom4te.cache/ *.tar.gz tarballs/ test-results/ /src/Presentations/Windows/Extensions/ProductionConfig.cs tools/ # Mac bundle stuff *.dmg *.app # content below from: https://github.com/github/gitignore/blob/main/Global/macOS.gitignore # General .DS_Store .AppleDouble .LSOverride # Icon must end with two \r Icon # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk # content below from: https://github.com/github/gitignore/blob/main/Global/Windows.gitignore # Windows thumbnail cache files Thumbs.db ehthumbs.db ehthumbs_vista.db # Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msix *.msm *.msp # Windows shortcuts *.lnk # content below from: https://github.com/github/gitignore/blob/master/VisualStudio.gitignore ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files *.suo *.user *.userosscache *.sln.docstates # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ x64/ x86/ bld/ [Bb]in/ [Oo]bj/ [Ll]og/ # Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ # Visual Studio 2017 auto generated files Generated\ Files/ # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* # NUNIT *.VisualState.xml TestResult.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c # Benchmark Results BenchmarkDotNet.Artifacts/ # .NET Core project.lock.json project.fragment.lock.json artifacts/ # StyleCop StyleCopReport.xml # Files built by Visual Studio *_i.c *_p.c *_h.h *.ilk *.meta *.obj *.iobj *.pch *.pdb *.ipdb *.pgc *.pgd *.rsp *.sbr *.tlb *.tli *.tlh *.tmp *.tmp_proj *_wpftmp.csproj *.log *.vspscc *.vssscc .builds *.pidb *.svclog *.scc # Chutzpah Test files _Chutzpah* # Visual C++ cache files ipch/ *.aps *.ncb *.opendb *.opensdf *.sdf *.cachefile *.VC.db *.VC.VC.opendb # Visual Studio profiler *.psess *.vsp *.vspx *.sap # Visual Studio Trace Files *.e2e # TFS 2012 Local Workspace $tf/ # Guidance Automation Toolkit *.gpState # ReSharper is a .NET coding add-in _ReSharper*/ *.[Rr]e[Ss]harper *.DotSettings.user # JustCode is a .NET coding add-in .JustCode # TeamCity is a build add-in _TeamCity* # DotCover is a Code Coverage Tool *.dotCover # AxoCover is a Code Coverage Tool .axoCover/* !.axoCover/settings.json # Visual Studio code coverage results *.coverage *.coveragexml # NCrunch _NCrunch_* .*crunch*.local.xml nCrunchTemp_* # MightyMoose *.mm.* AutoTest.Net/ # Web workbench (sass) .sass-cache/ # Installshield output folder [Ee]xpress/ # DocProject is a documentation generator add-in DocProject/buildhelp/ DocProject/Help/*.HxT DocProject/Help/*.HxC DocProject/Help/*.hhc DocProject/Help/*.hhk DocProject/Help/*.hhp DocProject/Help/Html2 DocProject/Help/html # Click-Once directory publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml # Note: Comment the next line if you want to checkin your web deploy settings, # but database connection strings (with potential passwords) will be unencrypted *.pubxml *.publishproj # Microsoft Azure Web App publish settings. Comment the next line if you want to # checkin your Azure Web App publish settings, but sensitive information contained # in these scripts will be unencrypted PublishScripts/ # NuGet Packages *.nupkg # The packages folder can be ignored because of Package Restore **/[Pp]ackages/* # except build/, which is used as an MSBuild target. !**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed #!**/[Pp]ackages/repositories.config # NuGet v3's project.json files produces more ignorable files *.nuget.props *.nuget.targets # Microsoft Azure Build Output csx/ *.build.csdef # Microsoft Azure Emulator ecf/ rcf/ # Windows Store app package directories and files AppPackages/ BundleArtifacts/ Package.StoreAssociation.xml _pkginfo.txt *.appx # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache !*.[Cc]ache/ # Others ClientBin/ ~$* *~ *.dbmdl *.dbproj.schemaview *.jfm *.pfx *.publishsettings orleans.codegen.cs # Including strong name files can present a security risk # (https://github.com/github/gitignore/pull/2483#issue-259490424) #*.snk # Since there are multiple workflows, uncomment next line to ignore bower_components # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) #bower_components/ # RIA/Silverlight projects Generated_Code/ # Backup & report files from converting an old project file # to a newer Visual Studio version. Backup files are not needed, # because we have git ;-) _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm ServiceFabricBackup/ *.rptproj.bak # SQL Server files *.mdf *.ldf *.ndf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings *.rptproj.rsuser # Microsoft Fakes FakesAssemblies/ # GhostDoc plugin setting file *.GhostDoc.xml # Node.js Tools for Visual Studio .ntvs_analysis.dat node_modules/ # Visual Studio 6 build log *.plg # Visual Studio 6 workspace options file *.opt # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) *.vbw # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts **/*.DesktopClient/ModelManifest.xml **/*.Server/GeneratedArtifacts **/*.Server/ModelManifest.xml _Pvt_Extensions # Paket dependency manager .paket/paket.exe paket-files/ # FAKE - F# Make .fake/ # JetBrains Rider .idea/ *.sln.iml # CodeRush personal settings .cr/personal # Python Tools for Visual Studio (PTVS) __pycache__/ *.pyc # Cake - Uncomment if you are using it # tools/** # !tools/packages.config # Tabs Studio *.tss # Telerik's JustMock configuration file *.jmconfig # BizTalk build output *.btp.cs *.btm.cs *.odx.cs *.xsd.cs # OpenCover UI analysis results OpenCover/ # Azure Stream Analytics local run output ASALocalRun/ # MSBuild Binary and Structured Log *.binlog # NVidia Nsight GPU debugger configuration file *.nvuser # MFractors (Xamarin productivity tool) working folder .mfractor/ # Local History for Visual Studio .localhistory/ .vs /src/appsettings.Development.json /src/Presentations/Windows/appsettings.Development.json /src/Presentations/Windows/Extensions/TaskHelpers.cs ================================================ FILE: .vscode/launch.json ================================================ { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": ".NET MAUI", "type": "maui", "request": "launch", "preLaunchTask": "maui: Build" }, { "name": ".NET Meteor Debugger", "type": "dotnet-meteor.debugger", "request": "launch", "preLaunchTask": "dotnet-meteor: Build" } ] } ================================================ FILE: .vscode/settings.json ================================================ { "vscode_custom_css.imports": [ "file:///C:/Users/Strypper/.vscode/extensions/webrender.synthwave-x-fluoromachine-0.0.12/synthwave-x-fluoromachine.css" "file:///C:/Users/Strypper/.vscode/extensions/thecodemonkey.synthwave-x-fluoromachine-epic-animations-1.4.13/epic-80s-transitions.css" ] } ================================================ FILE: CODE_OF_CONDUCT.md ================================================ # Contributor Covenant Code of Conduct ## Our Pledge We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation. We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. ## Our Standards Examples of behavior that contributes to a positive environment for our community include: * Demonstrating empathy and kindness toward other people * Being respectful of differing opinions, viewpoints, and experiences * Giving and gracefully accepting constructive feedback * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience * Focusing on what is best not just for us as individuals, but for the overall community Examples of unacceptable behavior include: * The use of sexualized language or imagery, and sexual attention or advances of any kind * Trolling, insulting or derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or email address, without their explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Enforcement Responsibilities Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. ## Scope This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at ocgrb.strypperjason115@gmail.com. All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the reporter of any incident. ## Enforcement Guidelines Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: ### 1. Correction **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. ### 2. Warning **Community Impact**: A violation through a single incident or series of actions. **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. ### 3. Temporary Ban **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. ### 4. Permanent Ban **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. **Consequence**: A permanent ban from any sort of public interaction within the community. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0, available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). [homepage]: https://www.contributor-covenant.org For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations. ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2023 Strypper Vandel Jason Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # 🏝️ MAUIsland ![](showcases/version_2.0/summary_slide.png) MAUIsland is an app that showcases all the .NET MAUI controls available for developers. It allows you to easily interact with them and see how they look and behave on different platforms. It also provides guidance, tips and tricks to help you use them effectively in your own apps.

MAUIsland

Explore and interact. Stay up to date with the .NET MAUI Community.

Store link

# Version 2.0 (Dragon version) 1. Revamped Design 🎨: The application now features a sleek, acrylic + mica material design. The interface is smoother, with enhanced contrast and reduced distractions, offering users a more engaging experience. 2. Performance Enhancements 🏎️: Significant improvements have been made in page navigation, resulting in a reduced memory footprint. Additionally, internet data is cached locally in a database, enhancing performance and enabling better offline support. The lazy loading of the code view expander contributes to faster initialization of pages. 3. Expanded Community Toolkit 🔨: The Community Toolkit Gallery has been enriched with the addition of four new controls, nine converters, and three layouts, empowering developers with more tools to enhance their applications. 4. GitHub Community Gallery 🤝: We've integrated six widely used GitHub nuggets that are commonly utilized with .NET MAUI, including LiveChart2, ZXing.Net.Maui, and more. This gallery not only provides access to these resources but also offers UI fixes to address issues like stretched clicking and hovering targets for a smoother user interaction. 5. Explore [Showcases](https://github.com/Strypper/mauisland/blob/main/showcases/version_2.0/Contribute.md) # ⚠️ Create appsettings.Development.json before run App 1. Click right MAUIsland in Solution Explorer 2. Select Add -> New Item -> only JSON File 3. Set Name: appsettings.Development.json 4. Click Add and copy the format below (You can leave the key value empty if you don't have the syncfusion key, but this will lead to a crash if you try to view syncfusion controls) Add the json settings from the issue: ```json { "AppSettings": { "SyncfusionKey": "Your_syncfustion_key", "DiscordApplicationId": "Yout_discord_bot_application_id" } } ``` # 🚀 Features 1. Browse through over 50 .NET MAUI controls organized by categories 2. See live previews of each control on iOS, Android, Windows, and Mac 3. Learn how to use each control with code snippets and documentation links 4. Customize each control’s properties and styles 5. Copy code snippets to the clipboard and use them in your app # ⬇️ Installation To install .NET MAUI Control Gallery on your device or emulator/simulator: 1. Clone or download this repository 2. Open the solution file (.sln) in Visual Studio 2022 or later 3. Select your target platform and device/emulator/simulator 4. Create the appsettings.Development.json file this file will not contain any private key 5. Build and run the app We will publish our application on all platforms soon enough. Stay tuned!!! # ⁉ Support If you need help with something or have an idea, feel free to start a [Discussion](https://github.com/CommunityToolkit/WindowsCommunityToolkit/discussions) or find us on [Discord](https://discord.gg/edgzveQ9KN). If you have detailed repro steps, open an [issue here instead](https://github.com/Strypper/mauisland/issues/new/choose). # 📄 Code of Conduct This project has adopted the code of conduct defined by the [Contributor Covenant](http://contributor-covenant.org/) to clarify expected behavior in our community. For more information see the [.NET Foundation Code of Conduct](CODE_OF_CONDUCT.md). # Meet the contributors Made with [contrib.rocks](https://contrib.rocks). ================================================ FILE: build.cake ================================================ #addin nuget:?package=Cake.FileHelpers&version=6.0.0 var target = Argument("target", "BuiltInControlPage"); var group = Argument("group", "BuiltIn"); var name = Argument("name", "AwesomeControl"); var cardDetail = Argument("cardDetail", "CardDetail"); var originalDocumentUrl = Argument("originalDocumentUrl", "DocumentLink"); var configuration = Argument("configuration", "Release"); ////////////////////////////////////////////////////////////////////// // TASKS ////////////////////////////////////////////////////////////////////// const string CONTROL_FODLER_PATH_TEMPLATE="./src/Features/Gallery/Pages/{0}/{1}"; Task("BuiltInControlPage") .Does(() => { var controlFolderPath = string.Format(CONTROL_FODLER_PATH_TEMPLATE, group, name); Information("Control folder path: " + controlFolderPath); if (DirectoryExists(controlFolderPath)) { Warning("Control folder path exists"); return; } CreateDirectory(controlFolderPath); Information($"\n>> Generate >> {name}ControlInfo.cs"); FileWriteText($"{controlFolderPath}/{name}ControlInfo.cs", $@"namespace MAUIsland.Gallery.{group}; class {name}ControlInfo : IGalleryCardInfo {{ public string ControlName => nameof({name}); public string ControlRoute => typeof({name}Page).FullName; public ImageSource ControlIcon => new FontImageSource() {{ FontFamily = FontNames.FluentSystemIconsRegular, Glyph = FluentUIIcon.Ic_fluent_approvals_app_20_regular }}; public string ControlDetail => ""{cardDetail}""; public string GitHubUrl => $""https://github.com/Strypper/mauisland/tree/main/src/Features/Gallery/Pages/{group}/{{ControlName}}""; public string DocumentUrl => $""{originalDocumentUrl}""; public string GroupName => ControlGroupInfo.{group}Controls; }}"); Information($"\n>> Generate >> {name}Page.xaml"); FileWriteText($"{controlFolderPath}/{name}Page.xaml", $@" {name} defines the following properties: These properties are backed by BindableProperty objects, which means that they can be targets of data bindings, and styled. Color, of type Color , value that defines the color of the ActivityIndicator. ]]> IsRunning, of type bool,value that indicates whether the ActivityIndicator should be visible and animating, or hidden. The default value of this property is false, which indicates that the ActivityIndicator isn't visible. ]]> "); Information($"\n>> Generate >> {name}Page.xaml.cs"); FileWriteText($"{controlFolderPath}/{name}Page.xaml.cs", $@"namespace MAUIsland; public partial class {name}Page : IGalleryPage {{ #region [CTor] public {name}Page({name}PageViewModel vm) {{ InitializeComponent(); BindingContext = vm; }} #endregion }}"); Information($"\n>> Generate >> {name}PageViewModel.cs"); FileWriteText($"{controlFolderPath}/{name}PageViewModel.cs", $@"namespace MAUIsland; public partial class {name}PageViewModel : NavigationAwareBaseViewModel {{ #region [CTor] public {name}PageViewModel( IAppNavigator appNavigator ) : base(appNavigator) {{ }} #endregion #region [Properties] [ObservableProperty] IGalleryCardInfo controlInformation; #endregion #region [Overrides] protected override void OnInit(IDictionary query) {{ base.OnInit(query); ControlInformation = query.GetData(); }} #endregion }}"); }); ////////////////////////////////////////////////////////////////////// // EXECUTION ////////////////////////////////////////////////////////////////////// RunTarget(target); ================================================ FILE: docs/pull_request_template.md ================================================ # COOL NEW PAGE !!!! ### Page name: `Page` ## Contributors [//]: contributor-faces [//]: contributor-faces ## Describe your changes ## Have we discussed about this before ? (Please link the discussion link below) ## Added page requirements as following: - [ ] Page.xaml - [ ] Change the `x:Class` to project namespace standard (ex: `x:Class="MAUIsland.LabelPage"`)? - [ ] Include `xmlns:app="clr-namespace:MAUIsland"`? - [ ] Change `ContentPage` to `app:BasePage`? - [ ] Hook the `x:DataType` to the ViewModel? - [ ] Provide `Padding="10"` to `app:BasePage`? - [ ] Provide `ControlInfo` to `app:BasePage.Resources`? - [ ] Provide `PropertiesListHeader` to `app:BasePage.Resources`? - [ ] Provide `PropertiesListFooter` to `app:BasePage.Resources`? - [ ] Provide `PropertyItemsSource` to `app:BasePage.Resources`? - [ ] Provide a brief `Control Info` UI ? ```xml