@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
|
@@ -39,24 +39,18 @@ module.exports = __toCommonJS(DataTable_exports);
|
|
|
39
39
|
var React = __toESM(require("react"), 1);
|
|
40
40
|
var import_classnames = __toESM(require("classnames"), 1);
|
|
41
41
|
var import_extractProps = require("../../_internal/helpers/extractProps");
|
|
42
|
+
var import_Button = require("../button/Button");
|
|
42
43
|
var import_Checkbox = require("../checkbox/Checkbox");
|
|
43
|
-
var
|
|
44
|
+
var import_Icon = require("../icon/Icon");
|
|
44
45
|
var import_Table = require("../table/Table");
|
|
46
|
+
var import_DataTableContext = require("./DataTableContext");
|
|
45
47
|
var import_dataTable = require("./dataTable.props");
|
|
48
|
+
var import_dataTable2 = require("./dataTable.export");
|
|
46
49
|
var import_DataTableToolbar = require("./DataTableToolbar");
|
|
47
50
|
var import_DataTablePagination = require("./DataTablePagination");
|
|
48
51
|
var import_DataTableFacetedFilter = require("./DataTableFacetedFilter");
|
|
49
52
|
var import_Result = require("../result/Result");
|
|
50
53
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
51
|
-
const DATA_TABLE_CONTROLS_STYLE = {
|
|
52
|
-
display: "flex",
|
|
53
|
-
alignItems: "center",
|
|
54
|
-
gap: "var(--dsx-space-sm)",
|
|
55
|
-
padding: "var(--dsx-space-md)"
|
|
56
|
-
};
|
|
57
|
-
const DATA_TABLE_SEARCH_STYLE = {
|
|
58
|
-
width: "100%"
|
|
59
|
-
};
|
|
60
54
|
const DATA_TABLE_SELECTION_CELL_STYLE = {
|
|
61
55
|
width: "1%",
|
|
62
56
|
whiteSpace: "nowrap"
|
|
@@ -75,10 +69,6 @@ const DATA_TABLE_HEADER_BUTTON_STYLE = {
|
|
|
75
69
|
textAlign: "left",
|
|
76
70
|
cursor: "pointer"
|
|
77
71
|
};
|
|
78
|
-
const DATA_TABLE_SORT_ICON_STYLE = {
|
|
79
|
-
color: "var(--dsx-color-on-surface-variant)",
|
|
80
|
-
fontSize: "0.875em"
|
|
81
|
-
};
|
|
82
72
|
const DATA_TABLE_EXPAND_CELL_STYLE = {
|
|
83
73
|
width: "1%",
|
|
84
74
|
whiteSpace: "nowrap"
|
|
@@ -154,19 +144,7 @@ function getNextSortState(currentSort, columnId) {
|
|
|
154
144
|
if (!currentSort || currentSort.columnId !== columnId) {
|
|
155
145
|
return { columnId, direction: "asc" };
|
|
156
146
|
}
|
|
157
|
-
return {
|
|
158
|
-
columnId,
|
|
159
|
-
direction: currentSort.direction === "asc" ? "desc" : "asc"
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
function getSortIcon(direction) {
|
|
163
|
-
if (direction === "asc") {
|
|
164
|
-
return "\u2191";
|
|
165
|
-
}
|
|
166
|
-
if (direction === "desc") {
|
|
167
|
-
return "\u2193";
|
|
168
|
-
}
|
|
169
|
-
return "\u2195";
|
|
147
|
+
return currentSort.direction === "asc" ? { columnId, direction: "desc" } : null;
|
|
170
148
|
}
|
|
171
149
|
function getColumnValue(column, row, rowIndex) {
|
|
172
150
|
if (column.accessorKey) {
|
|
@@ -182,7 +160,7 @@ function DataTableInner(props, forwardedRef) {
|
|
|
182
160
|
className: propClassName,
|
|
183
161
|
columns,
|
|
184
162
|
data,
|
|
185
|
-
emptyState
|
|
163
|
+
emptyState,
|
|
186
164
|
getRowId,
|
|
187
165
|
visibleColumnIds: controlledVisibleColumnIds,
|
|
188
166
|
onVisibleColumnIdsChange,
|
|
@@ -191,12 +169,28 @@ function DataTableInner(props, forwardedRef) {
|
|
|
191
169
|
facetedFilters: controlledFacetedFilters,
|
|
192
170
|
onFacetedFiltersChange,
|
|
193
171
|
toolbar,
|
|
172
|
+
query: controlledQuery,
|
|
173
|
+
defaultQuery = "",
|
|
174
|
+
onQueryChange,
|
|
194
175
|
showToolbar = true,
|
|
195
176
|
showPagination = false,
|
|
177
|
+
paginationPosition = "bottom",
|
|
178
|
+
paginationAlign,
|
|
179
|
+
paginationFirstLast = false,
|
|
180
|
+
paginationPageInput = false,
|
|
181
|
+
onTableChange,
|
|
182
|
+
bulkActions,
|
|
196
183
|
sortBy,
|
|
197
184
|
sortOrder = "asc",
|
|
198
185
|
onSortChange,
|
|
186
|
+
sorting: controlledSorting,
|
|
187
|
+
defaultSorting = null,
|
|
188
|
+
onSortingChange,
|
|
189
|
+
resetPageOnViewChange = true,
|
|
190
|
+
clearSelectionOnViewChange = true,
|
|
199
191
|
stickyHeader = false,
|
|
192
|
+
wrapScrollArea = true,
|
|
193
|
+
separator = "rules",
|
|
200
194
|
selectedRowIds: controlledSelectedRowIds,
|
|
201
195
|
defaultSelectedRowIds,
|
|
202
196
|
onSelectedRowIdsChange,
|
|
@@ -219,9 +213,10 @@ function DataTableInner(props, forwardedRef) {
|
|
|
219
213
|
},
|
|
220
214
|
import_dataTable.dataTablePropDefs
|
|
221
215
|
);
|
|
222
|
-
const [
|
|
223
|
-
const
|
|
224
|
-
const
|
|
216
|
+
const [internalQuery, setInternalQuery] = React.useState(defaultQuery);
|
|
217
|
+
const query = controlledQuery ?? internalQuery;
|
|
218
|
+
const [internalSort, setInternalSort] = React.useState(defaultSorting);
|
|
219
|
+
const sort = controlledSorting !== void 0 ? controlledSorting : sortBy ? { columnId: sortBy, direction: sortOrder } : internalSort;
|
|
225
220
|
const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState(() => new Set(defaultSelectedRowIds));
|
|
226
221
|
const selectedRowIds = controlledSelectedRowIds ?? internalSelectedRowIds;
|
|
227
222
|
const [internalExpandedRowIds, setInternalExpandedRowIds] = React.useState(() => new Set(defaultExpandedRowIds));
|
|
@@ -232,10 +227,18 @@ function DataTableInner(props, forwardedRef) {
|
|
|
232
227
|
page: 1,
|
|
233
228
|
pageSize: 10
|
|
234
229
|
});
|
|
235
|
-
const
|
|
230
|
+
const [internalVisibleColumnIds, setInternalVisibleColumnIds] = React.useState(
|
|
231
|
+
() => new Set(columns.map((column) => column.id))
|
|
232
|
+
);
|
|
233
|
+
const visibleColumnIds = controlledVisibleColumnIds ?? internalVisibleColumnIds;
|
|
236
234
|
const isPaginationControlled = controlledPagination !== void 0;
|
|
237
235
|
const pagination = isPaginationControlled ? controlledPagination : internalPagination;
|
|
238
236
|
const facetedFilters = controlledFacetedFilters ?? [];
|
|
237
|
+
const facetedFilterSignature = React.useMemo(
|
|
238
|
+
() => facetedFilters.map((filter) => `${filter.columnId}:${Array.from(filter.selectedValues).sort().join(",")}`).sort().join("|"),
|
|
239
|
+
[facetedFilters]
|
|
240
|
+
);
|
|
241
|
+
const previousFacetedFilterSignature = React.useRef(facetedFilterSignature);
|
|
239
242
|
const rows = React.useMemo(
|
|
240
243
|
() => data.map((row, rowIndex) => ({
|
|
241
244
|
row,
|
|
@@ -268,9 +271,12 @@ function DataTableInner(props, forwardedRef) {
|
|
|
268
271
|
const filteredRows = React.useMemo(() => {
|
|
269
272
|
let result2 = rows;
|
|
270
273
|
if (normalizedQuery) {
|
|
271
|
-
result2 = result2.filter(
|
|
272
|
-
|
|
273
|
-
|
|
274
|
+
result2 = result2.filter(({ row, rowIndex }) => {
|
|
275
|
+
const matchesRenderedColumns = columns.some((column) => stringifyDataTableValue(
|
|
276
|
+
getColumnValue(column, row, rowIndex)
|
|
277
|
+
).toLowerCase().includes(normalizedQuery));
|
|
278
|
+
return matchesRenderedColumns || stringifyDataTableValue(row).toLowerCase().includes(normalizedQuery);
|
|
279
|
+
});
|
|
274
280
|
}
|
|
275
281
|
if (facetedFilterMap.size > 0) {
|
|
276
282
|
result2 = result2.filter(({ row }) => {
|
|
@@ -322,10 +328,44 @@ function DataTableInner(props, forwardedRef) {
|
|
|
322
328
|
() => columns.filter((col) => visibleColumnIds.has(col.id)),
|
|
323
329
|
[columns, visibleColumnIds]
|
|
324
330
|
);
|
|
331
|
+
const emitTableChange = React.useCallback((action, paginationOverride, sortOverride) => {
|
|
332
|
+
const resolvedSort = sortOverride !== void 0 ? sortOverride : sort;
|
|
333
|
+
onTableChange?.(action, {
|
|
334
|
+
pagination: paginationOverride ?? pagination,
|
|
335
|
+
sortBy: resolvedSort ? resolvedSort.columnId : null,
|
|
336
|
+
sortOrder: resolvedSort ? resolvedSort.direction : sortOrder
|
|
337
|
+
});
|
|
338
|
+
}, [onTableChange, pagination, sort, sortOrder]);
|
|
339
|
+
const resetViewState = React.useCallback(() => {
|
|
340
|
+
const nextPagination = { ...pagination, page: 1 };
|
|
341
|
+
if (resetPageOnViewChange && pagination.page !== 1) {
|
|
342
|
+
if (!isPaginationControlled) setInternalPagination(nextPagination);
|
|
343
|
+
onPaginationChange?.(nextPagination);
|
|
344
|
+
}
|
|
345
|
+
if (clearSelectionOnViewChange && selectedRowIds.size > 0) {
|
|
346
|
+
if (controlledSelectedRowIds === void 0) setInternalSelectedRowIds(/* @__PURE__ */ new Set());
|
|
347
|
+
onSelectedRowIdsChange?.(/* @__PURE__ */ new Set());
|
|
348
|
+
}
|
|
349
|
+
return resetPageOnViewChange ? nextPagination : pagination;
|
|
350
|
+
}, [
|
|
351
|
+
clearSelectionOnViewChange,
|
|
352
|
+
controlledSelectedRowIds,
|
|
353
|
+
isPaginationControlled,
|
|
354
|
+
onPaginationChange,
|
|
355
|
+
onSelectedRowIdsChange,
|
|
356
|
+
pagination,
|
|
357
|
+
resetPageOnViewChange,
|
|
358
|
+
selectedRowIds
|
|
359
|
+
]);
|
|
325
360
|
function handleSort(columnId) {
|
|
326
|
-
const next =
|
|
327
|
-
|
|
328
|
-
|
|
361
|
+
const next = controlledSorting === void 0 && sortBy !== void 0 ? {
|
|
362
|
+
columnId,
|
|
363
|
+
direction: sort?.columnId === columnId && sort.direction === "asc" ? "desc" : "asc"
|
|
364
|
+
} : getNextSortState(sort, columnId);
|
|
365
|
+
if (controlledSorting === void 0 && sortBy === void 0) setInternalSort(next);
|
|
366
|
+
onSortingChange?.(next);
|
|
367
|
+
if (next) onSortChange?.(next.columnId, next.direction);
|
|
368
|
+
emitTableChange("sort", resetViewState(), next);
|
|
329
369
|
}
|
|
330
370
|
function updateSelection(updater) {
|
|
331
371
|
const next = updater(selectedRowIds);
|
|
@@ -372,6 +412,7 @@ function DataTableInner(props, forwardedRef) {
|
|
|
372
412
|
setInternalPagination(nextPagination);
|
|
373
413
|
}
|
|
374
414
|
onPaginationChange?.(nextPagination);
|
|
415
|
+
emitTableChange("paginate", nextPagination);
|
|
375
416
|
}
|
|
376
417
|
function handlePageSizeChange(nextPageSize) {
|
|
377
418
|
const nextPagination = { ...pagination, pageSize: nextPageSize, page: 1 };
|
|
@@ -379,20 +420,79 @@ function DataTableInner(props, forwardedRef) {
|
|
|
379
420
|
setInternalPagination(nextPagination);
|
|
380
421
|
}
|
|
381
422
|
onPaginationChange?.(nextPagination);
|
|
423
|
+
emitTableChange("paginate", nextPagination);
|
|
382
424
|
}
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
425
|
+
function handleQueryChange(nextQuery) {
|
|
426
|
+
if (controlledQuery === void 0) setInternalQuery(nextQuery);
|
|
427
|
+
onQueryChange?.(nextQuery);
|
|
428
|
+
emitTableChange("filter", resetViewState());
|
|
429
|
+
}
|
|
430
|
+
function handleVisibleColumnIdsChange(nextVisibleColumnIds) {
|
|
431
|
+
if (controlledVisibleColumnIds === void 0) setInternalVisibleColumnIds(nextVisibleColumnIds);
|
|
432
|
+
onVisibleColumnIdsChange?.(nextVisibleColumnIds);
|
|
433
|
+
}
|
|
434
|
+
function handleClearSelection() {
|
|
435
|
+
updateSelection(() => /* @__PURE__ */ new Set());
|
|
436
|
+
}
|
|
437
|
+
function handleClearFilters() {
|
|
438
|
+
handleQueryChange("");
|
|
439
|
+
onFacetedFiltersChange?.([]);
|
|
440
|
+
}
|
|
441
|
+
React.useEffect(() => {
|
|
442
|
+
if (previousFacetedFilterSignature.current === facetedFilterSignature) return;
|
|
443
|
+
previousFacetedFilterSignature.current = facetedFilterSignature;
|
|
444
|
+
emitTableChange("filter", resetViewState());
|
|
445
|
+
}, [emitTableChange, facetedFilterSignature, resetViewState]);
|
|
446
|
+
const defaultToolbar = showToolbar ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_DataTableToolbar.DataTableToolbar, { "aria-label": "Table tools", role: "group", children: [
|
|
447
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.Search, {}),
|
|
448
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table-toolbar__actions", children: [
|
|
449
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.RowCount, {}),
|
|
450
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.ColumnVisibility, {}),
|
|
451
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_DataTableToolbar.DataTableToolbar.Export, {})
|
|
452
|
+
] })
|
|
453
|
+
] }) : null;
|
|
454
|
+
const showTopPagination = showPagination && (paginationPosition === "top" || paginationPosition === "both");
|
|
455
|
+
const showBottomPagination = showPagination && (paginationPosition === "bottom" || paginationPosition === "both");
|
|
456
|
+
const selectedCount = selectedRowIds.size;
|
|
457
|
+
const showBulkBar = selectionMode === "multiple" && selectedCount > 0;
|
|
458
|
+
const toolbarContextValue = {
|
|
459
|
+
columns: columns.map((column) => ({ id: column.id, label: column.header })),
|
|
460
|
+
exportRows: (format) => (0, import_dataTable2.exportDataTableRows)(
|
|
461
|
+
format,
|
|
462
|
+
visibleRows.map(({ row }) => row),
|
|
463
|
+
visibleColumns
|
|
464
|
+
),
|
|
465
|
+
exportRowsProgressive: (format, onProgress) => (0, import_dataTable2.exportDataTableRowsProgressive)(
|
|
466
|
+
format,
|
|
467
|
+
visibleRows.map(({ row }) => row),
|
|
468
|
+
visibleColumns,
|
|
469
|
+
onProgress
|
|
470
|
+
),
|
|
471
|
+
filteredRowCount: visibleRows.length,
|
|
472
|
+
onQueryChange: handleQueryChange,
|
|
473
|
+
onVisibleColumnIdsChange: handleVisibleColumnIdsChange,
|
|
474
|
+
query,
|
|
475
|
+
selectedRowCount: selectedCount,
|
|
476
|
+
totalRowCount: rows.length,
|
|
477
|
+
visibleColumnIds
|
|
478
|
+
};
|
|
479
|
+
function renderPagination(position) {
|
|
480
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
481
|
+
import_DataTablePagination.DataTablePagination,
|
|
482
|
+
{
|
|
483
|
+
page: pagination.page,
|
|
484
|
+
pageSize: pagination.pageSize,
|
|
485
|
+
total: visibleRows.length,
|
|
486
|
+
onPageChange: handlePaginationChange,
|
|
487
|
+
onPageSizeChange: handlePageSizeChange,
|
|
488
|
+
align: paginationAlign,
|
|
489
|
+
showFirstLast: paginationFirstLast,
|
|
490
|
+
showPageInput: paginationPageInput,
|
|
491
|
+
className: position === "top" ? "dsx-data-table__pagination-top" : void 0
|
|
492
|
+
}
|
|
493
|
+
);
|
|
494
|
+
}
|
|
495
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
396
496
|
"div",
|
|
397
497
|
{
|
|
398
498
|
...dataTableProps,
|
|
@@ -401,9 +501,20 @@ function DataTableInner(props, forwardedRef) {
|
|
|
401
501
|
"data-empty": isEmpty ? "true" : void 0,
|
|
402
502
|
"data-size": size,
|
|
403
503
|
"data-sticky-header": stickyHeader ? "true" : void 0,
|
|
404
|
-
children: [
|
|
405
|
-
|
|
406
|
-
|
|
504
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_DataTableContext.DataTableToolbarContext.Provider, { value: toolbarContextValue, children: [
|
|
505
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__toolbar-region", children: [
|
|
506
|
+
toolbar ?? defaultToolbar,
|
|
507
|
+
showBulkBar ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__bulk-bar", role: "group", "aria-label": "Selected row actions", children: [
|
|
508
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "dsx-data-table__bulk-bar-count", role: "status", "aria-live": "polite", children: [
|
|
509
|
+
selectedCount,
|
|
510
|
+
" selected"
|
|
511
|
+
] }),
|
|
512
|
+
bulkActions ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "dsx-data-table__bulk-bar-actions", children: bulkActions }) : null,
|
|
513
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, { className: "dsx-data-table__bulk-bar-clear", size: "sm", type: "button", variant: "ghost", onClick: handleClearSelection, children: "Deselect all" })
|
|
514
|
+
] }) : null
|
|
515
|
+
] }),
|
|
516
|
+
showTopPagination ? renderPagination("top") : null,
|
|
517
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Table.Table, { size, wrapScrollArea, separator, children: [
|
|
407
518
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Table.TableRow, { children: [
|
|
408
519
|
expandedRowRender ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableHead, { "aria-label": "Expand row", style: DATA_TABLE_EXPAND_CELL_STYLE }) : null,
|
|
409
520
|
selectionMode === "multiple" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableHead, { "aria-label": "Select rows", style: DATA_TABLE_SELECTION_CELL_STYLE, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -426,9 +537,23 @@ function DataTableInner(props, forwardedRef) {
|
|
|
426
537
|
"data-truncate": column.truncate ? "true" : void 0,
|
|
427
538
|
"data-hide-below": column.hideBelow,
|
|
428
539
|
style: { width: typeof column.width === "object" ? void 0 : column.width, minWidth: typeof column.width === "object" ? column.width.min : void 0, maxWidth: typeof column.width === "object" ? column.width.max : void 0 },
|
|
429
|
-
children: column.sortable !== false ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { style: DATA_TABLE_HEADER_BUTTON_STYLE, type: "button", onClick: () => handleSort(column.id), children: [
|
|
540
|
+
children: column.sortable !== false ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { className: "dsx-data-table__sort-button", style: DATA_TABLE_HEADER_BUTTON_STYLE, type: "button", onClick: () => handleSort(column.id), children: [
|
|
430
541
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: column.header }),
|
|
431
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
542
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
543
|
+
"span",
|
|
544
|
+
{
|
|
545
|
+
"aria-hidden": "true",
|
|
546
|
+
className: "dsx-data-table__sort-indicator",
|
|
547
|
+
"data-direction": sort?.columnId === column.id ? sort.direction : "none",
|
|
548
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
549
|
+
import_Icon.Icon,
|
|
550
|
+
{
|
|
551
|
+
name: sort?.columnId === column.id ? sort.direction === "asc" ? "arrow-up" : "arrow-down" : "arrow-up-down",
|
|
552
|
+
size: "sm"
|
|
553
|
+
}
|
|
554
|
+
)
|
|
555
|
+
}
|
|
556
|
+
)
|
|
432
557
|
] }) : column.header
|
|
433
558
|
},
|
|
434
559
|
column.id
|
|
@@ -467,19 +592,19 @@ function DataTableInner(props, forwardedRef) {
|
|
|
467
592
|
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Table.TableCell, { className: "dsx-data-table__empty", colSpan: visibleColumns.length + (selectionMode === "multiple" ? 1 : 0) + (expandedRowRender ? 1 : 0), "data-empty": "true", children: result ?? (listState ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Result.Result, { state: listState, children: [
|
|
468
593
|
listState === "loading" ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Result.Result.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Result.Result.Illustration, { variant: import_Result.RESULT_ILLUSTRATION_VARIANT_BY_STATE[listState] }) }),
|
|
469
594
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Result.Result.Title, { children: listState === "loading" ? "Loading" : listState === "error" ? "Unable to load data" : listState === "no-results" ? "No matching results" : "No data" })
|
|
470
|
-
] }) : emptyState
|
|
595
|
+
] }) : emptyState ?? (rows.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__empty-content", children: [
|
|
596
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { "aria-hidden": "true", name: "search", size: "md" }),
|
|
597
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: "No matching rows" }),
|
|
598
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "Try changing your search or filters." }),
|
|
599
|
+
normalizedQuery !== "" || facetedFilterSignature !== "" ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Button.Button, { size: "sm", type: "button", variant: "ghost", onClick: handleClearFilters, children: "Clear search and filters" }) : null
|
|
600
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-data-table__empty-content", children: [
|
|
601
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { "aria-hidden": "true", name: "inbox", size: "md" }),
|
|
602
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: "No rows yet" }),
|
|
603
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: "When rows arrive they will appear here." })
|
|
604
|
+
] }))) }) }) })
|
|
471
605
|
] }),
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
{
|
|
475
|
-
page: pagination.page,
|
|
476
|
-
pageSize: pagination.pageSize,
|
|
477
|
-
total: visibleRows.length,
|
|
478
|
-
onPageChange: handlePaginationChange,
|
|
479
|
-
onPageSizeChange: handlePageSizeChange
|
|
480
|
-
}
|
|
481
|
-
)
|
|
482
|
-
]
|
|
606
|
+
showBottomPagination ? renderPagination("bottom") : null
|
|
607
|
+
] })
|
|
483
608
|
}
|
|
484
609
|
);
|
|
485
610
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/dataTable/DataTable.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { Input } from '../input/Input'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../table/Table'\nimport { dataTablePropDefs } from './dataTable.props'\nimport { DataTableToolbar } from './DataTableToolbar'\nimport { DataTablePagination } from './DataTablePagination'\nimport { DataTableFacetedFilter } from './DataTableFacetedFilter'\nimport { RESULT_ILLUSTRATION_VARIANT_BY_STATE, Result } from '../result/Result'\n\ntype DataTableSortDirection = 'asc' | 'desc'\n\ntype DataTableSortState = {\n columnId: string\n direction: DataTableSortDirection\n}\n\ntype DataTableRowMeta<Row> = {\n row: Row\n rowId: React.Key\n rowIndex: number\n}\n\nconst DATA_TABLE_CONTROLS_STYLE: React.CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--dsx-space-sm)',\n padding: 'var(--dsx-space-md)',\n}\n\nconst DATA_TABLE_SEARCH_STYLE: React.CSSProperties = {\n width: '100%',\n}\n\nconst DATA_TABLE_SELECTION_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_HEADER_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'var(--dsx-space-xs)',\n width: '100%',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n}\n\nconst DATA_TABLE_SORT_ICON_STYLE: React.CSSProperties = {\n color: 'var(--dsx-color-on-surface-variant)',\n fontSize: '0.875em',\n}\n\nconst DATA_TABLE_EXPAND_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_EXPAND_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '1.5rem',\n height: '1.5rem',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'var(--dsx-color-on-surface-variant)',\n cursor: 'pointer',\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') {\n return ''\n }\n\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'bigint') {\n return String(node)\n }\n\n if (Array.isArray(node)) {\n return node.map((child) => getNodeText(child)).join(' ')\n }\n\n if (React.isValidElement(node)) {\n const props = node.props as { children?: React.ReactNode }\n\n return getNodeText(props.children)\n }\n\n return ''\n}\n\nfunction stringifyDataTableValue(value: unknown): string {\n if (value == null || typeof value === 'boolean') {\n return value ? 'true' : ''\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint') {\n return String(value)\n }\n\n if (value instanceof Date) {\n return value.toISOString()\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => stringifyDataTableValue(item)).join(' ')\n }\n\n if (React.isValidElement(value)) {\n return getNodeText(value)\n }\n\n if (typeof value === 'object') {\n return Object.values(value as Record<string, unknown>)\n .map((item) => stringifyDataTableValue(item))\n .join(' ')\n }\n\n return ''\n}\n\nfunction compareDataTableValues(left: unknown, right: unknown): number {\n if (typeof left === 'number' && typeof right === 'number') {\n return left - right\n }\n\n if (typeof left === 'bigint' && typeof right === 'bigint') {\n return left > right ? 1 : left < right ? -1 : 0\n }\n\n if (left instanceof Date && right instanceof Date) {\n return left.getTime() - right.getTime()\n }\n\n if (typeof left === 'boolean' && typeof right === 'boolean') {\n return Number(left) - Number(right)\n }\n\n return stringifyDataTableValue(left).localeCompare(stringifyDataTableValue(right), undefined, {\n numeric: true,\n sensitivity: 'base',\n })\n}\n\nfunction getNextSortState(currentSort: DataTableSortState | null, columnId: string): DataTableSortState {\n if (!currentSort || currentSort.columnId !== columnId) {\n return { columnId, direction: 'asc' }\n }\n\n return {\n columnId,\n direction: currentSort.direction === 'asc' ? 'desc' : 'asc',\n }\n}\n\nfunction getSortIcon(direction?: DataTableSortDirection): string {\n if (direction === 'asc') {\n return '\u2191'\n }\n\n if (direction === 'desc') {\n return '\u2193'\n }\n\n return '\u2195'\n}\n\nfunction getColumnValue<Row extends Record<string, unknown>>(\n column: DataTableColumn<Row>,\n row: Row,\n rowIndex: number,\n): unknown {\n if (column.accessorKey) {\n return row[column.accessorKey]\n }\n\n if (column.cell) {\n return column.cell(row, rowIndex)\n }\n\n return null\n}\n\ntype DataTableColumn<Row> = {\n accessorKey?: keyof Row\n cell?: (row: Row, rowIndex: number) => React.ReactNode\n header: React.ReactNode\n id: string\n width?: string | number | { min?: string | number; max?: string | number }\n align?: 'start' | 'center' | 'end'\n numeric?: boolean\n sortable?: boolean\n truncate?: boolean\n hideBelow?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n}\n\ntype DataTablePaginationState = {\n page: number\n pageSize: number\n}\n\ntype DataTableFacetedFilterState = {\n columnId: string\n accessorKey: string\n selectedValues: Set<string>\n}\n\ntype DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n columns: Array<DataTableColumn<Row>>\n data: Row[]\n emptyState?: React.ReactNode\n size?: 'sm' | 'md' | 'lg'\n getRowId?: (row: Row, rowIndex: number) => React.Key\n visibleColumnIds?: Set<string>\n onVisibleColumnIdsChange?: (visibleColumnIds: Set<string>) => void\n pagination?: DataTablePaginationState\n onPaginationChange?: (pagination: DataTablePaginationState) => void\n facetedFilters?: Array<DataTableFacetedFilterState>\n onFacetedFiltersChange?: (facetedFilters: Array<DataTableFacetedFilterState>) => void\n toolbar?: React.ReactNode\n showToolbar?: boolean\n showPagination?: boolean\n sortBy?: string | null\n sortOrder?: DataTableSortDirection\n onSortChange?: (sortBy: string, sortOrder: DataTableSortDirection) => void\n stickyHeader?: boolean\n selectedRowIds?: Set<React.Key>\n defaultSelectedRowIds?: Iterable<React.Key>\n onSelectedRowIdsChange?: (selectedRowIds: Set<React.Key>) => void\n selectionMode?: 'multiple' | 'none'\n listState?: 'loading' | 'empty' | 'no-results' | 'error'\n result?: React.ReactNode\n expandedRowRender?: (row: Row, rowIndex: number) => React.ReactNode\n expandedRowIds?: Set<React.Key>\n defaultExpandedRowIds?: Iterable<React.Key>\n onExpandedRowIdsChange?: (expandedRowIds: Set<React.Key>) => void\n renderRowEditor?: (row: Row, rowIndex: number) => React.ReactNode\n editingRowId?: React.Key | null\n}\n\ntype DataTableComponent = <Row extends Record<string, unknown>>(\n props: DataTableProps<Row> & React.RefAttributes<HTMLDivElement>,\n) => React.ReactElement | null\n\nfunction DataTableInner<Row extends Record<string, unknown>>(\n props: DataTableProps<Row>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n className: propClassName,\n columns,\n data,\n emptyState = 'No results.',\n getRowId,\n visibleColumnIds: controlledVisibleColumnIds,\n onVisibleColumnIdsChange,\n pagination: controlledPagination,\n onPaginationChange,\n facetedFilters: controlledFacetedFilters,\n onFacetedFiltersChange,\n toolbar,\n showToolbar = true,\n showPagination = false,\n sortBy,\n sortOrder = 'asc',\n onSortChange,\n stickyHeader = false,\n selectedRowIds: controlledSelectedRowIds,\n defaultSelectedRowIds,\n onSelectedRowIdsChange,\n selectionMode = 'multiple',\n listState,\n result,\n size = 'md',\n expandedRowRender,\n expandedRowIds: controlledExpandedRowIds,\n defaultExpandedRowIds,\n onExpandedRowIdsChange,\n renderRowEditor,\n editingRowId = null,\n ...restProps\n } = props\n const { className, ...dataTableProps } = extractProps(\n {\n ...restProps,\n className: propClassName,\n },\n dataTablePropDefs,\n )\n\n const [query, setQuery] = React.useState('')\n const [internalSort, setInternalSort] = React.useState<DataTableSortState | null>(null)\n const sort = sortBy ? { columnId: sortBy, direction: sortOrder } : internalSort\n const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultSelectedRowIds))\n const selectedRowIds = controlledSelectedRowIds ?? internalSelectedRowIds\n\n const [internalExpandedRowIds, setInternalExpandedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultExpandedRowIds))\n const expandedRowIds = controlledExpandedRowIds ?? internalExpandedRowIds\n\n const truncatingColumns = columns.filter((column) => column.truncate)\n if (truncatingColumns.length > 1) throw new Error('DataTable supports at most one truncating column.')\n\n const [internalPagination, setInternalPagination] = React.useState<DataTablePaginationState>({\n page: 1,\n pageSize: 10,\n })\n\n const visibleColumnIds = controlledVisibleColumnIds ?? new Set(columns.map((col) => col.id))\n\n const isPaginationControlled = controlledPagination !== undefined\n const pagination = isPaginationControlled ? controlledPagination : internalPagination\n\n const facetedFilters = controlledFacetedFilters ?? []\n\n const rows = React.useMemo<Array<DataTableRowMeta<Row>>>(\n () =>\n data.map((row, rowIndex) => ({\n row,\n rowId: getRowId?.(row, rowIndex) ?? rowIndex,\n rowIndex,\n })),\n [data, getRowId],\n )\n\n React.useEffect(() => {\n const availableRowIds = new Set(rows.map((row) => row.rowId))\n\n if (controlledSelectedRowIds) return\n setInternalSelectedRowIds((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(\n Array.from(currentSelectedRowIds).filter((rowId) => availableRowIds.has(rowId)),\n )\n\n if (\n nextSelectedRowIds.size === currentSelectedRowIds.size\n && Array.from(nextSelectedRowIds).every((rowId) => currentSelectedRowIds.has(rowId))\n ) {\n return currentSelectedRowIds\n }\n\n return nextSelectedRowIds\n })\n }, [controlledSelectedRowIds, rows])\n\n const normalizedQuery = query.trim().toLowerCase()\n\n const facetedFilterMap = React.useMemo(() => {\n const map = new Map<string, Set<string>>()\n for (const filter of facetedFilters) {\n map.set(filter.columnId, filter.selectedValues)\n }\n return map\n }, [facetedFilters])\n\n const filteredRows = React.useMemo(() => {\n let result = rows\n\n if (normalizedQuery) {\n result = result.filter(({ row, rowIndex }) =>\n columns.some((column) => stringifyDataTableValue(getColumnValue(column, row, rowIndex)).toLowerCase().includes(normalizedQuery)),\n )\n }\n\n if (facetedFilterMap.size > 0) {\n result = result.filter(({ row }) => {\n for (const [columnId, selectedValues] of facetedFilterMap) {\n if (selectedValues.size === 0) continue\n const column = columns.find((col) => col.id === columnId)\n if (!column || !column.accessorKey) continue\n const cellValue = stringifyDataTableValue(row[column.accessorKey]).toLowerCase()\n if (!selectedValues.has(cellValue)) {\n return false\n }\n }\n return true\n })\n }\n\n return result\n }, [columns, normalizedQuery, rows, facetedFilterMap])\n\n const visibleRows = React.useMemo(() => {\n if (!sort) {\n return filteredRows\n }\n\n const activeColumn = columns.find((column) => column.id === sort.columnId)\n\n if (!activeColumn) {\n return filteredRows\n }\n\n const direction = sort.direction === 'asc' ? 1 : -1\n\n return [...filteredRows].sort((leftRow, rightRow) => {\n const comparison = compareDataTableValues(\n getColumnValue(activeColumn, leftRow.row, leftRow.rowIndex),\n getColumnValue(activeColumn, rightRow.row, rightRow.rowIndex),\n )\n\n if (comparison !== 0) {\n return comparison * direction\n }\n\n return leftRow.rowIndex - rightRow.rowIndex\n })\n }, [columns, filteredRows, sort])\n\n const paginatedRows = React.useMemo(() => {\n if (!showPagination) return visibleRows\n const start = (pagination.page - 1) * pagination.pageSize\n return visibleRows.slice(start, start + pagination.pageSize)\n }, [visibleRows, pagination, showPagination])\n\n const isEmpty = paginatedRows.length === 0\n const hasVisibleRows = paginatedRows.length > 0\n const selectedVisibleRowCount = paginatedRows.filter((row) => selectedRowIds.has(row.rowId)).length\n const allVisibleRowsSelected = hasVisibleRows && selectedVisibleRowCount === paginatedRows.length\n const someVisibleRowsSelected = selectedVisibleRowCount > 0 && !allVisibleRowsSelected\n\n const visibleColumns = React.useMemo(\n () => columns.filter((col) => visibleColumnIds.has(col.id)),\n [columns, visibleColumnIds],\n )\n\n function handleSort(columnId: string) {\n const next = getNextSortState(sort, columnId)\n if (sortBy === undefined) setInternalSort(next)\n onSortChange?.(next.columnId, next.direction)\n }\n\n function updateSelection(updater: (current: Set<React.Key>) => Set<React.Key>) {\n const next = updater(selectedRowIds)\n if (controlledSelectedRowIds === undefined) setInternalSelectedRowIds(next)\n onSelectedRowIdsChange?.(next)\n }\n\n function handleRowSelectionChange(rowId: React.Key, checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n if (checked) {\n nextSelectedRowIds.add(rowId)\n } else {\n nextSelectedRowIds.delete(rowId)\n }\n\n return nextSelectedRowIds\n })\n }\n\n function handleSelectAllRows(checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n for (const row of paginatedRows) {\n if (checked) {\n nextSelectedRowIds.add(row.rowId)\n } else {\n nextSelectedRowIds.delete(row.rowId)\n }\n }\n\n return nextSelectedRowIds\n })\n }\n\n function toggleRowExpanded(rowId: React.Key) {\n const nextExpandedRowIds = new Set(expandedRowIds)\n\n if (nextExpandedRowIds.has(rowId)) {\n nextExpandedRowIds.delete(rowId)\n } else {\n nextExpandedRowIds.add(rowId)\n }\n\n if (controlledExpandedRowIds === undefined) setInternalExpandedRowIds(nextExpandedRowIds)\n onExpandedRowIdsChange?.(nextExpandedRowIds)\n }\n\n function handlePaginationChange(nextPage: number) {\n const nextPagination = { ...pagination, page: nextPage }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n }\n\n function handlePageSizeChange(nextPageSize: number) {\n const nextPagination = { ...pagination, pageSize: nextPageSize, page: 1 }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n }\n\n const defaultToolbar = showToolbar ? (\n <div style={DATA_TABLE_CONTROLS_STYLE}>\n <Input\n aria-label=\"Search table rows\"\n density=\"sm\"\n onChange={(event) => setQuery(event.currentTarget.value)}\n placeholder=\"Search rows\"\n style={DATA_TABLE_SEARCH_STYLE}\n type=\"search\"\n value={query}\n />\n </div>\n ) : null\n\n return (\n <div\n {...dataTableProps}\n ref={forwardedRef}\n className={classNames('dsx-data-table', className)}\n data-empty={isEmpty ? 'true' : undefined}\n data-size={size}\n data-sticky-header={stickyHeader ? 'true' : undefined}\n >\n {toolbar ?? defaultToolbar}\n <Table>\n <TableHeader>\n <TableRow>\n {expandedRowRender ? <TableHead aria-label=\"Expand row\" style={DATA_TABLE_EXPAND_CELL_STYLE} /> : null}\n {selectionMode === 'multiple' ? <TableHead aria-label=\"Select rows\" style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={allVisibleRowsSelected ? 'Deselect all visible rows' : 'Select all visible rows'}\n checked={allVisibleRowsSelected ? true : someVisibleRowsSelected ? 'indeterminate' : false}\n disabled={!hasVisibleRows}\n onCheckedChange={(checked) => handleSelectAllRows(checked === true)}\n size=\"sm\"\n />\n </TableHead> : null}\n {visibleColumns.map((column) => (\n <TableHead\n key={column.id}\n aria-sort={sort?.columnId === column.id ? (sort.direction === 'asc' ? 'ascending' : 'descending') : 'none'}\n data-sort-direction={sort?.columnId === column.id ? sort.direction : undefined}\n data-align={column.numeric ? 'end' : column.align}\n data-numeric={column.numeric ? 'true' : undefined}\n data-truncate={column.truncate ? 'true' : undefined}\n data-hide-below={column.hideBelow}\n style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}\n >\n {column.sortable !== false ? <button style={DATA_TABLE_HEADER_BUTTON_STYLE} type=\"button\" onClick={() => handleSort(column.id)}>\n <span>{column.header}</span>\n <span aria-hidden=\"true\" style={DATA_TABLE_SORT_ICON_STYLE}>\n {getSortIcon(sort?.columnId === column.id ? sort.direction : undefined)}\n </span>\n </button> : column.header}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {!isEmpty && !listState ? (\n paginatedRows.map(({ row, rowId, rowIndex }) => {\n const isRowExpanded = Boolean(expandedRowRender) && expandedRowIds.has(rowId)\n const isRowEditing = Boolean(renderRowEditor) && editingRowId === rowId\n const detailColSpan = visibleColumns.length\n + (selectionMode === 'multiple' ? 1 : 0)\n + (expandedRowRender ? 1 : 0)\n\n return (\n <React.Fragment key={rowId}>\n <TableRow data-selected={selectedRowIds.has(rowId) ? 'true' : undefined} data-editing={isRowEditing ? 'true' : undefined}>\n {expandedRowRender ? <TableCell style={DATA_TABLE_EXPAND_CELL_STYLE}>\n <button\n aria-expanded={isRowExpanded}\n aria-label={isRowExpanded ? `Collapse row ${rowIndex + 1}` : `Expand row ${rowIndex + 1}`}\n onClick={() => toggleRowExpanded(rowId)}\n style={DATA_TABLE_EXPAND_BUTTON_STYLE}\n type=\"button\"\n >\n <span aria-hidden=\"true\">{isRowExpanded ? '\u25BE' : '\u25B8'}</span>\n </button>\n </TableCell> : null}\n {selectionMode === 'multiple' ? <TableCell style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={`Select row ${rowIndex + 1}`}\n checked={selectedRowIds.has(rowId)}\n onCheckedChange={(checked) => handleRowSelectionChange(rowId, checked === true)}\n size=\"sm\"\n />\n </TableCell> : null}\n {isRowEditing ? (\n <TableCell className=\"dsx-data-table__row-editor\" colSpan={visibleColumns.length}>\n {renderRowEditor!(row, rowIndex)}\n </TableCell>\n ) : (\n visibleColumns.map((column) => (\n <TableCell key={column.id} data-align={column.numeric ? 'end' : column.align} data-numeric={column.numeric ? 'true' : undefined} data-truncate={column.truncate ? 'true' : undefined} data-hide-below={column.hideBelow} style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}>\n {column.cell?.(row, rowIndex) ?? (column.accessorKey ? String(row[column.accessorKey] ?? '') : null)}\n </TableCell>\n ))\n )}\n </TableRow>\n {isRowExpanded ? (\n <TableRow data-expanded-detail=\"true\">\n <TableCell className=\"dsx-data-table__expanded-detail\" colSpan={detailColSpan}>\n {expandedRowRender!(row, rowIndex)}\n </TableCell>\n </TableRow>\n ) : null}\n </React.Fragment>\n )\n })\n ) : (\n <TableRow>\n <TableCell className=\"dsx-data-table__empty\" colSpan={visibleColumns.length + (selectionMode === 'multiple' ? 1 : 0) + (expandedRowRender ? 1 : 0)} data-empty=\"true\">\n {result ?? (listState ? (\n <Result state={listState}>\n {listState === 'loading' ? null : (\n <Result.Icon>\n <Result.Illustration variant={RESULT_ILLUSTRATION_VARIANT_BY_STATE[listState]} />\n </Result.Icon>\n )}\n <Result.Title>{listState === 'loading' ? 'Loading' : listState === 'error' ? 'Unable to load data' : listState === 'no-results' ? 'No matching results' : 'No data'}</Result.Title>\n </Result>\n ) : emptyState)}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {showPagination && (\n <DataTablePagination\n page={pagination.page}\n pageSize={pagination.pageSize}\n total={visibleRows.length}\n onPageChange={handlePaginationChange}\n onPageSizeChange={handlePageSizeChange}\n />\n )}\n </div>\n )\n}\n\nconst DataTable = React.forwardRef(DataTableInner as never) as unknown as DataTableComponent & {\n displayName?: string\n Toolbar: typeof DataTableToolbar\n Pagination: typeof DataTablePagination\n FacetedFilter: typeof DataTableFacetedFilter\n}\nDataTable.displayName = 'DataTable'\nDataTable.Toolbar = DataTableToolbar\nDataTable.Pagination = DataTablePagination\nDataTable.FacetedFilter = DataTableFacetedFilter\n\nexport { DataTable, DataTableFacetedFilter, DataTablePagination, DataTableToolbar }\nexport { stringifyDataTableValue }\nexport type {\n DataTableColumn,\n DataTableFacetedFilterState,\n DataTablePaginationState,\n DataTableProps,\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["result", "classNames"]
|
|
4
|
+
"sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport classNames from 'classnames'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Button } from '../button/Button'\nimport { Checkbox } from '../checkbox/Checkbox'\nimport { Icon } from '../icon/Icon'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '../table/Table'\nimport { DataTableToolbarContext } from './DataTableContext'\nimport { dataTablePropDefs } from './dataTable.props'\nimport { exportDataTableRows, exportDataTableRowsProgressive } from './dataTable.export'\nimport { DataTableToolbar } from './DataTableToolbar'\nimport { DataTablePagination } from './DataTablePagination'\nimport { DataTableFacetedFilter } from './DataTableFacetedFilter'\nimport { RESULT_ILLUSTRATION_VARIANT_BY_STATE, Result } from '../result/Result'\n\ntype DataTableSortDirection = 'asc' | 'desc'\n\ntype DataTableSortState = {\n columnId: string\n direction: DataTableSortDirection\n}\n\ntype DataTableRowMeta<Row> = {\n row: Row\n rowId: React.Key\n rowIndex: number\n}\n\nconst DATA_TABLE_SELECTION_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_HEADER_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: 'var(--dsx-space-xs)',\n width: '100%',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n}\n\nconst DATA_TABLE_EXPAND_CELL_STYLE: React.CSSProperties = {\n width: '1%',\n whiteSpace: 'nowrap',\n}\n\nconst DATA_TABLE_EXPAND_BUTTON_STYLE: React.CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '1.5rem',\n height: '1.5rem',\n padding: 0,\n border: 0,\n background: 'transparent',\n color: 'var(--dsx-color-on-surface-variant)',\n cursor: 'pointer',\n}\n\nfunction getNodeText(node: React.ReactNode): string {\n if (node == null || typeof node === 'boolean') {\n return ''\n }\n\n if (typeof node === 'string' || typeof node === 'number' || typeof node === 'bigint') {\n return String(node)\n }\n\n if (Array.isArray(node)) {\n return node.map((child) => getNodeText(child)).join(' ')\n }\n\n if (React.isValidElement(node)) {\n const props = node.props as { children?: React.ReactNode }\n\n return getNodeText(props.children)\n }\n\n return ''\n}\n\nfunction stringifyDataTableValue(value: unknown): string {\n if (value == null || typeof value === 'boolean') {\n return value ? 'true' : ''\n }\n\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'bigint') {\n return String(value)\n }\n\n if (value instanceof Date) {\n return value.toISOString()\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => stringifyDataTableValue(item)).join(' ')\n }\n\n if (React.isValidElement(value)) {\n return getNodeText(value)\n }\n\n if (typeof value === 'object') {\n return Object.values(value as Record<string, unknown>)\n .map((item) => stringifyDataTableValue(item))\n .join(' ')\n }\n\n return ''\n}\n\nfunction compareDataTableValues(left: unknown, right: unknown): number {\n if (typeof left === 'number' && typeof right === 'number') {\n return left - right\n }\n\n if (typeof left === 'bigint' && typeof right === 'bigint') {\n return left > right ? 1 : left < right ? -1 : 0\n }\n\n if (left instanceof Date && right instanceof Date) {\n return left.getTime() - right.getTime()\n }\n\n if (typeof left === 'boolean' && typeof right === 'boolean') {\n return Number(left) - Number(right)\n }\n\n return stringifyDataTableValue(left).localeCompare(stringifyDataTableValue(right), undefined, {\n numeric: true,\n sensitivity: 'base',\n })\n}\n\nfunction getNextSortState(currentSort: DataTableSortState | null, columnId: string): DataTableSortState | null {\n if (!currentSort || currentSort.columnId !== columnId) {\n return { columnId, direction: 'asc' }\n }\n\n return currentSort.direction === 'asc' ? { columnId, direction: 'desc' } : null\n}\n\nfunction getColumnValue<Row extends Record<string, unknown>>(\n column: DataTableColumn<Row>,\n row: Row,\n rowIndex: number,\n): unknown {\n if (column.accessorKey) {\n return row[column.accessorKey]\n }\n\n if (column.cell) {\n return column.cell(row, rowIndex)\n }\n\n return null\n}\n\ntype DataTableColumn<Row> = {\n accessorKey?: keyof Row\n cell?: (row: Row, rowIndex: number) => React.ReactNode\n header: React.ReactNode\n id: string\n width?: string | number | { min?: string | number; max?: string | number }\n align?: 'start' | 'center' | 'end'\n numeric?: boolean\n sortable?: boolean\n truncate?: boolean\n hideBelow?: 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n}\n\ntype DataTablePaginationState = {\n page: number\n pageSize: number\n}\n\ntype DataTablePaginationPosition = 'top' | 'bottom' | 'both'\n\ntype DataTablePaginationAlign = 'start' | 'center' | 'end'\n\ntype DataTableChangeAction = 'paginate' | 'sort' | 'filter'\n\ntype DataTableChangeState = {\n pagination: DataTablePaginationState\n sortBy: string | null\n sortOrder: DataTableSortDirection\n}\n\ntype DataTableFacetedFilterState = {\n columnId: string\n accessorKey: string\n selectedValues: Set<string>\n}\n\ntype DataTableProps<Row> = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> & {\n columns: Array<DataTableColumn<Row>>\n data: Row[]\n emptyState?: React.ReactNode\n size?: 'sm' | 'md' | 'lg'\n getRowId?: (row: Row, rowIndex: number) => React.Key\n visibleColumnIds?: Set<string>\n onVisibleColumnIdsChange?: (visibleColumnIds: Set<string>) => void\n pagination?: DataTablePaginationState\n onPaginationChange?: (pagination: DataTablePaginationState) => void\n facetedFilters?: Array<DataTableFacetedFilterState>\n onFacetedFiltersChange?: (facetedFilters: Array<DataTableFacetedFilterState>) => void\n toolbar?: React.ReactNode\n query?: string\n defaultQuery?: string\n onQueryChange?: (query: string) => void\n showToolbar?: boolean\n showPagination?: boolean\n paginationPosition?: DataTablePaginationPosition\n paginationAlign?: DataTablePaginationAlign\n paginationFirstLast?: boolean\n paginationPageInput?: boolean\n onTableChange?: (action: DataTableChangeAction, state: DataTableChangeState) => void\n bulkActions?: React.ReactNode\n sortBy?: string | null\n sortOrder?: DataTableSortDirection\n onSortChange?: (sortBy: string, sortOrder: DataTableSortDirection) => void\n sorting?: DataTableSortState | null\n defaultSorting?: DataTableSortState | null\n onSortingChange?: (sorting: DataTableSortState | null) => void\n resetPageOnViewChange?: boolean\n clearSelectionOnViewChange?: boolean\n stickyHeader?: boolean\n wrapScrollArea?: boolean\n separator?: 'rules' | 'grid'\n selectedRowIds?: Set<React.Key>\n defaultSelectedRowIds?: Iterable<React.Key>\n onSelectedRowIdsChange?: (selectedRowIds: Set<React.Key>) => void\n selectionMode?: 'multiple' | 'none'\n listState?: 'loading' | 'empty' | 'no-results' | 'error'\n result?: React.ReactNode\n expandedRowRender?: (row: Row, rowIndex: number) => React.ReactNode\n expandedRowIds?: Set<React.Key>\n defaultExpandedRowIds?: Iterable<React.Key>\n onExpandedRowIdsChange?: (expandedRowIds: Set<React.Key>) => void\n renderRowEditor?: (row: Row, rowIndex: number) => React.ReactNode\n editingRowId?: React.Key | null\n}\n\ntype DataTableComponent = <Row extends Record<string, unknown>>(\n props: DataTableProps<Row> & React.RefAttributes<HTMLDivElement>,\n) => React.ReactElement | null\n\nfunction DataTableInner<Row extends Record<string, unknown>>(\n props: DataTableProps<Row>,\n forwardedRef: React.ForwardedRef<HTMLDivElement>,\n) {\n const {\n className: propClassName,\n columns,\n data,\n emptyState,\n getRowId,\n visibleColumnIds: controlledVisibleColumnIds,\n onVisibleColumnIdsChange,\n pagination: controlledPagination,\n onPaginationChange,\n facetedFilters: controlledFacetedFilters,\n onFacetedFiltersChange,\n toolbar,\n query: controlledQuery,\n defaultQuery = '',\n onQueryChange,\n showToolbar = true,\n showPagination = false,\n paginationPosition = 'bottom',\n paginationAlign,\n paginationFirstLast = false,\n paginationPageInput = false,\n onTableChange,\n bulkActions,\n sortBy,\n sortOrder = 'asc',\n onSortChange,\n sorting: controlledSorting,\n defaultSorting = null,\n onSortingChange,\n resetPageOnViewChange = true,\n clearSelectionOnViewChange = true,\n stickyHeader = false,\n wrapScrollArea = true,\n separator = 'rules',\n selectedRowIds: controlledSelectedRowIds,\n defaultSelectedRowIds,\n onSelectedRowIdsChange,\n selectionMode = 'multiple',\n listState,\n result,\n size = 'md',\n expandedRowRender,\n expandedRowIds: controlledExpandedRowIds,\n defaultExpandedRowIds,\n onExpandedRowIdsChange,\n renderRowEditor,\n editingRowId = null,\n ...restProps\n } = props\n const { className, ...dataTableProps } = extractProps(\n {\n ...restProps,\n className: propClassName,\n },\n dataTablePropDefs,\n )\n\n const [internalQuery, setInternalQuery] = React.useState(defaultQuery)\n const query = controlledQuery ?? internalQuery\n const [internalSort, setInternalSort] = React.useState<DataTableSortState | null>(defaultSorting)\n const sort = controlledSorting !== undefined\n ? controlledSorting\n : sortBy\n ? { columnId: sortBy, direction: sortOrder }\n : internalSort\n const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultSelectedRowIds))\n const selectedRowIds = controlledSelectedRowIds ?? internalSelectedRowIds\n\n const [internalExpandedRowIds, setInternalExpandedRowIds] = React.useState<Set<React.Key>>(() => new Set(defaultExpandedRowIds))\n const expandedRowIds = controlledExpandedRowIds ?? internalExpandedRowIds\n\n const truncatingColumns = columns.filter((column) => column.truncate)\n if (truncatingColumns.length > 1) throw new Error('DataTable supports at most one truncating column.')\n\n const [internalPagination, setInternalPagination] = React.useState<DataTablePaginationState>({\n page: 1,\n pageSize: 10,\n })\n\n const [internalVisibleColumnIds, setInternalVisibleColumnIds] = React.useState<Set<string>>(\n () => new Set(columns.map((column) => column.id)),\n )\n const visibleColumnIds = controlledVisibleColumnIds ?? internalVisibleColumnIds\n\n const isPaginationControlled = controlledPagination !== undefined\n const pagination = isPaginationControlled ? controlledPagination : internalPagination\n\n const facetedFilters = controlledFacetedFilters ?? []\n const facetedFilterSignature = React.useMemo(\n () => facetedFilters\n .map((filter) => `${filter.columnId}:${Array.from(filter.selectedValues).sort().join(',')}`)\n .sort()\n .join('|'),\n [facetedFilters],\n )\n const previousFacetedFilterSignature = React.useRef(facetedFilterSignature)\n\n const rows = React.useMemo<Array<DataTableRowMeta<Row>>>(\n () =>\n data.map((row, rowIndex) => ({\n row,\n rowId: getRowId?.(row, rowIndex) ?? rowIndex,\n rowIndex,\n })),\n [data, getRowId],\n )\n\n React.useEffect(() => {\n const availableRowIds = new Set(rows.map((row) => row.rowId))\n\n if (controlledSelectedRowIds) return\n setInternalSelectedRowIds((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(\n Array.from(currentSelectedRowIds).filter((rowId) => availableRowIds.has(rowId)),\n )\n\n if (\n nextSelectedRowIds.size === currentSelectedRowIds.size\n && Array.from(nextSelectedRowIds).every((rowId) => currentSelectedRowIds.has(rowId))\n ) {\n return currentSelectedRowIds\n }\n\n return nextSelectedRowIds\n })\n }, [controlledSelectedRowIds, rows])\n\n const normalizedQuery = query.trim().toLowerCase()\n\n const facetedFilterMap = React.useMemo(() => {\n const map = new Map<string, Set<string>>()\n for (const filter of facetedFilters) {\n map.set(filter.columnId, filter.selectedValues)\n }\n return map\n }, [facetedFilters])\n\n const filteredRows = React.useMemo(() => {\n let result = rows\n\n if (normalizedQuery) {\n result = result.filter(({ row, rowIndex }) => {\n const matchesRenderedColumns = columns.some((column) => stringifyDataTableValue(\n getColumnValue(column, row, rowIndex),\n ).toLowerCase().includes(normalizedQuery))\n return matchesRenderedColumns || stringifyDataTableValue(row).toLowerCase().includes(normalizedQuery)\n })\n }\n\n if (facetedFilterMap.size > 0) {\n result = result.filter(({ row }) => {\n for (const [columnId, selectedValues] of facetedFilterMap) {\n if (selectedValues.size === 0) continue\n const column = columns.find((col) => col.id === columnId)\n if (!column || !column.accessorKey) continue\n const cellValue = stringifyDataTableValue(row[column.accessorKey]).toLowerCase()\n if (!selectedValues.has(cellValue)) {\n return false\n }\n }\n return true\n })\n }\n\n return result\n }, [columns, normalizedQuery, rows, facetedFilterMap])\n\n const visibleRows = React.useMemo(() => {\n if (!sort) {\n return filteredRows\n }\n\n const activeColumn = columns.find((column) => column.id === sort.columnId)\n\n if (!activeColumn) {\n return filteredRows\n }\n\n const direction = sort.direction === 'asc' ? 1 : -1\n\n return [...filteredRows].sort((leftRow, rightRow) => {\n const comparison = compareDataTableValues(\n getColumnValue(activeColumn, leftRow.row, leftRow.rowIndex),\n getColumnValue(activeColumn, rightRow.row, rightRow.rowIndex),\n )\n\n if (comparison !== 0) {\n return comparison * direction\n }\n\n return leftRow.rowIndex - rightRow.rowIndex\n })\n }, [columns, filteredRows, sort])\n\n const paginatedRows = React.useMemo(() => {\n if (!showPagination) return visibleRows\n const start = (pagination.page - 1) * pagination.pageSize\n return visibleRows.slice(start, start + pagination.pageSize)\n }, [visibleRows, pagination, showPagination])\n\n const isEmpty = paginatedRows.length === 0\n const hasVisibleRows = paginatedRows.length > 0\n const selectedVisibleRowCount = paginatedRows.filter((row) => selectedRowIds.has(row.rowId)).length\n const allVisibleRowsSelected = hasVisibleRows && selectedVisibleRowCount === paginatedRows.length\n const someVisibleRowsSelected = selectedVisibleRowCount > 0 && !allVisibleRowsSelected\n\n const visibleColumns = React.useMemo(\n () => columns.filter((col) => visibleColumnIds.has(col.id)),\n [columns, visibleColumnIds],\n )\n\n const emitTableChange = React.useCallback((\n action: DataTableChangeAction,\n paginationOverride?: DataTablePaginationState,\n sortOverride?: DataTableSortState | null,\n ) => {\n const resolvedSort = sortOverride !== undefined ? sortOverride : sort\n onTableChange?.(action, {\n pagination: paginationOverride ?? pagination,\n sortBy: resolvedSort ? resolvedSort.columnId : null,\n sortOrder: resolvedSort ? resolvedSort.direction : sortOrder,\n })\n }, [onTableChange, pagination, sort, sortOrder])\n\n const resetViewState = React.useCallback(() => {\n const nextPagination = { ...pagination, page: 1 }\n if (resetPageOnViewChange && pagination.page !== 1) {\n if (!isPaginationControlled) setInternalPagination(nextPagination)\n onPaginationChange?.(nextPagination)\n }\n if (clearSelectionOnViewChange && selectedRowIds.size > 0) {\n if (controlledSelectedRowIds === undefined) setInternalSelectedRowIds(new Set())\n onSelectedRowIdsChange?.(new Set())\n }\n return resetPageOnViewChange ? nextPagination : pagination\n }, [\n clearSelectionOnViewChange,\n controlledSelectedRowIds,\n isPaginationControlled,\n onPaginationChange,\n onSelectedRowIdsChange,\n pagination,\n resetPageOnViewChange,\n selectedRowIds,\n ])\n\n function handleSort(columnId: string) {\n const next = controlledSorting === undefined && sortBy !== undefined\n ? {\n columnId,\n direction: sort?.columnId === columnId && sort.direction === 'asc' ? 'desc' as const : 'asc' as const,\n }\n : getNextSortState(sort, columnId)\n if (controlledSorting === undefined && sortBy === undefined) setInternalSort(next)\n onSortingChange?.(next)\n if (next) onSortChange?.(next.columnId, next.direction)\n emitTableChange('sort', resetViewState(), next)\n }\n\n function updateSelection(updater: (current: Set<React.Key>) => Set<React.Key>) {\n const next = updater(selectedRowIds)\n if (controlledSelectedRowIds === undefined) setInternalSelectedRowIds(next)\n onSelectedRowIdsChange?.(next)\n }\n\n function handleRowSelectionChange(rowId: React.Key, checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n if (checked) {\n nextSelectedRowIds.add(rowId)\n } else {\n nextSelectedRowIds.delete(rowId)\n }\n\n return nextSelectedRowIds\n })\n }\n\n function handleSelectAllRows(checked: boolean) {\n updateSelection((currentSelectedRowIds) => {\n const nextSelectedRowIds = new Set(currentSelectedRowIds)\n\n for (const row of paginatedRows) {\n if (checked) {\n nextSelectedRowIds.add(row.rowId)\n } else {\n nextSelectedRowIds.delete(row.rowId)\n }\n }\n\n return nextSelectedRowIds\n })\n }\n\n function toggleRowExpanded(rowId: React.Key) {\n const nextExpandedRowIds = new Set(expandedRowIds)\n\n if (nextExpandedRowIds.has(rowId)) {\n nextExpandedRowIds.delete(rowId)\n } else {\n nextExpandedRowIds.add(rowId)\n }\n\n if (controlledExpandedRowIds === undefined) setInternalExpandedRowIds(nextExpandedRowIds)\n onExpandedRowIdsChange?.(nextExpandedRowIds)\n }\n\n function handlePaginationChange(nextPage: number) {\n const nextPagination = { ...pagination, page: nextPage }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n emitTableChange('paginate', nextPagination)\n }\n\n function handlePageSizeChange(nextPageSize: number) {\n const nextPagination = { ...pagination, pageSize: nextPageSize, page: 1 }\n if (!isPaginationControlled) {\n setInternalPagination(nextPagination)\n }\n onPaginationChange?.(nextPagination)\n emitTableChange('paginate', nextPagination)\n }\n\n function handleQueryChange(nextQuery: string) {\n if (controlledQuery === undefined) setInternalQuery(nextQuery)\n onQueryChange?.(nextQuery)\n emitTableChange('filter', resetViewState())\n }\n\n function handleVisibleColumnIdsChange(nextVisibleColumnIds: Set<string>) {\n if (controlledVisibleColumnIds === undefined) setInternalVisibleColumnIds(nextVisibleColumnIds)\n onVisibleColumnIdsChange?.(nextVisibleColumnIds)\n }\n\n function handleClearSelection() {\n updateSelection(() => new Set<React.Key>())\n }\n\n function handleClearFilters() {\n handleQueryChange('')\n onFacetedFiltersChange?.([])\n }\n\n React.useEffect(() => {\n if (previousFacetedFilterSignature.current === facetedFilterSignature) return\n previousFacetedFilterSignature.current = facetedFilterSignature\n emitTableChange('filter', resetViewState())\n }, [emitTableChange, facetedFilterSignature, resetViewState])\n\n const defaultToolbar = showToolbar ? (\n <DataTableToolbar aria-label=\"Table tools\" role=\"group\">\n <DataTableToolbar.Search />\n <div className=\"dsx-data-table-toolbar__actions\">\n <DataTableToolbar.RowCount />\n <DataTableToolbar.ColumnVisibility />\n <DataTableToolbar.Export />\n </div>\n </DataTableToolbar>\n ) : null\n\n const showTopPagination = showPagination && (paginationPosition === 'top' || paginationPosition === 'both')\n const showBottomPagination = showPagination && (paginationPosition === 'bottom' || paginationPosition === 'both')\n const selectedCount = selectedRowIds.size\n const showBulkBar = selectionMode === 'multiple' && selectedCount > 0\n const toolbarContextValue = {\n columns: columns.map((column) => ({ id: column.id, label: column.header })),\n exportRows: (format: 'csv' | 'json') => exportDataTableRows(\n format,\n visibleRows.map(({ row }) => row),\n visibleColumns,\n ),\n exportRowsProgressive: (format: 'csv' | 'json', onProgress: (percent: number) => void) => exportDataTableRowsProgressive(\n format,\n visibleRows.map(({ row }) => row),\n visibleColumns,\n onProgress,\n ),\n filteredRowCount: visibleRows.length,\n onQueryChange: handleQueryChange,\n onVisibleColumnIdsChange: handleVisibleColumnIdsChange,\n query,\n selectedRowCount: selectedCount,\n totalRowCount: rows.length,\n visibleColumnIds,\n }\n\n function renderPagination(position: 'top' | 'bottom') {\n return (\n <DataTablePagination\n page={pagination.page}\n pageSize={pagination.pageSize}\n total={visibleRows.length}\n onPageChange={handlePaginationChange}\n onPageSizeChange={handlePageSizeChange}\n align={paginationAlign}\n showFirstLast={paginationFirstLast}\n showPageInput={paginationPageInput}\n className={position === 'top' ? 'dsx-data-table__pagination-top' : undefined}\n />\n )\n }\n\n return (\n <div\n {...dataTableProps}\n ref={forwardedRef}\n className={classNames('dsx-data-table', className)}\n data-empty={isEmpty ? 'true' : undefined}\n data-size={size}\n data-sticky-header={stickyHeader ? 'true' : undefined}\n >\n <DataTableToolbarContext.Provider value={toolbarContextValue}>\n <div className=\"dsx-data-table__toolbar-region\">\n {toolbar ?? defaultToolbar}\n {showBulkBar ? (\n <div className=\"dsx-data-table__bulk-bar\" role=\"group\" aria-label=\"Selected row actions\">\n <span className=\"dsx-data-table__bulk-bar-count\" role=\"status\" aria-live=\"polite\">\n {selectedCount} selected\n </span>\n {bulkActions ? (\n <span className=\"dsx-data-table__bulk-bar-actions\">{bulkActions}</span>\n ) : null}\n <Button className=\"dsx-data-table__bulk-bar-clear\" size=\"sm\" type=\"button\" variant=\"ghost\" onClick={handleClearSelection}>\n Deselect all\n </Button>\n </div>\n ) : null}\n </div>\n {showTopPagination ? renderPagination('top') : null}\n <Table size={size} wrapScrollArea={wrapScrollArea} separator={separator}>\n <TableHeader>\n <TableRow>\n {expandedRowRender ? <TableHead aria-label=\"Expand row\" style={DATA_TABLE_EXPAND_CELL_STYLE} /> : null}\n {selectionMode === 'multiple' ? <TableHead aria-label=\"Select rows\" style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={allVisibleRowsSelected ? 'Deselect all visible rows' : 'Select all visible rows'}\n checked={allVisibleRowsSelected ? true : someVisibleRowsSelected ? 'indeterminate' : false}\n disabled={!hasVisibleRows}\n onCheckedChange={(checked) => handleSelectAllRows(checked === true)}\n size=\"sm\"\n />\n </TableHead> : null}\n {visibleColumns.map((column) => (\n <TableHead\n key={column.id}\n aria-sort={sort?.columnId === column.id ? (sort.direction === 'asc' ? 'ascending' : 'descending') : 'none'}\n data-sort-direction={sort?.columnId === column.id ? sort.direction : undefined}\n data-align={column.numeric ? 'end' : column.align}\n data-numeric={column.numeric ? 'true' : undefined}\n data-truncate={column.truncate ? 'true' : undefined}\n data-hide-below={column.hideBelow}\n style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}\n >\n {column.sortable !== false ? <button className=\"dsx-data-table__sort-button\" style={DATA_TABLE_HEADER_BUTTON_STYLE} type=\"button\" onClick={() => handleSort(column.id)}>\n <span>{column.header}</span>\n <span\n aria-hidden=\"true\"\n className=\"dsx-data-table__sort-indicator\"\n data-direction={sort?.columnId === column.id ? sort.direction : 'none'}\n >\n <Icon\n name={sort?.columnId === column.id ? (sort.direction === 'asc' ? 'arrow-up' : 'arrow-down') : 'arrow-up-down'}\n size=\"sm\"\n />\n </span>\n </button> : column.header}\n </TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {!isEmpty && !listState ? (\n paginatedRows.map(({ row, rowId, rowIndex }) => {\n const isRowExpanded = Boolean(expandedRowRender) && expandedRowIds.has(rowId)\n const isRowEditing = Boolean(renderRowEditor) && editingRowId === rowId\n const detailColSpan = visibleColumns.length\n + (selectionMode === 'multiple' ? 1 : 0)\n + (expandedRowRender ? 1 : 0)\n\n return (\n <React.Fragment key={rowId}>\n <TableRow data-selected={selectedRowIds.has(rowId) ? 'true' : undefined} data-editing={isRowEditing ? 'true' : undefined}>\n {expandedRowRender ? <TableCell style={DATA_TABLE_EXPAND_CELL_STYLE}>\n <button\n aria-expanded={isRowExpanded}\n aria-label={isRowExpanded ? `Collapse row ${rowIndex + 1}` : `Expand row ${rowIndex + 1}`}\n onClick={() => toggleRowExpanded(rowId)}\n style={DATA_TABLE_EXPAND_BUTTON_STYLE}\n type=\"button\"\n >\n <span aria-hidden=\"true\">{isRowExpanded ? '\u25BE' : '\u25B8'}</span>\n </button>\n </TableCell> : null}\n {selectionMode === 'multiple' ? <TableCell style={DATA_TABLE_SELECTION_CELL_STYLE}>\n <Checkbox\n aria-label={`Select row ${rowIndex + 1}`}\n checked={selectedRowIds.has(rowId)}\n onCheckedChange={(checked) => handleRowSelectionChange(rowId, checked === true)}\n size=\"sm\"\n />\n </TableCell> : null}\n {isRowEditing ? (\n <TableCell className=\"dsx-data-table__row-editor\" colSpan={visibleColumns.length}>\n {renderRowEditor!(row, rowIndex)}\n </TableCell>\n ) : (\n visibleColumns.map((column) => (\n <TableCell key={column.id} data-align={column.numeric ? 'end' : column.align} data-numeric={column.numeric ? 'true' : undefined} data-truncate={column.truncate ? 'true' : undefined} data-hide-below={column.hideBelow} style={{ width: typeof column.width === 'object' ? undefined : column.width, minWidth: typeof column.width === 'object' ? column.width.min : undefined, maxWidth: typeof column.width === 'object' ? column.width.max : undefined }}>\n {column.cell?.(row, rowIndex) ?? (column.accessorKey ? String(row[column.accessorKey] ?? '') : null)}\n </TableCell>\n ))\n )}\n </TableRow>\n {isRowExpanded ? (\n <TableRow data-expanded-detail=\"true\">\n <TableCell className=\"dsx-data-table__expanded-detail\" colSpan={detailColSpan}>\n {expandedRowRender!(row, rowIndex)}\n </TableCell>\n </TableRow>\n ) : null}\n </React.Fragment>\n )\n })\n ) : (\n <TableRow>\n <TableCell className=\"dsx-data-table__empty\" colSpan={visibleColumns.length + (selectionMode === 'multiple' ? 1 : 0) + (expandedRowRender ? 1 : 0)} data-empty=\"true\">\n {result ?? (listState ? (\n <Result state={listState}>\n {listState === 'loading' ? null : (\n <Result.Icon>\n <Result.Illustration variant={RESULT_ILLUSTRATION_VARIANT_BY_STATE[listState]} />\n </Result.Icon>\n )}\n <Result.Title>{listState === 'loading' ? 'Loading' : listState === 'error' ? 'Unable to load data' : listState === 'no-results' ? 'No matching results' : 'No data'}</Result.Title>\n </Result>\n ) : emptyState ?? (rows.length > 0 ? (\n <div className=\"dsx-data-table__empty-content\">\n <Icon aria-hidden=\"true\" name=\"search\" size=\"md\" />\n <strong>No matching rows</strong>\n <span>Try changing your search or filters.</span>\n {normalizedQuery !== '' || facetedFilterSignature !== '' ? (\n <Button size=\"sm\" type=\"button\" variant=\"ghost\" onClick={handleClearFilters}>\n Clear search and filters\n </Button>\n ) : null}\n </div>\n ) : (\n <div className=\"dsx-data-table__empty-content\">\n <Icon aria-hidden=\"true\" name=\"inbox\" size=\"md\" />\n <strong>No rows yet</strong>\n <span>When rows arrive they will appear here.</span>\n </div>\n )))}\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n {showBottomPagination ? renderPagination('bottom') : null}\n </DataTableToolbarContext.Provider>\n </div>\n )\n}\n\nconst DataTable = React.forwardRef(DataTableInner as never) as unknown as DataTableComponent & {\n displayName?: string\n Toolbar: typeof DataTableToolbar\n Pagination: typeof DataTablePagination\n FacetedFilter: typeof DataTableFacetedFilter\n}\nDataTable.displayName = 'DataTable'\nDataTable.Toolbar = DataTableToolbar\nDataTable.Pagination = DataTablePagination\nDataTable.FacetedFilter = DataTableFacetedFilter\n\nexport { DataTable, DataTableFacetedFilter, DataTablePagination, DataTableToolbar }\nexport { stringifyDataTableValue }\nexport type {\n DataTableChangeAction,\n DataTableChangeState,\n DataTableColumn,\n DataTableFacetedFilterState,\n DataTablePaginationAlign,\n DataTablePaginationPosition,\n DataTablePaginationState,\n DataTableProps,\n DataTableSortDirection,\n DataTableSortState,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_dataTable", "result", "classNames"]
|
|
7
7
|
}
|