├── .gitattributes ├── .gitignore ├── AMap ├── AMap.csproj ├── AMapPage.razor ├── AMapPage.razor.js ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── FinishedChooiseEvenArgs.cs ├── Location.Amap │ ├── AmapGeocode.cs │ ├── AmapHttpConsts.cs │ ├── AmapHttpRequestClient.cs │ ├── AmapHttpResponse.cs │ ├── AmapInverseHttpRequestParamter.cs │ ├── AmapInverseLocationResponse.cs │ ├── AmapLocationResolveProvider.cs │ ├── AmapPositiveHttpRequestParamter.cs │ ├── AmapPositiveHttpResponse.cs │ └── AmapRegeocode.cs ├── Location │ ├── GecodeLocation.cs │ ├── ILocationResolveProvider.cs │ ├── IPGecodeLocation.cs │ ├── Location.cs │ ├── LocationResolveException.cs │ ├── Poi.cs │ ├── Position.cs │ ├── ReGeocodeLocation.cs │ └── Road.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── ViewModels │ └── MainPageViewModel.cs ├── _Imports.razor └── wwwroot │ ├── amap_index.html │ ├── css │ ├── app.css │ ├── app2.css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── fonts │ │ ├── SegoeUI.woff │ │ ├── SegoeUIBold.woff │ │ ├── SegoeUILight.woff │ │ ├── SegoeUISemibold.woff │ │ └── SegoeUISemilight.woff │ └── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ ├── css │ │ └── open-iconic-bootstrap.min.css │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.svg │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff │ ├── favicon.ico │ └── lib │ └── amap │ └── loader.js ├── AnalogClock ├── AnalogClock.csproj ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── Clock1.xaml │ ├── Clock1.xaml.cs │ ├── Clock2.xaml │ └── Clock2.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json └── Resources │ ├── AppIcon │ ├── appicon.svg │ └── appiconfg.svg │ ├── Fonts │ ├── FontAwesome.ttf │ ├── OpenSans-Regular.ttf │ ├── OpenSans-Semibold.ttf │ └── URWGeometricBlack.otf │ ├── Images │ └── dotnet_bot.svg │ ├── Raw │ └── AboutAssets.txt │ ├── Splash │ └── splash.svg │ └── Styles │ ├── Colors.xaml │ └── Styles.xaml ├── Assets ├── a0.gif ├── a1.gif ├── a2.gif ├── a3.gif ├── a4.gif ├── a5.gif ├── a6.gif ├── a7.gif ├── a8.gif └── a9.gif ├── CircleWidget ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── CircleWidget.csproj ├── Controls │ ├── CircleProgressBar.xaml │ ├── CircleProgressBar.xaml.cs │ ├── CircleProgressBase.cs │ ├── CircleSlider.xaml │ └── CircleSlider.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json └── Resources │ ├── AppIcon │ ├── appicon.svg │ └── appiconfg.svg │ ├── Fonts │ ├── FontAwesome.ttf │ ├── OpenSans-Regular.ttf │ └── OpenSans-Semibold.ttf │ ├── Images │ └── dotnet_bot.svg │ ├── Raw │ └── AboutAssets.txt │ ├── Splash │ └── splash.svg │ └── Styles │ ├── Colors.xaml │ └── Styles.xaml ├── CloudMusicGroove ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── CloudMusicGroove.csproj ├── Controls │ ├── HorizontalPanContainer.xaml │ └── HorizontalPanContainer.xaml.cs ├── Converter │ ├── Bool2StringConverter.cs │ ├── CalcValueConverter.cs │ ├── SecondsToTimeSpanConverter.cs │ └── SliderMaxValueConverter.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── NowPlayingPage.xaml ├── NowPlayingPage.xaml.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ ├── back.png │ │ ├── calendar.png │ │ ├── dotnet_bot.svg │ │ ├── ic_3bar.png │ │ ├── ic_disc.png │ │ ├── ic_needle.png │ │ ├── ic_pause.png │ │ ├── ic_play.png │ │ ├── menu_w.png │ │ ├── p1.jpg │ │ ├── p2.jpg │ │ ├── p3.jpg │ │ ├── p4.jpg │ │ ├── p5.jpg │ │ ├── playback.png │ │ ├── playdownload.png │ │ ├── playdownloadok.png │ │ ├── playheart.png │ │ ├── playheart_red.png │ │ ├── playlike.png │ │ ├── playlike_b.png │ │ ├── playlist.png │ │ ├── playmenu.png │ │ ├── playnext.png │ │ ├── playramdan.png │ │ ├── playshare.png │ │ ├── playshare_b.png │ │ ├── playtalk.png │ │ ├── playtalk_b.png │ │ ├── playtree.png │ │ └── playvolume.png │ ├── Raw │ │ ├── AboutAssets.txt │ │ ├── music1.mp3 │ │ ├── music2.mp3 │ │ ├── music3.mp3 │ │ ├── music4.mp3 │ │ └── music5.mp3 │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml └── ViewModels │ └── NowPlayingPageViewModel.cs ├── Coverflow ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Coverflow.csproj ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ ├── AboutAssets.txt │ │ ├── p1.jpg │ │ ├── p10.jpg │ │ ├── p11.jpg │ │ ├── p12.jpg │ │ ├── p13.jpg │ │ ├── p14.jpg │ │ ├── p15.jpg │ │ ├── p16.jpg │ │ ├── p17.jpg │ │ ├── p18.jpg │ │ ├── p19.jpg │ │ ├── p2.jpg │ │ ├── p20.jpg │ │ ├── p3.jpg │ │ ├── p4.jpg │ │ ├── p5.jpg │ │ ├── p6.jpg │ │ ├── p7.jpg │ │ ├── p8.jpg │ │ └── p9.jpg │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── RotationImage.xaml ├── RotationImage.xaml.cs ├── RotationImageTestPage.xaml ├── RotationImageTestPage.xaml.cs └── ViewModels │ └── MainPageViewModel.cs ├── CustomControlsWithHandler ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── CustomControlsWithHandler.csproj ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml └── TouchRecognizer │ ├── Region.cs │ ├── TouchActionEventArgs.cs │ ├── TouchActionEventHandler.cs │ ├── TouchActionType.cs │ ├── TouchContentView.cs │ ├── TouchRecognizer.Android.cs │ ├── TouchRecognizer.Windows.cs │ ├── TouchRecognizer.cs │ └── TouchRecognizer.iOS.cs ├── Editorjs ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Assets │ └── sample1.json ├── Controls │ ├── EditNotePage.xaml │ └── EditNotePage.xaml.cs ├── Editorjs.csproj ├── EditorjsPage.razor ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Note.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── ViewModels │ ├── EditNotePageViewModel.cs │ ├── IEditorViewModel.cs │ └── MainPageViewModel.cs ├── _Imports.razor ├── editor-host │ ├── .editorconfig │ ├── .eslintignore │ ├── .eslintrc │ ├── .github │ │ ├── CODE_OF_CONDUCT.md │ │ ├── FUNDING.yml │ │ ├── ISSUE_TEMPLATE │ │ │ ├── bug_report.md │ │ │ ├── config.yml │ │ │ └── general_issue.md │ │ └── workflows │ │ │ ├── bump-version-on-merge-next.yml │ │ │ ├── create-a-release-draft.yml │ │ │ ├── cypress.yml │ │ │ ├── eslint.yml │ │ │ └── publish-package-to-npm.yml │ ├── .gitignore │ ├── .gitmodules │ ├── .npmignore │ ├── .postcssrc.yml │ ├── .stylelintrc │ ├── .vscode │ │ └── settings.json │ ├── CODEOWNERS │ ├── cypress.config.ts │ ├── devserver.js │ ├── index.html │ ├── package.json │ ├── src │ │ ├── codex.ts │ │ ├── components │ │ │ ├── __module.ts │ │ │ ├── block-tunes │ │ │ │ ├── block-tune-delete.ts │ │ │ │ ├── block-tune-move-down.ts │ │ │ │ └── block-tune-move-up.ts │ │ │ ├── block │ │ │ │ ├── api.ts │ │ │ │ └── index.ts │ │ │ ├── blocks.ts │ │ │ ├── core.ts │ │ │ ├── dom.ts │ │ │ ├── domIterator.ts │ │ │ ├── errors │ │ │ │ └── critical.ts │ │ │ ├── events │ │ │ │ ├── BlockChanged.ts │ │ │ │ ├── BlockHovered.ts │ │ │ │ ├── FakeCursorAboutToBeToggled.ts │ │ │ │ ├── FakeCursorHaveBeenSet.ts │ │ │ │ ├── RedactorDomChanged.ts │ │ │ │ └── index.ts │ │ │ ├── flipper.ts │ │ │ ├── i18n │ │ │ │ ├── index.ts │ │ │ │ ├── locales │ │ │ │ │ └── en │ │ │ │ │ │ └── messages.json │ │ │ │ └── namespace-internal.ts │ │ │ ├── inline-tools │ │ │ │ ├── inline-tool-bold.ts │ │ │ │ ├── inline-tool-italic.ts │ │ │ │ └── inline-tool-link.ts │ │ │ ├── modules │ │ │ │ ├── api │ │ │ │ │ ├── blocks.ts │ │ │ │ │ ├── caret.ts │ │ │ │ │ ├── events.ts │ │ │ │ │ ├── i18n.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── inlineToolbar.ts │ │ │ │ │ ├── listeners.ts │ │ │ │ │ ├── notifier.ts │ │ │ │ │ ├── readonly.ts │ │ │ │ │ ├── sanitizer.ts │ │ │ │ │ ├── saver.ts │ │ │ │ │ ├── selection.ts │ │ │ │ │ ├── styles.ts │ │ │ │ │ ├── toolbar.ts │ │ │ │ │ ├── tooltip.ts │ │ │ │ │ └── ui.ts │ │ │ │ ├── blockEvents.ts │ │ │ │ ├── blockManager.ts │ │ │ │ ├── blockSelection.ts │ │ │ │ ├── caret.ts │ │ │ │ ├── crossBlockSelection.ts │ │ │ │ ├── dragNDrop.ts │ │ │ │ ├── index.ts │ │ │ │ ├── modificationsObserver.ts │ │ │ │ ├── paste.ts │ │ │ │ ├── readonly.ts │ │ │ │ ├── rectangleSelection.ts │ │ │ │ ├── renderer.ts │ │ │ │ ├── saver.ts │ │ │ │ ├── toolbar │ │ │ │ │ ├── blockSettings.ts │ │ │ │ │ ├── conversion.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── inline.ts │ │ │ │ ├── tools.ts │ │ │ │ └── ui.ts │ │ │ ├── polyfills.ts │ │ │ ├── selection.ts │ │ │ ├── tools │ │ │ │ ├── base.ts │ │ │ │ ├── block.ts │ │ │ │ ├── collection.ts │ │ │ │ ├── factory.ts │ │ │ │ ├── inline.ts │ │ │ │ └── tune.ts │ │ │ ├── ui │ │ │ │ └── toolbox.ts │ │ │ ├── utils.ts │ │ │ └── utils │ │ │ │ ├── blocks.ts │ │ │ │ ├── events.ts │ │ │ │ ├── keyboard.ts │ │ │ │ ├── listeners.ts │ │ │ │ ├── mutations.ts │ │ │ │ ├── notifier.ts │ │ │ │ ├── popover │ │ │ │ ├── index.ts │ │ │ │ ├── popover-item.ts │ │ │ │ └── search-input.ts │ │ │ │ ├── promise-queue.ts │ │ │ │ ├── resolve-aliases.ts │ │ │ │ ├── sanitizer.ts │ │ │ │ ├── scroll-locker.ts │ │ │ │ ├── shortcuts.ts │ │ │ │ └── tooltip.ts │ │ ├── env.d.ts │ │ ├── styles │ │ │ ├── animations.css │ │ │ ├── block.css │ │ │ ├── conversion-toolbar.css │ │ │ ├── export.css │ │ │ ├── inline-toolbar.css │ │ │ ├── input.css │ │ │ ├── main.css │ │ │ ├── popover.css │ │ │ ├── rtl.css │ │ │ ├── settings.css │ │ │ ├── stub.css │ │ │ ├── toolbar.css │ │ │ ├── toolbox.css │ │ │ ├── ui.css │ │ │ └── variables.css │ │ ├── tools │ │ │ └── stub │ │ │ │ └── index.ts │ │ └── types-internal │ │ │ ├── editor-modules.d.ts │ │ │ ├── html-janitor.d.ts │ │ │ ├── i18n-internal-namespace.d.ts │ │ │ └── module-config.d.ts │ ├── tsconfig.build.json │ ├── tsconfig.json │ ├── tslint.json │ ├── types │ │ ├── api │ │ │ ├── block.d.ts │ │ │ ├── blocks.d.ts │ │ │ ├── caret.d.ts │ │ │ ├── events.d.ts │ │ │ ├── i18n.d.ts │ │ │ ├── index.d.ts │ │ │ ├── inline-toolbar.d.ts │ │ │ ├── listeners.d.ts │ │ │ ├── notifier.d.ts │ │ │ ├── readonly.d.ts │ │ │ ├── sanitizer.d.ts │ │ │ ├── saver.d.ts │ │ │ ├── selection.d.ts │ │ │ ├── styles.d.ts │ │ │ ├── toolbar.d.ts │ │ │ ├── tooltip.d.ts │ │ │ └── ui.d.ts │ │ ├── block-tunes │ │ │ ├── block-tune-data.d.ts │ │ │ ├── block-tune.d.ts │ │ │ └── index.d.ts │ │ ├── configs │ │ │ ├── conversion-config.ts │ │ │ ├── editor-config.d.ts │ │ │ ├── i18n-config.d.ts │ │ │ ├── i18n-dictionary.d.ts │ │ │ ├── index.d.ts │ │ │ ├── log-levels.d.ts │ │ │ ├── paste-config.d.ts │ │ │ ├── popover.d.ts │ │ │ └── sanitizer-config.d.ts │ │ ├── data-formats │ │ │ ├── block-data.d.ts │ │ │ ├── block-id.ts │ │ │ ├── index.d.ts │ │ │ └── output-data.d.ts │ │ ├── events │ │ │ └── block │ │ │ │ ├── Base.ts │ │ │ │ ├── BlockAdded.ts │ │ │ │ ├── BlockChanged.ts │ │ │ │ ├── BlockMoved.ts │ │ │ │ ├── BlockRemoved.ts │ │ │ │ └── index.ts │ │ ├── index.d.ts │ │ └── tools │ │ │ ├── block-tool-data.d.ts │ │ │ ├── block-tool.d.ts │ │ │ ├── hook-events.d.ts │ │ │ ├── index.d.ts │ │ │ ├── inline-tool.d.ts │ │ │ ├── paste-events.d.ts │ │ │ ├── tool-config.d.ts │ │ │ ├── tool-settings.d.ts │ │ │ └── tool.d.ts │ ├── vite.config.js │ └── yarn.lock └── wwwroot │ ├── css │ ├── app.css │ ├── app2.css │ ├── bootstrap │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── fonts │ │ ├── SegoeUI.woff │ │ ├── SegoeUIBold.woff │ │ ├── SegoeUILight.woff │ │ ├── SegoeUISemibold.woff │ │ └── SegoeUISemilight.woff │ └── open-iconic │ │ ├── FONT-LICENSE │ │ ├── ICON-LICENSE │ │ ├── README.md │ │ └── font │ │ ├── css │ │ └── open-iconic-bootstrap.min.css │ │ └── fonts │ │ ├── open-iconic.eot │ │ ├── open-iconic.otf │ │ ├── open-iconic.svg │ │ ├── open-iconic.ttf │ │ └── open-iconic.woff │ ├── editorjs_index.html │ ├── favicon.ico │ └── lib │ └── editorjs │ ├── css │ └── main.css │ ├── editorjs.umd.js │ └── tools │ ├── checklist@latest.js │ ├── code@latest.js │ ├── delimiter@latest.js │ ├── embed@latest.js │ ├── header@latest.js │ ├── image@latest.js │ ├── inline-code@latest.js │ ├── link@latest.js │ ├── list@latest.js │ ├── marker@latest.js │ ├── nested-list@latest.js │ ├── quote@latest.js │ └── table@latest.js ├── HoldAndSpeak ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── ColorAnimation.xaml ├── ColorAnimation.xaml.cs ├── Controls │ ├── PlayingMotionView.xaml │ └── PlayingMotionView.xaml.cs ├── HoldAndSpeak.csproj ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json └── Resources │ ├── AppIcon │ ├── appicon.svg │ └── appiconfg.svg │ ├── Fonts │ ├── FontAwesome.ttf │ ├── OpenSans-Regular.ttf │ └── OpenSans-Semibold.ttf │ ├── Images │ └── dotnet_bot.svg │ ├── Raw │ └── AboutAssets.txt │ ├── Splash │ └── splash.svg │ └── Styles │ ├── Colors.xaml │ └── Styles.xaml ├── HoldDownButtonGroup ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── Bubble.xaml │ ├── Bubble.xaml.cs │ ├── Bubbles.xaml │ ├── Bubbles.xaml.cs │ ├── CircleProgressBar.xaml │ ├── CircleProgressBar.xaml.cs │ ├── CircleSlider.xaml │ ├── CircleSlider.xaml.cs │ ├── TouchActionEventArgs.cs │ ├── TouchActionEventHandler.cs │ ├── TouchActionType.cs │ ├── TouchContentView.cs │ ├── TouchRecognizer.Android.cs │ ├── TouchRecognizer.Windows.cs │ ├── TouchRecognizer.cs │ └── TouchRecognizer.iOS.cs ├── HoldDownButtonGroup.csproj ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json └── Resources │ ├── AppIcon │ ├── appicon.svg │ └── appiconfg.svg │ ├── Fonts │ ├── FontAwesome.ttf │ ├── OpenSans-Regular.ttf │ └── OpenSans-Semibold.ttf │ ├── Images │ └── dotnet_bot.svg │ ├── Raw │ └── AboutAssets.txt │ ├── Splash │ └── splash.svg │ └── Styles │ ├── Colors.xaml │ └── Styles.xaml ├── InterfacePolymorphism ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── InterfacePolymorphism.csproj ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Models │ └── Blog.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ ├── dotnet_bot.svg │ │ ├── p1.png │ │ ├── p10.png │ │ ├── p11.png │ │ ├── p12.png │ │ ├── p13.png │ │ ├── p2.png │ │ ├── p3.png │ │ ├── p4.png │ │ ├── p5.png │ │ ├── p6.png │ │ ├── p7.png │ │ ├── p8.png │ │ └── p9.png │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── ViewModels │ └── MainPageViewModel.cs └── Views │ ├── NoteSegmentDataTemplateSelector.cs │ ├── PhotoBlogView.xaml │ ├── PhotoBlogView.xaml.cs │ ├── TextBlogView.xaml │ └── TextBlogView.xaml.cs ├── MAUI-Samples.sln ├── MatoMusic-GestureUI ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── CircleSlider.xaml │ └── CircleSlider.xaml.cs ├── Converter │ ├── AlbumArtConverter.cs │ ├── Bool2StringConverter.cs │ ├── DecimalDigitVisibleConverter.cs │ ├── IntegerDigitVisibleConverter.cs │ ├── IsValid2BoolConverter.cs │ ├── SecondsToTimeSpanConverter.cs │ ├── SliderMaxValueConverter.cs │ └── True2FalseConverter.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MatoMusic-GestureUI.csproj ├── MauiProgram.cs ├── NowPlayingPage.xaml ├── NowPlayingPage.xaml.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ ├── dotnet_bot.svg │ │ ├── p1.jpg │ │ ├── p2.jpg │ │ ├── p3.jpg │ │ ├── p4.jpg │ │ └── p5.jpg │ ├── Raw │ │ ├── AboutAssets.txt │ │ ├── music1.mp3 │ │ ├── music2.mp3 │ │ ├── music3.mp3 │ │ ├── music4.mp3 │ │ └── music5.mp3 │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml └── ViewModels │ └── NowPlayingPageViewModel.cs ├── MatoMusic.Core ├── Common │ ├── AlphaGroupedObserveableCollection.cs │ ├── IBasicInfo.cs │ └── InfoResult.cs ├── Impl │ ├── MockMusicInfoManager.cs │ └── MusicControlService.cs ├── Interfaces │ ├── IMusicControlService.cs │ └── IMusicInfoManager.cs ├── MatoMusic.Core.csproj ├── Models │ ├── AlbumInfo.cs │ ├── ArtistInfo.cs │ ├── BillboardInfo.cs │ ├── Entities │ │ ├── Playlist.cs │ │ ├── PlaylistItem.cs │ │ └── Queue.cs │ ├── MenuCellInfo.cs │ ├── MusicCollectionInfo.cs │ ├── MusicInfo.cs │ └── PlaylistInfo.cs ├── MusicInfoComparer.cs ├── Platforms │ ├── Android │ │ └── MusicControlService.cs │ ├── Windows │ │ └── MusicControlService.cs │ └── iOS │ │ └── MusicControlService.cs ├── Services │ └── MusicRelatedService.cs └── ViewModels │ └── MusicRelatedViewModel.cs ├── MauiSample.Common ├── Common │ ├── FaIcons.cs │ └── Region.cs ├── Controls │ ├── PanContainer.xaml │ ├── PanContainer.xaml.cs │ └── PitGrid.cs ├── Helper │ ├── CommonHelper.cs │ ├── GeoLocationHelper.cs │ └── TokenHelper.cs ├── MauiSample.Common.csproj ├── Platforms │ ├── Android │ │ └── PlatformClass1.cs │ ├── MacCatalyst │ │ └── PlatformClass1.cs │ ├── Tizen │ │ └── PlatformClass1.cs │ ├── Windows │ │ └── PlatformClass1.cs │ └── iOS │ │ └── PlatformClass1.cs └── ThrottleDebounce │ ├── Debouncer.cs │ ├── RateLimitedDelegates.cs │ ├── RateLimiter.Overloads.cs │ ├── RateLimiter.cs │ ├── Retrier.cs │ └── Throttler.cs ├── MultitaskingCardList ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── BezierModulatedLayoutPage.xaml ├── BezierModulatedLayoutPage.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── MultitaskingCardList.csproj ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ ├── dotnet_bot.svg │ │ ├── p1.png │ │ ├── p10.png │ │ ├── p11.png │ │ ├── p12.png │ │ ├── p13.png │ │ ├── p2.png │ │ ├── p3.png │ │ ├── p4.png │ │ ├── p5.png │ │ ├── p6.png │ │ ├── p7.png │ │ ├── p8.png │ │ ├── p9.png │ │ └── pb.png │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml └── ViewModels │ └── MainPageViewModel.cs ├── README.md ├── RichTextEditor ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── RichTextEditor.xaml │ ├── RichTextEditor.xaml.cs │ ├── SelectionArgs.cs │ ├── StyleArgs.cs │ ├── StyleType.cs │ └── WysiwygContentEditor.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── HtmlParser.Android.cs │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── HtmlParser.iOS.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── RichTextEditor - Backup.csproj ├── RichTextEditor.csproj └── ViewModels │ └── MainPageViewModel.cs ├── StickyTab ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── StickyPan.xaml │ └── StickyPan.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── StickPanSamplePage.xaml ├── StickPanSamplePage.xaml.cs └── StickyTab.csproj ├── Tile ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── LargeSegmentView.xaml │ ├── LargeSegmentView.xaml.cs │ ├── MediumSegmentView.xaml │ ├── MediumSegmentView.xaml.cs │ ├── SmallSegmentView.xaml │ ├── SmallSegmentView.xaml.cs │ ├── TileSegmentView.xaml │ └── TileSegmentView.xaml.cs ├── GridTileSegmentService.cs ├── GridTilesPage.xaml ├── GridTilesPage.xaml.cs ├── HorizontalTilesPage.xaml ├── HorizontalTilesPage.xaml.cs ├── IDraggableItem.cs ├── IReadOnlyTileSegmentServiceContainer.cs ├── ITileSegmentService.cs ├── ITileSegmentServiceContainer.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── Tile.csproj ├── TileSegment.cs ├── TileSegmentDataTemplateSelector.cs ├── TileSegmentService.cs └── ViewModels │ ├── GridTilesPageViewModel.cs │ └── MainPageViewModel.cs ├── Tile2 ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── TileSegmentView.xaml │ └── TileSegmentView.xaml.cs ├── IDraggableItem.cs ├── IReadOnlyTileSegmentServiceContainer.cs ├── ITileSegmentService.cs ├── ITileSegmentServiceContainer.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml ├── Tile2.csproj ├── TileSegment.cs ├── TileSegmentService.cs └── ViewModels │ └── MainPageViewModel.cs ├── WaveProgressBar ├── App.xaml ├── App.xaml.cs ├── AppShell.xaml ├── AppShell.xaml.cs ├── Controls │ ├── WaveBox.xaml │ ├── WaveBox.xaml.cs │ ├── WaveCircle.xaml │ └── WaveCircle.xaml.cs ├── MainPage.xaml ├── MainPage.xaml.cs ├── MainPageViewModel.cs ├── MauiProgram.cs ├── Platforms │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── MainActivity.cs │ │ ├── MainApplication.cs │ │ └── Resources │ │ │ └── values │ │ │ └── colors.xml │ ├── MacCatalyst │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs │ ├── Tizen │ │ ├── Main.cs │ │ └── tizen-manifest.xml │ ├── Windows │ │ ├── App.xaml │ │ ├── App.xaml.cs │ │ ├── Package.appxmanifest │ │ └── app.manifest │ └── iOS │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Program.cs ├── Properties │ └── launchSettings.json ├── Resources │ ├── AppIcon │ │ ├── appicon.svg │ │ └── appiconfg.svg │ ├── Fonts │ │ ├── FontAwesome.ttf │ │ ├── OpenSans-Regular.ttf │ │ └── OpenSans-Semibold.ttf │ ├── Images │ │ └── dotnet_bot.svg │ ├── Raw │ │ └── AboutAssets.txt │ ├── Splash │ │ └── splash.svg │ └── Styles │ │ ├── Colors.xaml │ │ └── Styles.xaml └── WaveProgressBar.csproj ├── image-1.png ├── image-2.png └── image.png /AMap/AMapPage.razor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/AMapPage.razor.js -------------------------------------------------------------------------------- /AMap/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | using AMap.Views; 3 | 4 | namespace AMap; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AMap/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /AMap/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace AMap; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /AMap/Location.Amap/AmapHttpConsts.cs: -------------------------------------------------------------------------------- 1 | namespace Amap 2 | { 3 | public class AmapHttpConsts 4 | { 5 | public const string HttpClientName = "AmapLocationHttpClient"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /AMap/Location.Amap/AmapInverseLocationResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Amap 2 | { 3 | /// 4 | /// 逆地址解析结果 5 | /// 6 | public class AmapInverseLocationResponse : AmapHttpResponse 7 | { 8 | public AmapRegeocode Regeocode { get; set; } 9 | public AmapInverseLocationResponse() 10 | { 11 | Regeocode = new AmapRegeocode(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /AMap/Location/ILocationResolveProvider.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace AMap.Location 4 | { 5 | public interface ILocationResolveProvider 6 | { 7 | 8 | Task GeocodeAsync(string address, string city = null); 9 | 10 | Task ReGeocodeAsync(double lat, double lng, int radius = 50); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /AMap/Location/Poi.cs: -------------------------------------------------------------------------------- 1 | namespace AMap.Location 2 | { 3 | public class Poi 4 | { 5 | public string Tag { get; set; } 6 | public string Name { get; set; } 7 | public string Type { get; set; } 8 | public string Address { get; set; } 9 | public int? Distance { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /AMap/Location/Road.cs: -------------------------------------------------------------------------------- 1 | namespace AMap.Location 2 | { 3 | public class Road 4 | { 5 | public string Name { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /AMap/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace AMap; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /AMap/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /AMap/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace AMap; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /AMap/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace AMap; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /AMap/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace AMap; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AMap/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /AMap/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace AMap; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /AMap/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace AMap; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /AMap/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /AMap/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /AMap/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /AMap/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /AMap/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /AMap/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Components.Forms 3 | @using Microsoft.AspNetCore.Components.Routing 4 | @using Microsoft.AspNetCore.Components.Web 5 | @using Microsoft.AspNetCore.Components.Web.Virtualization 6 | @using Microsoft.JSInterop 7 | 8 | -------------------------------------------------------------------------------- /AMap/wwwroot/css/fonts/SegoeUI.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/fonts/SegoeUI.woff -------------------------------------------------------------------------------- /AMap/wwwroot/css/fonts/SegoeUIBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/fonts/SegoeUIBold.woff -------------------------------------------------------------------------------- /AMap/wwwroot/css/fonts/SegoeUILight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/fonts/SegoeUILight.woff -------------------------------------------------------------------------------- /AMap/wwwroot/css/fonts/SegoeUISemibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/fonts/SegoeUISemibold.woff -------------------------------------------------------------------------------- /AMap/wwwroot/css/fonts/SegoeUISemilight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/fonts/SegoeUISemilight.woff -------------------------------------------------------------------------------- /AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /AMap/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AMap/wwwroot/favicon.ico -------------------------------------------------------------------------------- /AnalogClock/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace AnalogClock; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /AnalogClock/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /AnalogClock/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace AnalogClock; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace AnalogClock.Platforms.Android; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace AnalogClock; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace AnalogClock; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace AnalogClock; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace AnalogClock; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /AnalogClock/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace AnalogClock; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /AnalogClock/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /AnalogClock/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /AnalogClock/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AnalogClock/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /AnalogClock/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AnalogClock/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /AnalogClock/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AnalogClock/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /AnalogClock/Resources/Fonts/URWGeometricBlack.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/AnalogClock/Resources/Fonts/URWGeometricBlack.otf -------------------------------------------------------------------------------- /Assets/a0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a0.gif -------------------------------------------------------------------------------- /Assets/a1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a1.gif -------------------------------------------------------------------------------- /Assets/a2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a2.gif -------------------------------------------------------------------------------- /Assets/a3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a3.gif -------------------------------------------------------------------------------- /Assets/a4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a4.gif -------------------------------------------------------------------------------- /Assets/a5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a5.gif -------------------------------------------------------------------------------- /Assets/a6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a6.gif -------------------------------------------------------------------------------- /Assets/a7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a7.gif -------------------------------------------------------------------------------- /Assets/a8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a8.gif -------------------------------------------------------------------------------- /Assets/a9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Assets/a9.gif -------------------------------------------------------------------------------- /CircleWidget/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace CircleWidget; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /CircleWidget/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /CircleWidget/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace CircleWidget; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace CircleWidget; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace CircleWidget; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace CircleWidget; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace CircleWidget; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace CircleWidget; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /CircleWidget/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace CircleWidget; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CircleWidget/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /CircleWidget/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CircleWidget/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CircleWidget/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /CircleWidget/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CircleWidget/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /CircleWidget/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CircleWidget/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /CloudMusicGroove/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /CloudMusicGroove/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /CloudMusicGroove/Controls/HorizontalPanContainer.xaml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /CloudMusicGroove/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic; 2 | 3 | public partial class MainPage : ContentPage 4 | { 5 | int count = 0; 6 | 7 | public MainPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | 12 | private void OnCounterClicked(object sender, EventArgs e) 13 | { 14 | count++; 15 | 16 | if (count == 1) 17 | CounterBtn.Text = $"Clicked {count} time"; 18 | else 19 | CounterBtn.Text = $"Clicked {count} times"; 20 | 21 | SemanticScreenReader.Announce(CounterBtn.Text); 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace MatoMusic; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace MatoMusic; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace MatoMusic; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace MatoMusic; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace MatoMusic; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /CloudMusicGroove/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace MatoMusic; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CloudMusicGroove/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/back.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/calendar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/calendar.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/ic_3bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/ic_3bar.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/ic_disc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/ic_disc.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/ic_needle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/ic_needle.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/ic_pause.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/ic_pause.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/ic_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/ic_play.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/menu_w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/menu_w.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/p1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/p1.jpg -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/p2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/p2.jpg -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/p3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/p3.jpg -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/p4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/p4.jpg -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/p5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/p5.jpg -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playback.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playdownload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playdownload.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playdownloadok.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playdownloadok.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playheart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playheart.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playheart_red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playheart_red.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playlike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playlike.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playlike_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playlike_b.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playlist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playlist.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playmenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playmenu.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playnext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playnext.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playramdan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playramdan.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playshare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playshare.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playshare_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playshare_b.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playtalk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playtalk.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playtalk_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playtalk_b.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playtree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playtree.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Images/playvolume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Images/playvolume.png -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Raw/music1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Raw/music1.mp3 -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Raw/music2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Raw/music2.mp3 -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Raw/music3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Raw/music3.mp3 -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Raw/music4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Raw/music4.mp3 -------------------------------------------------------------------------------- /CloudMusicGroove/Resources/Raw/music5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CloudMusicGroove/Resources/Raw/music5.mp3 -------------------------------------------------------------------------------- /Coverflow/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace Coverflow; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Coverflow/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Coverflow/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Coverflow; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Coverflow/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Coverflow/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace Coverflow; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /Coverflow/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /Coverflow/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Coverflow; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Coverflow/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Coverflow; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Coverflow/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace Coverflow; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Coverflow/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Coverflow/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Coverflow; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Coverflow/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Coverflow; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Coverflow/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /Coverflow/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Coverflow/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /Coverflow/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /Coverflow/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p1.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p10.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p11.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p12.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p13.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p14.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p15.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p16.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p17.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p18.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p19.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p2.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p20.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p3.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p4.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p5.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p6.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p7.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p8.jpg -------------------------------------------------------------------------------- /Coverflow/Resources/Raw/p9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Coverflow/Resources/Raw/p9.jpg -------------------------------------------------------------------------------- /Coverflow/RotationImage.xaml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Coverflow/RotationImageTestPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using SkiaSharp.Views.Maui; 2 | 3 | namespace Coverflow; 4 | 5 | public partial class RotationImageTestPage : ContentPage 6 | { 7 | public RotationImageTestPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /CustomControlsWithHandler/App.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Lession2; 2 | 3 | public partial class App : Application 4 | { 5 | public App() 6 | { 7 | InitializeComponent(); 8 | MainPage = new MainPage() ; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Lession2; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace Lession2.Platforms.Android; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Lession2; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Lession2; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace Lession2; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Lession2; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Lession2; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /CustomControlsWithHandler/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CustomControlsWithHandler/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /CustomControlsWithHandler/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CustomControlsWithHandler/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /CustomControlsWithHandler/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/CustomControlsWithHandler/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /CustomControlsWithHandler/TouchRecognizer/TouchActionEventHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Lession2.TouchRecognizer 2 | { 3 | public delegate void TouchActionEventHandler(object sender, TouchActionEventArgs args); 4 | } 5 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/TouchRecognizer/TouchActionType.cs: -------------------------------------------------------------------------------- 1 | namespace Lession2.TouchRecognizer 2 | { 3 | public enum TouchActionType 4 | { 5 | Entered, 6 | Pressed, 7 | Moved, 8 | Released, 9 | Exited, 10 | Cancelled 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /CustomControlsWithHandler/TouchRecognizer/TouchRecognizer.cs: -------------------------------------------------------------------------------- 1 | using Lession2.TouchRecognizer; 2 | using Microsoft.Maui.Platform; 3 | 4 | namespace Lession2.TouchRecognizer 5 | { 6 | public partial class TouchRecognizer: IDisposable 7 | { 8 | public event EventHandler OnTouchActionInvoked; 9 | public partial void Dispose(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Editorjs/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | using Editorjs.Views; 3 | 4 | namespace Editorjs; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Editorjs/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Editorjs/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Editorjs; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Editorjs/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace Editorjs; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /Editorjs/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /Editorjs/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Editorjs; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Editorjs/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Editorjs; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Editorjs/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace Editorjs; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Editorjs/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Editorjs/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Editorjs; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Editorjs/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Editorjs; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Editorjs/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /Editorjs/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Editorjs/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /Editorjs/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /Editorjs/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /Editorjs/ViewModels/IEditorViewModel.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.ComponentModel; 3 | 4 | namespace Editorjs.ViewModels 5 | { 6 | public interface IEditorViewModel: INotifyPropertyChanged 7 | { 8 | Command Submit { get; } 9 | string Content { get; } 10 | 11 | Func> OnSubmitting { get; set; } 12 | Action OnInited { get; set; } 13 | Action OnFocus { get; set; } 14 | 15 | NoteSegmentState NoteSegmentState { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /Editorjs/_Imports.razor: -------------------------------------------------------------------------------- 1 | @using System.Net.Http 2 | @using Microsoft.AspNetCore.Components.Forms 3 | @using Microsoft.AspNetCore.Components.Routing 4 | @using Microsoft.AspNetCore.Components.Web 5 | @using Microsoft.AspNetCore.Components.Web.Virtualization 6 | @using Microsoft.JSInterop 7 | 8 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.editorconfig: -------------------------------------------------------------------------------- 1 | root = false 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = space 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.d.ts 3 | src/components/tools/paragraph 4 | src/polyfills.ts 5 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | patreon: editorjs 4 | open_collective: editorjs 5 | custom: https://codex.so/donate -------------------------------------------------------------------------------- /Editorjs/editor-host/.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve Editor.js 4 | title: "" 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | Describe a bug. 11 | 12 | Steps to reproduce: 13 | 1. Go to … 14 | 2. Click on … 15 | 3. … 16 | 17 | Expected behavior: 18 | 19 | Screenshots: 20 | 21 | Device, Browser, OS: 22 | 23 | Editor.js version: 24 | 25 | Plugins you use with their versions: 26 | 27 | 31 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Team 4 | url: mailto:team@codex.so 5 | about: Direct team contact. 6 | - name: 💬 Discussions 7 | url: https://github.com/codex-team/editor.js/discussions 8 | about: Use discussions if you have an issue draft, an idea for improvement or for asking questions. 9 | - name: Editor.js Telegram chat 10 | url: https://t.me/codex_editor 11 | about: Telegram chat for Editor.js users communication. -------------------------------------------------------------------------------- /Editorjs/editor-host/.github/ISSUE_TEMPLATE/general_issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: General Issue 3 | about: Well-designed, algorithmized feature/idea/improvement issue for Editor.js 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | The question. 11 | 12 | Why and how the question has come up. 13 | 14 | 18 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.github/workflows/cypress.yml: -------------------------------------------------------------------------------- 1 | name: Cypress 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | run-tests: 7 | strategy: 8 | matrix: 9 | browser: [firefox, chrome, edge] 10 | 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/setup-node@v3 14 | with: 15 | node-version: 16 16 | - uses: actions/checkout@v3 17 | - uses: cypress-io/github-action@v5 18 | with: 19 | config: video=false 20 | browser: ${{ matrix.browser }} 21 | build: yarn build:test 22 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.github/workflows/eslint.yml: -------------------------------------------------------------------------------- 1 | name: ESLint CodeX 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | lint: 7 | name: ESlint 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | 12 | - name: Cache node modules 13 | uses: actions/cache@v1 14 | with: 15 | path: node_modules 16 | key: ${{ runner.os }}-node-${{ hashFiles('**/yarn.lock') }} 17 | restore-keys: | 18 | ${{ runner.OS }}-build-${{ env.cache-name }}- 19 | ${{ runner.OS }}-build- 20 | ${{ runner.OS }}- 21 | 22 | - run: yarn 23 | - run: yarn lint 24 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.gitignore: -------------------------------------------------------------------------------- 1 | # --- proj files --- 2 | .DS_Store 3 | Thumbs.db 4 | /.idea/ 5 | /*.sublime-project 6 | /*.sublime-workspace 7 | 8 | node_modules/* 9 | 10 | npm-debug.log 11 | yarn-error.log 12 | 13 | test/cypress/screenshots 14 | test/cypress/videos 15 | 16 | dist/ 17 | 18 | coverage/ 19 | .nyc_output/ 20 | -------------------------------------------------------------------------------- /Editorjs/editor-host/.npmignore: -------------------------------------------------------------------------------- 1 | * 2 | !/dist/**/* 3 | !/types/**/* 4 | !/LICENSE 5 | !/README.md 6 | !/package.json 7 | -------------------------------------------------------------------------------- /Editorjs/editor-host/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @neSpecc @gohabereg @TatianaFomina @ilyamore88 2 | 3 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/components/errors/critical.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * This type of exception will destroy the Editor! Be careful when using it 3 | */ 4 | export class CriticalError extends Error { 5 | } 6 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/components/events/BlockChanged.ts: -------------------------------------------------------------------------------- 1 | import { BlockMutationEvent } from '../../../types/events/block'; 2 | 3 | /** 4 | * Fired when some block state has changed 5 | */ 6 | export const BlockChanged = 'block changed'; 7 | 8 | /** 9 | * Payload that will be passed with the event 10 | */ 11 | export interface BlockChangedPayload { 12 | /** 13 | * CustomEvent describing a block change 14 | */ 15 | event: BlockMutationEvent; 16 | } 17 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/components/events/BlockHovered.ts: -------------------------------------------------------------------------------- 1 | import type Block from '../block'; 2 | 3 | /** 4 | * Fired when some block is hovered by user 5 | */ 6 | export const BlockHovered = 'block hovered'; 7 | 8 | /** 9 | * Payload that will be passed with the event 10 | */ 11 | export interface BlockHoveredPayload { 12 | /** 13 | * Hovered block 14 | */ 15 | block: Block; 16 | } 17 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/components/events/FakeCursorAboutToBeToggled.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fired before we're adding/removing a fake cursor. 3 | * 4 | * Allows to disable mutation observer to skip this block change 5 | */ 6 | export const FakeCursorAboutToBeToggled = 'fake cursor is about to be toggled'; 7 | 8 | /** 9 | * Payload that will be passed with the event 10 | */ 11 | export interface FakeCursorAboutToBeToggledPayload { 12 | /** 13 | * true - when added a cursor 14 | * false - when removed 15 | */ 16 | state: boolean; 17 | } 18 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/components/events/FakeCursorHaveBeenSet.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fired after we've added/removed a fake cursor. 3 | * 4 | * Allows to enable mutation observer which was disabled before setting 5 | */ 6 | export const FakeCursorHaveBeenSet = 'fake cursor have been set'; 7 | 8 | /** 9 | * Payload that will be passed with the event 10 | */ 11 | export interface FakeCursorHaveBeenSetPayload { 12 | /** 13 | * true - when added a cursor 14 | * false - when removed 15 | */ 16 | state: boolean; 17 | } 18 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/components/events/RedactorDomChanged.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fired when blocks wrapper (.codex-editor-redactor) dom changed 3 | */ 4 | export const RedactorDomChanged = 'redactor dom changed'; 5 | 6 | /** 7 | * Payload that will be passed with the event 8 | */ 9 | export interface RedactorDomChangedPayload { 10 | /** 11 | * Mutations happened with blocks wrapper 12 | */ 13 | mutations: MutationRecord[]; 14 | } 15 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/env.d.ts: -------------------------------------------------------------------------------- 1 | interface ImportMetaEnv { 2 | /** 3 | * Build environment. 4 | * For example, used to detect building for tests and add "data-cy" attributes for DOM querying. 5 | */ 6 | readonly MODE: "test" | "development" | "production"; 7 | } 8 | 9 | interface ImportMeta { 10 | readonly env: ImportMetaEnv; 11 | } 12 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/styles/main.css: -------------------------------------------------------------------------------- 1 | @import './variables.css'; 2 | @import './ui.css'; 3 | @import './toolbar.css'; 4 | @import './toolbox.css'; 5 | @import './inline-toolbar.css'; 6 | @import './conversion-toolbar.css'; 7 | @import './settings.css'; 8 | @import './block.css'; 9 | @import './animations.css'; 10 | @import './export.css'; 11 | @import './stub.css'; 12 | @import './rtl.css'; 13 | @import './input.css'; 14 | @import './popover.css'; 15 | 16 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/styles/settings.css: -------------------------------------------------------------------------------- 1 | .ce-settings { 2 | &__button { 3 | @apply --toolbar-button; 4 | 5 | &:not(:nth-child(3n+3)) { 6 | margin-right: 3px; 7 | } 8 | 9 | &:nth-child(n+4) { 10 | margin-top: 3px; 11 | } 12 | 13 | line-height: 32px; 14 | 15 | &--disabled { 16 | cursor: not-allowed !important; 17 | opacity: .3; 18 | } 19 | 20 | &--selected { 21 | color: var(--color-active-icon); 22 | } 23 | } 24 | } 25 | 26 | .codex-editor--narrow .ce-settings { 27 | @media (--not-mobile){ 28 | .ce-popover { 29 | right: 0; 30 | left: unset; 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/styles/stub.css: -------------------------------------------------------------------------------- 1 | .ce-stub { 2 | display: flex; 3 | align-items: center; 4 | padding: 12px 18px; 5 | margin: 10px 0; 6 | border-radius: 10px; 7 | background: var(--bg-light); 8 | border: 1px solid var(--color-line-gray); 9 | color: var(--grayText); 10 | font-size: 14px; 11 | 12 | svg { 13 | width: var(--icon-size); 14 | height: var(--icon-size); 15 | } 16 | 17 | &__info { 18 | margin-left: 14px; 19 | } 20 | 21 | &__title { 22 | font-weight: 500; 23 | text-transform: capitalize; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/styles/toolbox.css: -------------------------------------------------------------------------------- 1 | .ce-toolbox { 2 | 3 | } 4 | 5 | .codex-editor--narrow .ce-toolbox { 6 | @media (--not-mobile){ 7 | .ce-popover { 8 | right: 0; 9 | left: unset; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Editorjs/editor-host/src/types-internal/module-config.d.ts: -------------------------------------------------------------------------------- 1 | import { EditorConfig } from '../../types/index'; 2 | import { EditorEventMap } from '../components/events'; 3 | import EventsDispatcher from '../components/utils/events'; 4 | 5 | /** 6 | * Describes object passed to Editor modules constructor 7 | */ 8 | export interface ModuleConfig { 9 | config: EditorConfig; 10 | eventsDispatcher: EventsDispatcher; 11 | } 12 | -------------------------------------------------------------------------------- /Editorjs/editor-host/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["test"] 4 | } 5 | -------------------------------------------------------------------------------- /Editorjs/editor-host/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions" : { 3 | "sourceMap": true, 4 | "target": "es2017", 5 | "declaration": false, 6 | "moduleResolution": "node", // This resolution strategy attempts to mimic the Node.js module resolution mechanism at runtime 7 | "lib": ["dom", "es2017", "es2018", "es2019"], 8 | 9 | // allows to import .json files for i18n 10 | "resolveJsonModule": true, 11 | 12 | // allows to omit export default in .json files 13 | "allowSyntheticDefaultImports": true, 14 | "experimentalDecorators": true 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/i18n.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Describes Editor`s I18n API 3 | */ 4 | export interface I18n { 5 | /** 6 | * Perform translation with automatically added namespace like `tools.${toolName}` or `blockTunes.${tuneName}` 7 | * 8 | * @param dictKey - what to translate 9 | */ 10 | t(dictKey: string): string; 11 | } 12 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './blocks'; 2 | export * from './events'; 3 | export * from './listeners'; 4 | export * from './sanitizer'; 5 | export * from './saver'; 6 | export * from './selection'; 7 | export * from './styles'; 8 | export * from './caret'; 9 | export * from './toolbar'; 10 | export * from './notifier'; 11 | export * from './tooltip'; 12 | export * from './inline-toolbar'; 13 | export * from './block'; 14 | export * from './readonly'; 15 | export * from './i18n'; 16 | export * from './ui'; 17 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/inline-toolbar.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Describes InlineToolbar API methods 3 | */ 4 | export interface InlineToolbar { 5 | /** 6 | * Closes InlineToolbar 7 | */ 8 | close(): void; 9 | 10 | /** 11 | * Opens InlineToolbar 12 | */ 13 | open(): void; 14 | } 15 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/notifier.d.ts: -------------------------------------------------------------------------------- 1 | import {ConfirmNotifierOptions, NotifierOptions, PromptNotifierOptions} from 'codex-notifier'; 2 | 3 | /** 4 | * Notifier API 5 | */ 6 | export interface Notifier { 7 | 8 | /** 9 | * Show web notification 10 | * 11 | * @param {NotifierOptions | ConfirmNotifierOptions | PromptNotifierOptions} 12 | */ 13 | show: (options: NotifierOptions | ConfirmNotifierOptions | PromptNotifierOptions) => void; 14 | } 15 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/readonly.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * ReadOnly API 3 | */ 4 | export interface ReadOnly { 5 | /** 6 | * Set or toggle read-only state 7 | * 8 | * @param {Boolean|undefined} state - set or toggle state 9 | * @returns {Promise} current value 10 | */ 11 | toggle: (state?: boolean) => Promise; 12 | 13 | /** 14 | * Contains current read-only state 15 | */ 16 | isEnabled: boolean; 17 | } 18 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/sanitizer.d.ts: -------------------------------------------------------------------------------- 1 | import {SanitizerConfig} from '../index'; 2 | 3 | /** 4 | * Describes Editor`s sanitizer API 5 | */ 6 | export interface Sanitizer { 7 | /** 8 | * Clean taint string with html and returns clean string 9 | * 10 | * @param {string} taintString 11 | * @param {SanitizerConfig} config - configuration for sanitizer 12 | */ 13 | clean(taintString: string, config: SanitizerConfig): string; 14 | } 15 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/saver.d.ts: -------------------------------------------------------------------------------- 1 | import {OutputData} from '../data-formats/output-data'; 2 | 3 | /** 4 | * Describes Editor`s saver API 5 | */ 6 | export interface Saver { 7 | /** 8 | * Saves Editors data and returns promise with it 9 | * 10 | * @returns {Promise} 11 | */ 12 | save(): Promise; 13 | } 14 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/selection.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Describes methods for work with Selections 3 | */ 4 | export interface Selection { 5 | /** 6 | * Looks ahead from selection and find passed tag with class name 7 | * @param {string} tagName - tag to find 8 | * @param {string} className - tag's class name 9 | * @return {HTMLElement|null} 10 | */ 11 | findParentTag(tagName: string, className?: string): HTMLElement|null; 12 | 13 | /** 14 | * Expand selection to passed tag 15 | * @param {HTMLElement} node - tag that should contain selection 16 | */ 17 | expandToTag(node: HTMLElement): void; 18 | } 19 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/toolbar.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Describes Toolbar API methods 3 | */ 4 | export interface Toolbar { 5 | /** 6 | * Closes Toolbar 7 | */ 8 | close(): void; 9 | 10 | /** 11 | * Opens Toolbar 12 | */ 13 | open(): void; 14 | 15 | /** 16 | * Toggles Block Setting of the current block 17 | * @param {boolean} openingState — opening state of Block Setting 18 | */ 19 | toggleBlockSettings(openingState?: boolean): void; 20 | 21 | /** 22 | * Toggle toolbox 23 | * @param {boolean} openingState — opening state of the toolbox 24 | */ 25 | toggleToolbox(openingState?: boolean): void; 26 | } 27 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/api/ui.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Describes API module allowing to access some Editor UI elements and methods 3 | */ 4 | export interface Ui { 5 | /** 6 | * Allows accessing some Editor UI elements 7 | */ 8 | nodes: UiNodes, 9 | } 10 | 11 | /** 12 | * Allows accessing some Editor UI elements 13 | */ 14 | export interface UiNodes { 15 | /** 16 | * Top-level editor instance wrapper 17 | */ 18 | wrapper: HTMLElement, 19 | 20 | /** 21 | * Element that holds all the Blocks 22 | */ 23 | redactor: HTMLElement, 24 | } 25 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/block-tunes/block-tune-data.d.ts: -------------------------------------------------------------------------------- 1 | export type BlockTuneData = any; 2 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/block-tunes/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './block-tune'; 2 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/configs/i18n-config.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Available options of i18n config property 3 | */ 4 | import { I18nDictionary } from './i18n-dictionary'; 5 | 6 | export interface I18nConfig { 7 | /** 8 | * Dictionary used for translation 9 | */ 10 | messages?: I18nDictionary; 11 | 12 | /** 13 | * Text direction. If not set, uses ltr 14 | */ 15 | direction?: 'ltr' | 'rtl'; 16 | } 17 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/configs/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './editor-config'; 2 | export * from './sanitizer-config'; 3 | export * from './paste-config'; 4 | export * from './conversion-config'; 5 | export * from './log-levels'; 6 | export * from './i18n-config'; 7 | export * from './i18n-dictionary'; 8 | export * from './popover' 9 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/configs/log-levels.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Available log levels 3 | */ 4 | export enum LogLevels { 5 | VERBOSE = 'VERBOSE', 6 | INFO = 'INFO', 7 | WARN = 'WARN', 8 | ERROR = 'ERROR', 9 | } 10 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/data-formats/block-data.d.ts: -------------------------------------------------------------------------------- 1 | import {BlockToolData} from '../tools'; 2 | import { BlockId } from './block-id'; 3 | 4 | /** 5 | * Tool's saved data 6 | */ 7 | export interface SavedData { 8 | id: BlockId; 9 | tool: string; 10 | data: BlockToolData; 11 | time: number; 12 | } 13 | 14 | /** 15 | * Tool's data after validation 16 | */ 17 | export interface ValidatedData { 18 | id?: BlockId; 19 | tool?: string; 20 | data?: BlockToolData; 21 | time?: number; 22 | isValid: boolean; 23 | } 24 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/data-formats/block-id.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Unique identifier of a block 3 | */ 4 | export type BlockId = string; 5 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/data-formats/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './block-data'; 2 | export * from './output-data'; 3 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/events/block/Base.ts: -------------------------------------------------------------------------------- 1 | import type { BlockAPI } from '../../api'; 2 | 3 | /** 4 | * Details of CustomEvent fired on block mutation 5 | */ 6 | export interface BlockMutationEventDetail { 7 | /** 8 | * Affected block 9 | */ 10 | target: BlockAPI; 11 | } 12 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/events/block/BlockAdded.ts: -------------------------------------------------------------------------------- 1 | import type { BlockMutationEventDetail } from './Base'; 2 | 3 | /** 4 | * Type name of CustomEvent related to block added event 5 | */ 6 | export const BlockAddedMutationType = 'block-added'; 7 | 8 | /** 9 | * Information about added block 10 | */ 11 | interface BlockAddedEventDetail extends BlockMutationEventDetail { 12 | /** 13 | * Index of added block 14 | */ 15 | index: number; 16 | } 17 | 18 | /** 19 | * Event will be fired when the new block is added to the editor 20 | */ 21 | export type BlockAddedEvent = CustomEvent; 22 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/events/block/BlockChanged.ts: -------------------------------------------------------------------------------- 1 | import type { BlockMutationEventDetail } from './Base'; 2 | 3 | /** 4 | * Type name of CustomEvent related to block changed event 5 | */ 6 | export const BlockChangedMutationType = 'block-changed'; 7 | 8 | /** 9 | * Information about changed block 10 | */ 11 | interface BlockChangedEventDetail extends BlockMutationEventDetail { 12 | /** 13 | * Index of changed block 14 | */ 15 | index: number; 16 | } 17 | 18 | /** 19 | * Event will be fired when some block is changed 20 | */ 21 | export type BlockChangedEvent = CustomEvent; 22 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/events/block/BlockRemoved.ts: -------------------------------------------------------------------------------- 1 | import type { BlockMutationEventDetail } from './Base'; 2 | 3 | /** 4 | * Type name of CustomEvent related to block removed event 5 | */ 6 | export const BlockRemovedMutationType = 'block-removed'; 7 | 8 | /** 9 | * Information about removed block 10 | */ 11 | interface BlockRemovedEventDetail extends BlockMutationEventDetail { 12 | /** 13 | * Index of removed block 14 | */ 15 | index: number; 16 | } 17 | 18 | /** 19 | * Event will be fired when some block is removed 20 | */ 21 | export type BlockRemovedEvent = CustomEvent; 22 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/tools/block-tool-data.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Object returned by Tool's {@link BlockTool#save} method 3 | * Specified by Tool developer, so leave it as object 4 | */ 5 | export type BlockToolData = T; 6 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/tools/hook-events.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Event detail for block relocation 3 | */ 4 | export interface MoveEventDetail { 5 | /** 6 | * index the block was moved from 7 | */ 8 | fromIndex: number; 9 | /** 10 | * index the block was moved to 11 | */ 12 | toIndex: number; 13 | } 14 | 15 | /** 16 | * Move event for block relocation 17 | */ 18 | export interface MoveEvent extends CustomEvent { 19 | /** 20 | * Override detail property of CustomEvent by MoveEvent hook 21 | */ 22 | readonly detail: MoveEventDetail; 23 | } 24 | -------------------------------------------------------------------------------- /Editorjs/editor-host/types/tools/tool-config.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Tool configuration object. Specified by Tool developer, so leave it as object 3 | */ 4 | export type ToolConfig = T; 5 | -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/fonts/SegoeUI.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/fonts/SegoeUI.woff -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/fonts/SegoeUIBold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/fonts/SegoeUIBold.woff -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/fonts/SegoeUILight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/fonts/SegoeUILight.woff -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/fonts/SegoeUISemibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/fonts/SegoeUISemibold.woff -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/fonts/SegoeUISemilight.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/fonts/SegoeUISemilight.woff -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.eot -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.otf -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.ttf -------------------------------------------------------------------------------- /Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/css/open-iconic/font/fonts/open-iconic.woff -------------------------------------------------------------------------------- /Editorjs/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Editorjs/wwwroot/favicon.ico -------------------------------------------------------------------------------- /HoldAndSpeak/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace HoldAndSpeak; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HoldAndSpeak/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /HoldAndSpeak/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace HoldAndSpeak; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace HoldAndSpeak; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace HoldAndSpeak; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace HoldAndSpeak; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace HoldAndSpeak; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace HoldAndSpeak; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /HoldAndSpeak/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace HoldAndSpeak; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HoldAndSpeak/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /HoldAndSpeak/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /HoldAndSpeak/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/HoldAndSpeak/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /HoldAndSpeak/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/HoldAndSpeak/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /HoldAndSpeak/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/HoldAndSpeak/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /HoldDownButtonGroup/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace HoldDownButtonGroup; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace HoldDownButtonGroup; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Controls/TouchActionEventHandler.cs: -------------------------------------------------------------------------------- 1 | namespace HoldDownButtonGroup.Controls 2 | { 3 | public delegate void TouchActionEventHandler(object sender, TouchActionEventArgs args); 4 | } 5 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Controls/TouchActionType.cs: -------------------------------------------------------------------------------- 1 | namespace HoldDownButtonGroup.Controls 2 | { 3 | public enum TouchActionType 4 | { 5 | Entered, 6 | Pressed, 7 | Moved, 8 | Released, 9 | Exited, 10 | Cancelled 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Controls/TouchRecognizer.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui.Platform; 2 | using Region = MauiSample.Common.Common.Region; 3 | 4 | namespace HoldDownButtonGroup.Controls 5 | { 6 | public partial class TouchRecognizer 7 | { 8 | public event EventHandler OnTouchActionInvoked; 9 | public partial void Dispose(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace HoldDownButtonGroup.Platforms.Android; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace HoldDownButtonGroup; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace HoldDownButtonGroup; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace HoldDownButtonGroup; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace HoldDownButtonGroup; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace HoldDownButtonGroup; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /HoldDownButtonGroup/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /HoldDownButtonGroup/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/HoldDownButtonGroup/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /HoldDownButtonGroup/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/HoldDownButtonGroup/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /HoldDownButtonGroup/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/HoldDownButtonGroup/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /InterfacePolymorphism/App.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Lession1; 2 | 3 | public partial class App : Application 4 | { 5 | public App() 6 | { 7 | InitializeComponent(); 8 | MainPage = new MainPage() ; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /InterfacePolymorphism/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /InterfacePolymorphism/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Lession1; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /InterfacePolymorphism/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using Lession1.ViewModels; 2 | 3 | namespace Lession1; 4 | 5 | public partial class MainPage : ContentPage 6 | { 7 | public MainPage() 8 | { 9 | InitializeComponent(); 10 | this.BindingContext=new MainPageViewModel(); 11 | } 12 | 13 | private void StateTrigger_IsActiveChanged(object sender, EventArgs e) 14 | { 15 | 16 | } 17 | } 18 | 19 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace Lession1; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Lession1; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Lession1; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace Lession1; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Lession1; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Lession1; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p1.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p10.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p11.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p12.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p13.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p2.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p3.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p4.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p5.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p6.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p7.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p8.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Resources/Images/p9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/InterfacePolymorphism/Resources/Images/p9.png -------------------------------------------------------------------------------- /InterfacePolymorphism/Views/PhotoBlogView.xaml.cs: -------------------------------------------------------------------------------- 1 | using Lession1.ViewModels; 2 | 3 | namespace Lession1.Views; 4 | 5 | public partial class PhotoBlogView : ContentView 6 | { 7 | public PhotoBlogView() 8 | { 9 | InitializeComponent(); 10 | } 11 | } -------------------------------------------------------------------------------- /InterfacePolymorphism/Views/TextBlogView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Lession1.Views; 2 | 3 | public partial class TextBlogView : ContentView 4 | { 5 | public TextBlogView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } -------------------------------------------------------------------------------- /MatoMusic-GestureUI/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Controls/CircleSlider.xaml: -------------------------------------------------------------------------------- 1 |  2 | 7 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic; 2 | 3 | public partial class MainPage : ContentPage 4 | { 5 | int count = 0; 6 | 7 | public MainPage() 8 | { 9 | InitializeComponent(); 10 | } 11 | 12 | private void OnCounterClicked(object sender, EventArgs e) 13 | { 14 | count++; 15 | 16 | if (count == 1) 17 | CounterBtn.Text = $"Clicked {count} time"; 18 | else 19 | CounterBtn.Text = $"Clicked {count} times"; 20 | 21 | SemanticScreenReader.Announce(CounterBtn.Text); 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace MatoMusic; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace MatoMusic; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace MatoMusic; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace MatoMusic; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace MatoMusic; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace MatoMusic; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Images/p1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Images/p1.jpg -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Images/p2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Images/p2.jpg -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Images/p3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Images/p3.jpg -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Images/p4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Images/p4.jpg -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Images/p5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Images/p5.jpg -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Raw/music1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Raw/music1.mp3 -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Raw/music2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Raw/music2.mp3 -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Raw/music3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Raw/music3.mp3 -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Raw/music4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Raw/music4.mp3 -------------------------------------------------------------------------------- /MatoMusic-GestureUI/Resources/Raw/music5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MatoMusic-GestureUI/Resources/Raw/music5.mp3 -------------------------------------------------------------------------------- /MatoMusic.Core/Common/IBasicInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic.Infrastructure.Common 2 | { 3 | public interface IBasicInfo 4 | { 5 | long Id { get; set; } 6 | string Title { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /MatoMusic.Core/Common/InfoResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MatoMusic.Common 8 | { 9 | public class InfoResult 10 | { 11 | public InfoResult(bool isSucess) 12 | { 13 | IsSucess = isSucess; 14 | Result = default; 15 | } 16 | public InfoResult(bool isSucess, T result) 17 | { 18 | IsSucess = isSucess; 19 | Result = result; 20 | } 21 | public bool IsSucess { get; set; } 22 | public T Result { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MatoMusic.Core/Models/AlbumInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic.Core.Models 2 | { 3 | public class AlbumInfo : MusicCollectionInfo 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MatoMusic.Core/Models/ArtistInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic.Core.Models 2 | { 3 | public class ArtistInfo : MusicCollectionInfo 4 | { 5 | 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MatoMusic.Core/Models/BillboardInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MatoMusic.Core.Models 2 | { 3 | public class BillboardInfo : MusicCollectionInfo 4 | { 5 | public string OnlineId { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MatoMusic.Core/Models/MenuCellInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MatoMusic.Core.Models 8 | { 9 | public class MenuCellInfo 10 | { 11 | public MenuCellInfo() 12 | { 13 | Enable = true; 14 | } 15 | public string Title { get; set; } 16 | public string Code { get; set; } 17 | public string Icon { get; set; } 18 | public bool Enable { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MatoMusic.Core/Models/PlaylistInfo.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Maui.Controls; 2 | 3 | namespace MatoMusic.Core.Models 4 | { 5 | 6 | 7 | public class PlaylistInfo : MusicCollectionInfo 8 | { 9 | public bool IsHidden { get; set; } 10 | 11 | public bool IsRemovable { get; set; } 12 | 13 | public ImageSource PlaylistArt { get; set; } 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /MatoMusic.Core/MusicInfoComparer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MatoMusic.Core 8 | { 9 | public class MusicInfoComparer : IEqualityComparer 10 | { 11 | public bool Equals(MusicInfo x, MusicInfo y) 12 | { 13 | return x.Id == y.Id && (bool)x.Url?.Equals(y.Url); 14 | } 15 | 16 | public int GetHashCode(MusicInfo obj) 17 | { 18 | return (int)obj.Id; 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MauiSample.Common/Controls/PanContainer.xaml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MauiSample.Common/Helper/TokenHelper.cs: -------------------------------------------------------------------------------- 1 | namespace MauiSample.Common.Helper 2 | { 3 | public class TokenHelper 4 | { 5 | public static readonly string WindowToken = "WINDOW"; 6 | public static readonly string PanAction = "PANACTION"; 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /MauiSample.Common/Platforms/Android/PlatformClass1.cs: -------------------------------------------------------------------------------- 1 | namespace MauiSample.Common 2 | { 3 | // All the code in this file is only included on Android. 4 | public class PlatformClass1 5 | { 6 | } 7 | } -------------------------------------------------------------------------------- /MauiSample.Common/Platforms/MacCatalyst/PlatformClass1.cs: -------------------------------------------------------------------------------- 1 | namespace MauiSample.Common 2 | { 3 | // All the code in this file is only included on Mac Catalyst. 4 | public class PlatformClass1 5 | { 6 | } 7 | } -------------------------------------------------------------------------------- /MauiSample.Common/Platforms/Tizen/PlatformClass1.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MauiSample.Common 4 | { 5 | // All the code in this file is only included on Tizen. 6 | public class PlatformClass1 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /MauiSample.Common/Platforms/Windows/PlatformClass1.cs: -------------------------------------------------------------------------------- 1 | namespace MauiSample.Common.Platforms.Windows 2 | { 3 | // All the code in this file is only included on Windows. 4 | public class PlatformClass1 5 | { 6 | } 7 | } -------------------------------------------------------------------------------- /MauiSample.Common/Platforms/iOS/PlatformClass1.cs: -------------------------------------------------------------------------------- 1 | namespace MauiSample.Common 2 | { 3 | // All the code in this file is only included on iOS. 4 | public class PlatformClass1 5 | { 6 | } 7 | } -------------------------------------------------------------------------------- /MultitaskingCardList/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace MultitaskingCardList; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MultitaskingCardList/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /MultitaskingCardList/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace MultitaskingCardList; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace MultitaskingCardList; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace MultitaskingCardList; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace MultitaskingCardList; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace MultitaskingCardList; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace MultitaskingCardList; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /MultitaskingCardList/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace MultitaskingCardList; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MultitaskingCardList/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p1.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p10.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p11.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p12.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p13.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p2.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p3.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p4.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p5.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p6.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p7.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p8.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/p9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/p9.png -------------------------------------------------------------------------------- /MultitaskingCardList/Resources/Images/pb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/MultitaskingCardList/Resources/Images/pb.png -------------------------------------------------------------------------------- /RichTextEditor/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace RichTextEditor; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RichTextEditor/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /RichTextEditor/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace RichTextEditor; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /RichTextEditor/Controls/SelectionArgs.cs: -------------------------------------------------------------------------------- 1 | #if ANDROID 2 | 3 | # endif 4 | #if IOS 5 | using Foundation; 6 | using UIKit; 7 | using Microsoft.Maui.Controls.Compatibility.Platform.iOS; 8 | # endif 9 | 10 | 11 | namespace RichTextEditor.Controls 12 | { 13 | public partial class WysiwygContentEditor 14 | { 15 | public class SelectionArgs : EventArgs 16 | { 17 | public int Start; 18 | public int End; 19 | public SelectionArgs(int start, int end) 20 | { 21 | Start = start; 22 | End = end; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /RichTextEditor/Controls/StyleType.cs: -------------------------------------------------------------------------------- 1 | #if ANDROID 2 | 3 | # endif 4 | #if IOS 5 | using Foundation; 6 | using UIKit; 7 | using Microsoft.Maui.Controls.Compatibility.Platform.iOS; 8 | # endif 9 | 10 | 11 | namespace RichTextEditor.Controls 12 | { 13 | public partial class WysiwygContentEditor 14 | { 15 | public enum StyleType 16 | { 17 | underline, italic, bold, backgoundColor, foregroundColor, size 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace RichTextEditor; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace RichTextEditor; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace RichTextEditor; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace RichTextEditor; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace RichTextEditor; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /RichTextEditor/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace RichTextEditor; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /RichTextEditor/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /RichTextEditor/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /RichTextEditor/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/RichTextEditor/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /RichTextEditor/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/RichTextEditor/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /RichTextEditor/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/RichTextEditor/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /StickyTab/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace StickyTab; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /StickyTab/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /StickyTab/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace StickyTab; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /StickyTab/Controls/StickyPan.xaml.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/StickyTab/Controls/StickyPan.xaml.cs -------------------------------------------------------------------------------- /StickyTab/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /StickyTab/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace StickyTab; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /StickyTab/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /StickyTab/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace StickyTab; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /StickyTab/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace StickyTab; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /StickyTab/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace StickyTab; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /StickyTab/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /StickyTab/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace StickyTab; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /StickyTab/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace StickyTab; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /StickyTab/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /StickyTab/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /StickyTab/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/StickyTab/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /StickyTab/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/StickyTab/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /StickyTab/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/StickyTab/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /Tile/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace Tile; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Tile/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tile/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Tile; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Tile/Controls/LargeSegmentView.xaml.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | namespace Tile.Controls; 5 | 6 | public partial class LargeSegmentView : ContentView 7 | { 8 | public LargeSegmentView() 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /Tile/Controls/MediumSegmentView.xaml.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | namespace Tile.Controls; 5 | 6 | public partial class MediumSegmentView : ContentView 7 | { 8 | public MediumSegmentView() 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /Tile/Controls/SmallSegmentView.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Tile.Controls; 2 | 3 | public partial class SmallSegmentView : ContentView 4 | { 5 | public SmallSegmentView() 6 | { 7 | InitializeComponent(); 8 | } 9 | } -------------------------------------------------------------------------------- /Tile/Controls/TileSegmentView.xaml.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | namespace Tile.Controls; 5 | 6 | public partial class TileSegmentView : ContentView 7 | { 8 | public TileSegmentView() 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /Tile/IDraggableItem.cs: -------------------------------------------------------------------------------- 1 | namespace Tile 2 | { 3 | public interface IDraggableItem 4 | { 5 | bool IsBeingDraggedOver { get; set; } 6 | bool IsBeingDragged { get; set; } 7 | Command Dragged { get; set; } 8 | Command DraggedOver { get; set; } 9 | 10 | Command DragLeave { get; set; } 11 | 12 | Command Dropped { get; set; } 13 | 14 | object DraggedItem { get; set; } 15 | 16 | object DropPlaceHolderItem { get; set; } 17 | 18 | 19 | } 20 | } -------------------------------------------------------------------------------- /Tile/IReadOnlyTileSegmentServiceContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace Tile 4 | { 5 | public interface IReadOnlyTileSegmentServiceContainer 6 | { 7 | ObservableCollection TileSegments { get; set; } 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Tile/ITileSegmentService.cs: -------------------------------------------------------------------------------- 1 | namespace Tile 2 | { 3 | public interface ITileSegmentService : IDraggableItem 4 | { 5 | TileSegment TileSegment { get; set; } 6 | IReadOnlyTileSegmentServiceContainer Container { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /Tile/ITileSegmentServiceContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace Tile 4 | { 5 | public interface ITileSegmentServiceContainer : IReadOnlyTileSegmentServiceContainer 6 | { 7 | Command CreateSegment { get; set; } 8 | Command RemoveSegment { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Tile/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Tile/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace Tile; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /Tile/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /Tile/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Tile; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Tile/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Tile; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Tile/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace Tile; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tile/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Tile/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Tile; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Tile/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Tile; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Tile/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /Tile/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Tile/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Tile/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /Tile/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Tile/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /Tile/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Tile/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /Tile/TileSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.ComponentModel.DataAnnotations.Schema; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace Tile 10 | { 11 | public class TileSegment 12 | { 13 | public string Title { get; set; } 14 | public string Type { get; set; } 15 | public string Desc { get; set; } 16 | public string Icon { get; set; } 17 | public Color Color { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Tile2/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace Tile; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Tile2/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Tile2/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace Tile; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Tile2/Controls/TileSegmentView.xaml.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | namespace Tile.Controls; 5 | 6 | public partial class TileSegmentView : ContentView 7 | { 8 | public TileSegmentView() 9 | { 10 | InitializeComponent(); 11 | } 12 | } -------------------------------------------------------------------------------- /Tile2/IDraggableItem.cs: -------------------------------------------------------------------------------- 1 | namespace Tile 2 | { 3 | public interface IDraggableItem 4 | { 5 | bool IsBeingDraggedOver { get; set; } 6 | bool IsBeingDragged { get; set; } 7 | Command Dragged { get; set; } 8 | Command DraggedOver { get; set; } 9 | 10 | Command DragLeave { get; set; } 11 | 12 | Command Dropped { get; set; } 13 | 14 | object DraggedItem { get; set; } 15 | 16 | object DropPlaceHolderItem { get; set; } 17 | 18 | 19 | } 20 | } -------------------------------------------------------------------------------- /Tile2/IReadOnlyTileSegmentServiceContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace Tile 4 | { 5 | public interface IReadOnlyTileSegmentServiceContainer 6 | { 7 | ObservableCollection TileSegments { get; set; } 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Tile2/ITileSegmentService.cs: -------------------------------------------------------------------------------- 1 | namespace Tile 2 | { 3 | public interface ITileSegmentService : IDraggableItem 4 | { 5 | TileSegment TileSegment { get; set; } 6 | IReadOnlyTileSegmentServiceContainer Container { get; set; } 7 | } 8 | } -------------------------------------------------------------------------------- /Tile2/ITileSegmentServiceContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.ObjectModel; 2 | 3 | namespace Tile 4 | { 5 | public interface ITileSegmentServiceContainer : IReadOnlyTileSegmentServiceContainer 6 | { 7 | Command CreateSegment { get; set; } 8 | Command RemoveSegment { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Tile2/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Tile2/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace Tile; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /Tile2/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /Tile2/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Tile; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Tile2/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Tile; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Tile2/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace Tile; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Tile2/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /Tile2/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Tile; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /Tile2/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace Tile; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Tile2/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /Tile2/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Tile2/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Tile2/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /Tile2/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Tile2/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /Tile2/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/Tile2/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /Tile2/TileSegment.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.ComponentModel.DataAnnotations.Schema; 5 | using System.Linq; 6 | using System.Text; 7 | using System.Threading.Tasks; 8 | 9 | namespace Tile 10 | { 11 | public class TileSegment 12 | { 13 | public string Title { get; set; } 14 | public string Desc { get; set; } 15 | public string Icon { get; set; } 16 | public Color Color { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /WaveProgressBar/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using CommunityToolkit.Mvvm.DependencyInjection; 2 | 3 | 4 | namespace WaveProgressBar; 5 | 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | InitializeComponent(); 11 | Ioc.Default.ConfigureServices( 12 | new ServiceCollection() 13 | //ViewModels 14 | .BuildServiceProvider()); 15 | MainPage = new NavigationPage(new MainPage()) ; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /WaveProgressBar/AppShell.xaml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /WaveProgressBar/AppShell.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace WaveProgressBar; 2 | 3 | public partial class AppShell : Shell 4 | { 5 | public AppShell() 6 | { 7 | InitializeComponent(); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /WaveProgressBar/Controls/WaveBox.xaml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /WaveProgressBar/Controls/WaveBox.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace WaveProgressBar.Controls; 2 | 3 | public partial class WaveBox : ContentView 4 | { 5 | public WaveBox() 6 | { 7 | InitializeComponent(); 8 | } 9 | } -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/Android/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/Android/MainApplication.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Runtime; 3 | 4 | namespace WaveProgressBar; 5 | 6 | [Application] 7 | public class MainApplication : MauiApplication 8 | { 9 | public MainApplication(IntPtr handle, JniHandleOwnership ownership) 10 | : base(handle, ownership) 11 | { 12 | } 13 | 14 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 15 | } 16 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #512BD4 4 | #2B0B98 5 | #2B0B98 6 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/MacCatalyst/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace WaveProgressBar; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/MacCatalyst/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace WaveProgressBar; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/Tizen/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Microsoft.Maui; 3 | using Microsoft.Maui.Hosting; 4 | 5 | namespace WaveProgressBar; 6 | 7 | class Program : MauiApplication 8 | { 9 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 10 | 11 | static void Main(string[] args) 12 | { 13 | var app = new Program(); 14 | app.Run(args); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/Windows/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace WaveProgressBar; 4 | 5 | [Register("AppDelegate")] 6 | public class AppDelegate : MauiUIApplicationDelegate 7 | { 8 | protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); 9 | } 10 | -------------------------------------------------------------------------------- /WaveProgressBar/Platforms/iOS/Program.cs: -------------------------------------------------------------------------------- 1 | using ObjCRuntime; 2 | using UIKit; 3 | 4 | namespace WaveProgressBar; 5 | 6 | public class Program 7 | { 8 | // This is the main entry point of the application. 9 | static void Main(string[] args) 10 | { 11 | // if you want to use a different Application Delegate class from "AppDelegate" 12 | // you can specify it here. 13 | UIApplication.Main(args, null, typeof(AppDelegate)); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /WaveProgressBar/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "profiles": { 3 | "Windows Machine": { 4 | "commandName": "MsixPackage", 5 | "nativeDebugging": false 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /WaveProgressBar/Resources/AppIcon/appicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /WaveProgressBar/Resources/Fonts/FontAwesome.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/WaveProgressBar/Resources/Fonts/FontAwesome.ttf -------------------------------------------------------------------------------- /WaveProgressBar/Resources/Fonts/OpenSans-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/WaveProgressBar/Resources/Fonts/OpenSans-Regular.ttf -------------------------------------------------------------------------------- /WaveProgressBar/Resources/Fonts/OpenSans-Semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/WaveProgressBar/Resources/Fonts/OpenSans-Semibold.ttf -------------------------------------------------------------------------------- /image-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/image-1.png -------------------------------------------------------------------------------- /image-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/image-2.png -------------------------------------------------------------------------------- /image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jevonsflash/maui-samples/7eb2a36d1f7ec70ceb47898da2178f9819d4f97d/image.png --------------------------------------------------------------------------------