@d4gger/design-system 3.0.0 → 3.0.1
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/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/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 +60 -0
- package/dist/components/button-group.css +25 -0
- package/dist/components/button.css +9 -0
- package/dist/components/card.css +3 -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/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/context-menu.css +1 -1
- 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/dropdown-menu.css +1 -1
- package/dist/components/empty-state.css +5 -0
- 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 +1 -1
- 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/icon/Icon.cjs +25 -2
- package/dist/components/icon/Icon.cjs.map +2 -2
- package/dist/components/icon/Icon.d.cts +29 -1
- package/dist/components/icon/Icon.d.cts.map +1 -1
- package/dist/components/icon/Icon.d.mts +29 -1
- package/dist/components/icon/Icon.d.mts.map +1 -1
- package/dist/components/icon/Icon.d.ts +29 -1
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +33 -2
- package/dist/components/icon/Icon.js.map +2 -2
- package/dist/components/icon/icons.cjs +16 -0
- package/dist/components/icon/icons.cjs.map +2 -2
- package/dist/components/icon/icons.d.cts +40 -0
- package/dist/components/icon/icons.d.cts.map +1 -1
- package/dist/components/icon/icons.d.mts +40 -0
- package/dist/components/icon/icons.d.mts.map +1 -1
- package/dist/components/icon/icons.d.ts +40 -0
- package/dist/components/icon/icons.d.ts.map +1 -1
- package/dist/components/icon/icons.js +16 -0
- package/dist/components/icon/icons.js.map +2 -2
- package/dist/components/icon-button.css +29 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.cjs.map +2 -2
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +1 -1
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- 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/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/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/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/prose.css +1 -1
- package/dist/components/qr-code.css +5 -15
- 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/result.css +2 -1
- package/dist/components/richTextEditor/RichTextEditor.cjs +11 -3
- package/dist/components/richTextEditor/RichTextEditor.cjs.map +2 -2
- package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.js +11 -3
- package/dist/components/richTextEditor/RichTextEditor.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/sonner.css +1 -1
- 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/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.css +20 -13
- package/dist/components/tabs.css +10 -0
- package/dist/components/timeline.css +54 -18
- package/dist/components/toast.css +33 -1
- package/dist/components/toggle-group.css +5 -0
- package/dist/components.css +1 -2
- package/dist/docs/README.md +1 -1
- package/dist/docs/component-contract.md +4 -4
- package/dist/docs/component-index.json +9 -9
- package/dist/docs/components/banner.md +152 -0
- package/dist/docs/components/button-group.md +4 -3
- package/dist/docs/components/button.md +2 -2
- package/dist/docs/components/card.md +1 -0
- 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/combobox.md +3 -1
- package/dist/docs/components/command.md +2 -2
- 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 +4 -0
- package/dist/docs/components/dropdown-menu.md +2 -1
- package/dist/docs/components/empty-state.md +3 -1
- package/dist/docs/components/file-upload.md +1 -0
- package/dist/docs/components/filter-bar.md +193 -8
- package/dist/docs/components/floating-panel.md +8 -8
- package/dist/docs/components/icon-button.md +4 -1
- package/dist/docs/components/item.md +18 -13
- 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/pagination.md +88 -17
- package/dist/docs/components/pills.md +1 -1
- package/dist/docs/components/popover.md +2 -0
- package/dist/docs/components/prose.md +5 -1
- package/dist/docs/components/qr-code.md +14 -13
- package/dist/docs/components/radio-group.md +5 -2
- package/dist/docs/components/rating.md +2 -0
- package/dist/docs/components/result.md +6 -0
- package/dist/docs/components/segmented-control.md +7 -2
- package/dist/docs/components/select.md +3 -2
- package/dist/docs/components/sidebar.md +3 -1
- package/dist/docs/components/sonner.md +1 -1
- package/dist/docs/components/sortable-list.md +2 -0
- package/dist/docs/components/stat-card.md +5 -4
- package/dist/docs/components/stepper.md +1 -0
- package/dist/docs/components/table.md +14 -5
- package/dist/docs/components/tag.md +4 -2
- package/dist/docs/components/timeline.md +9 -5
- package/dist/docs/components/toast.md +1 -1
- package/dist/docs/components/toggle-group.md +2 -1
- package/dist/fonts.css +1 -1
- package/dist/generated/tokens.cjs +1 -1
- package/dist/generated/tokens.cjs.map +1 -1
- package/dist/generated/tokens.js +1 -1
- package/dist/generated/tokens.js.map +1 -1
- package/dist/motion.css +18 -3
- package/dist/styles.css +1249 -292
- package/dist/tokens.css +21 -15
- 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
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: ControlGroup
|
|
3
|
-
status: canonical
|
|
4
|
-
category: Components
|
|
5
|
-
archetype: composite
|
|
6
|
-
depends_on:
|
|
7
|
-
- Select
|
|
8
|
-
- ToggleGroup
|
|
9
|
-
- SegmentedControl
|
|
10
|
-
- Button
|
|
11
|
-
- Separator
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# ControlGroup
|
|
15
|
-
|
|
16
|
-
> Consumer note: this document describes public intent and contracts; the package TypeScript declarations are the exact API.
|
|
17
|
-
|
|
18
|
-
## Purpose
|
|
19
|
-
|
|
20
|
-
Visually groups two or more *unlike* interactive controls (a `Select` next to a `ToggleGroup`, a
|
|
21
|
-
`Button` next to a `SegmentedControl`, etc.) inside one shared bordered frame, so they read as one
|
|
22
|
-
settings cluster instead of separate floating widgets.
|
|
23
|
-
|
|
24
|
-
## Anatomy & slots
|
|
25
|
-
|
|
26
|
-
**Parent:** `ControlGroup` (flat export — no compound sub-components).
|
|
27
|
-
|
|
28
|
-
**Slots:**
|
|
29
|
-
|
|
30
|
-
| Slot | Element | Renders | Notes |
|
|
31
|
-
|---|---|---|---|
|
|
32
|
-
| `ControlGroup` (Root) | `<div>` | Flex container, `role="group"` | Holds any number of DS control children directly — no wrapper slot components. |
|
|
33
|
-
|
|
34
|
-
No named child slots: unlike `InputGroup` (which wraps its children in `InputGroup.Addon` /
|
|
35
|
-
`InputGroup.Text` / `InputGroup.Button` for input-specific semantics), `ControlGroup`'s children
|
|
36
|
-
are consumed as-is. This is the deliberate distinction from `InputGroup` — see Wiring notes.
|
|
37
|
-
|
|
38
|
-
## Props contract
|
|
39
|
-
|
|
40
|
-
| Prop | Type | Default | Required | Description | Responsive |
|
|
41
|
-
|---|---|---|---|---|---|
|
|
42
|
-
| `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | no | Controls the group's height and inner item padding. | no |
|
|
43
|
-
| `radius` | `'md' \| 'full'` | `'full'` | no | Outer corner radius of the group frame and of the first/last child's outer corners. | no |
|
|
44
|
-
| `asChild` | `boolean` | `false` | no | Renders the root as its child via Radix `Slot` instead of a `div`. | no |
|
|
45
|
-
|
|
46
|
-
Rules:
|
|
47
|
-
|
|
48
|
-
- Every prop in this table must exist in `controlGroup.props.ts`. The runtime prop def is the source.
|
|
49
|
-
- Every prop in `controlGroup.props.ts` must be in this table. Mismatches fail `qa:contracts`.
|
|
50
|
-
- No `Responsive` column values are `yes` — this component does not vary by breakpoint.
|
|
51
|
-
|
|
52
|
-
## CSS class contract
|
|
53
|
-
|
|
54
|
-
**Root class:** `dsx-control-group`
|
|
55
|
-
|
|
56
|
-
**Modifier classes** (driven by `data-*` attributes written by the component):
|
|
57
|
-
|
|
58
|
-
| Attribute | Allowed values | Class | CSS file |
|
|
59
|
-
|---|---|---|---|
|
|
60
|
-
| `data-size` | `sm`, `md`, `lg` | `.dsx-control-group[data-size="sm"]` | `control-group.css` |
|
|
61
|
-
| `data-group-radius` | `md`, `full` | `.dsx-control-group[data-group-radius="md"]`, `.dsx-control-group[data-group-radius="full"]` | `control-group.css` |
|
|
62
|
-
|
|
63
|
-
**Not `data-radius`, deliberately (2026-08-26, real bug found live):** `data-radius` is a
|
|
64
|
-
reserved document-theme attribute — `PortalThemeBoundary`'s `getClosestThemeAttribute(el,
|
|
65
|
-
'data-radius')` walks up the nearest ancestor carrying that attribute to mirror the app's global
|
|
66
|
-
radius setting into portaled content (`Select`/`Dialog`/`Popover`/etc). A component that emits
|
|
67
|
-
its own local `data-radius` between a portal trigger and `<html>` gets picked up *instead of* the
|
|
68
|
-
real document-level value. Confirmed live: a `Select` inside a `ControlGroup radius="full"` frame
|
|
69
|
-
opened its dropdown at `9999px` border-radius (`--dsx-rounded-lg` itself resolved to `9999px` on
|
|
70
|
-
the portaled content), while `<html>` still correctly read `data-radius="md"`. Any future
|
|
71
|
-
component with its own per-instance radius axis should avoid the literal `data-radius` name for
|
|
72
|
-
the same reason — this isn't `ControlGroup`-specific.
|
|
73
|
-
|
|
74
|
-
**Slot classes:** none — flat export, no named slots.
|
|
75
|
-
|
|
76
|
-
**Corner-radius mechanism:**
|
|
77
|
-
|
|
78
|
-
The root paints the visible border/background. Direct children get their shared (inner-facing)
|
|
79
|
-
corners squared and outer corners rounded to match the root, via structural selectors
|
|
80
|
-
(`:first-child`, `:last-child`, `:not(:first-child)`) — the same technique `InputGroup` already
|
|
81
|
-
uses, applied here to children that are complete DS components (Select, ToggleGroup, Button,
|
|
82
|
-
SegmentedControl) rather than raw form parts. A child's own border/shadow/background is
|
|
83
|
-
intentionally left alone — `ControlGroup` only manages corner radius on the two outer edges and a
|
|
84
|
-
1px visual seam between children (a `Separator`-style divider, not a border collapse, since
|
|
85
|
-
children are not assumed to share the exact same border width the way stacked inputs do).
|
|
86
|
-
|
|
87
|
-
**Responsive behavior:**
|
|
88
|
-
|
|
89
|
-
- The component does not write `@media` rules.
|
|
90
|
-
|
|
91
|
-
**Reduced motion:**
|
|
92
|
-
|
|
93
|
-
- No motion — a static layout container.
|
|
94
|
-
|
|
95
|
-
## Token mapping
|
|
96
|
-
|
|
97
|
-
| Property | Token | Role |
|
|
98
|
-
|---|---|---|
|
|
99
|
-
| Background | `var(--dsx-color-surface)` | Group frame surface |
|
|
100
|
-
| Border | `var(--dsx-color-outline-variant)` | Group frame edge |
|
|
101
|
-
| Radius (full) | `var(--dsx-rounded-full)` | Pill frame |
|
|
102
|
-
| Radius (md) | `var(--dsx-rounded-md)` | Rectangular frame |
|
|
103
|
-
| Padding | `var(--dsx-space-xs)` | Inner gutter between frame edge and first/last child |
|
|
104
|
-
| Seam | `var(--dsx-color-outline-variant)` | Divider between adjacent children |
|
|
105
|
-
|
|
106
|
-
Rules:
|
|
107
|
-
|
|
108
|
-
- No raw color, spacing, radius, or motion values in this table or in the CSS file.
|
|
109
|
-
- Accent-driven children (a `ToggleGroup` item's active fill, a `SegmentedControl`'s active
|
|
110
|
-
state) keep their own accent tokens — `ControlGroup` does not repaint or override a child's own
|
|
111
|
-
interactive state, only its outer corner radius.
|
|
112
|
-
|
|
113
|
-
## Motion contract
|
|
114
|
-
|
|
115
|
-
| Region | Token | Default | Reduced |
|
|
116
|
-
|---|---|---|---|
|
|
117
|
-
| Root | `none` | `none` | `none` |
|
|
118
|
-
|
|
119
|
-
## Accessibility
|
|
120
|
-
|
|
121
|
-
**Roles:**
|
|
122
|
-
|
|
123
|
-
- `group` on the root, so assistive tech announces the contained controls as one related cluster.
|
|
124
|
-
|
|
125
|
-
**Keyboard:**
|
|
126
|
-
|
|
127
|
-
- No keyboard handling of its own — each child control owns its own keyboard interaction
|
|
128
|
-
(`Tab` moves between children exactly as it would without the wrapper).
|
|
129
|
-
|
|
130
|
-
**Focus:**
|
|
131
|
-
|
|
132
|
-
- A focused child's own focus ring must remain fully visible — the root's `overflow` stays
|
|
133
|
-
visible (not `hidden`), so a focus ring is never clipped by the group's rounded corners.
|
|
134
|
-
|
|
135
|
-
**Reduced motion:**
|
|
136
|
-
|
|
137
|
-
- N/A — no motion.
|
|
138
|
-
|
|
139
|
-
**Color and meaning:**
|
|
140
|
-
|
|
141
|
-
- N/A — a layout container, no semantic state of its own.
|
|
142
|
-
|
|
143
|
-
**Naming:**
|
|
144
|
-
|
|
145
|
-
- The root's `aria-label` is left to the consumer when the group's purpose isn't obvious from its
|
|
146
|
-
children's own labels (e.g. `<ControlGroup aria-label="Currency and language">`).
|
|
147
|
-
|
|
148
|
-
## Playground demo spec
|
|
149
|
-
|
|
150
|
-
**Default story:**
|
|
151
|
-
|
|
152
|
-
- Renders `ControlGroup` with a `Select` and a `ToggleGroup` child, no extra props.
|
|
153
|
-
- Asserts the root class is `dsx-control-group`.
|
|
154
|
-
|
|
155
|
-
**Variant story** (one per `radius` value):
|
|
156
|
-
|
|
157
|
-
- `radius="full"` and `radius="md"`, asserting `data-group-radius` matches.
|
|
158
|
-
|
|
159
|
-
**State story:**
|
|
160
|
-
|
|
161
|
-
- One child focused (via `Tab`) — asserts the focus ring is not clipped.
|
|
162
|
-
|
|
163
|
-
**Composition story:**
|
|
164
|
-
|
|
165
|
-
- Three children (`Select`, `Separator`-free two-item `ToggleGroup`, `Button`) to prove the
|
|
166
|
-
corner-radius mechanism holds for more than two children.
|
|
167
|
-
|
|
168
|
-
**Token story:**
|
|
169
|
-
|
|
170
|
-
- Rendered inside `Theme` with `accentColor="silver"` and `accentColor="bronze"` — asserts a
|
|
171
|
-
`ToggleGroup` child's active-item fill still resolves to the right accent (proving
|
|
172
|
-
`ControlGroup` doesn't interfere with a child's own accent scoping).
|
|
173
|
-
|
|
174
|
-
**A11y story:**
|
|
175
|
-
|
|
176
|
-
- `vitest-axe` on the composition story.
|
|
177
|
-
|
|
178
|
-
**Props exposed in the playground controls:**
|
|
179
|
-
|
|
180
|
-
| Prop | Control | Default |
|
|
181
|
-
|---|---|---|
|
|
182
|
-
| `size` | `select` | `md` |
|
|
183
|
-
| `radius` | `select` | `full` |
|
|
184
|
-
|
|
185
|
-
## Wiring notes
|
|
186
|
-
|
|
187
|
-
**Composes from:**
|
|
188
|
-
|
|
189
|
-
- Any DS interactive component as a direct child — `Select`, `ToggleGroup`, `SegmentedControl`,
|
|
190
|
-
`Button`, `IconButton` are the ones currently exercised.
|
|
191
|
-
|
|
192
|
-
**Used by:**
|
|
193
|
-
|
|
194
|
-
- Landing header's currency + language cluster (`apps/playground/.../landing/_shared/landing-view.tsx`)
|
|
195
|
-
— the motivating real usage. Previously hand-built as a bordered `Stack` with per-instance CSS
|
|
196
|
-
overrides for corner radius; migrated to `ControlGroup` in the same change that added this spec.
|
|
197
|
-
|
|
198
|
-
**State boundaries:**
|
|
199
|
-
|
|
200
|
-
- Owned by this component: corner-radius/seam geometry only.
|
|
201
|
-
- Owned by the consumer: every child's own value/state — `ControlGroup` never reads or writes a
|
|
202
|
-
child's `value`/`onValueChange`.
|
|
203
|
-
|
|
204
|
-
**Boundary rules:**
|
|
205
|
-
|
|
206
|
-
- App-owned data: which controls are grouped, their values, their change handlers.
|
|
207
|
-
- DS-owned visuals: the group frame's border/background/radius and the inter-child seam.
|
|
208
|
-
|
|
209
|
-
**Distinction from InputGroup:** `InputGroup`'s purpose is input-centric (a text field with
|
|
210
|
-
leading/trailing addons — "Ideal for search fields, URLs, copy/share flows," per its roster row)
|
|
211
|
-
and its convenience sub-components (`Addon`/`Text`/`Button`/`Input`/`Textarea`) assume the group
|
|
212
|
-
is built around exactly one text-entry control. `ControlGroup` has no such assumption — it exists
|
|
213
|
-
for clusters where no single child is "the" input (e.g. two independent selectors). Using
|
|
214
|
-
`InputGroup` for the landing header (checked before building this) would have stretched it past
|
|
215
|
-
its documented purpose for a resemblance in CSS mechanism alone, not a real semantic fit.
|
|
216
|
-
|
|
217
|
-
## Penpot build recipe
|
|
218
|
-
|
|
219
|
-
### Root board
|
|
220
|
-
|
|
221
|
-
- **Name**: `Components / ControlGroup`.
|
|
222
|
-
- **Dimensions**: `auto × auto` (content-sized).
|
|
223
|
-
- **Layout**: `Flex`.
|
|
224
|
-
- **Sizing**: `horizontalSizing = 'auto'`, `verticalSizing = 'auto'`.
|
|
225
|
-
|
|
226
|
-
### Layer tree
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
ControlGroup
|
|
230
|
-
├── Child 1 (e.g. Select instance)
|
|
231
|
-
├── Seam (1px divider)
|
|
232
|
-
└── Child 2 (e.g. ToggleGroup instance)
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### Token bindings (Penpot properties)
|
|
236
|
-
|
|
237
|
-
| Shape | Property | Token | Token type | Penpot property name |
|
|
238
|
-
|---|---|---|---|---|
|
|
239
|
-
| Root | fill | `--dsx-color-surface` | Color | fills |
|
|
240
|
-
| Root | stroke | `--dsx-color-outline-variant` | Color | strokes |
|
|
241
|
-
| Root | radius | `--dsx-rounded-full` | Radius | corner-radius |
|
|
242
|
-
| Root | padding | `--dsx-space-xs` | Spacing | padding |
|
|
243
|
-
| Seam | fill | `--dsx-color-outline-variant` | Color | fills |
|
|
244
|
-
|
|
245
|
-
### State transformations
|
|
246
|
-
|
|
247
|
-
| State | Root fill | Stroke | Text fill | Shadow |
|
|
248
|
-
|---|---|---|---|---|
|
|
249
|
-
| `default` | `--dsx-color-surface` | `--dsx-color-outline-variant` | n/a (children own their own text) | none |
|
|
250
|
-
|
|
251
|
-
### Variant model
|
|
252
|
-
|
|
253
|
-
- `radius`: `full`, `md`. Default `full`.
|
|
254
|
-
- `size`: `sm`, `md`, `lg`. Default `md`.
|
|
255
|
-
- Total members: `6`.
|
|
256
|
-
|
|
257
|
-
### Validation checklist
|
|
258
|
-
|
|
259
|
-
- [ ] Token bindings resolve at the values `DESIGN.md` describes.
|
|
260
|
-
- [ ] Component is promoted to Main Component under `Components`.
|
|
261
|
-
- [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
|