@d4gger/design-system 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/dist/{components/controlGroup/ControlGroup.cjs → _internal/floatingLayer.cjs} +11 -26
- package/dist/_internal/floatingLayer.cjs.map +7 -0
- package/dist/_internal/floatingLayer.d.cts +28 -0
- package/dist/_internal/floatingLayer.d.cts.map +1 -0
- package/dist/_internal/floatingLayer.d.mts +28 -0
- package/dist/_internal/floatingLayer.d.mts.map +1 -0
- package/dist/_internal/floatingLayer.d.ts +28 -0
- package/dist/_internal/floatingLayer.d.ts.map +1 -0
- package/dist/_internal/floatingLayer.js +11 -0
- package/dist/_internal/floatingLayer.js.map +7 -0
- package/dist/components/accordion.css +9 -2
- package/dist/components/alert/Alert.cjs +11 -7
- package/dist/components/alert/Alert.cjs.map +2 -2
- package/dist/components/alert/Alert.d.cts.map +1 -1
- package/dist/components/alert/Alert.d.mts.map +1 -1
- package/dist/components/alert/Alert.d.ts.map +1 -1
- package/dist/components/alert/Alert.js +12 -8
- package/dist/components/alert/Alert.js.map +2 -2
- package/dist/components/alert.css +13 -0
- package/dist/components/article-nodes.css +16 -1
- package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
- package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
- package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
- package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
- package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
- package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
- package/dist/components/articleNodes/ArticleNodes.js +46 -5
- package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
- package/dist/components/articleNodes/articleExtensions.cjs +21 -4
- package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
- package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
- package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
- package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
- package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
- package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
- package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
- package/dist/components/articleNodes/articleExtensions.js +21 -4
- package/dist/components/articleNodes/articleExtensions.js.map +2 -2
- package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
- package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
- package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
- package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
- package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
- package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
- package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
- package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
- package/dist/components/articleNodes/articleNodeViews.js +124 -0
- package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
- package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
- package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
- package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
- package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
- package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
- package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
- package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
- package/dist/components/banner/Banner.cjs +105 -0
- package/dist/components/banner/Banner.cjs.map +7 -0
- package/dist/components/banner/Banner.d.cts +27 -0
- package/dist/components/banner/Banner.d.cts.map +1 -0
- package/dist/components/banner/Banner.d.mts +27 -0
- package/dist/components/banner/Banner.d.mts.map +1 -0
- package/dist/components/banner/Banner.d.ts +27 -0
- package/dist/components/banner/Banner.d.ts.map +1 -0
- package/dist/components/banner/Banner.js +80 -0
- package/dist/components/banner/Banner.js.map +7 -0
- package/dist/components/{controlGroup/controlGroup.props.cjs → banner/banner.props.cjs} +23 -16
- package/dist/components/banner/banner.props.cjs.map +7 -0
- package/dist/components/banner/banner.props.d.cts +32 -0
- package/dist/components/banner/banner.props.d.cts.map +1 -0
- package/dist/components/banner/banner.props.d.mts +32 -0
- package/dist/components/banner/banner.props.d.mts.map +1 -0
- package/dist/components/banner/banner.props.d.ts +32 -0
- package/dist/components/banner/banner.props.d.ts.map +1 -0
- package/dist/components/banner/banner.props.js +27 -0
- package/dist/components/banner/banner.props.js.map +7 -0
- package/dist/components/banner.css +61 -0
- package/dist/components/blockquote.css +7 -4
- package/dist/components/bottom-dock.css +132 -0
- package/dist/components/bottomDock/BottomDock.cjs +140 -0
- package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
- package/dist/components/bottomDock/BottomDock.d.cts +25 -0
- package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
- package/dist/components/bottomDock/BottomDock.d.mts +25 -0
- package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
- package/dist/components/bottomDock/BottomDock.d.ts +25 -0
- package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
- package/dist/components/bottomDock/BottomDock.js +110 -0
- package/dist/components/bottomDock/BottomDock.js.map +7 -0
- package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
- package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
- package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
- package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
- package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
- package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
- package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
- package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
- package/dist/components/bottomDock/bottomDock.props.js +29 -0
- package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
- package/dist/components/breadcrumb.css +24 -3
- package/dist/components/button-group.css +25 -0
- package/dist/components/button.css +9 -0
- package/dist/components/callout.css +20 -7
- package/dist/components/card.css +11 -0
- package/dist/components/carousel/Carousel.cjs +109 -39
- package/dist/components/carousel/Carousel.cjs.map +3 -3
- package/dist/components/carousel/Carousel.d.cts.map +1 -1
- package/dist/components/carousel/Carousel.d.mts.map +1 -1
- package/dist/components/carousel/Carousel.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.js +111 -41
- package/dist/components/carousel/Carousel.js.map +3 -3
- package/dist/components/carousel.css +93 -26
- package/dist/components/chart/Chart.cjs +61 -11
- package/dist/components/chart/Chart.cjs.map +2 -2
- package/dist/components/chart/Chart.d.cts.map +1 -1
- package/dist/components/chart/Chart.d.mts.map +1 -1
- package/dist/components/chart/Chart.d.ts.map +1 -1
- package/dist/components/chart/Chart.js +62 -11
- package/dist/components/chart/Chart.js.map +2 -2
- package/dist/components/chart.css +10 -1
- package/dist/components/checkbox.css +14 -0
- package/dist/components/code.css +29 -13
- package/dist/components/collapsible/Collapsible.cjs +4 -0
- package/dist/components/collapsible/Collapsible.cjs.map +2 -2
- package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.js +4 -0
- package/dist/components/collapsible/Collapsible.js.map +2 -2
- package/dist/components/collapsible.css +10 -1
- package/dist/components/combobox/Combobox.cjs +3 -1
- package/dist/components/combobox/Combobox.cjs.map +2 -2
- package/dist/components/combobox/Combobox.d.cts.map +1 -1
- package/dist/components/combobox/Combobox.d.mts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +3 -1
- package/dist/components/combobox/Combobox.js.map +2 -2
- package/dist/components/combobox.css +5 -1
- package/dist/components/command/Command.cjs +1 -1
- package/dist/components/command/Command.cjs.map +2 -2
- package/dist/components/command/Command.js +1 -1
- package/dist/components/command/Command.js.map +2 -2
- package/dist/components/command.css +0 -2
- package/dist/components/comment-thread.css +15 -7
- package/dist/components/commentThread/CommentThread.cjs +45 -17
- package/dist/components/commentThread/CommentThread.cjs.map +2 -2
- package/dist/components/commentThread/CommentThread.d.cts +6 -6
- package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
- package/dist/components/commentThread/CommentThread.d.mts +6 -6
- package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
- package/dist/components/commentThread/CommentThread.d.ts +6 -6
- package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
- package/dist/components/commentThread/CommentThread.js +45 -17
- package/dist/components/commentThread/CommentThread.js.map +2 -2
- package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
- package/dist/components/commentThread/commentThread.props.d.cts +24 -0
- package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
- package/dist/components/commentThread/commentThread.props.d.mts +24 -0
- package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
- package/dist/components/commentThread/commentThread.props.d.ts +24 -0
- package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
- package/dist/components/config-drawer.css +7 -3
- package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
- package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
- package/dist/components/configDrawer/ConfigDrawer.js +1 -1
- package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
- package/dist/components/context-menu.css +4 -2
- package/dist/components/contextMenu/ContextMenu.cjs +37 -6
- package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
- package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
- package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
- package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
- package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
- package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
- package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/contextMenu/ContextMenu.js +37 -6
- package/dist/components/contextMenu/ContextMenu.js.map +2 -2
- package/dist/components/copy-field.css +18 -0
- package/dist/components/copyField/CopyField.cjs +3 -3
- package/dist/components/copyField/CopyField.cjs.map +2 -2
- package/dist/components/copyField/CopyField.d.cts.map +1 -1
- package/dist/components/copyField/CopyField.d.mts.map +1 -1
- package/dist/components/copyField/CopyField.d.ts.map +1 -1
- package/dist/components/copyField/CopyField.js +3 -3
- package/dist/components/copyField/CopyField.js.map +2 -2
- package/dist/components/data-list.css +19 -4
- package/dist/components/data-table.css +190 -0
- package/dist/components/dataTable/DataTable.cjs +193 -68
- package/dist/components/dataTable/DataTable.cjs.map +3 -3
- package/dist/components/dataTable/DataTable.d.cts +29 -1
- package/dist/components/dataTable/DataTable.d.cts.map +1 -1
- package/dist/components/dataTable/DataTable.d.mts +29 -1
- package/dist/components/dataTable/DataTable.d.mts.map +1 -1
- package/dist/components/dataTable/DataTable.d.ts +29 -1
- package/dist/components/dataTable/DataTable.d.ts.map +1 -1
- package/dist/components/dataTable/DataTable.js +193 -68
- package/dist/components/dataTable/DataTable.js.map +2 -2
- package/dist/components/dataTable/DataTableContext.cjs +41 -0
- package/dist/components/dataTable/DataTableContext.cjs.map +7 -0
- package/dist/components/dataTable/DataTableContext.d.cts +23 -0
- package/dist/components/dataTable/DataTableContext.d.cts.map +1 -0
- package/dist/components/dataTable/DataTableContext.d.mts +23 -0
- package/dist/components/dataTable/DataTableContext.d.mts.map +1 -0
- package/dist/components/dataTable/DataTableContext.d.ts +23 -0
- package/dist/components/dataTable/DataTableContext.d.ts.map +1 -0
- package/dist/components/dataTable/DataTableContext.js +11 -0
- package/dist/components/dataTable/DataTableContext.js.map +7 -0
- package/dist/components/dataTable/DataTablePagination.cjs +72 -47
- package/dist/components/dataTable/DataTablePagination.cjs.map +2 -2
- package/dist/components/dataTable/DataTablePagination.d.cts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.cts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.d.mts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.mts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.d.ts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.ts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.js +75 -47
- package/dist/components/dataTable/DataTablePagination.js.map +2 -2
- package/dist/components/dataTable/DataTableToolbar.cjs +122 -93
- package/dist/components/dataTable/DataTableToolbar.cjs.map +2 -2
- package/dist/components/dataTable/DataTableToolbar.d.cts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.cts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.d.mts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.mts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.d.ts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.ts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.js +123 -94
- package/dist/components/dataTable/DataTableToolbar.js.map +2 -2
- package/dist/components/dataTable/dataTable.export.cjs +83 -0
- package/dist/components/dataTable/dataTable.export.cjs.map +7 -0
- package/dist/components/dataTable/dataTable.export.d.cts +11 -0
- package/dist/components/dataTable/dataTable.export.d.cts.map +1 -0
- package/dist/components/dataTable/dataTable.export.d.mts +11 -0
- package/dist/components/dataTable/dataTable.export.d.mts.map +1 -0
- package/dist/components/dataTable/dataTable.export.d.ts +11 -0
- package/dist/components/dataTable/dataTable.export.d.ts.map +1 -0
- package/dist/components/dataTable/dataTable.export.js +63 -0
- package/dist/components/dataTable/dataTable.export.js.map +7 -0
- package/dist/components/dataTable/dataTable.props.cjs +23 -1
- package/dist/components/dataTable/dataTable.props.cjs.map +2 -2
- package/dist/components/dataTable/dataTable.props.d.cts +21 -1
- package/dist/components/dataTable/dataTable.props.d.cts.map +1 -1
- package/dist/components/dataTable/dataTable.props.d.mts +21 -1
- package/dist/components/dataTable/dataTable.props.d.mts.map +1 -1
- package/dist/components/dataTable/dataTable.props.d.ts +21 -1
- package/dist/components/dataTable/dataTable.props.d.ts.map +1 -1
- package/dist/components/dataTable/dataTable.props.js +23 -1
- package/dist/components/dataTable/dataTable.props.js.map +2 -2
- package/dist/components/dialog/Dialog.cjs +2 -1
- package/dist/components/dialog/Dialog.cjs.map +2 -2
- package/dist/components/dialog/Dialog.d.cts.map +1 -1
- package/dist/components/dialog/Dialog.d.mts.map +1 -1
- package/dist/components/dialog/Dialog.d.ts.map +1 -1
- package/dist/components/dialog/Dialog.js +2 -1
- package/dist/components/dialog/Dialog.js.map +2 -2
- package/dist/components/drawer.css +23 -6
- package/dist/components/dropdown-menu.css +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
- package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
- package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
- package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
- package/dist/components/empty-state.css +5 -0
- package/dist/components/file-upload.css +36 -9
- package/dist/components/fileUpload/FileUpload.cjs +10 -1
- package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
- package/dist/components/fileUpload/FileUpload.d.cts +1 -0
- package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.mts +1 -0
- package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.ts +1 -0
- package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/fileUpload/FileUpload.js +10 -1
- package/dist/components/fileUpload/FileUpload.js.map +2 -2
- package/dist/components/filter-bar.css +380 -8
- package/dist/components/filterBar/FilterBar.cjs +630 -1
- package/dist/components/filterBar/FilterBar.cjs.map +2 -2
- package/dist/components/filterBar/FilterBar.d.cts +132 -2
- package/dist/components/filterBar/FilterBar.d.cts.map +1 -1
- package/dist/components/filterBar/FilterBar.d.mts +132 -2
- package/dist/components/filterBar/FilterBar.d.mts.map +1 -1
- package/dist/components/filterBar/FilterBar.d.ts +132 -2
- package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
- package/dist/components/filterBar/FilterBar.js +631 -2
- package/dist/components/filterBar/FilterBar.js.map +2 -2
- package/dist/components/floating-panel.css +50 -19
- package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
- package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
- package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
- package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
- package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
- package/dist/components/floatingPanel/FloatingPanel.js +156 -58
- package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
- package/dist/components/fontProvider/FontProvider.cjs +1 -1
- package/dist/components/fontProvider/FontProvider.cjs.map +1 -1
- package/dist/components/fontProvider/FontProvider.js +1 -1
- package/dist/components/fontProvider/FontProvider.js.map +1 -1
- package/dist/components/grid/Grid.cjs +24 -35
- package/dist/components/grid/Grid.cjs.map +2 -2
- package/dist/components/grid/Grid.d.cts.map +1 -1
- package/dist/components/grid/Grid.d.mts.map +1 -1
- package/dist/components/grid/Grid.d.ts.map +1 -1
- package/dist/components/grid/Grid.js +24 -35
- package/dist/components/grid/Grid.js.map +2 -2
- package/dist/components/heading/Heading.cjs +1 -8
- package/dist/components/heading/Heading.cjs.map +2 -2
- package/dist/components/heading/Heading.d.cts.map +1 -1
- package/dist/components/heading/Heading.d.mts.map +1 -1
- package/dist/components/heading/Heading.d.ts.map +1 -1
- package/dist/components/heading/Heading.js +1 -8
- package/dist/components/heading/Heading.js.map +2 -2
- package/dist/components/heading/heading.props.cjs +9 -9
- package/dist/components/heading/heading.props.cjs.map +2 -2
- package/dist/components/heading/heading.props.d.cts +42 -43
- package/dist/components/heading/heading.props.d.cts.map +1 -1
- package/dist/components/heading/heading.props.d.mts +42 -43
- package/dist/components/heading/heading.props.d.mts.map +1 -1
- package/dist/components/heading/heading.props.d.ts +42 -43
- package/dist/components/heading/heading.props.d.ts.map +1 -1
- package/dist/components/heading/heading.props.js +9 -9
- package/dist/components/heading/heading.props.js.map +2 -2
- package/dist/components/heading.css +127 -104
- package/dist/components/hover-card.css +5 -2
- package/dist/components/icon/Icon.cjs +28 -2
- package/dist/components/icon/Icon.cjs.map +2 -2
- package/dist/components/icon/Icon.d.cts +33 -1
- package/dist/components/icon/Icon.d.cts.map +1 -1
- package/dist/components/icon/Icon.d.mts +33 -1
- package/dist/components/icon/Icon.d.mts.map +1 -1
- package/dist/components/icon/Icon.d.ts +33 -1
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +37 -2
- package/dist/components/icon/Icon.js.map +2 -2
- package/dist/components/icon/icons.cjs +18 -0
- package/dist/components/icon/icons.cjs.map +2 -2
- package/dist/components/icon/icons.d.cts +45 -0
- package/dist/components/icon/icons.d.cts.map +1 -1
- package/dist/components/icon/icons.d.mts +45 -0
- package/dist/components/icon/icons.d.mts.map +1 -1
- package/dist/components/icon/icons.d.ts +45 -0
- package/dist/components/icon/icons.d.ts.map +1 -1
- package/dist/components/icon/icons.js +18 -0
- package/dist/components/icon/icons.js.map +2 -2
- package/dist/components/icon-button.css +29 -0
- package/dist/components/index.cjs +2 -1
- package/dist/components/index.cjs.map +2 -2
- package/dist/components/index.d.cts +2 -1
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +2 -1
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +2 -2
- package/dist/components/item/Item.cjs +1 -1
- package/dist/components/item/Item.cjs.map +2 -2
- package/dist/components/item/Item.js +1 -1
- package/dist/components/item/Item.js.map +2 -2
- package/dist/components/item.css +12 -1
- package/dist/components/label.css +3 -0
- package/dist/components/link.css +33 -97
- package/dist/components/marquee/Marquee.cjs +1 -1
- package/dist/components/marquee/Marquee.cjs.map +2 -2
- package/dist/components/marquee/Marquee.js +1 -1
- package/dist/components/marquee/Marquee.js.map +2 -2
- package/dist/components/marquee.css +6 -0
- package/dist/components/menu/Menu.cjs +3 -1
- package/dist/components/menu/Menu.cjs.map +2 -2
- package/dist/components/menu/Menu.d.cts.map +1 -1
- package/dist/components/menu/Menu.d.mts.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +3 -1
- package/dist/components/menu/Menu.js.map +2 -2
- package/dist/components/menubar.css +1 -1
- package/dist/components/metric.css +5 -0
- package/dist/components/notification-center.css +49 -9
- package/dist/components/notificationCenter/NotificationCenter.cjs +21 -16
- package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
- package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
- package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
- package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
- package/dist/components/notificationCenter/NotificationCenter.js +22 -17
- package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
- package/dist/components/pagination/Pagination.cjs +143 -17
- package/dist/components/pagination/Pagination.cjs.map +2 -2
- package/dist/components/pagination/Pagination.d.cts +64 -4
- package/dist/components/pagination/Pagination.d.cts.map +1 -1
- package/dist/components/pagination/Pagination.d.mts +64 -4
- package/dist/components/pagination/Pagination.d.mts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +64 -4
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +143 -17
- package/dist/components/pagination/Pagination.js.map +2 -2
- package/dist/components/pagination.css +50 -8
- package/dist/components/phoneInput/PhoneInput.cjs +18 -13
- package/dist/components/phoneInput/PhoneInput.cjs.map +2 -2
- package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.js +19 -14
- package/dist/components/phoneInput/PhoneInput.js.map +2 -2
- package/dist/components/pills/Pills.cjs +1 -1
- package/dist/components/pills/Pills.cjs.map +2 -2
- package/dist/components/pills/Pills.js +2 -2
- package/dist/components/pills/Pills.js.map +2 -2
- package/dist/components/pills.css +6 -0
- package/dist/components/popover/Popover.cjs +2 -1
- package/dist/components/popover/Popover.cjs.map +2 -2
- package/dist/components/popover/Popover.d.cts.map +1 -1
- package/dist/components/popover/Popover.d.mts.map +1 -1
- package/dist/components/popover/Popover.d.ts.map +1 -1
- package/dist/components/popover/Popover.js +2 -1
- package/dist/components/popover/Popover.js.map +2 -2
- package/dist/components/popover.css +45 -6
- package/dist/components/prose.css +4 -4
- package/dist/components/qr-code.css +10 -17
- package/dist/components/qrCode/QrCode.cjs +14 -11
- package/dist/components/qrCode/QrCode.cjs.map +2 -2
- package/dist/components/qrCode/QrCode.d.cts.map +1 -1
- package/dist/components/qrCode/QrCode.d.mts.map +1 -1
- package/dist/components/qrCode/QrCode.d.ts.map +1 -1
- package/dist/components/qrCode/QrCode.js +14 -11
- package/dist/components/qrCode/QrCode.js.map +2 -2
- package/dist/components/radio-group.css +19 -0
- package/dist/components/radioGroup/RadioGroup.cjs +3 -2
- package/dist/components/radioGroup/RadioGroup.cjs.map +2 -2
- package/dist/components/radioGroup/RadioGroup.d.cts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.d.mts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.js +3 -2
- package/dist/components/radioGroup/RadioGroup.js.map +2 -2
- package/dist/components/radioGroup/radioGroup.props.cjs +1 -1
- package/dist/components/radioGroup/radioGroup.props.cjs.map +2 -2
- package/dist/components/radioGroup/radioGroup.props.d.cts +1 -1
- package/dist/components/radioGroup/radioGroup.props.d.mts +1 -1
- package/dist/components/radioGroup/radioGroup.props.d.ts +1 -1
- package/dist/components/radioGroup/radioGroup.props.js +1 -1
- package/dist/components/radioGroup/radioGroup.props.js.map +2 -2
- package/dist/components/rating.css +12 -0
- package/dist/components/resizable.css +20 -4
- package/dist/components/result.css +2 -1
- package/dist/components/rich-text-editor.css +50 -14
- package/dist/components/richTextEditor/EditorTools.cjs +226 -0
- package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
- package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
- package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
- package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
- package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
- package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
- package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
- package/dist/components/richTextEditor/EditorTools.js +196 -0
- package/dist/components/richTextEditor/EditorTools.js.map +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
- package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
- package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
- package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
- package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
- package/dist/components/richTextEditor/RichTextEditor.cjs +63 -208
- package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
- package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
- package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
- package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
- package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.js +63 -208
- package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
- package/dist/components/richTextEditor/editorTokens.cjs +75 -0
- package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
- package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
- package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
- package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
- package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
- package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
- package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
- package/dist/components/richTextEditor/editorTokens.js +55 -0
- package/dist/components/richTextEditor/editorTokens.js.map +7 -0
- package/dist/components/scroll-area.css +12 -0
- package/dist/components/scrollArea/ScrollArea.cjs +12 -1
- package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
- package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
- package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
- package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/components/scrollArea/ScrollArea.js +12 -1
- package/dist/components/scrollArea/ScrollArea.js.map +2 -2
- package/dist/components/segmented-control.css +80 -4
- package/dist/components/segmentedControl/SegmentedControl.cjs +18 -5
- package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
- package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.js +18 -5
- package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.cjs +10 -0
- package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.d.cts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.mts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.ts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.js +10 -0
- package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
- package/dist/components/select/Select.cjs +3 -1
- package/dist/components/select/Select.cjs.map +2 -2
- package/dist/components/select/Select.d.cts.map +1 -1
- package/dist/components/select/Select.d.mts.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +3 -1
- package/dist/components/select/Select.js.map +2 -2
- package/dist/components/select.css +1 -1
- package/dist/components/separator.css +3 -9
- package/dist/components/sidebar/Sidebar.cjs +12 -4
- package/dist/components/sidebar/Sidebar.cjs.map +2 -2
- package/dist/components/sidebar/Sidebar.d.cts +4 -1
- package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.mts +4 -1
- package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
- package/dist/components/sidebar/Sidebar.d.ts +4 -1
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/Sidebar.js +12 -4
- package/dist/components/sidebar/Sidebar.js.map +2 -2
- package/dist/components/sidebar/sidebar.props.cjs +8 -1
- package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
- package/dist/components/sidebar/sidebar.props.d.cts +9 -1
- package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
- package/dist/components/sidebar/sidebar.props.d.mts +9 -1
- package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
- package/dist/components/sidebar/sidebar.props.d.ts +9 -1
- package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.props.js +8 -1
- package/dist/components/sidebar/sidebar.props.js.map +2 -2
- package/dist/components/sidebar.css +28 -0
- package/dist/components/sonner.css +79 -17
- package/dist/components/sortableList/SortableList.cjs +8 -2
- package/dist/components/sortableList/SortableList.cjs.map +2 -2
- package/dist/components/sortableList/SortableList.d.cts.map +1 -1
- package/dist/components/sortableList/SortableList.d.mts.map +1 -1
- package/dist/components/sortableList/SortableList.d.ts.map +1 -1
- package/dist/components/sortableList/SortableList.js +8 -2
- package/dist/components/sortableList/SortableList.js.map +2 -2
- package/dist/components/stat-card.css +2 -0
- package/dist/components/stepper.css +23 -12
- package/dist/components/tab-nav.css +25 -13
- package/dist/components/tabNav/TabNav.cjs +1 -4
- package/dist/components/tabNav/TabNav.cjs.map +2 -2
- package/dist/components/tabNav/TabNav.d.cts.map +1 -1
- package/dist/components/tabNav/TabNav.d.mts.map +1 -1
- package/dist/components/tabNav/TabNav.d.ts.map +1 -1
- package/dist/components/tabNav/TabNav.js +1 -4
- package/dist/components/tabNav/TabNav.js.map +2 -2
- package/dist/components/table/Table.cjs +3 -2
- package/dist/components/table/Table.cjs.map +2 -2
- package/dist/components/table/Table.d.cts.map +1 -1
- package/dist/components/table/Table.d.mts.map +1 -1
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +3 -2
- package/dist/components/table/Table.js.map +2 -2
- package/dist/components/table/table.props.cjs +6 -0
- package/dist/components/table/table.props.cjs.map +2 -2
- package/dist/components/table/table.props.d.cts +5 -0
- package/dist/components/table/table.props.d.cts.map +1 -1
- package/dist/components/table/table.props.d.mts +5 -0
- package/dist/components/table/table.props.d.mts.map +1 -1
- package/dist/components/table/table.props.d.ts +5 -0
- package/dist/components/table/table.props.d.ts.map +1 -1
- package/dist/components/table/table.props.js +6 -0
- package/dist/components/table/table.props.js.map +2 -2
- package/dist/components/table-of-contents.css +12 -2
- package/dist/components/table.css +20 -13
- package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
- package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
- package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
- package/dist/components/tableOfContents/TableOfContents.js +11 -4
- package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
- package/dist/components/tabs/Tabs.cjs +39 -54
- package/dist/components/tabs/Tabs.cjs.map +2 -2
- package/dist/components/tabs/Tabs.d.cts.map +1 -1
- package/dist/components/tabs/Tabs.d.mts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +39 -54
- package/dist/components/tabs/Tabs.js.map +2 -2
- package/dist/components/tabs.css +62 -7
- package/dist/components/text/text.props.cjs +9 -9
- package/dist/components/text/text.props.cjs.map +2 -2
- package/dist/components/text/text.props.d.cts +42 -43
- package/dist/components/text/text.props.d.cts.map +1 -1
- package/dist/components/text/text.props.d.mts +42 -43
- package/dist/components/text/text.props.d.mts.map +1 -1
- package/dist/components/text/text.props.d.ts +42 -43
- package/dist/components/text/text.props.d.ts.map +1 -1
- package/dist/components/text/text.props.js +9 -9
- package/dist/components/text/text.props.js.map +2 -2
- package/dist/components/text/typography.props.cjs +32 -0
- package/dist/components/text/typography.props.cjs.map +7 -0
- package/dist/components/text/typography.props.d.cts +3 -0
- package/dist/components/text/typography.props.d.cts.map +1 -0
- package/dist/components/text/typography.props.d.mts +3 -0
- package/dist/components/text/typography.props.d.mts.map +1 -0
- package/dist/components/text/typography.props.d.ts +3 -0
- package/dist/components/text/typography.props.d.ts.map +1 -0
- package/dist/components/text/typography.props.js +12 -0
- package/dist/components/text/typography.props.js.map +7 -0
- package/dist/components/text-field.css +1 -0
- package/dist/components/text.css +41 -6
- package/dist/components/theme-panel.css +6 -0
- package/dist/components/timeline.css +54 -18
- package/dist/components/toast/Toast.cjs +3 -1
- package/dist/components/toast/Toast.cjs.map +2 -2
- package/dist/components/toast/Toast.d.cts.map +1 -1
- package/dist/components/toast/Toast.d.mts.map +1 -1
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +3 -1
- package/dist/components/toast/Toast.js.map +2 -2
- package/dist/components/toast.css +50 -18
- package/dist/components/toggle-group.css +5 -0
- package/dist/components/toggle-tip.css +58 -9
- package/dist/components/toggleTip/ToggleTip.cjs +9 -5
- package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
- package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
- package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
- package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
- package/dist/components/toggleTip/ToggleTip.js +9 -5
- package/dist/components/toggleTip/ToggleTip.js.map +2 -2
- package/dist/components/toolbar/Toolbar.cjs +10 -7
- package/dist/components/toolbar/Toolbar.cjs.map +2 -2
- package/dist/components/toolbar/Toolbar.js +10 -7
- package/dist/components/toolbar/Toolbar.js.map +2 -2
- package/dist/components/toolbar.css +58 -4
- package/dist/components/tooltip.css +9 -5
- package/dist/components/tree-view.css +17 -3
- package/dist/components/treeView/TreeView.cjs +76 -21
- package/dist/components/treeView/TreeView.cjs.map +2 -2
- package/dist/components/treeView/TreeView.d.cts.map +1 -1
- package/dist/components/treeView/TreeView.d.mts.map +1 -1
- package/dist/components/treeView/TreeView.d.ts.map +1 -1
- package/dist/components/treeView/TreeView.js +76 -21
- package/dist/components/treeView/TreeView.js.map +2 -2
- package/dist/components.css +2 -2
- package/dist/docs/README.md +2 -1
- package/dist/docs/component-contract.md +7 -6
- package/dist/docs/component-index.json +17 -9
- package/dist/docs/components/accordion.md +5 -36
- package/dist/docs/components/alert.md +17 -10
- package/dist/docs/components/article-nodes.md +59 -2
- package/dist/docs/components/aspect-ratio.md +3 -26
- package/dist/docs/components/banner.md +152 -0
- package/dist/docs/components/blockquote.md +15 -14
- package/dist/docs/components/bottom-dock.md +146 -0
- package/dist/docs/components/box.md +3 -34
- package/dist/docs/components/breadcrumb.md +13 -8
- package/dist/docs/components/button-group.md +4 -3
- package/dist/docs/components/button.md +2 -2
- package/dist/docs/components/callout.md +18 -7
- package/dist/docs/components/card.md +10 -2
- package/dist/docs/components/carousel.md +55 -32
- package/dist/docs/components/chart.md +25 -7
- package/dist/docs/components/checkbox.md +4 -0
- package/dist/docs/components/code.md +33 -220
- package/dist/docs/components/collapsible.md +11 -35
- package/dist/docs/components/combobox.md +3 -1
- package/dist/docs/components/command.md +4 -2
- package/dist/docs/components/comment-thread.md +51 -1
- package/dist/docs/components/config-drawer.md +72 -171
- package/dist/docs/components/container.md +2 -0
- package/dist/docs/components/context-menu.md +19 -5
- package/dist/docs/components/copy-field.md +2 -2
- package/dist/docs/components/data-list.md +15 -3
- package/dist/docs/components/data-table.md +98 -17
- package/dist/docs/components/dialog.md +7 -1
- package/dist/docs/components/drawer.md +17 -6
- package/dist/docs/components/dropdown-menu.md +13 -3
- package/dist/docs/components/em.md +1 -1
- package/dist/docs/components/empty-state.md +3 -1
- package/dist/docs/components/file-upload.md +14 -7
- package/dist/docs/components/filter-bar.md +193 -8
- package/dist/docs/components/floating-panel.md +79 -285
- package/dist/docs/components/form.md +4 -0
- package/dist/docs/components/grid.md +11 -60
- package/dist/docs/components/heading.md +35 -32
- package/dist/docs/components/hover-card.md +9 -1
- package/dist/docs/components/icon-button.md +4 -1
- package/dist/docs/components/item.md +18 -13
- package/dist/docs/components/kbd.md +2 -0
- package/dist/docs/components/label.md +11 -9
- package/dist/docs/components/link.md +31 -209
- package/dist/docs/components/marquee.md +2 -2
- package/dist/docs/components/menu.md +4 -1
- package/dist/docs/components/metric.md +4 -1
- package/dist/docs/components/notification-center.md +24 -14
- package/dist/docs/components/page-header.md +2 -0
- package/dist/docs/components/pagination.md +92 -17
- package/dist/docs/components/pills.md +13 -4
- package/dist/docs/components/popover.md +12 -3
- package/dist/docs/components/prose.md +14 -1
- package/dist/docs/components/qr-code.md +25 -24
- package/dist/docs/components/quote.md +9 -4
- package/dist/docs/components/radio-group.md +5 -2
- package/dist/docs/components/rating.md +2 -0
- package/dist/docs/components/resizable.md +26 -18
- package/dist/docs/components/result.md +6 -0
- package/dist/docs/components/rich-text-editor.md +68 -18
- package/dist/docs/components/scroll-area.md +17 -9
- package/dist/docs/components/section.md +3 -38
- package/dist/docs/components/segmented-control.md +8 -3
- package/dist/docs/components/segmented-meter.md +9 -0
- package/dist/docs/components/select.md +3 -2
- package/dist/docs/components/separator.md +10 -46
- package/dist/docs/components/sidebar.md +20 -4
- package/dist/docs/components/sonner.md +26 -17
- package/dist/docs/components/sortable-list.md +2 -0
- package/dist/docs/components/stat-card.md +5 -4
- package/dist/docs/components/stepper.md +8 -32
- package/dist/docs/components/strong.md +1 -1
- package/dist/docs/components/tab-nav.md +33 -96
- package/dist/docs/components/table-of-contents.md +8 -2
- package/dist/docs/components/table.md +14 -5
- package/dist/docs/components/tabs.md +19 -50
- package/dist/docs/components/tag.md +4 -2
- package/dist/docs/components/text-field.md +1 -0
- package/dist/docs/components/text.md +34 -28
- package/dist/docs/components/theme-panel.md +3 -28
- package/dist/docs/components/theme.md +7 -3
- package/dist/docs/components/timeline.md +9 -5
- package/dist/docs/components/toast.md +28 -14
- package/dist/docs/components/toggle-group.md +2 -1
- package/dist/docs/components/toggle-tip.md +58 -241
- package/dist/docs/components/toolbar.md +16 -39
- package/dist/docs/components/tooltip.md +13 -7
- package/dist/docs/components/tree-view.md +22 -55
- package/dist/fonts.css +1 -1
- package/dist/generated/tokens.cjs +2 -1
- package/dist/generated/tokens.cjs.map +2 -2
- package/dist/generated/tokens.d.cts.map +1 -1
- package/dist/generated/tokens.d.mts.map +1 -1
- package/dist/generated/tokens.d.ts.map +1 -1
- package/dist/generated/tokens.js +2 -1
- package/dist/generated/tokens.js.map +2 -2
- package/dist/motion.css +18 -3
- package/dist/styles.css +3045 -1756
- package/dist/tokens.css +349 -361
- package/package.json +1 -1
- package/dist/components/control-group.css +0 -142
- package/dist/components/controlGroup/ControlGroup.cjs.map +0 -7
- package/dist/components/controlGroup/ControlGroup.d.cts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.cts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.d.mts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.mts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.d.ts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.ts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.js +0 -26
- package/dist/components/controlGroup/ControlGroup.js.map +0 -7
- package/dist/components/controlGroup/controlGroup.props.cjs.map +0 -7
- package/dist/components/controlGroup/controlGroup.props.d.cts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.cts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.d.mts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.mts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.d.ts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.ts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.js +0 -20
- package/dist/components/controlGroup/controlGroup.props.js.map +0 -7
- package/dist/docs/components/control-group.md +0 -261
|
@@ -7,22 +7,33 @@ depends_on:
|
|
|
7
7
|
- Table
|
|
8
8
|
- Pagination
|
|
9
9
|
- Toolbar
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
10
|
+
- Input
|
|
11
|
+
- Checkbox
|
|
12
|
+
- Button
|
|
13
|
+
- Badge
|
|
14
|
+
- DropdownMenu
|
|
15
|
+
- Result
|
|
13
16
|
---
|
|
14
17
|
|
|
15
18
|
# DataTable
|
|
16
19
|
|
|
20
|
+
Pagination's page-size label and select wrap together inside their group when the available container is narrow. The full mode continues to expose both; `dense` remains an explicit consumer choice.
|
|
21
|
+
|
|
22
|
+
Sorting buttons retain their visible header geometry and extend the pointer target to at least 24px through an invisible hit layer inside the padded header cell.
|
|
23
|
+
|
|
17
24
|
> Consumer note: this document describes public intent and contracts; the package TypeScript declarations are the exact API.
|
|
18
25
|
|
|
19
26
|
## Purpose
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
Turnkey data-workspace shell with query tools, sortable and selectable tabular payload, contextual row actions, and pagination. The design system owns the coherent three-zone composition and controlled client state. The app owns data fetching, domain actions, permissions, and the `PaginatedResponse` contract.
|
|
29
|
+
|
|
30
|
+
**Relationship:** `Table` is the primitive (semantic rows and cells, own density/typography); `DataTable` is the shell over `Table` (`DataTable.tsx` renders `<Table>` and adds toolbar, selection, pagination, and state). Use `Table` for plain data presentation; reach for `DataTable` when sort, filter, density toggling, or pagination is required. See `table.md` for the primitive's ownership statement.
|
|
22
31
|
|
|
23
32
|
## 2.6 contract
|
|
24
33
|
|
|
25
|
-
This section supersedes narrower 2.5 notes below. Columns additionally accept fixed or `{ min, max }` fluid `width`, `align`, `numeric`, `sortable`, `truncate`, and canonical `hideBelow` breakpoints. At most one column may truncate. `sortBy`, `sortOrder`, and `onSortChange`
|
|
34
|
+
This section supersedes narrower 2.5 notes below. Columns additionally accept fixed or `{ min, max }` fluid `width`, `align`, `numeric`, `sortable`, `truncate`, and canonical `hideBelow` breakpoints. At most one column may truncate. Uncontrolled sorting cycles unsorted → ascending → descending → unsorted. Additive `sorting` / `defaultSorting` / `onSortingChange` provide nullable tri-state control; legacy `sortBy`, `sortOrder`, and `onSortChange` retain their two-state controlled contract. `stickyHeader`, controlled/uncontrolled selected row IDs, `onSelectedRowIdsChange`, and `selectionMode="multiple" | "none"` are supported; multiple selection remains the compatibility default.
|
|
35
|
+
|
|
36
|
+
The default toolbar is composed from the public `DataTable.Toolbar` slots. Inside the nearest DataTable, zero-prop Search, ColumnVisibility, Export, and RowCount slots bind to table state; their existing explicit props remain valid for standalone use. Query, faceted-filter, and tri-state sort changes reset page to 1 and clear selection by default; `resetPageOnViewChange={false}` and `clearSelectionOnViewChange={false}` opt out independently.
|
|
26
37
|
|
|
27
38
|
`listState="loading" | "empty" | "no-results" | "error"` renders the canonical Result path, or `result` supplies custom content. Fixed columns retain width while the lone truncating fluid column absorbs overflow. Apps continue to own fetching and server query execution; the component emits state changes only.
|
|
28
39
|
|
|
@@ -38,20 +49,36 @@ This section supersedes narrower 2.5 notes below. Columns additionally accept fi
|
|
|
38
49
|
| `DataTable.Toolbar` | `<div>` | `DataTableToolbar` with class | Toolbar container for search, column visibility, export, and row count controls. |
|
|
39
50
|
| `DataTable.Toolbar.Search` | `<Input>` | Search input | Text search input with `type="search"`. Filters rows client-side. |
|
|
40
51
|
| `DataTable.Toolbar.ColumnVisibility` | `<DropdownMenu>` | Column toggle dropdown | Dropdown with checkbox items for toggling column visibility. |
|
|
41
|
-
| `DataTable.Toolbar.Export` | `<DropdownMenu>` | Export dropdown | Dropdown with CSV and JSON export options. |
|
|
52
|
+
| `DataTable.Toolbar.Export` | `<DropdownMenu>` | Export dropdown | Dropdown with CSV and JSON export options. Menu items state what they export (`CSV file · N rows`, filtered or standalone count); exports over 1000 rows build in chunks with a determinate `Exporting N%` trigger state and polite live announcements instead of a silent freeze. |
|
|
42
53
|
| `DataTable.Toolbar.RowCount` | `<div>` | Row count display | Displays total, filtered, and selected row counts. |
|
|
43
54
|
| `DataTable.Pagination` | `<div>` | `DataTablePagination` with class | Pagination controls with page size selector and page navigation. |
|
|
44
55
|
| `DataTable.FacetedFilter` | `<div>` | `DataTableFacetedFilter` with class | Faceted filter dropdown with checkbox list and search. |
|
|
56
|
+
| `DataTable.BulkBar` | `<div>` | Contextual selection action group | Renders as a second row beneath the query toolbar while rows are selected — the toolbar stays mounted and interactive so filters are never lost. Shows the `{count} selected` status, the `bulkActions` slot, and a built-in Deselect all button. |
|
|
45
57
|
|
|
46
58
|
The root `DataTable` component is a flat export, not a compound. Subcomponents are attached as static properties: `DataTable.Toolbar`, `DataTable.Pagination`, `DataTable.FacetedFilter`.
|
|
47
59
|
|
|
60
|
+
## Bulk action guidance
|
|
61
|
+
|
|
62
|
+
The selection bar answers two questions: how many, and what can I do.
|
|
63
|
+
|
|
64
|
+
- Count: the `{count} selected` pill is rendered by the shell; the toolbar `RowCount` additionally badges the selected count while unselected. No consumer counting needed.
|
|
65
|
+
- Actions: pass domain actions through `bulkActions` in runway order — Export selected, mutating actions (Assign, Archive), destructive Delete selected last. Deselect all is built-in and always trailing.
|
|
66
|
+
- Scope: bulk actions operate on all selected row IDs across pages, not just the visible page. The demo Delete/export handlers must say so in their notices.
|
|
67
|
+
- Empty selection dissolves the bar; the query toolbar underneath was never unmounted.
|
|
68
|
+
|
|
69
|
+
## Composition recipes (app-owned, documented here)
|
|
70
|
+
|
|
71
|
+
- **Header-anchored filters.** A column header may host its own filter trigger (funnel icon button beside the sort button) opening the `FacetedFilter` content for that column. Column option management (add/rename/delete options, per the Topics-editor reference) stays consumer-owned; the DS owns the trigger, the checklist, and select-all.
|
|
72
|
+
- **Row actions.** Per-row operations render as an `actions` column of `IconButton`s (edit, delete) via the column `cell` renderer. Row actions act on one row; `bulkActions` act on the selection — never duplicate one as the other.
|
|
73
|
+
- **Saved searches.** Named filter presets ("Invoices over 500€") are consumer state (a preset → `{ query, rules, sort }` applier); the bar renders the applied result like any other filter state. The DS owns no preset storage.
|
|
74
|
+
|
|
48
75
|
## Props contract
|
|
49
76
|
|
|
50
77
|
| Prop | Type | Default | Required | Description | Responsive |
|
|
51
78
|
|---|---|---|---|---|---|
|
|
52
79
|
| `columns` | `Array<DataTableColumn<Row>>` | `undefined` | yes | Column definitions with `id`, `header`, `accessorKey`, and optional `cell` renderer. | no |
|
|
53
80
|
| `data` | `Row[]` | `undefined` | yes | Row data array. | no |
|
|
54
|
-
| `emptyState` | `ReactNode` |
|
|
81
|
+
| `emptyState` | `ReactNode` | (default empty content) | no | Content rendered when no rows match filters. Omitted, the default distinguishes two meanings: a non-empty dataset renders the no-results state (search icon, recovery hint, and a Clear search and filters button whenever query or faceted filters are active — the button clears the query and emits empty faceted filters); an empty dataset renders the dataset-empty state (inbox icon, no action — creation actions are app-owned). | no |
|
|
55
82
|
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Table density. Maps to `data-size` attribute. | no |
|
|
56
83
|
| `getRowId` | `(row: Row, rowIndex: number) => React.Key` | `undefined` | no | Custom row ID extractor. Defaults to `rowIndex`. | no |
|
|
57
84
|
| `visibleColumnIds` | `Set<string>` | `undefined` | no | Controlled visible column IDs. Defaults to all columns. | no |
|
|
@@ -61,8 +88,24 @@ The root `DataTable` component is a flat export, not a compound. Subcomponents a
|
|
|
61
88
|
| `facetedFilters` | `Array<DataTableFacetedFilterState>` | `undefined` | no | Controlled faceted filter state array. | no |
|
|
62
89
|
| `onFacetedFiltersChange` | `(facetedFilters: Array<DataTableFacetedFilterState>) => void` | `undefined` | no | Callback when faceted filters change. | no |
|
|
63
90
|
| `toolbar` | `ReactNode` | `undefined` | no | Custom toolbar content. Replaces default search toolbar. | no |
|
|
91
|
+
| `query` | `string` | `undefined` | no | Controlled client query. | no |
|
|
92
|
+
| `defaultQuery` | `string` | `''` | no | Initial uncontrolled client query. | no |
|
|
93
|
+
| `onQueryChange` | `(query: string) => void` | `undefined` | no | Fires when the built-in or context-bound search changes. | no |
|
|
64
94
|
| `showToolbar` | `boolean` | `true` | no | Whether to show the default toolbar. | no |
|
|
65
95
|
| `showPagination` | `boolean` | `false` | no | Whether to show pagination controls. | no |
|
|
96
|
+
| `paginationPosition` | `'top' \| 'bottom' \| 'both'` | `'bottom'` | no | Where the pagination footer renders relative to the table. | no |
|
|
97
|
+
| `paginationAlign` | `'start' \| 'center' \| 'end'` | `undefined` | no | Justification of the pagination footer. Omitted keeps the default `space-between` (range info left, controls right). | no |
|
|
98
|
+
| `paginationFirstLast` | `boolean` | `false` | no | Shows First/Last edge links in the pagination footer (round-2 gap fill). Additive; default renders Previous/numbered/Next only. | no |
|
|
99
|
+
| `paginationPageInput` | `boolean` | `false` | no | Shows the "Page N of M" jump input in the pagination footer (round-2 gap fill). Additive; default hides it. | no |
|
|
100
|
+
| `onTableChange` | `(action: 'paginate' \| 'sort' \| 'filter', state: { pagination, sortBy, sortOrder }) => void` | `undefined` | no | Action-tagged change event for server-side apps. `paginate` fires on page/page-size change, `sort` on sort change, `filter` on built-in search change. Coexists with `onPaginationChange` / `onSortChange` / `onFacetedFiltersChange`. | no |
|
|
101
|
+
| `bulkActions` | `ReactNode` | `undefined` | no | Action slot rendered inside the contextual selection bar after the count label (e.g. Export, Delete buttons). The bar stacks beneath the query toolbar while rows are selected; no actions means count + Deselect all only. | no |
|
|
102
|
+
| `sorting` | `DataTableSortState \| null` | `undefined` | no | Additive controlled tri-state sorting. Explicit `null` means unsorted and takes precedence over legacy sort props. | no |
|
|
103
|
+
| `defaultSorting` | `DataTableSortState \| null` | `null` | no | Initial uncontrolled sort state. | no |
|
|
104
|
+
| `onSortingChange` | `(sorting: DataTableSortState \| null) => void` | `undefined` | no | Emits all tri-state transitions, including unsort. | no |
|
|
105
|
+
| `resetPageOnViewChange` | `boolean` | `true` | no | Resets pagination to page 1 when query, filters, or sort change. | no |
|
|
106
|
+
| `clearSelectionOnViewChange` | `boolean` | `true` | no | Clears row selection when query, filters, or sort change. | no |
|
|
107
|
+
| `wrapScrollArea` | `boolean` | `true` | no | Inner `Table` always rides in a horizontal `ScrollArea` so wide column sets scroll instead of clipping inside the shell (TMA slice-1: `overflow: hidden` shell clipped unreachable columns at 320px). Pass-through of the `Table` prop; set `false` only to restore the bare table. | no |
|
|
108
|
+
| `separator` | `'rules' \| 'grid'` | `'rules'` | no | Separator treatment of the inner `Table`. Pass-through of the `Table` prop. | no |
|
|
66
109
|
|
|
67
110
|
Rules:
|
|
68
111
|
|
|
@@ -88,14 +131,30 @@ Rules:
|
|
|
88
131
|
| Slot | Class | CSS file |
|
|
89
132
|
|---|---|---|
|
|
90
133
|
| `DataTable.Toolbar` | `dsx-data-table-toolbar` | inline styles |
|
|
134
|
+
| Toolbar region | `dsx-data-table__toolbar-region` | `data-table.css` |
|
|
135
|
+
| Toolbar trailing actions | `dsx-data-table-toolbar__actions` | `data-table.css` |
|
|
91
136
|
| `DataTable.Pagination` | `dsx-data-table-pagination` | inline styles |
|
|
137
|
+
| Pagination range | `dsx-data-table-pagination__info` | `data-table.css` |
|
|
138
|
+
| Pagination navigation | `dsx-data-table-pagination__navigation` | `data-table.css` |
|
|
139
|
+
| Pagination page size | `dsx-data-table-pagination__page-size` | `data-table.css` |
|
|
140
|
+
| `DataTable.Pagination` (top) | `dsx-data-table-pagination dsx-data-table__pagination-top` | `data-table.css` (flips the separator to `border-bottom`) |
|
|
141
|
+
| `DataTable.BulkBar` | `dsx-data-table__bulk-bar` | `data-table.css` |
|
|
142
|
+
| `DataTable.BulkBar` count | `dsx-data-table__bulk-bar-count` | `data-table.css` |
|
|
143
|
+
| `DataTable.BulkBar` actions | `dsx-data-table__bulk-bar-actions` | `data-table.css` |
|
|
144
|
+
| `DataTable.BulkBar` clear | `dsx-data-table__bulk-bar-clear` | `data-table.css` |
|
|
92
145
|
| `DataTable.FacetedFilter` | `dsx-data-table-faceted-filter` | inline styles |
|
|
146
|
+
| Sort button | `dsx-data-table__sort-button` | `data-table.css` |
|
|
147
|
+
| Sort indicator | `dsx-data-table__sort-indicator` (`data-direction="none" \| "asc" \| "desc"`) | `data-table.css` |
|
|
93
148
|
| Empty cell | `dsx-data-table__empty` | inline styles |
|
|
149
|
+
| Empty content | `dsx-data-table__empty-content` | `data-table.css` |
|
|
94
150
|
|
|
95
151
|
**Responsive behavior:**
|
|
96
152
|
|
|
97
|
-
- The
|
|
98
|
-
-
|
|
153
|
+
- The toolbar and pagination use intrinsic wrapping rather than product breakpoints. At narrow widths the range, navigation, and page-size regions reflow without removing labels or controls — unless the consumer opts into `dense`, which omits the page-size region (and the status summary that duplicates the range) by explicit prop, never by width.
|
|
154
|
+
- Column visibility remains governed by each column's canonical `hideBelow` value.
|
|
155
|
+
|
|
156
|
+
- Toolbar search and commands form intrinsic flex regions with wrapping at available container width; no toolbar width query is used. The bulk-selection bar wraps count, action group, and deselect control, and its action group can shrink.
|
|
157
|
+
- Legacy `hideBelow` column queries remain an existing public contract. The current breakpoint gate verifies token values; it does not enforce component ownership. Migrating that column contract requires a separate compatibility decision.
|
|
99
158
|
|
|
100
159
|
**Reduced motion:**
|
|
101
160
|
|
|
@@ -109,12 +168,18 @@ DataTable uses inline styles with token references. Every CSS value the componen
|
|
|
109
168
|
|---|---|---|
|
|
110
169
|
| Gap | `var(--dsx-space-sm)`, `var(--dsx-space-xs)` | Spacing between controls |
|
|
111
170
|
| Padding | `var(--dsx-space-md)`, `var(--dsx-space-sm)` | Internal gutter |
|
|
112
|
-
| Font size | `var(--dsx-font-size
|
|
171
|
+
| Font size | `var(--dsx-typography-label-small-font-size)` | Small text |
|
|
113
172
|
| Color | `var(--dsx-color-on-surface)`, `var(--dsx-color-on-surface-variant)` | Text colors |
|
|
114
173
|
| Border | `var(--dsx-color-outline)` | Edge |
|
|
115
174
|
| Radius | `var(--dsx-radius-sm)` | Standard roundness |
|
|
116
175
|
| Background | `var(--dsx-color-surface)`, `var(--dsx-color-surface-raised)` | Surface colors |
|
|
117
176
|
| Accent | `var(--dsx-color-accent-primary)`, `var(--dsx-color-on-accent-primary)` | Active page button |
|
|
177
|
+
| Bulk bar background | `var(--dsx-color-accent-surface)` | Theme-aware tinted surface for the selection bar (round-2: replaces the high-contrast inverse, which read as a broken light strip in dark theme) |
|
|
178
|
+
| Bulk bar text | `var(--dsx-color-on-surface)` | Count, actions, and Clear on the bar |
|
|
179
|
+
| Bulk bar accent edge | `var(--dsx-color-accent-indicator)` | Inset start edge (`box-shadow`) tying the bar to the active accent |
|
|
180
|
+
| Bulk bar separator | `var(--dsx-border-width-sm) solid var(--dsx-color-outline)` | Edge below the bar |
|
|
181
|
+
|
|
182
|
+
Density: `size` writes `data-size` on the shell root and is forwarded to the inner `Table`, so `sm` / `md` / `lg` cell padding visibly renders through the primitive's size rules (`table.css`). The shell adds no separate row-height scale.
|
|
118
183
|
|
|
119
184
|
Rules:
|
|
120
185
|
|
|
@@ -164,7 +229,7 @@ Rules:
|
|
|
164
229
|
|
|
165
230
|
**Color and meaning:**
|
|
166
231
|
|
|
167
|
-
- Sort direction is communicated by
|
|
232
|
+
- Sort direction is communicated by a single Lucide arrow indicator and `aria-sort`, not by color alone. Unsorted columns show a subdued `arrow-up-down` at reduced emphasis; the active direction collapses to one full-emphasis accent-colored `arrow-up` / `arrow-down` in a fixed-width slot so labels never shift.
|
|
168
233
|
- Selection state is communicated by checkbox checked state and `data-selected` attribute on the row.
|
|
169
234
|
|
|
170
235
|
**Naming:**
|
|
@@ -180,8 +245,8 @@ The Playground docs surface has two parts: the registry entry in `playground_reg
|
|
|
180
245
|
|
|
181
246
|
**Default story:**
|
|
182
247
|
|
|
183
|
-
- Renders the component with
|
|
184
|
-
- Asserts the root class is `dsx-data-table
|
|
248
|
+
- Renders the component with enough rows to produce multiple pages and keeps pagination visible, so pagination-position and pagination-control variants are observable instead of identical two-row shells.
|
|
249
|
+
- Asserts the root class is `dsx-data-table` and exercises the page-size selector against a meaningful dataset.
|
|
185
250
|
|
|
186
251
|
**Variant story** (one per variant):
|
|
187
252
|
|
|
@@ -192,6 +257,18 @@ The Playground docs surface has two parts: the registry entry in `playground_reg
|
|
|
192
257
|
|
|
193
258
|
- Renders the component with `showPagination={true}` and a custom `toolbar` prop.
|
|
194
259
|
- Asserts pagination controls and toolbar render.
|
|
260
|
+
- **Turnkey workspace:** one primary, initially unselected story demonstrates context-bound search, row count, column visibility, export, tri-state sorting, selection actions, and the three-zone pagination footer. Selecting rows stacks the selection bar beneath the query toolbar with real Export selected / Delete selected actions — the toolbar stays mounted so filters are never lost; Deselect all drops the bar.
|
|
261
|
+
- The toolbar is one row at tablet/desktop widths: search occupies the flexible query zone, while row count, Columns, and Export form the trailing tool cluster. Columns and Export use package icons; Export exposes direct `CSV file` / `JSON file` actions rather than checkbox-like format state.
|
|
262
|
+
- The default no-results state is a compact, centred search state with a title and recovery hint; consumers may still replace it through `emptyState` or the richer `result` / `listState` path.
|
|
263
|
+
- **Compact secondary coverage:** density and empty/list-state examples remain concise. Pagination placement/alignment stays unit-tested instead of producing a nine-table fixture wall.
|
|
264
|
+
|
|
265
|
+
**Composition patterns** (documented guidance, composed by the app — no new DataTable props):
|
|
266
|
+
|
|
267
|
+
- **KPI header over table:** render a `StatCard` / `Metric` row above the `DataTable` (outside the shell). The shell owns the table; the app owns the summary strip. Keep the strip outside `DataTable.Root` so toolbar, bulk bar, and pagination borders stay contiguous.
|
|
268
|
+
- **Visualization cells:** a column `cell` renderer may return inline visuals — a progress track (filled `div` width `%`, token background) or a sparkline (`ChartArea` with `spark`, or a minimal inline SVG). Cells stay text-sized; visuals never set row height. No `Chart` card chrome inside cells.
|
|
269
|
+
- **View switcher:** a `SegmentedControl` (Table / Board / List) above the shell, owned by the app, toggling between the `DataTable` and alternate surfaces. The switcher is not part of the shell.
|
|
270
|
+
- **Rich person cell:** a column `cell` returning avatar + name + title stacked (avatar `sm`, name label, title muted caption). Compose from `Avatar` + `Text`, not from new table slots.
|
|
271
|
+
- **No ghost variant, by rule:** a borderless read-only table with no toolbar, selection, or pagination is plain `Table`, not a `DataTable` variant. The shell's identity is its workspace chrome (toolbar, bulk bar, pagination borders); stripping all three leaves nothing to vary. Compliance: reach for `Table`, never a ghost prop on `DataTable`.
|
|
195
272
|
|
|
196
273
|
**State story:**
|
|
197
274
|
|
|
@@ -214,20 +291,24 @@ The Playground docs surface has two parts: the registry entry in `playground_reg
|
|
|
214
291
|
| `size` | `select` | `md` |
|
|
215
292
|
| `showPagination` | `boolean` | `false` |
|
|
216
293
|
| `showToolbar` | `boolean` | `true` |
|
|
294
|
+
| `paginationPosition` | `select` | `bottom` |
|
|
295
|
+
| `paginationAlign` | `select` | (unset = `space-between`) |
|
|
296
|
+
| `paginationFirstLast` | `boolean` | `false` |
|
|
297
|
+
| `paginationPageInput` | `boolean` | `false` |
|
|
217
298
|
|
|
218
299
|
## Wiring notes
|
|
219
300
|
|
|
220
301
|
**Composes from:**
|
|
221
302
|
|
|
222
303
|
- `Table`: Renders the semantic table structure (`<table>`, `<thead>`, `<tbody>`, `<tr>`, `<th>`, `<td>`).
|
|
223
|
-
- `Pagination`: Renders pagination controls when `showPagination={true}`. DataTable uses its own `DataTablePagination` subcomponent, not the standalone `Pagination` component.
|
|
304
|
+
- `Pagination`: Renders pagination controls when `showPagination={true}`. DataTable uses its own `DataTablePagination` subcomponent, not the standalone `Pagination` component. `paginationFirstLast` / `paginationPageInput` pass through to it; `DataTablePagination` itself accepts `showFirstLast` / `showPageInput` for standalone use.
|
|
224
305
|
- `Toolbar`: Renders toolbar controls. DataTable uses its own `DataTableToolbar` subcomponent, not the standalone `Toolbar` component.
|
|
225
|
-
- `
|
|
306
|
+
- `Input`: `DataTable.Toolbar.Search` renders the client-side query field. The default toolbar uses this public slot rather than a private search row.
|
|
226
307
|
- `EmptyState`: DataTable does not compose `EmptyState`. It renders the `emptyState` prop content in a table cell when no rows match.
|
|
227
308
|
- `Pills`: DataTable does not compose `Pills`. Faceted filters use `DataTableFacetedFilter` subcomponents.
|
|
228
309
|
- `Input`: Renders the search input in the default toolbar.
|
|
229
310
|
- `Checkbox`: Renders row selection checkboxes and the select-all checkbox.
|
|
230
|
-
- `Button`: Renders pagination
|
|
311
|
+
- `Button`: Renders toolbar, export, pagination, and Deselect all actions.
|
|
231
312
|
- `Badge`: Renders active filter count badges in toolbar and faceted filter.
|
|
232
313
|
- `DropdownMenu`: Renders column visibility, export, and faceted filter dropdowns.
|
|
233
314
|
|
|
@@ -237,7 +318,7 @@ The Playground docs surface has two parts: the registry entry in `playground_reg
|
|
|
237
318
|
|
|
238
319
|
**State boundaries:**
|
|
239
320
|
|
|
240
|
-
- Owned by this component:
|
|
321
|
+
- Owned by this component: controlled/uncontrolled query, nullable sort, row selection, pagination, faceted filters, and visible-column state. View-changing transactions reset page and selection by default so stale selections cannot silently cross result sets.
|
|
241
322
|
- Owned by the consumer: row data, column definitions, custom toolbar content, custom empty state content. The consumer passes these in as props.
|
|
242
323
|
|
|
243
324
|
**Boundary rules:**
|
|
@@ -168,6 +168,8 @@ Rules:
|
|
|
168
168
|
| Property | Token | Role |
|
|
169
169
|
|---|---|---|
|
|
170
170
|
| Overlay padding | `var(--dsx-space-md)` | Edge gutter between overlay and content. |
|
|
171
|
+
| Overlay z-index | `var(--dsx-z-index-overlay)` | Masks page content (including standalone menu-tier floating content at the dropdown tier). |
|
|
172
|
+
| Content z-index | `var(--dsx-z-index-modal)` | Modal surface; host tier for the shared nested floating tier contract. |
|
|
171
173
|
| Content gap | `var(--dsx-space-lg)` | Vertical rhythm inside the content frame. |
|
|
172
174
|
| Content padding | `var(--dsx-space-lg)` | Internal gutter. |
|
|
173
175
|
| Content border radius | `var(--dsx-rounded-xl)` | Rounded corners. |
|
|
@@ -237,6 +239,8 @@ Rules:
|
|
|
237
239
|
|
|
238
240
|
## Playground demo spec
|
|
239
241
|
|
|
242
|
+
The live connection-settings example uses the package Select for Region and a nested Popover for display density. Apply closes only the child popover; Save region reports the selected value and returns focus to the dialog launcher. Long-content mode verifies reachable body and footer controls.
|
|
243
|
+
|
|
240
244
|
**Default story:**
|
|
241
245
|
|
|
242
246
|
- Renders `DialogRoot` with a `Trigger` and `Content` containing `Header`, `Body`. Asserts the content has `dsx-dialog__content` and `data-size="md"`.
|
|
@@ -272,7 +276,7 @@ Rules:
|
|
|
272
276
|
|
|
273
277
|
**Token story:**
|
|
274
278
|
|
|
275
|
-
- Renders inside a `Theme` wrapper with `accentColor="
|
|
279
|
+
- Renders inside a `Theme` wrapper with `accentColor="rift"` and one with `accentColor="warp"`. Asserts the `data-accent-color` attribute on the content wrapper.
|
|
276
280
|
|
|
277
281
|
**Props exposed in the playground controls:**
|
|
278
282
|
|
|
@@ -298,6 +302,7 @@ Rules:
|
|
|
298
302
|
- `Spinner` (from `../spinner/Spinner`): `Dialog.ActionTrigger` renders a spinner while the action promise is in flight.
|
|
299
303
|
- `Theme`: `DialogContent` mirrors the portal theme into a `Theme` wrapper so `data-dsx-*` attributes resolve inside the portal.
|
|
300
304
|
- `framer-motion`: provides the `motion.div` for mount and exit. The reduced motion preset is read from `usePrefersReducedMotion`.
|
|
305
|
+
- `_internal/floatingLayer`: `Dialog.Content` provides `FloatingLayerHostContext` to its body, so menu-tier content (`Select`, `Combobox`, `DropdownMenu`) nested inside the dialog escalates via `dsx-menu__nested` (see the shared nested floating tier contract in `menu.md`). `AlertDialog.Content` inherits this through `Dialog.Content`.
|
|
301
306
|
|
|
302
307
|
**Used by:**
|
|
303
308
|
|
|
@@ -308,6 +313,7 @@ Rules:
|
|
|
308
313
|
**State boundaries:**
|
|
309
314
|
|
|
310
315
|
- Owned by `Dialog`: open state when uncontrolled, presence context, portal theme mirroring, action-trigger loading state, motion preset.
|
|
316
|
+
- Owned by `Dialog`: the nested-host signal — `Dialog.Content` marks its body as a modal-tier host for the shared nested floating tier contract.
|
|
311
317
|
- Owned by the consumer: title copy, description copy, the body content, the action handlers, the close behavior.
|
|
312
318
|
|
|
313
319
|
**Boundary rules:**
|
|
@@ -51,8 +51,6 @@ A mobile or edge-attached modal overlay that slides in from any edge of the view
|
|
|
51
51
|
| Prop | Type | Default | Required | Description | Responsive |
|
|
52
52
|
|---|---|---|---|---|---|
|
|
53
53
|
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Drawer content size; writes `data-size` attribute. | no |
|
|
54
|
-
| `height` | `string` (responsive) | `undefined` | no | Responsive height override via CSS variable. | yes |
|
|
55
|
-
| `width` | `string` (responsive) | `undefined` | no | Responsive width override via CSS variable. | yes |
|
|
56
54
|
| `className` | `string` | `undefined` | no | Extra classes appended to `dsx-drawer__content`. | no |
|
|
57
55
|
|
|
58
56
|
**Header props:**
|
|
@@ -76,7 +74,7 @@ Standard Radix `Title` and `Description` props plus `className`.
|
|
|
76
74
|
Rules:
|
|
77
75
|
|
|
78
76
|
- `direction` on Root is wired through `extractProps`.
|
|
79
|
-
- `size
|
|
77
|
+
- `size` on Content are wired through `extractProps`.
|
|
80
78
|
- `asChild` on Header and Footer is wired through `extractProps`.
|
|
81
79
|
- The Root manages open state through a controllable hook (`useControllableDrawerOpenState`) that supports both controlled and uncontrolled modes.
|
|
82
80
|
- The Root provides `DrawerOpenContext` and `DrawerDirectionContext` so Content can access the open state and direction for motion calculations.
|
|
@@ -102,12 +100,12 @@ Rules:
|
|
|
102
100
|
| Attribute | Allowed values | Class | CSS file |
|
|
103
101
|
|---|---|---|---|
|
|
104
102
|
| `data-direction` (on content) | `top`, `right`, `bottom`, `left` | `.dsx-drawer__content[data-direction='...']` | `drawer.css` |
|
|
105
|
-
| `data-size` (on content) | `sm`, `md`, `lg` |
|
|
103
|
+
| `data-size` (on content) | `sm`, `md`, `lg` | Top/bottom minimum-height and side-panel width bands | n/a |
|
|
106
104
|
| `data-slot` | `drawer-overlay`, `drawer-content`, `drawer-handle`, `drawer-header`, `drawer-footer`, `drawer-title`, `drawer-description` | (CSS hook only) | n/a |
|
|
107
105
|
|
|
108
106
|
**Responsive behavior:**
|
|
109
107
|
|
|
110
|
-
- Content
|
|
108
|
+
- Content size is single-valued. It does not expose responsive height/width props. Viewport caps and scrolling are intrinsic.
|
|
111
109
|
|
|
112
110
|
**Reduced motion:**
|
|
113
111
|
|
|
@@ -208,7 +206,7 @@ Rules:
|
|
|
208
206
|
|
|
209
207
|
**Token story:**
|
|
210
208
|
|
|
211
|
-
- Renders inside a `Theme` wrapper with `accentColor="
|
|
209
|
+
- Renders inside a `Theme` wrapper with `accentColor="astral"` and `accentColor="spark"`. Drawer does not track `data-accent-color` directly; the story asserts the overlay and content surfaces are visually unchanged.
|
|
212
210
|
|
|
213
211
|
**A11y story:**
|
|
214
212
|
|
|
@@ -243,3 +241,16 @@ Rules:
|
|
|
243
241
|
|
|
244
242
|
- App-owned data: the drawer content, the trigger label, the action handlers, and the open state when controlled.
|
|
245
243
|
- DS-owned visuals: token bindings, the slot CSS classes, the motion presets, and the portal theme mirroring.
|
|
244
|
+
|
|
245
|
+
## Overlay review containment
|
|
246
|
+
|
|
247
|
+
Content caps at 100dvh and its containing viewport width, wraps long words,
|
|
248
|
+
and scrolls vertically. Direct content regions do not shrink into each other.
|
|
249
|
+
Left/right content uses height=100dvh with min-height=0 and width bands capped
|
|
250
|
+
at 100%; top/bottom content retains its minimum-height size bands. No width
|
|
251
|
+
media query is required. `/docs/drawer` opens all four directions and offers
|
|
252
|
+
short/long content to verify both the first row and the footer after scrolling.
|
|
253
|
+
|
|
254
|
+
The package disables Vaul’s offscreen ::after filler on its scrolling shell.
|
|
255
|
+
That pseudo-element otherwise adds blank scroll range and covers bottom-drawer
|
|
256
|
+
footer controls after scrolling; it is unnecessary for the bounded surface.
|
|
@@ -39,7 +39,7 @@ A button-triggered secondary action menu. The DS `DropdownMenu` wraps `@radix-ui
|
|
|
39
39
|
| `DropdownMenu.CheckboxItem` | Radix `DropdownMenu.CheckboxItem` | `dsx-dropdown-menu__item` + `dsx-dropdown-menu__item-indicator` | Checkbox row. Renders `check` or `minus` indicator. |
|
|
40
40
|
| `DropdownMenu.RadioItem` | Radix `DropdownMenu.RadioItem` | `dsx-dropdown-menu__item` + `dsx-dropdown-menu__item-indicator` + `dsx-dropdown-menu__radio-dot` | Radio row. |
|
|
41
41
|
| `DropdownMenu.SubTrigger` | Radix `DropdownMenu.SubTrigger` | `dsx-dropdown-menu__item` + `dsx-dropdown-menu__sub-trigger` + optional `data-inset` + `chevron-right` | Row that opens the sub-content. |
|
|
42
|
-
| `DropdownMenu.SubContent` | Radix `DropdownMenu.SubContent` inside `MenuContent`
|
|
42
|
+
| `DropdownMenu.SubContent` | Radix `DropdownMenu.SubContent` inside portal-mounted `MenuContent` | `dsx-dropdown-menu__content` | The submenu panel tracks its own Sub open state and uses a portal so the parent scroll frame does not clip it. forceMount remains consumer-controlled. |
|
|
43
43
|
| `DropdownMenu.Shortcut` | `<span>` (or `Slot` child when `asChild`) | `dsx-dropdown-menu__shortcut` | Keyboard hint rendered on the right. |
|
|
44
44
|
|
|
45
45
|
The roster's `Parent / Slots` column lists `DropdownMenu.Root`, `DropdownMenu.Trigger`, `DropdownMenu.Content`, `DropdownMenu.Label`, `DropdownMenu.Separator`, `DropdownMenu.Item`, `DropdownMenu.Group`. The source exports the full Radix part set through `Object.assign`, including `Sub`, `RadioGroup`, `Portal`, `CheckboxItem`, `RadioItem`, `SubTrigger`, `SubContent`, and `Shortcut`. The spec records the full set so the public surface is unambiguous.
|
|
@@ -71,7 +71,7 @@ The roster's `Parent / Slots` column lists `DropdownMenu.Root`, `DropdownMenu.Tr
|
|
|
71
71
|
|
|
72
72
|
### `DropdownMenu.Trigger`, `DropdownMenu.Label`, `DropdownMenu.Separator`, `DropdownMenu.Group`, `DropdownMenu.Sub`, `DropdownMenu.RadioGroup`, `DropdownMenu.Portal`, `DropdownMenu.CheckboxItem`, `DropdownMenu.RadioItem`, `DropdownMenu.SubTrigger`, `DropdownMenu.SubContent`
|
|
73
73
|
|
|
74
|
-
These proxy the corresponding Radix props. `DropdownMenu.Trigger` accepts the standard Radix trigger props (no class). `DropdownMenu.Label` and `DropdownMenu.Group` accept the standard Radix props. `DropdownMenu.SubContent` accepts the same `align` and `side` props as `Content`;
|
|
74
|
+
These proxy the corresponding Radix props. `DropdownMenu.Trigger` accepts the standard Radix trigger props (no class). `DropdownMenu.Label` and `DropdownMenu.Group` accept the standard Radix props. `DropdownMenu.SubContent` accepts the same `align` and `side` props as `Content`; Sub preserves controlled/uncontrolled open props; SubContent uses the Radix portal and its owning Sub state.
|
|
75
75
|
|
|
76
76
|
### `DropdownMenu.Item`
|
|
77
77
|
|
|
@@ -160,7 +160,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token. The `dropdown-me
|
|
|
160
160
|
| Content border radius | `var(--dsx-rounded-lg)` | Content corner roundness. |
|
|
161
161
|
| Content background | `var(--dsx-color-panel-translucent)` | Dropdown surface. |
|
|
162
162
|
| Content border | `var(--dsx-border-width-sm) solid var(--dsx-color-outline)` | Dropdown edge. |
|
|
163
|
-
| Content z-index | `var(--dsx-z-index-dropdown)` | Stack above page. |
|
|
163
|
+
| Content z-index | `var(--dsx-z-index-dropdown)` standalone; `calc(var(--dsx-z-index-modal, 90) + 2)` when nested inside a modal-tier host (`dsx-menu__nested`, see the shared nested floating tier contract in `menu.md`) | Stack above page; nested menus clear their host surface. |
|
|
164
164
|
| Item min-height | `var(--dsx-size-lg)` | Item touch target. |
|
|
165
165
|
| Item padding | `var(--dsx-space-sm) var(--dsx-space-sm) var(--dsx-space-sm) calc(var(--dsx-space-lg) + var(--dsx-space-sm))` | Item gutter with indicator gutter. |
|
|
166
166
|
| Item border radius | `var(--dsx-rounded-md)` | Item corner roundness. |
|
|
@@ -273,6 +273,7 @@ Rules:
|
|
|
273
273
|
- `_internal/usePrefersReducedMotion`: gates the open / close animation.
|
|
274
274
|
- `_internal/helpers/extractProps`: turns the `Item`, `SubTrigger`, and `Shortcut` prop defs into merged class + style output.
|
|
275
275
|
- `Icon`: the `chevron-right` glyph on the sub-trigger; the `check` / `minus` glyphs on checkbox items.
|
|
276
|
+
- `_internal/floatingLayer`: `useFloatingLayerHost` (consumed in `MenuContent`, covering `Content` and `SubContent`) adds `dsx-menu__nested` when the menu renders inside a modal-tier host (`Popover.Content` / `Dialog.Content`), so the menu paints above its host. Standalone menus never carry the class (see the shared nested floating tier contract in `menu.md`).
|
|
276
277
|
|
|
277
278
|
**Used by:**
|
|
278
279
|
|
|
@@ -287,3 +288,12 @@ Rules:
|
|
|
287
288
|
|
|
288
289
|
- App-owned data: the command set, the disabled reasons, the trigger element, and the keyboard shortcut strings.
|
|
289
290
|
- DS-owned visuals: the `dsx-dropdown-menu__*` slot classes, the token bindings, the data-attribute contract, and the open / close animation.
|
|
291
|
+
|
|
292
|
+
## Overlay review interaction
|
|
293
|
+
|
|
294
|
+
Submenus are absent while closed unless forceMount is requested. Sub owns
|
|
295
|
+
controlled/uncontrolled state and SubContent receives that state through a
|
|
296
|
+
private context; it is no longer forced open. Portalling matches the
|
|
297
|
+
[Radix submenu anatomy](https://www.radix-ui.com/primitives/docs/components/dropdown-menu)
|
|
298
|
+
and keeps the submenu outside the parent’s overflow frame. The live example
|
|
299
|
+
demonstrates working Profile/Settings, Autosave and Share project actions.
|
|
@@ -105,7 +105,7 @@ Rules:
|
|
|
105
105
|
|
|
106
106
|
## Playground demo spec
|
|
107
107
|
|
|
108
|
-
`Em` is registered in `apps/playground/lib/registry/typography.tsx` under the `em` key. The registry entry imports `emPropDefs` and renders the component with a sample emphasis span. Per-component route: `/docs/em`.
|
|
108
|
+
`Em` is registered in `apps/playground/lib/registry/typography.tsx` under the `em` key. The registry entry imports `emPropDefs` and renders the component with a sample emphasis span. Per-component route: `/docs/em`. The live example uses English and Russian sentence context plus a slotted span.
|
|
109
109
|
|
|
110
110
|
**Default story:**
|
|
111
111
|
|
|
@@ -87,6 +87,7 @@ Rules:
|
|
|
87
87
|
**Responsive behavior:**
|
|
88
88
|
|
|
89
89
|
- The component does not write `@media` rules. `size` is single-value only.
|
|
90
|
+
- The root and header can shrink within the available width. Long titles and identifiers wrap in both the default Result host and the legacy `asChild` host.
|
|
90
91
|
|
|
91
92
|
**Reduced motion:**
|
|
92
93
|
|
|
@@ -152,7 +153,7 @@ The component is static.
|
|
|
152
153
|
|
|
153
154
|
**Naming:**
|
|
154
155
|
|
|
155
|
-
- `title`
|
|
156
|
+
- `title` provides the visible heading; it does not automatically name the section. Consumers use `aria-labelledby` or `aria-label` when a named region is needed. The action's accessible name is the consumer's responsibility.
|
|
156
157
|
|
|
157
158
|
## Playground demo spec
|
|
158
159
|
|
|
@@ -196,6 +197,7 @@ The component is static.
|
|
|
196
197
|
|
|
197
198
|
- `Icon`, `Text`, `Button`: the typical content of the illustration, description, and action slots. EmptyState does not import any of these; the consumer supplies the nodes.
|
|
198
199
|
- `@radix-ui/react-slot`: enables `asChild` on the root.
|
|
200
|
+
- `Result`: supplies the normal section host with `state="empty"`; the legacy `asChild` path uses Slot directly.
|
|
199
201
|
- `Card` is not composed; the base card surface is inherited through the CSS import (`@import '../../_internal/baseCard.css'`) so the EmptyState background, border, and shadow resolve through the same tokens as `Card`.
|
|
200
202
|
|
|
201
203
|
**Used by:**
|
|
@@ -41,7 +41,7 @@ A card-based file selection surface with a dropzone, a list of file rows, and a
|
|
|
41
41
|
|
|
42
42
|
| Prop | Type | Default | Required | Description | Responsive |
|
|
43
43
|
|---|---|---|---|---|---|
|
|
44
|
-
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Card-level size
|
|
44
|
+
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Card-level size; `sm` uses a wrapping inline attachment layout, `md`/`lg` use a centered drop area. Drives `data-size`. | no |
|
|
45
45
|
| `asChild` | `boolean` | `false` | no | Renders the card through `Slot` from `@radix-ui/react-slot`. | no |
|
|
46
46
|
| Standard `Card` props | `CardProps` | n/a | no | The root extends `CardProps`, so variant, radius, and standard card attributes pass through. | no |
|
|
47
47
|
| `children` | `React.ReactNode` | `undefined` | no | `FileUpload.Dropzone`, `FileUpload.List`, and `FileUpload.Item` children. | no |
|
|
@@ -58,6 +58,7 @@ A card-based file selection surface with a dropzone, a list of file rows, and a
|
|
|
58
58
|
| `onActionClick` | `MouseEventHandler<HTMLButtonElement>` | `undefined` | no | Default action click handler. | no |
|
|
59
59
|
| `accept` | `Accept` (`react-dropzone`) | `undefined` | no | Accepted MIME types / extensions forwarded to `useDropzone`. | no |
|
|
60
60
|
| `multiple` | `boolean` | `undefined` | no | When `true`, the hidden input and drop accept multiple files. | no |
|
|
61
|
+
| `capture` | `boolean \| 'user' \| 'environment'` | `undefined` | no | Mobile capture hint forwarded to the hidden input (`getInputProps`); pairs with `accept="image/*"` for direct camera capture. Omitted by default so desktop file dialogs are unaffected. | no |
|
|
61
62
|
| `onFiles` | `(files: File[]) => void` | `undefined` | no | File capture handler. When set, the dropzone mounts the hidden input and forwards drops and picks; when absent, the dropzone is a visual-only shell (`useDropzone` disabled, no input). | no |
|
|
62
63
|
| `dragging` | `boolean` | `false` | no | Active drop state. Drives `data-dragging="true"`. | no |
|
|
63
64
|
| `asChild` | `boolean` | `false` | no | Renders the dropzone through `Slot` from `@radix-ui/react-slot`. | no |
|
|
@@ -108,7 +109,7 @@ Rules:
|
|
|
108
109
|
|
|
109
110
|
| Attribute | Allowed values | Class | CSS file |
|
|
110
111
|
|---|---|---|---|
|
|
111
|
-
| `data-size` | `sm`, `md`, `lg` |
|
|
112
|
+
| `data-size` | `sm`, `md`, `lg` | Root controls dropzone layout, minimum height and padding | `file-upload.css` |
|
|
112
113
|
| `data-dragging` | `true` | `.dsx-file-upload__dropzone[data-dragging='true']` thicker accent dashed border + active background (no ring) | `file-upload.css` |
|
|
113
114
|
| `data-status-tone` | `danger` (omitted when `muted`) | `.dsx-file-upload__item:where([data-status-tone='danger']) .dsx-file-upload__status` error color | `file-upload.css` |
|
|
114
115
|
|
|
@@ -134,6 +135,8 @@ Rules:
|
|
|
134
135
|
**Responsive behavior:**
|
|
135
136
|
|
|
136
137
|
- The component does not write `@media` rules. None of its prop defs are `responsive: true`. Size is single-value only.
|
|
138
|
+
- The `sm` dropzone places illustration, text and action in a wrapping row. Consumers choose this attachment composition for narrow forms; `md`/`lg` retain the centered drag area. All sizes grow with content and localized labels.
|
|
139
|
+
- FileUpload owns its dropzone minimum height and typography; it does not inherit EmptyState's standalone empty-page minimum height.
|
|
137
140
|
|
|
138
141
|
**Reduced motion:**
|
|
139
142
|
|
|
@@ -147,7 +150,10 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
|
|
|
147
150
|
|---|---|---|
|
|
148
151
|
| Root layout | `display: grid; gap: var(--dsx-space-md); width: 100%` | Surface layout. |
|
|
149
152
|
| Dropzone width | `width: 100%` | Full width. |
|
|
150
|
-
| Dropzone min-height | `calc(var(--dsx-size-4xl) * 2)`
|
|
153
|
+
| Dropzone min-height | `var(--dsx-size-4xl)` / `calc(var(--dsx-size-4xl) * 2)` / `calc(var(--dsx-size-4xl) * 2.5)` | sm/md/lg content-growing minimums. |
|
|
154
|
+
| Dropzone padding / gap | `var(--dsx-space-sm)` / `var(--dsx-space-md)` / `var(--dsx-space-lg)`; gap `var(--dsx-space-sm)` | sm/md/lg padding and compact internal spacing. |
|
|
155
|
+
| Dropzone illustration | `var(--dsx-size-lg)` square | Upload affordance rather than an empty-page illustration. |
|
|
156
|
+
| Dropzone title | `var(--dsx-typography-label-large-*)` | Form-level title, independent of EmptyState headline typography. |
|
|
151
157
|
| Dropzone border | `var(--dsx-border-width-md)` dashed `var(--dsx-color-outline)` | Resting edge, visible against the sunken fill. |
|
|
152
158
|
| Dropzone radius | `var(--dsx-rounded-lg)` | Round corners. |
|
|
153
159
|
| Dropzone background | `var(--dsx-color-surface-sunken)` | Sunken surface. |
|
|
@@ -159,9 +165,10 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
|
|
|
159
165
|
| Item icon size | `var(--dsx-size-lg)` square | Round icon slot. |
|
|
160
166
|
| Item icon color | `var(--dsx-color-on-surface-variant)` | Quiet icon. |
|
|
161
167
|
| Item content min-width | `min-width: 0` | Allows the title to ellipsis. |
|
|
168
|
+
| Item content flex / row gap | `flex: 1 1 0`; `var(--dsx-space-sm)` | A short file row can shrink its text column before wrapping media/actions. FileUpload overrides Item's prose-oriented content basis. |
|
|
162
169
|
| Item title overflow | `overflow: hidden; text-overflow: ellipsis; white-space: nowrap` | Long file names truncate. |
|
|
163
170
|
| Item media color | `var(--dsx-color-on-surface-variant)` | Quiet media. |
|
|
164
|
-
| Item actions alignment | `margin-left: auto; flex-direction: column; align-items: flex-end; gap: var(--dsx-space-xs)` | Right-aligned, stacked. |
|
|
171
|
+
| Item actions alignment | `margin-left: auto; flex-direction: column; flex-wrap: nowrap; align-items: flex-end; gap: var(--dsx-space-xs)` | Right-aligned, stacked. Consumer wrappers may define their own inner layout. |
|
|
165
172
|
| Progress width | `width: 100%` | Full row width. |
|
|
166
173
|
| Progress label/status typography | `var(--dsx-typography-label-small-*)` | Small label ramp. |
|
|
167
174
|
| Progress label/status color | `var(--dsx-color-on-surface-variant)` | Quiet label. |
|
|
@@ -218,11 +225,11 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
|
|
|
218
225
|
|
|
219
226
|
**Composition story:**
|
|
220
227
|
|
|
221
|
-
-
|
|
228
|
+
- One compact live capture surface populates dropzone, list, item, progress and working remove/retry actions after selection. An expandable row-state gallery shows progress, completed and failed rows, followed by forced drag feedback and Rift/Warp token stories. Size comparisons stay in the matrix rather than duplicating three large surfaces in the live example.
|
|
222
229
|
|
|
223
230
|
**Live capture story:**
|
|
224
231
|
|
|
225
|
-
- Renders `FileUploadLiveCapture
|
|
232
|
+
- Renders `FileUploadLiveCapture` with `size="sm"`, `variant="filled"`, a short title/description and a working Browse files action. A `multiple` dropzone with `onFiles` feeds a simulated upload list (interval-driven progress). Compact rows use the existing `size="sm"` and `icon={null}` options, a file-size description, progress/completion/error status and stacked md ghost icon actions (trash remove always, redo retry on failed rows — retry resets the row to 0%). Files with "fail" in the name fail at 60%. Selection count is announced through a status region. Covered by `tests/file-upload.spec.ts` and `tests/sweep-polish.spec.ts` (drag/browse/keyboard capture, retry/remove, mobile geometry, zero console issues).
|
|
226
233
|
|
|
227
234
|
**A11y story:**
|
|
228
235
|
|
|
@@ -252,7 +259,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
|
|
|
252
259
|
|
|
253
260
|
**Composed by consumers (not DS slots):**
|
|
254
261
|
|
|
255
|
-
- URL
|
|
262
|
+
- URL fetching and modal shells with Cancel / Attach-files footers are app composition. The primary playground story focuses on file capture and rows; it does not imply FileUpload supplies a URL transport or an attach-to-record action.
|
|
256
263
|
|
|
257
264
|
**Used by:**
|
|
258
265
|
|