polish: component quality bundle — DataTable server-side, TypedSelect, Sonner variants, overlay + dropdown UX - #27
Merged
Merged
Conversation
Added `CloseOnScroll` parameter to various UI components (e.g., Combobox, DatePicker, MultiSelect) to control dropdown dismissal on page scroll, aligning with shadcn/Radix behavior. Implemented async disposal and JS interop for managing dismiss events. Updated Drawer and Sheet components to support compositional behavior. Enhanced DataTable with server-side data handling capabilities, including new request and response models for better data management.
Deleted the `preview-pages.yml` workflow file, which was responsible for deploying the ShellUI Preview to GitHub Pages. This change simplifies the CI/CD setup by removing an unused workflow.
Added `CloseOnScroll` parameter to Combobox, DatePicker, MultiSelect, and other components to control dropdown dismissal on page scroll, aligning with shadcn/Radix behavior. Implemented async disposal and JavaScript interop for managing dismiss events. Enhanced DataTable with server-side data handling capabilities, including new request and response models for better data management.
…ponents Enhanced UI components such as Combobox, DatePicker, MultiSelect, and others with a new `CloseOnScroll` parameter to control dropdown dismissal on page scroll, aligning with shadcn/Radix behavior. Implemented async disposal and JavaScript interop for managing dismiss events. Improved DataTable with server-side data handling capabilities, introducing new request and response models for better data management.
Introduced the `typed-select` component to the ComponentRegistry, enhancing the template options available for UI components. This addition improves the flexibility and usability of the ShellUI framework.
…de data handling Introduced new `DataTableRequest` and `DataTableResponse<TItem>` classes to facilitate server-side data management in the DataTable component. These models support pagination, sorting, and filtering, enhancing the framework's capability to handle data efficiently.
Updated the SonnerService to support customizable toast durations and added methods for different toast types (Success, Error, Info, Warning). This enhancement allows for more flexible toast notifications, including auto-dismiss functionality based on specified durations.
Implemented a body scroll lock mechanism to prevent premature unlocking of nested modals and added event handling for dismiss events on window scroll and resize. This enhancement improves the user experience by ensuring modals behave correctly during interactions. Additionally, updated shellui-classes with new utility classes for motion reduction and text styling.
…ing classes Added new safelist entries for motion reduction animations and text foreground variations to enhance the styling capabilities of ShellUI components. This update improves accessibility and visual consistency across the UI.
Updated the PROJECT_STATUS.md to reflect the fix for the stepper active-state highlighting, ensuring that the active step now correctly takes precedence over completed steps for both fill and icon. This change enhances the visual clarity of the component during use.
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
Polish + quality-of-life bundle on top of the DataPicker (#25) and Chart (#26) releases, targeting v0.3.0. Groups a handful of separately-tractable changes into one release cut so the CLI templates only re-sync once.
New capabilities
ServerSide+OnDataRequestparameters delegate paging/sort/filter to the caller; addsDataTableRequest/DataTableResponse<TItem>models.Selectoverstring, enum,Guid,bool,int,decimalwithInvariantCultureround-tripping. Inline SVG chevron (no Material Symbols dependency).Info/Warningalongside existingDefault/Success/Error;SonnerServicequeues toasts and auto-dismisses viaAutoDismissAsync.Overlay UX
OverlayDemo.razorwere missingCompositional="true", so header rendered but body did not.Dropdown UX
CloseOnScroll=falseby default) on Combobox, DataPicker, MultiSelect, DatePicker, DateRangePicker.Guidhandle so multiple dropdowns don't clobber each other's listeners.Bug fixes
IsFixed="true"from the parentCascadingValue. StepperStep children now re-render when the parent's_activeStepchanges, so the current-step highlight updates live instead of only after close/reopen. Applies to both compositional (StepperStep) and data-driven (StepItems) modes.Housekeeping
NET10/ShellUI.Preview/project — superseded by ShellDocs for the docs surface..github/workflows/preview-pages.yml(fed the preview project).Test plan
dotnet build shellui.sln— 0 errorsdotnet test shellui.sln— 80/80 passingCloseOnScroll="true"on a Combobox — page scroll dismisses the dropdownSonnerService.Info(...)and.Warning(...)— correct styling, auto-dismisses after default durationServerSidemode with an asyncOnDataRequest— paging, sort, filter round-trip through the callbackde-DE)