Repository navigation
feat: slots and states for data table, button, sheet, card, stat card and input - #39
Merged
Merged
Conversation
The overlay layer wraps a page's content in a Grid. It was set up on
PageAppearing, which on a Shell route switch runs after the page's views
have loaded, so they got Unloaded and Loaded again, and a view that
cancels its work on Unloaded lost its first load.
The layer is now set up on Application.DescendantAdded, as the page joins
the app and before its views load. PageAppearing stays as the fallback
for a page whose content is set later.
Checked on Windows: a GoToAsync("//route") switch gave the page's views
Loaded 2 / Unloaded 1 before and 1 / 0 after; push, window page swap and
start-up were already fine.
Four common dashboard icons from ShellIcons (Lucide 0.475.0), for MAUI and Avalonia; 114 icons in the template now.
… and input For MAUI and Avalonia, with demo sections on both: - data-table: DataTableColumn.Cell draws any view in a cell (a badge, a link); filter and sort still use Property / Value - button: ButtonSize.Inline (h-auto p-0) for a link in a line of text or at a card's edge - sheet: SheetHeader, SheetTitle, SheetDescription and SheetFooter, new CLI targets installed with sheet - card: CardHeader.Action at the top right (shadcn's CardAction), and views inside the header sit on the title's line and wrap under it - stat-card: ValueTone (Default, Success, Warning, Destructive), a value row that wraps so the pill drops under a long value, IsLoading (skeletons; stat-card now depends on skeleton) and Size Sm - input, input-group: Variant="Password" masks the text and adds an eye button that shows it (keeps focus, named for screen readers); IsPassword still masks without the button. InputVariant lives in Input, so input-group now depends on input Headless tests for each, and registry tests for the new targets and dependencies.
…states and password inputs Also documents theme tokens on spans and runs, and when the page layer wraps a page's content.
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.
Slots and states that real apps kept building by hand, for MAUI and Avalonia, with demo sections on both platforms.
Components
DataTableColumn.Celldraws any view in a cell (a badge, a link, a formatted amount). Filter and sort still useProperty/Value. Set it beforeItemsSource, or callRefresh().Size="Inline"(h-auto p-0) for aLinkbutton in a line of text or at a card's edge.SheetHeader,SheetTitle,SheetDescriptionandSheetFooter, as on the web. They are new CLI targets, installed withsheet.CardHeader.Actionat the top right (shadcn'sCardAction). Views inside the header sit on the title's line (badges, a count) and wrap under it when there's no room.ValueTone(Default, Success, Warning, Destructive) tints the value.IsLoadingshows skeletons in place of the value, sostat-cardnow depends onskeleton.Size="Sm"fits six tiles to a row.Variant="Password"masks the text and adds an eye button that shows it. The button keeps the field focused and is named "Show password" / "Hide password" for screen readers.IsPasswordstill masks without the button.InputVariantlives inInput, soinput-groupnow depends oninput.Receipt,ListChecks,CalendarClock,KeyRound(114 icons).Fix
Unloadedlost its first load. On Windows,GoToAsync("//route")went from Loaded 2 / Unloaded 1 to 1 / 0.PageAppearingremains the fallback for content set later.Docs
.Token(Span.TextColorProperty, …)already worked; now documented and shown in the demo).Checked
add input-group stat-card sheet card data-table, andinput-groupon its own) and MAUI (add sheet stat-card card input input-group data-table button icon) build 0/0.