Repository navigation
feat: Phase 1a : MAUI alpha on .NET 10 (44 components + tests) - #1
Merged
Merged
Conversation
…sage examples, and updated ASCII logo for ShellUI Native
… links to ShellUI for improved clarity and consistency
…lUI link in PLAN.md for accuracy
…ity and change markup method for logo display
…updating AppShell, and removing unused components for improved organization and clarity
…ton, Card, Icon, Input, Label, ThemeToggle, and their associated styles and variants for enhanced user interface flexibility
…, buttons, inputs, and labels, along with improved event handling for button clicks and loading states
…pdate shellui-native.json with new UI component installations
…t for improved compatibility
… for enhanced performance and compatibility
…nd their associated properties and variants to enhance user interface options
…, Label, Card variants, and Badge for enhanced user interface capabilities
…ne build properties comments for clarity
…witch, separator, progress, and alert for enhanced UI capabilities
…proved documentation
…t, title, description, trigger, and close for enhanced modal functionality
…downContent, DropdownItem, DropdownTrigger for enhanced dropdown functionality
…ntent, and DrawerTrigger for enhanced overlay functionality
…rContent, and PopoverTrigger for enhanced overlay functionality
…nt, SheetTrigger, and associated utilities for enhanced overlay functionality
…tionality with customizable date range
…rioritized components, architectural patterns, and usage guidelines for enhanced development clarity
…er, Dialog, Drawer, Dropdown, and Progress for enhanced user interaction and feedback
…uding RadioGroup, RadioGroupItem, Select, Slider, Textarea, TimePicker for enhanced user input functionality
…x, Switch, Progress, Alert, Textarea, Slider, Select, RadioGroup, DatePicker, TimePicker, and overlays for improved user interaction and functionality
…modifier for IsEnabled and Children properties, ensuring proper shadowing of base class members
… for MAUI-only components in ComponentInstaller
… workflows; enhance CI workflow to restore and test specific projects, and upload test results
…aui.Controls.Shapes' directive and apply 'new' modifier for Children property declarations for proper shadowing
…s to reflect Avalonia support; enhance documentation for platform detection and component usage
…e NativePlatform enum with Avalonia support and detailed comments
…Native.slnx to organize project structure and documentation
…orm, ProjectDetector, and template content validation
…changes in project structure, including support for Avalonia and enhancements in platform detection and component usage
…a support and remove deprecated tags
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Takes
shellui-nativefrom the 6-month-stale skeleton onmain(3 components, .NET 8, docs stubs)to a working MAUI alpha on .NET 10 with 44 registered components, a compositional overlay
pattern, an xUnit test suite (147 tests), and an Avalonia-ready platform model. See
docs/DEVELOPMENT_PLAN.md for the phased branch strategy and full
Phase 1a checklist.
Scope: 44 files changed (39 modified, 5 new). Cold multi-TFM build is 0 warnings / 0 errors
across
net10.0-{android,ios,maccatalyst,windows}.dotnet testis 147/147.What's new
Platform / infra
Core,Templates,CLI, tests, and the MAUI demoglobal.jsonpins SDK10.0.100withrollForward: latestFeature.sln→.slnx(XML-format, post-.NET-9)ci.yml,pr-check.yml,release.yml) upgraded todotnet-version: 10.0.x; thebuild-examplesjob buildsMAUI.Demoend-to-end on the Windows head with the MAUI workloaddotnet testand uploads TRX + coverage artifacts.csproj:WindowsPackageType=None, explicitRuntimeIdentifier=win-x64, explicitMicrosoft.Maui.Controls+Microsoft.Extensions.Logging.DebugPackageReferencesPlatform model — Avalonia-ready
NativePlatform.Avaloniaadded to the enumPackageReferenceprefix orApp.axamlpresenceinitprompt and platform-name displayComponentInstallerwarns when the target platform isn't MAUI (templates are MAUI-only untilPhase 1b — Template System v2 — lands)
Components (44 templates, see
docs/COMPONENTS_ROADMAP.md)shell,button,input,label,checkbox,switch,card(+ header/content/footer),separator,badge,progress,alertdialog(+ trigger/content/header/footer/title/description/close),drawer(+ trigger/content),sheet(+ trigger/content),dropdown(+ trigger/content/item),popover(+ trigger/content)textarea,slider,select,radio-group(+ item),date-picker,time-pickerParent + Trigger + Contentpattern via the auto-installedelement-extensionsutility (Element.FindParentOfType<T>())Template hygiene (regression fixes)
RoundRectangle-using templates now includeusing Microsoft.Maui.Controls.Shapes;in theirContentstring (was silently producing non-compiling code on install)Childrenproperties (Card,CardFooter,Dialog{Content,Header,Footer},DrawerContent,SheetContent,PopoverContent,DropdownContent,RadioGroup) markednewto silence CS0108 againstTemplatedView.ChildrenSwitch.IsEnabledPropertyandCheckbox.IsEnabledPropertymarkedstatic new(intentional shadows ofVisualElement.IsEnabledProperty)Switchuses_ = TranslateToAsync(...)instead of the obsoleteTranslateTo(CS0618)Tests — new
tests/ShellUI.Native.TestsMicrosoft.NET.Test.Sdk+ coverlet, mirroring shellui-blazor's setupContent(all 44 templates)RoundRectangleimportsMicrosoft.Maui.Controls.Shapes(regression lock)YourProjectNamespaceplaceholderNamematches its registry keyProjectDetector.DetectPlatformmaps.csprojXML →NativePlatformfor MAUI / Avalonia (both PackageReference andApp.axamlpaths) / WinUI / WPF / Unknown, plus the MAUI-over-Avalonia precedence edge caseNativePlatform.UnknownisdefaultDetectPlatformpromotedprivate → internal+InternalsVisibleToso tests hit the pure XML→enum core without cwd manipulationDocs
DEVELOPMENT_PLAN.md— branch strategy, phase deliverables + exit criteria, cross-cutting concernsPLAN.md— WPF → Avalonia phase-2 revision with rationale, Template System v2 section, .NET 10 specsARCHITECTURE.md— Avalonia detection table + limitation note, project structure withtests/, theming table, planned AvaloniaTemplatedControlpattern exampleCOMPONENTS.md— reconciled with the registry: removed stale "Coming Soon" entries, added docs for the 6 P2 form components, updated category summaryQUICKSTART.md—.NET 10.0 SDKprereq, platform prereq updated for MAUI-today / Avalonia-Phase-2README.md— Supported Platforms table now MAUI (active) / Avalonia (Phase 2) / WinUI (conditional Phase 3); WPF is detection-onlyVerification
dotnet build ShellUI.Native.slnx -c Release→ 0 warnings, 0 errors (cold multi-TFM, ~13min)dotnet test tests/ShellUI.Native.Tests -c Release→ 147/147dotnet build examples/MAUI.Demo/MAUI.Demo.csproj --framework net10.0-windows10.0.19041.0→ green