Repository navigation
fix: pre-release issues for 0.2.0 (user-input-only change events, sheet width, label alignment, Blazor Hybrid, chart names) - #31
Merged
Conversation
added 10 commits
October 15, 2026 10:54
HorizontalTextAlignment and LineBreakMode pass through to the inner Label, so centred or truncated text no longer needs a plain Label. Avalonia's ShellLabel is a TextBlock and already has TextAlignment and TextWrapping. Closes #27.
SheetContent.MaxPanelWidth (default 384, shadcn's sm:max-w-sm) sets how wide a left or right sheet gets; it still never covers more than 75% of the window. Closes #26.
A MAUI Blazor Hybrid app has a <App>.Components.Layout namespace for MainLayout.razor, and a bare Layout inside <App>.Components.* resolved to it (CS0118). Shell.cs names Microsoft.Maui.Controls.Layout in full, and a test keeps bare Layout out of the MAUI templates.
When init finds shellui.json, components go to Components/Native, and the namespace now follows the components folder (Components/UI stays <App>.Components.UI, so existing projects get the same code). Before, both libraries wrote <App>.Components.UI.Button and a hybrid app didn't build. The Blazor Hybrid guide covers the order of the two inits and has examples that build. Closes #28.
add / remove / update accept donut-chart, which lives in the pie-chart template, and suggest up to three close names when a name isn't found (a typo, or a shared word such as chart-04).
Toggled, CheckedChanged, ValueChanged, SelectedIndexChanged, SelectedValueChanged, PageChanged, DateChanged, TimeChanged and the other value and selection events now fire only for clicks, taps, swipes and keys, like Radix's onValueChange. Setting the value from code or a binding updates the control without raising them, so filling a form or syncing a sidebar with the router no longer looks like user input. Watch the property to see every change. Covers 30 components on MAUI and Avalonia. Unchanged: text fields' TextChanged, overlay open events, ThemeChanged, FileUpload.FilesChanged and Sidebar.IsCollapsedChanged. Closes #24.
DonutChart moves from PieChart.cs into DonutChart.cs on MAUI and Avalonia, registered as donut-chart with a dependency on pie-chart, so 'add donut-chart' works and 'list' shows it like ShellUI (Blazor). The chart names now match ShellUI's. The donut-chart alias is gone; unknown names still get suggestions.
For each component and platform, types from other templates (in type positions: new, declarations, generics, casts, base types) must come from its declared dependencies, its family or shell, so a component added on its own builds. 230 cases; removing a real dependency fails them.
Filling the samples from code no longer raises change events, so the MAUI demo doesn't need to reset its status line afterwards; the XAML sets the same text.
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.
Fixes the issues found by FDMS, the first real consumer, before the 0.2.0 release.
Changes
Toggled,CheckedChanged,ValueChanged,SelectedIndexChanged,SelectedValueChanged,PageChanged,DateChanged,TimeChanged,ItemToggledand the other value and selection events fire only for clicks, taps, swipes and keys, like Radix'sonValueChange. Setting the value from code or a binding no longer raises them; watch the property to see every change. 30 components on MAUI and Avalonia. Unchanged: text fields'TextChanged, overlay open events,ThemeChanged,FileUpload.FilesChanged,Sidebar.IsCollapsedChangedSheetContent.MaxPanelWidth(default 384, never more than 75% of the window), MAUI and AvaloniaHorizontalTextAlignmentandLineBreakModeon MAUI (Avalonia's ShellLabel is a TextBlock and already has them)initusesComponents/Nativewhen it findsshellui.json, and the components namespace follows the folder (Components/UIgives the same code as before). The Blazor Hybrid guide covers the order of the two inits, and its examples buildShell.csnamesMicrosoft.Maui.Controls.Layoutin full; a hybrid app's<App>.Components.Layoutnamespace made the bare name fail (CS0118). A test keeps bareLayoutout of the MAUI templatesdonut-chartis its own component (DonutChart.cs, depends onpie-chart), soadd donut-chart,add radial-chart,add bar-chartwork andlistshows them like ShellUI (Blazor). Unknown names inadd/remove/updateget "Did you mean …?"Verification
dotnet formatcleandotnet new maui-blazorapp withshellui init+add buttonandshellui-native init+add buttonbuilds 0/0 (fails with 0.1.0-alpha.2), and so does the guide's MainPage exampleadd donut-chartin fresh MAUI and Avalonia apps installs chart → pie-chart → donut-chart and builds 0/0; switch, select, multi-select, data-table, carousel and sidebar each in a fresh Avalonia app build 0/0Not included
Closes #24, #26, #27, #28