@d4gger/design-system 3.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{components/controlGroup/ControlGroup.cjs → _internal/floatingLayer.cjs} +11 -26
- package/dist/_internal/floatingLayer.cjs.map +7 -0
- package/dist/_internal/floatingLayer.d.cts +28 -0
- package/dist/_internal/floatingLayer.d.cts.map +1 -0
- package/dist/_internal/floatingLayer.d.mts +28 -0
- package/dist/_internal/floatingLayer.d.mts.map +1 -0
- package/dist/_internal/floatingLayer.d.ts +28 -0
- package/dist/_internal/floatingLayer.d.ts.map +1 -0
- package/dist/_internal/floatingLayer.js +11 -0
- package/dist/_internal/floatingLayer.js.map +7 -0
- package/dist/components/banner/Banner.cjs +105 -0
- package/dist/components/banner/Banner.cjs.map +7 -0
- package/dist/components/banner/Banner.d.cts +27 -0
- package/dist/components/banner/Banner.d.cts.map +1 -0
- package/dist/components/banner/Banner.d.mts +27 -0
- package/dist/components/banner/Banner.d.mts.map +1 -0
- package/dist/components/banner/Banner.d.ts +27 -0
- package/dist/components/banner/Banner.d.ts.map +1 -0
- package/dist/components/banner/Banner.js +80 -0
- package/dist/components/banner/Banner.js.map +7 -0
- package/dist/components/{controlGroup/controlGroup.props.cjs → banner/banner.props.cjs} +23 -16
- package/dist/components/banner/banner.props.cjs.map +7 -0
- package/dist/components/banner/banner.props.d.cts +32 -0
- package/dist/components/banner/banner.props.d.cts.map +1 -0
- package/dist/components/banner/banner.props.d.mts +32 -0
- package/dist/components/banner/banner.props.d.mts.map +1 -0
- package/dist/components/banner/banner.props.d.ts +32 -0
- package/dist/components/banner/banner.props.d.ts.map +1 -0
- package/dist/components/banner/banner.props.js +27 -0
- package/dist/components/banner/banner.props.js.map +7 -0
- package/dist/components/banner.css +60 -0
- package/dist/components/button-group.css +25 -0
- package/dist/components/button.css +9 -0
- package/dist/components/card.css +3 -0
- package/dist/components/carousel/Carousel.cjs +109 -39
- package/dist/components/carousel/Carousel.cjs.map +3 -3
- package/dist/components/carousel/Carousel.d.cts.map +1 -1
- package/dist/components/carousel/Carousel.d.mts.map +1 -1
- package/dist/components/carousel/Carousel.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.js +111 -41
- package/dist/components/carousel/Carousel.js.map +3 -3
- package/dist/components/carousel.css +93 -26
- package/dist/components/chart/Chart.cjs +61 -11
- package/dist/components/chart/Chart.cjs.map +2 -2
- package/dist/components/chart/Chart.d.cts.map +1 -1
- package/dist/components/chart/Chart.d.mts.map +1 -1
- package/dist/components/chart/Chart.d.ts.map +1 -1
- package/dist/components/chart/Chart.js +62 -11
- package/dist/components/chart/Chart.js.map +2 -2
- package/dist/components/chart.css +10 -1
- package/dist/components/checkbox.css +14 -0
- package/dist/components/combobox/Combobox.cjs +3 -1
- package/dist/components/combobox/Combobox.cjs.map +2 -2
- package/dist/components/combobox/Combobox.d.cts.map +1 -1
- package/dist/components/combobox/Combobox.d.mts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +3 -1
- package/dist/components/combobox/Combobox.js.map +2 -2
- package/dist/components/combobox.css +5 -1
- package/dist/components/command/Command.cjs +1 -1
- package/dist/components/command/Command.cjs.map +2 -2
- package/dist/components/command/Command.js +1 -1
- package/dist/components/command/Command.js.map +2 -2
- package/dist/components/context-menu.css +1 -1
- package/dist/components/copy-field.css +18 -0
- package/dist/components/copyField/CopyField.cjs +3 -3
- package/dist/components/copyField/CopyField.cjs.map +2 -2
- package/dist/components/copyField/CopyField.d.cts.map +1 -1
- package/dist/components/copyField/CopyField.d.mts.map +1 -1
- package/dist/components/copyField/CopyField.d.ts.map +1 -1
- package/dist/components/copyField/CopyField.js +3 -3
- package/dist/components/copyField/CopyField.js.map +2 -2
- package/dist/components/data-list.css +19 -4
- package/dist/components/data-table.css +190 -0
- package/dist/components/dataTable/DataTable.cjs +193 -68
- package/dist/components/dataTable/DataTable.cjs.map +3 -3
- package/dist/components/dataTable/DataTable.d.cts +29 -1
- package/dist/components/dataTable/DataTable.d.cts.map +1 -1
- package/dist/components/dataTable/DataTable.d.mts +29 -1
- package/dist/components/dataTable/DataTable.d.mts.map +1 -1
- package/dist/components/dataTable/DataTable.d.ts +29 -1
- package/dist/components/dataTable/DataTable.d.ts.map +1 -1
- package/dist/components/dataTable/DataTable.js +193 -68
- package/dist/components/dataTable/DataTable.js.map +2 -2
- package/dist/components/dataTable/DataTableContext.cjs +41 -0
- package/dist/components/dataTable/DataTableContext.cjs.map +7 -0
- package/dist/components/dataTable/DataTableContext.d.cts +23 -0
- package/dist/components/dataTable/DataTableContext.d.cts.map +1 -0
- package/dist/components/dataTable/DataTableContext.d.mts +23 -0
- package/dist/components/dataTable/DataTableContext.d.mts.map +1 -0
- package/dist/components/dataTable/DataTableContext.d.ts +23 -0
- package/dist/components/dataTable/DataTableContext.d.ts.map +1 -0
- package/dist/components/dataTable/DataTableContext.js +11 -0
- package/dist/components/dataTable/DataTableContext.js.map +7 -0
- package/dist/components/dataTable/DataTablePagination.cjs +72 -47
- package/dist/components/dataTable/DataTablePagination.cjs.map +2 -2
- package/dist/components/dataTable/DataTablePagination.d.cts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.cts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.d.mts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.mts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.d.ts +5 -1
- package/dist/components/dataTable/DataTablePagination.d.ts.map +1 -1
- package/dist/components/dataTable/DataTablePagination.js +75 -47
- package/dist/components/dataTable/DataTablePagination.js.map +2 -2
- package/dist/components/dataTable/DataTableToolbar.cjs +122 -93
- package/dist/components/dataTable/DataTableToolbar.cjs.map +2 -2
- package/dist/components/dataTable/DataTableToolbar.d.cts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.cts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.d.mts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.mts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.d.ts +6 -5
- package/dist/components/dataTable/DataTableToolbar.d.ts.map +1 -1
- package/dist/components/dataTable/DataTableToolbar.js +123 -94
- package/dist/components/dataTable/DataTableToolbar.js.map +2 -2
- package/dist/components/dataTable/dataTable.export.cjs +83 -0
- package/dist/components/dataTable/dataTable.export.cjs.map +7 -0
- package/dist/components/dataTable/dataTable.export.d.cts +11 -0
- package/dist/components/dataTable/dataTable.export.d.cts.map +1 -0
- package/dist/components/dataTable/dataTable.export.d.mts +11 -0
- package/dist/components/dataTable/dataTable.export.d.mts.map +1 -0
- package/dist/components/dataTable/dataTable.export.d.ts +11 -0
- package/dist/components/dataTable/dataTable.export.d.ts.map +1 -0
- package/dist/components/dataTable/dataTable.export.js +63 -0
- package/dist/components/dataTable/dataTable.export.js.map +7 -0
- package/dist/components/dataTable/dataTable.props.cjs +23 -1
- package/dist/components/dataTable/dataTable.props.cjs.map +2 -2
- package/dist/components/dataTable/dataTable.props.d.cts +21 -1
- package/dist/components/dataTable/dataTable.props.d.cts.map +1 -1
- package/dist/components/dataTable/dataTable.props.d.mts +21 -1
- package/dist/components/dataTable/dataTable.props.d.mts.map +1 -1
- package/dist/components/dataTable/dataTable.props.d.ts +21 -1
- package/dist/components/dataTable/dataTable.props.d.ts.map +1 -1
- package/dist/components/dataTable/dataTable.props.js +23 -1
- package/dist/components/dataTable/dataTable.props.js.map +2 -2
- package/dist/components/dialog/Dialog.cjs +2 -1
- package/dist/components/dialog/Dialog.cjs.map +2 -2
- package/dist/components/dialog/Dialog.d.cts.map +1 -1
- package/dist/components/dialog/Dialog.d.mts.map +1 -1
- package/dist/components/dialog/Dialog.d.ts.map +1 -1
- package/dist/components/dialog/Dialog.js +2 -1
- package/dist/components/dialog/Dialog.js.map +2 -2
- package/dist/components/dropdown-menu.css +1 -1
- package/dist/components/empty-state.css +5 -0
- package/dist/components/fileUpload/FileUpload.cjs +10 -1
- package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
- package/dist/components/fileUpload/FileUpload.d.cts +1 -0
- package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.mts +1 -0
- package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
- package/dist/components/fileUpload/FileUpload.d.ts +1 -0
- package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
- package/dist/components/fileUpload/FileUpload.js +10 -1
- package/dist/components/fileUpload/FileUpload.js.map +2 -2
- package/dist/components/filter-bar.css +380 -8
- package/dist/components/filterBar/FilterBar.cjs +630 -1
- package/dist/components/filterBar/FilterBar.cjs.map +2 -2
- package/dist/components/filterBar/FilterBar.d.cts +132 -2
- package/dist/components/filterBar/FilterBar.d.cts.map +1 -1
- package/dist/components/filterBar/FilterBar.d.mts +132 -2
- package/dist/components/filterBar/FilterBar.d.mts.map +1 -1
- package/dist/components/filterBar/FilterBar.d.ts +132 -2
- package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
- package/dist/components/filterBar/FilterBar.js +631 -2
- package/dist/components/filterBar/FilterBar.js.map +2 -2
- package/dist/components/floating-panel.css +1 -1
- package/dist/components/fontProvider/FontProvider.cjs +1 -1
- package/dist/components/fontProvider/FontProvider.cjs.map +1 -1
- package/dist/components/fontProvider/FontProvider.js +1 -1
- package/dist/components/fontProvider/FontProvider.js.map +1 -1
- package/dist/components/icon/Icon.cjs +25 -2
- package/dist/components/icon/Icon.cjs.map +2 -2
- package/dist/components/icon/Icon.d.cts +29 -1
- package/dist/components/icon/Icon.d.cts.map +1 -1
- package/dist/components/icon/Icon.d.mts +29 -1
- package/dist/components/icon/Icon.d.mts.map +1 -1
- package/dist/components/icon/Icon.d.ts +29 -1
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +33 -2
- package/dist/components/icon/Icon.js.map +2 -2
- package/dist/components/icon/icons.cjs +16 -0
- package/dist/components/icon/icons.cjs.map +2 -2
- package/dist/components/icon/icons.d.cts +40 -0
- package/dist/components/icon/icons.d.cts.map +1 -1
- package/dist/components/icon/icons.d.mts +40 -0
- package/dist/components/icon/icons.d.mts.map +1 -1
- package/dist/components/icon/icons.d.ts +40 -0
- package/dist/components/icon/icons.d.ts.map +1 -1
- package/dist/components/icon/icons.js +16 -0
- package/dist/components/icon/icons.js.map +2 -2
- package/dist/components/icon-button.css +29 -0
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.cjs.map +2 -2
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.cts.map +1 -1
- package/dist/components/index.d.mts +1 -1
- package/dist/components/index.d.mts.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/item/Item.cjs +1 -1
- package/dist/components/item/Item.cjs.map +2 -2
- package/dist/components/item/Item.js +1 -1
- package/dist/components/item/Item.js.map +2 -2
- package/dist/components/item.css +12 -1
- package/dist/components/marquee/Marquee.cjs +1 -1
- package/dist/components/marquee/Marquee.cjs.map +2 -2
- package/dist/components/marquee/Marquee.js +1 -1
- package/dist/components/marquee/Marquee.js.map +2 -2
- package/dist/components/marquee.css +6 -0
- package/dist/components/menu/Menu.cjs +3 -1
- package/dist/components/menu/Menu.cjs.map +2 -2
- package/dist/components/menu/Menu.d.cts.map +1 -1
- package/dist/components/menu/Menu.d.mts.map +1 -1
- package/dist/components/menu/Menu.d.ts.map +1 -1
- package/dist/components/menu/Menu.js +3 -1
- package/dist/components/menu/Menu.js.map +2 -2
- package/dist/components/menubar.css +1 -1
- package/dist/components/metric.css +5 -0
- package/dist/components/pagination/Pagination.cjs +143 -17
- package/dist/components/pagination/Pagination.cjs.map +2 -2
- package/dist/components/pagination/Pagination.d.cts +64 -4
- package/dist/components/pagination/Pagination.d.cts.map +1 -1
- package/dist/components/pagination/Pagination.d.mts +64 -4
- package/dist/components/pagination/Pagination.d.mts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts +64 -4
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +143 -17
- package/dist/components/pagination/Pagination.js.map +2 -2
- package/dist/components/pagination.css +50 -8
- package/dist/components/phoneInput/PhoneInput.cjs +18 -13
- package/dist/components/phoneInput/PhoneInput.cjs.map +2 -2
- package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -1
- package/dist/components/phoneInput/PhoneInput.js +19 -14
- package/dist/components/phoneInput/PhoneInput.js.map +2 -2
- package/dist/components/popover/Popover.cjs +2 -1
- package/dist/components/popover/Popover.cjs.map +2 -2
- package/dist/components/popover/Popover.d.cts.map +1 -1
- package/dist/components/popover/Popover.d.mts.map +1 -1
- package/dist/components/popover/Popover.d.ts.map +1 -1
- package/dist/components/popover/Popover.js +2 -1
- package/dist/components/popover/Popover.js.map +2 -2
- package/dist/components/prose.css +1 -1
- package/dist/components/qr-code.css +5 -15
- package/dist/components/radio-group.css +19 -0
- package/dist/components/radioGroup/RadioGroup.cjs +3 -2
- package/dist/components/radioGroup/RadioGroup.cjs.map +2 -2
- package/dist/components/radioGroup/RadioGroup.d.cts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.d.mts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/radioGroup/RadioGroup.js +3 -2
- package/dist/components/radioGroup/RadioGroup.js.map +2 -2
- package/dist/components/radioGroup/radioGroup.props.cjs +1 -1
- package/dist/components/radioGroup/radioGroup.props.cjs.map +2 -2
- package/dist/components/radioGroup/radioGroup.props.d.cts +1 -1
- package/dist/components/radioGroup/radioGroup.props.d.mts +1 -1
- package/dist/components/radioGroup/radioGroup.props.d.ts +1 -1
- package/dist/components/radioGroup/radioGroup.props.js +1 -1
- package/dist/components/radioGroup/radioGroup.props.js.map +2 -2
- package/dist/components/rating.css +12 -0
- package/dist/components/result.css +2 -1
- package/dist/components/richTextEditor/RichTextEditor.cjs +11 -3
- package/dist/components/richTextEditor/RichTextEditor.cjs.map +2 -2
- package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/components/richTextEditor/RichTextEditor.js +11 -3
- package/dist/components/richTextEditor/RichTextEditor.js.map +2 -2
- package/dist/components/segmented-control.css +80 -4
- package/dist/components/segmentedControl/SegmentedControl.cjs +18 -5
- package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
- package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmentedControl/SegmentedControl.js +18 -5
- package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.cjs +10 -0
- package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
- package/dist/components/segmentedControl/segmentedControl.props.d.cts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.mts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.d.ts +9 -0
- package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
- package/dist/components/segmentedControl/segmentedControl.props.js +10 -0
- package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
- package/dist/components/select/Select.cjs +3 -1
- package/dist/components/select/Select.cjs.map +2 -2
- package/dist/components/select/Select.d.cts.map +1 -1
- package/dist/components/select/Select.d.mts.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +3 -1
- package/dist/components/select/Select.js.map +2 -2
- package/dist/components/select.css +1 -1
- package/dist/components/sonner.css +1 -1
- package/dist/components/sortableList/SortableList.cjs +8 -2
- package/dist/components/sortableList/SortableList.cjs.map +2 -2
- package/dist/components/sortableList/SortableList.d.cts.map +1 -1
- package/dist/components/sortableList/SortableList.d.mts.map +1 -1
- package/dist/components/sortableList/SortableList.d.ts.map +1 -1
- package/dist/components/sortableList/SortableList.js +8 -2
- package/dist/components/sortableList/SortableList.js.map +2 -2
- package/dist/components/stat-card.css +2 -0
- package/dist/components/table/Table.cjs +3 -2
- package/dist/components/table/Table.cjs.map +2 -2
- package/dist/components/table/Table.d.cts.map +1 -1
- package/dist/components/table/Table.d.mts.map +1 -1
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/Table.js +3 -2
- package/dist/components/table/Table.js.map +2 -2
- package/dist/components/table/table.props.cjs +6 -0
- package/dist/components/table/table.props.cjs.map +2 -2
- package/dist/components/table/table.props.d.cts +5 -0
- package/dist/components/table/table.props.d.cts.map +1 -1
- package/dist/components/table/table.props.d.mts +5 -0
- package/dist/components/table/table.props.d.mts.map +1 -1
- package/dist/components/table/table.props.d.ts +5 -0
- package/dist/components/table/table.props.d.ts.map +1 -1
- package/dist/components/table/table.props.js +6 -0
- package/dist/components/table/table.props.js.map +2 -2
- package/dist/components/table.css +20 -13
- package/dist/components/tabs.css +10 -0
- package/dist/components/timeline.css +54 -18
- package/dist/components/toast.css +33 -1
- package/dist/components/toggle-group.css +5 -0
- package/dist/components.css +1 -2
- package/dist/docs/README.md +1 -1
- package/dist/docs/component-contract.md +4 -4
- package/dist/docs/component-index.json +9 -9
- package/dist/docs/components/banner.md +152 -0
- package/dist/docs/components/button-group.md +4 -3
- package/dist/docs/components/button.md +2 -2
- package/dist/docs/components/card.md +1 -0
- package/dist/docs/components/carousel.md +55 -32
- package/dist/docs/components/chart.md +25 -7
- package/dist/docs/components/checkbox.md +4 -0
- package/dist/docs/components/combobox.md +3 -1
- package/dist/docs/components/command.md +2 -2
- package/dist/docs/components/copy-field.md +2 -2
- package/dist/docs/components/data-list.md +15 -3
- package/dist/docs/components/data-table.md +98 -17
- package/dist/docs/components/dialog.md +4 -0
- package/dist/docs/components/dropdown-menu.md +2 -1
- package/dist/docs/components/empty-state.md +3 -1
- package/dist/docs/components/file-upload.md +1 -0
- package/dist/docs/components/filter-bar.md +193 -8
- package/dist/docs/components/floating-panel.md +8 -8
- package/dist/docs/components/icon-button.md +4 -1
- package/dist/docs/components/item.md +18 -13
- package/dist/docs/components/marquee.md +2 -2
- package/dist/docs/components/menu.md +4 -1
- package/dist/docs/components/metric.md +4 -1
- package/dist/docs/components/pagination.md +88 -17
- package/dist/docs/components/pills.md +1 -1
- package/dist/docs/components/popover.md +2 -0
- package/dist/docs/components/prose.md +5 -1
- package/dist/docs/components/qr-code.md +14 -13
- package/dist/docs/components/radio-group.md +5 -2
- package/dist/docs/components/rating.md +2 -0
- package/dist/docs/components/result.md +6 -0
- package/dist/docs/components/segmented-control.md +7 -2
- package/dist/docs/components/select.md +3 -2
- package/dist/docs/components/sidebar.md +3 -1
- package/dist/docs/components/sonner.md +1 -1
- package/dist/docs/components/sortable-list.md +2 -0
- package/dist/docs/components/stat-card.md +5 -4
- package/dist/docs/components/stepper.md +1 -0
- package/dist/docs/components/table.md +14 -5
- package/dist/docs/components/tag.md +4 -2
- package/dist/docs/components/timeline.md +9 -5
- package/dist/docs/components/toast.md +1 -1
- package/dist/docs/components/toggle-group.md +2 -1
- package/dist/fonts.css +1 -1
- package/dist/generated/tokens.cjs +1 -1
- package/dist/generated/tokens.cjs.map +1 -1
- package/dist/generated/tokens.js +1 -1
- package/dist/generated/tokens.js.map +1 -1
- package/dist/motion.css +18 -3
- package/dist/styles.css +1249 -292
- package/dist/tokens.css +21 -15
- package/package.json +1 -1
- package/dist/components/control-group.css +0 -142
- package/dist/components/controlGroup/ControlGroup.cjs.map +0 -7
- package/dist/components/controlGroup/ControlGroup.d.cts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.cts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.d.mts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.mts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.d.ts +0 -16
- package/dist/components/controlGroup/ControlGroup.d.ts.map +0 -1
- package/dist/components/controlGroup/ControlGroup.js +0 -26
- package/dist/components/controlGroup/ControlGroup.js.map +0 -7
- package/dist/components/controlGroup/controlGroup.props.cjs.map +0 -7
- package/dist/components/controlGroup/controlGroup.props.d.cts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.cts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.d.mts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.mts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.d.ts +0 -18
- package/dist/components/controlGroup/controlGroup.props.d.ts.map +0 -1
- package/dist/components/controlGroup/controlGroup.props.js +0 -20
- package/dist/components/controlGroup/controlGroup.props.js.map +0 -7
- package/dist/docs/components/control-group.md +0 -261
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAA;AAQtE,KAAK,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAA;AAC/C,KAAK,mBAAmB,GAAG,KAAK,CAAC,WAAW,GAAG,IAAI,CAAA;AAEnD,UAAU,aAAc,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC;IAC/F,IAAI,CAAC,EAAE,sBAAsB,CAAA;CAC9B;AAED,iBAAS,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAiC,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,2CAM/F;kBANQ,QAAQ;;;AASjB,UAAU,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC;IACrG,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,QAAA,MAAM,WAAW,4FAUhB,CAAA;AAGD,UAAU,eAAgB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,MAAM,CAAC;IACnG,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,iBAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAqC,EAAE,aAAqB,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,2CAUhI;kBAVQ,UAAU;;;AAanB,UAAU,gBAAiB,SAAQ,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACrI,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,mBAAmB,CAAA;IAC5B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAC1B;AAED,QAAA,MAAM,WAAW,yFA4ChB,CAAA;AAGD,UAAU,aAAc,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,IAAI,CAAC;IAC/F,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,QAAA,MAAM,QAAQ,sFAsBb,CAAA;AAGD,UAAU,kBAAmB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,SAAS,CAAC;IACzG,SAAS,CAAC,EAAE,sBAAsB,CAAA;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,QAAA,MAAM,aAAa,2FAUlB,CAAA;AAGD,UAAU,gBAAiB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IACtE,OAAO,CAAC,EAAE,sBAAsB,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,QAAA,MAAM,WAAW,yFAIhB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAC/F,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -2,6 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import classNames from "classnames";
|
|
3
3
|
import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
|
|
4
4
|
import { PortalThemeBoundary, PortalThemeWrapper } from "../../_internal/BaseDialog.js";
|
|
5
|
+
import { useFloatingLayerHost } from "../../_internal/floatingLayer.js";
|
|
5
6
|
import { usePrefersReducedMotion } from "../../_internal/index.js";
|
|
6
7
|
import { MOTION_TRANSITIONS } from "../../_internal/motion.js";
|
|
7
8
|
import { AnimatePresence, motion } from "../../motion/index.js";
|
|
@@ -45,12 +46,13 @@ const MenuContent = React.forwardRef(
|
|
|
45
46
|
...props
|
|
46
47
|
}, forwardedRef) => {
|
|
47
48
|
const prefersReducedMotion = usePrefersReducedMotion();
|
|
49
|
+
const nestedInModalHost = useFloatingLayerHost();
|
|
48
50
|
const isPresent = open || forceMount;
|
|
49
51
|
const contentSideOffset = sideOffset === void 0 ? null : { sideOffset };
|
|
50
52
|
return /* @__PURE__ */ jsx(MenuPortal, { portal, children: /* @__PURE__ */ jsx(AnimatePresence, { children: isPresent ? /* @__PURE__ */ jsx(PortalThemeWrapper, { children: /* @__PURE__ */ jsx(Content, { ...props, ...contentSideOffset, ref: forwardedRef, forceMount: true, asChild: true, children: /* @__PURE__ */ jsx(
|
|
51
53
|
motion.div,
|
|
52
54
|
{
|
|
53
|
-
className: classNames("dsx-menu", "dsx-menu__content", contentClassName, className),
|
|
55
|
+
className: classNames("dsx-menu", "dsx-menu__content", contentClassName, nestedInModalHost && "dsx-menu__nested", className),
|
|
54
56
|
"data-size": size,
|
|
55
57
|
initial: prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 4 },
|
|
56
58
|
animate: prefersReducedMotion ? { opacity: open ? 1 : 0 } : { opacity: open ? 1 : 0, y: open ? 0 : 2 },
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/menu/Menu.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\n\nimport { PortalThemeBoundary, PortalThemeWrapper } from '../../_internal/BaseDialog'\nimport { usePrefersReducedMotion } from '../../_internal'\nimport { MOTION_TRANSITIONS } from '../../_internal/motion'\nimport { AnimatePresence, motion } from '../../motion'\n\ntype MenuPrimitiveComponent = React.ElementType\ntype MenuPortalComponent = React.ElementType | null\n\ninterface MenuRootProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {\n root?: MenuPrimitiveComponent\n}\n\nfunction MenuRoot({ children, root: Root = DropdownMenuPrimitive.Root, ...props }: MenuRootProps) {\n return (\n <PortalThemeBoundary>\n <Root {...props}>{children}</Root>\n </PortalThemeBoundary>\n )\n}\nMenuRoot.displayName = 'MenuRoot'\n\ninterface MenuTriggerProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger> {\n trigger?: MenuPrimitiveComponent\n triggerClassName?: string\n}\n\nconst MenuTrigger = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Trigger>, MenuTriggerProps>(\n ({ className, trigger: Trigger = DropdownMenuPrimitive.Trigger, triggerClassName, ...props }, forwardedRef) => {\n return (\n <Trigger\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-menu__trigger', triggerClassName, className)}\n />\n )\n },\n)\nMenuTrigger.displayName = 'MenuTrigger'\n\ninterface MenuPortalProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal> {\n portal?: MenuPortalComponent\n wrapWithTheme?: boolean\n}\n\nfunction MenuPortal({ children, portal: Portal = DropdownMenuPrimitive.Portal, wrapWithTheme = false, ...props }: MenuPortalProps) {\n const content = wrapWithTheme && React.isValidElement(children)\n ? <PortalThemeWrapper>{children as React.ReactElement}</PortalThemeWrapper>\n : children\n\n if (Portal === null) {\n return <>{content}</>\n }\n\n return <Portal {...props}>{content}</Portal>\n}\nMenuPortal.displayName = 'MenuPortal'\n\ninterface MenuContentProps extends Omit<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>, 'content' | 'forceMount'> {\n content?: MenuPrimitiveComponent\n contentClassName?: string\n forceMount?: boolean\n open?: boolean\n portal?: MenuPortalComponent\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst MenuContent = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Content>, MenuContentProps>(\n (\n {\n children,\n className,\n content: Content = DropdownMenuPrimitive.Content,\n contentClassName,\n forceMount = false,\n open = true,\n portal = DropdownMenuPrimitive.Portal,\n sideOffset,\n size = 'md',\n ...props\n },\n forwardedRef,\n ) => {\n const prefersReducedMotion = usePrefersReducedMotion()\n const isPresent = open || forceMount\n const contentSideOffset = sideOffset === undefined ? null : { sideOffset }\n\n return (\n <MenuPortal portal={portal}>\n <AnimatePresence>\n {isPresent ? (\n <PortalThemeWrapper>\n <Content {...props} {...contentSideOffset} ref={forwardedRef} forceMount asChild>\n <motion.div\n className={classNames('dsx-menu', 'dsx-menu__content', contentClassName, className)}\n data-size={size}\n initial={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 4 }}\n animate={prefersReducedMotion ? { opacity: open ? 1 : 0 } : { opacity: open ? 1 : 0, y: open ? 0 : 2 }}\n exit={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 2 }}\n transition={prefersReducedMotion ? MOTION_TRANSITIONS.reduced : MOTION_TRANSITIONS.menu}\n >\n {children}\n </motion.div>\n </Content>\n </PortalThemeWrapper>\n ) : null}\n </AnimatePresence>\n </MenuPortal>\n )\n },\n)\nMenuContent.displayName = 'MenuContent'\n\ninterface MenuItemProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> {\n destructive?: boolean\n inset?: boolean\n item?: MenuPrimitiveComponent\n itemClassName?: string\n}\n\nconst MenuItem = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Item>, MenuItemProps>(\n (\n {\n className,\n destructive = false,\n inset = false,\n item: Item = DropdownMenuPrimitive.Item,\n itemClassName,\n ...props\n },\n forwardedRef,\n ) => {\n return (\n <Item\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-menu__item', itemClassName, className)}\n data-destructive={destructive ? 'true' : undefined}\n data-inset={inset ? 'true' : undefined}\n />\n )\n },\n)\nMenuItem.displayName = 'MenuItem'\n\ninterface MenuSeparatorProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator> {\n separator?: MenuPrimitiveComponent\n separatorClassName?: string\n}\n\nconst MenuSeparator = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Separator>, MenuSeparatorProps>(\n ({ className, separator: Separator = DropdownMenuPrimitive.Separator, separatorClassName, ...props }, forwardedRef) => {\n return (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-menu__separator', separatorClassName, className)}\n />\n )\n },\n)\nMenuSeparator.displayName = 'MenuSeparator'\n\ninterface MenuOverlayProps extends React.ComponentPropsWithoutRef<'div'> {\n overlay?: MenuPrimitiveComponent\n overlayClassName?: string\n}\n\nconst MenuOverlay = React.forwardRef<HTMLDivElement, MenuOverlayProps>(\n ({ className, overlay: Overlay = 'div', overlayClassName, ...props }, forwardedRef) => {\n return <Overlay {...props} ref={forwardedRef} className={classNames('dsx-menu__overlay', overlayClassName, className)} />\n },\n)\nMenuOverlay.displayName = 'MenuOverlay'\n\nexport { MenuContent, MenuItem, MenuOverlay, MenuPortal, MenuRoot, MenuSeparator, MenuTrigger }\nexport type { MenuContentProps, MenuItemProps, MenuOverlayProps, MenuPortalProps, MenuRootProps, MenuSeparatorProps, MenuTriggerProps }\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;AACvB,OAAO,gBAAgB;AACvB,YAAY,2BAA2B;AAEvC,SAAS,qBAAqB,0BAA0B;AACxD,SAAS,+BAA+B;AACxC,SAAS,0BAA0B;AACnC,SAAS,iBAAiB,cAAc;AAYlC,SAmCK,UAnCL;AAHN,SAAS,SAAS,EAAE,UAAU,MAAM,OAAO,sBAAsB,MAAM,GAAG,MAAM,GAAkB;AAChG,SACE,oBAAC,uBACC,8BAAC,QAAM,GAAG,OAAQ,UAAS,GAC7B;AAEJ;AACA,SAAS,cAAc;AAOvB,MAAM,cAAc,MAAM;AAAA,EACxB,CAAC,EAAE,WAAW,SAAS,UAAU,sBAAsB,SAAS,kBAAkB,GAAG,MAAM,GAAG,iBAAiB;AAC7G,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,WAAW,WAAW,qBAAqB,kBAAkB,SAAS;AAAA;AAAA,IACxE;AAAA,EAEJ;AACF;AACA,YAAY,cAAc;AAO1B,SAAS,WAAW,EAAE,UAAU,QAAQ,SAAS,sBAAsB,QAAQ,gBAAgB,OAAO,GAAG,MAAM,GAAoB;AACjI,QAAM,UAAU,iBAAiB,MAAM,eAAe,QAAQ,IAC1D,oBAAC,sBAAoB,UAA+B,IACpD;AAEJ,MAAI,WAAW,MAAM;AACnB,WAAO,gCAAG,mBAAQ;AAAA,EACpB;AAEA,SAAO,oBAAC,UAAQ,GAAG,OAAQ,mBAAQ;AACrC;AACA,WAAW,cAAc;AAWzB,MAAM,cAAc,MAAM;AAAA,EACxB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,SAAS,UAAU,sBAAsB;AAAA,IACzC;AAAA,IACA,aAAa;AAAA,IACb,OAAO;AAAA,IACP,SAAS,sBAAsB;AAAA,IAC/B;AAAA,IACA,OAAO;AAAA,IACP,GAAG;AAAA,EACL,GACA,iBACG;AACH,UAAM,uBAAuB,wBAAwB;AACrD,UAAM,YAAY,QAAQ;AAC1B,UAAM,oBAAoB,eAAe,SAAY,OAAO,EAAE,WAAW;AAEzE,WACE,oBAAC,cAAW,QACV,8BAAC,mBACE,sBACC,oBAAC,sBACC,8BAAC,WAAS,GAAG,OAAQ,GAAG,mBAAmB,KAAK,cAAc,YAAU,MAAC,SAAO,MAC9E;AAAA,MAAC,OAAO;AAAA,MAAP;AAAA,QACC,WAAW,WAAW,YAAY,qBAAqB,kBAAkB,SAAS;AAAA,
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu'\n\nimport { PortalThemeBoundary, PortalThemeWrapper } from '../../_internal/BaseDialog'\nimport { useFloatingLayerHost } from '../../_internal/floatingLayer'\nimport { usePrefersReducedMotion } from '../../_internal'\nimport { MOTION_TRANSITIONS } from '../../_internal/motion'\nimport { AnimatePresence, motion } from '../../motion'\n\ntype MenuPrimitiveComponent = React.ElementType\ntype MenuPortalComponent = React.ElementType | null\n\ninterface MenuRootProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root> {\n root?: MenuPrimitiveComponent\n}\n\nfunction MenuRoot({ children, root: Root = DropdownMenuPrimitive.Root, ...props }: MenuRootProps) {\n return (\n <PortalThemeBoundary>\n <Root {...props}>{children}</Root>\n </PortalThemeBoundary>\n )\n}\nMenuRoot.displayName = 'MenuRoot'\n\ninterface MenuTriggerProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Trigger> {\n trigger?: MenuPrimitiveComponent\n triggerClassName?: string\n}\n\nconst MenuTrigger = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Trigger>, MenuTriggerProps>(\n ({ className, trigger: Trigger = DropdownMenuPrimitive.Trigger, triggerClassName, ...props }, forwardedRef) => {\n return (\n <Trigger\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-menu__trigger', triggerClassName, className)}\n />\n )\n },\n)\nMenuTrigger.displayName = 'MenuTrigger'\n\ninterface MenuPortalProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Portal> {\n portal?: MenuPortalComponent\n wrapWithTheme?: boolean\n}\n\nfunction MenuPortal({ children, portal: Portal = DropdownMenuPrimitive.Portal, wrapWithTheme = false, ...props }: MenuPortalProps) {\n const content = wrapWithTheme && React.isValidElement(children)\n ? <PortalThemeWrapper>{children as React.ReactElement}</PortalThemeWrapper>\n : children\n\n if (Portal === null) {\n return <>{content}</>\n }\n\n return <Portal {...props}>{content}</Portal>\n}\nMenuPortal.displayName = 'MenuPortal'\n\ninterface MenuContentProps extends Omit<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>, 'content' | 'forceMount'> {\n content?: MenuPrimitiveComponent\n contentClassName?: string\n forceMount?: boolean\n open?: boolean\n portal?: MenuPortalComponent\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst MenuContent = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Content>, MenuContentProps>(\n (\n {\n children,\n className,\n content: Content = DropdownMenuPrimitive.Content,\n contentClassName,\n forceMount = false,\n open = true,\n portal = DropdownMenuPrimitive.Portal,\n sideOffset,\n size = 'md',\n ...props\n },\n forwardedRef,\n ) => {\n const prefersReducedMotion = usePrefersReducedMotion()\n const nestedInModalHost = useFloatingLayerHost()\n const isPresent = open || forceMount\n const contentSideOffset = sideOffset === undefined ? null : { sideOffset }\n\n return (\n <MenuPortal portal={portal}>\n <AnimatePresence>\n {isPresent ? (\n <PortalThemeWrapper>\n <Content {...props} {...contentSideOffset} ref={forwardedRef} forceMount asChild>\n <motion.div\n className={classNames('dsx-menu', 'dsx-menu__content', contentClassName, nestedInModalHost && 'dsx-menu__nested', className)}\n data-size={size}\n initial={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 4 }}\n animate={prefersReducedMotion ? { opacity: open ? 1 : 0 } : { opacity: open ? 1 : 0, y: open ? 0 : 2 }}\n exit={prefersReducedMotion ? { opacity: 0 } : { opacity: 0, y: 2 }}\n transition={prefersReducedMotion ? MOTION_TRANSITIONS.reduced : MOTION_TRANSITIONS.menu}\n >\n {children}\n </motion.div>\n </Content>\n </PortalThemeWrapper>\n ) : null}\n </AnimatePresence>\n </MenuPortal>\n )\n },\n)\nMenuContent.displayName = 'MenuContent'\n\ninterface MenuItemProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> {\n destructive?: boolean\n inset?: boolean\n item?: MenuPrimitiveComponent\n itemClassName?: string\n}\n\nconst MenuItem = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Item>, MenuItemProps>(\n (\n {\n className,\n destructive = false,\n inset = false,\n item: Item = DropdownMenuPrimitive.Item,\n itemClassName,\n ...props\n },\n forwardedRef,\n ) => {\n return (\n <Item\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-menu__item', itemClassName, className)}\n data-destructive={destructive ? 'true' : undefined}\n data-inset={inset ? 'true' : undefined}\n />\n )\n },\n)\nMenuItem.displayName = 'MenuItem'\n\ninterface MenuSeparatorProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator> {\n separator?: MenuPrimitiveComponent\n separatorClassName?: string\n}\n\nconst MenuSeparator = React.forwardRef<React.ComponentRef<typeof DropdownMenuPrimitive.Separator>, MenuSeparatorProps>(\n ({ className, separator: Separator = DropdownMenuPrimitive.Separator, separatorClassName, ...props }, forwardedRef) => {\n return (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('dsx-menu__separator', separatorClassName, className)}\n />\n )\n },\n)\nMenuSeparator.displayName = 'MenuSeparator'\n\ninterface MenuOverlayProps extends React.ComponentPropsWithoutRef<'div'> {\n overlay?: MenuPrimitiveComponent\n overlayClassName?: string\n}\n\nconst MenuOverlay = React.forwardRef<HTMLDivElement, MenuOverlayProps>(\n ({ className, overlay: Overlay = 'div', overlayClassName, ...props }, forwardedRef) => {\n return <Overlay {...props} ref={forwardedRef} className={classNames('dsx-menu__overlay', overlayClassName, className)} />\n },\n)\nMenuOverlay.displayName = 'MenuOverlay'\n\nexport { MenuContent, MenuItem, MenuOverlay, MenuPortal, MenuRoot, MenuSeparator, MenuTrigger }\nexport type { MenuContentProps, MenuItemProps, MenuOverlayProps, MenuPortalProps, MenuRootProps, MenuSeparatorProps, MenuTriggerProps }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
gap: var(--dsx-space-sm);
|
|
52
52
|
padding: var(--dsx-space-sm) var(--dsx-space-sm) var(--dsx-space-sm) calc(var(--dsx-space-lg) + var(--dsx-space-sm));
|
|
53
53
|
border: 0;
|
|
54
|
-
border-radius:
|
|
54
|
+
border-radius: 0;
|
|
55
55
|
background: transparent;
|
|
56
56
|
color: var(--dsx-color-on-surface);
|
|
57
57
|
text-align: left;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
.dsx-metric {
|
|
2
2
|
display: flex;
|
|
3
|
+
min-width: 0;
|
|
4
|
+
max-width: 100%;
|
|
5
|
+
overflow-wrap: anywhere;
|
|
3
6
|
flex-direction: column;
|
|
4
7
|
gap: var(--dsx-space-xs);
|
|
5
8
|
color: var(--dsx-color-on-surface);
|
|
@@ -24,6 +27,8 @@
|
|
|
24
27
|
|
|
25
28
|
.dsx-metric__delta {
|
|
26
29
|
display: inline-flex;
|
|
30
|
+
flex-wrap: wrap;
|
|
31
|
+
min-width: 0;
|
|
27
32
|
align-items: center;
|
|
28
33
|
gap: var(--dsx-space-xs);
|
|
29
34
|
color: var(--dsx-color-on-surface-variant);
|
|
@@ -32,13 +32,17 @@ __export(Pagination_exports, {
|
|
|
32
32
|
PaginationBar: () => PaginationBar,
|
|
33
33
|
PaginationContent: () => PaginationContent,
|
|
34
34
|
PaginationEllipsis: () => PaginationEllipsis,
|
|
35
|
+
PaginationFirst: () => PaginationFirst,
|
|
35
36
|
PaginationInfo: () => PaginationInfo,
|
|
36
37
|
PaginationItem: () => PaginationItem,
|
|
38
|
+
PaginationLast: () => PaginationLast,
|
|
37
39
|
PaginationLink: () => PaginationLink,
|
|
38
40
|
PaginationList: () => PaginationList,
|
|
39
41
|
PaginationNext: () => PaginationNext,
|
|
42
|
+
PaginationPageInput: () => PaginationPageInput,
|
|
40
43
|
PaginationPageSize: () => PaginationPageSize,
|
|
41
44
|
PaginationPrevious: () => PaginationPrevious,
|
|
45
|
+
PaginationStatus: () => PaginationStatus,
|
|
42
46
|
buildPageNumbers: () => buildPageNumbers
|
|
43
47
|
});
|
|
44
48
|
module.exports = __toCommonJS(Pagination_exports);
|
|
@@ -47,6 +51,7 @@ var import_classnames = __toESM(require("classnames"), 1);
|
|
|
47
51
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
48
52
|
var import_extractProps = require("../../_internal/helpers/extractProps");
|
|
49
53
|
var import_Icon = require("../icon/Icon");
|
|
54
|
+
var import_Select = require("../select/Select");
|
|
50
55
|
var import_pagination = require("./pagination.props");
|
|
51
56
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
52
57
|
const Pagination = React.forwardRef((props, forwardedRef) => {
|
|
@@ -147,6 +152,23 @@ const PaginationPrevious = React.forwardRef((props, forwardedRef) => {
|
|
|
147
152
|
);
|
|
148
153
|
});
|
|
149
154
|
PaginationPrevious.displayName = "PaginationPrevious";
|
|
155
|
+
const PaginationFirst = React.forwardRef((props, forwardedRef) => {
|
|
156
|
+
const { children, className, ...firstProps } = props;
|
|
157
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
158
|
+
PaginationLink,
|
|
159
|
+
{
|
|
160
|
+
...firstProps,
|
|
161
|
+
ref: forwardedRef,
|
|
162
|
+
"aria-label": props["aria-label"] ?? "First page",
|
|
163
|
+
className: (0, import_classnames.default)("dsx-pagination__link--edge", className),
|
|
164
|
+
children: [
|
|
165
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "chevrons-left", size: "sm" }),
|
|
166
|
+
children ?? "First"
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
});
|
|
171
|
+
PaginationFirst.displayName = "PaginationFirst";
|
|
150
172
|
const PaginationNext = React.forwardRef((props, forwardedRef) => {
|
|
151
173
|
const { children, className, ...nextProps } = props;
|
|
152
174
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -164,6 +186,23 @@ const PaginationNext = React.forwardRef((props, forwardedRef) => {
|
|
|
164
186
|
);
|
|
165
187
|
});
|
|
166
188
|
PaginationNext.displayName = "PaginationNext";
|
|
189
|
+
const PaginationLast = React.forwardRef((props, forwardedRef) => {
|
|
190
|
+
const { children, className, ...lastProps } = props;
|
|
191
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
192
|
+
PaginationLink,
|
|
193
|
+
{
|
|
194
|
+
...lastProps,
|
|
195
|
+
ref: forwardedRef,
|
|
196
|
+
"aria-label": props["aria-label"] ?? "Last page",
|
|
197
|
+
className: (0, import_classnames.default)("dsx-pagination__link--edge", className),
|
|
198
|
+
children: [
|
|
199
|
+
children ?? "Last",
|
|
200
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Icon.Icon, { name: "chevrons-right", size: "sm" })
|
|
201
|
+
]
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
});
|
|
205
|
+
PaginationLast.displayName = "PaginationLast";
|
|
167
206
|
const PaginationEllipsis = React.forwardRef((props, forwardedRef) => {
|
|
168
207
|
const { asChild, children, className, ...ellipsisProps } = (0, import_extractProps.extractProps)(props, import_pagination.paginationEllipsisPropDefs);
|
|
169
208
|
const Comp = asChild && React.isValidElement(children) ? import_react_slot.Slot : "span";
|
|
@@ -187,22 +226,81 @@ const PaginationInfo = React.forwardRef(
|
|
|
187
226
|
}
|
|
188
227
|
);
|
|
189
228
|
PaginationInfo.displayName = "PaginationInfo";
|
|
190
|
-
const
|
|
191
|
-
({
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
...props,
|
|
196
|
-
ref: forwardedRef,
|
|
197
|
-
value,
|
|
198
|
-
className: (0, import_classnames.default)("dsx-pagination__page-size", className),
|
|
199
|
-
onChange: (e) => onChange(Number(e.target.value)),
|
|
200
|
-
children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("option", { value: opt, children: formatOption?.(opt) ?? `${opt} per page` }, opt))
|
|
201
|
-
}
|
|
202
|
-
);
|
|
229
|
+
const PaginationStatus = React.forwardRef(
|
|
230
|
+
({ page, totalPages, formatStatus, className, role, ...props }, forwardedRef) => {
|
|
231
|
+
const safeTotal = Math.max(1, totalPages);
|
|
232
|
+
const safePage = Math.max(1, Math.min(page, safeTotal));
|
|
233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { ...props, ref: forwardedRef, role: role ?? "status", className: (0, import_classnames.default)("dsx-pagination__status", className), children: formatStatus?.(safePage, safeTotal) ?? `Page ${safePage} of ${safeTotal}` });
|
|
203
234
|
}
|
|
204
235
|
);
|
|
236
|
+
PaginationStatus.displayName = "PaginationStatus";
|
|
237
|
+
function PaginationPageSize({
|
|
238
|
+
value,
|
|
239
|
+
options = [10, 25, 50, 100],
|
|
240
|
+
onChange,
|
|
241
|
+
formatOption,
|
|
242
|
+
className,
|
|
243
|
+
...props
|
|
244
|
+
}) {
|
|
245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Select.SelectRoot, { value: String(value), onValueChange: (next) => {
|
|
246
|
+
onChange(Number(next));
|
|
247
|
+
}, children: [
|
|
248
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Select.SelectTrigger, { className: (0, import_classnames.default)("dsx-pagination__page-size", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Select.SelectValue, {}) }),
|
|
249
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Select.SelectContent, { children: options.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_Select.SelectItem, { value: String(opt), children: formatOption?.(opt) ?? `${opt} per page` }, opt)) })
|
|
250
|
+
] });
|
|
251
|
+
}
|
|
205
252
|
PaginationPageSize.displayName = "PaginationPageSize";
|
|
253
|
+
const PaginationPageInput = React.forwardRef(
|
|
254
|
+
({
|
|
255
|
+
page,
|
|
256
|
+
totalPages,
|
|
257
|
+
onPageChange,
|
|
258
|
+
pageLabel = "Page",
|
|
259
|
+
formatOf = (total) => `of ${total}`,
|
|
260
|
+
className,
|
|
261
|
+
"aria-label": ariaLabel,
|
|
262
|
+
onKeyDown,
|
|
263
|
+
onBlur,
|
|
264
|
+
...props
|
|
265
|
+
}, forwardedRef) => {
|
|
266
|
+
const [draft, setDraft] = React.useState(null);
|
|
267
|
+
React.useEffect(() => {
|
|
268
|
+
setDraft(null);
|
|
269
|
+
}, [page, totalPages]);
|
|
270
|
+
function commit(raw) {
|
|
271
|
+
const parsed = Number.parseInt(raw, 10);
|
|
272
|
+
setDraft(null);
|
|
273
|
+
if (Number.isNaN(parsed)) return;
|
|
274
|
+
onPageChange(Math.max(1, Math.min(parsed, Math.max(1, totalPages))));
|
|
275
|
+
}
|
|
276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: (0, import_classnames.default)("dsx-pagination__page-input", className), children: [
|
|
277
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: pageLabel }),
|
|
278
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
279
|
+
"input",
|
|
280
|
+
{
|
|
281
|
+
...props,
|
|
282
|
+
ref: forwardedRef,
|
|
283
|
+
type: "number",
|
|
284
|
+
min: 1,
|
|
285
|
+
max: Math.max(1, totalPages),
|
|
286
|
+
value: draft ?? page,
|
|
287
|
+
"aria-label": ariaLabel ?? `Page number, page ${page} of ${Math.max(1, totalPages)}`,
|
|
288
|
+
onChange: (event) => setDraft(event.currentTarget.value),
|
|
289
|
+
onBlur: (event) => {
|
|
290
|
+
commit(event.currentTarget.value);
|
|
291
|
+
onBlur?.(event);
|
|
292
|
+
},
|
|
293
|
+
onKeyDown: (event) => {
|
|
294
|
+
if (event.key === "Enter") commit(event.currentTarget.value);
|
|
295
|
+
onKeyDown?.(event);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
),
|
|
299
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: formatOf(Math.max(1, totalPages)) })
|
|
300
|
+
] });
|
|
301
|
+
}
|
|
302
|
+
);
|
|
303
|
+
PaginationPageInput.displayName = "PaginationPageInput";
|
|
206
304
|
function buildPageNumbers(currentPage, totalPages) {
|
|
207
305
|
if (totalPages <= 7) {
|
|
208
306
|
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
@@ -212,15 +310,24 @@ function buildPageNumbers(currentPage, totalPages) {
|
|
|
212
310
|
return [1, "ellipsis", currentPage - 1, currentPage, currentPage + 1, "ellipsis", totalPages];
|
|
213
311
|
}
|
|
214
312
|
const PaginationBar = React.forwardRef(
|
|
215
|
-
({ totalCount, offset, limit, pageSizeOptions = [10, 25, 50, 100], size = "md", onPageChange, onLimitChange, messages = {}, className, ...props }, ref) => {
|
|
313
|
+
({ totalCount, offset, limit, pageSizeOptions = [10, 25, 50, 100], size = "md", onPageChange, onLimitChange, messages = {}, showFirstLast = false, showPageInput = false, dense = false, className, ...props }, ref) => {
|
|
216
314
|
const totalPages = Math.max(1, Math.ceil(totalCount / limit));
|
|
217
315
|
const currentPage = Math.floor(offset / limit) + 1;
|
|
218
316
|
const pages = buildPageNumbers(currentPage, totalPages);
|
|
219
317
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ...props, ref, className: (0, import_classnames.default)("dsx-pagination-bar", className), children: [
|
|
220
318
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaginationInfo, { totalCount, offset, limit, formatRange: messages.formatRange, zeroResultsLabel: messages.zeroResults }),
|
|
221
319
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "dsx-pagination-bar__controls", children: [
|
|
222
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaginationPageSize, { value: limit, options: pageSizeOptions, onChange: onLimitChange, formatOption: messages.formatPageSize, "aria-label": "Page size" }),
|
|
320
|
+
!dense ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaginationPageSize, { value: limit, options: pageSizeOptions, onChange: onLimitChange, formatOption: messages.formatPageSize, "aria-label": "Page size" }) : null,
|
|
223
321
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Pagination, { size, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PaginationContent, { children: [
|
|
322
|
+
showFirstLast ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
323
|
+
PaginationFirst,
|
|
324
|
+
{
|
|
325
|
+
disabled: currentPage <= 1,
|
|
326
|
+
"aria-label": messages.first ?? "First page",
|
|
327
|
+
onClick: () => onPageChange(0),
|
|
328
|
+
children: messages.first
|
|
329
|
+
}
|
|
330
|
+
) }) : null,
|
|
224
331
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
225
332
|
PaginationPrevious,
|
|
226
333
|
{
|
|
@@ -248,8 +355,27 @@ const PaginationBar = React.forwardRef(
|
|
|
248
355
|
onClick: () => onPageChange(currentPage * limit),
|
|
249
356
|
children: messages.next
|
|
250
357
|
}
|
|
251
|
-
) })
|
|
252
|
-
|
|
358
|
+
) }),
|
|
359
|
+
showFirstLast ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaginationItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
360
|
+
PaginationLast,
|
|
361
|
+
{
|
|
362
|
+
disabled: currentPage >= totalPages,
|
|
363
|
+
"aria-label": messages.last ?? "Last page",
|
|
364
|
+
onClick: () => onPageChange((totalPages - 1) * limit),
|
|
365
|
+
children: messages.last
|
|
366
|
+
}
|
|
367
|
+
) }) : null
|
|
368
|
+
] }) }),
|
|
369
|
+
showPageInput ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
370
|
+
PaginationPageInput,
|
|
371
|
+
{
|
|
372
|
+
page: currentPage,
|
|
373
|
+
totalPages,
|
|
374
|
+
onPageChange: (nextPage) => onPageChange((nextPage - 1) * limit),
|
|
375
|
+
pageLabel: messages.pageInputLabel ?? "Page",
|
|
376
|
+
formatOf: messages.formatPageInputOf
|
|
377
|
+
}
|
|
378
|
+
) : null
|
|
253
379
|
] })
|
|
254
380
|
] });
|
|
255
381
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/pagination/Pagination.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Icon } from '../icon/Icon'\nimport {\n paginationEllipsisPropDefs,\n paginationItemPropDefs,\n paginationLinkPropDefs,\n paginationListPropDefs,\n paginationPropDefs,\n} from './pagination.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype PaginationOwnProps = GetPropDefTypes<typeof paginationPropDefs>\ntype PaginationListOwnProps = GetPropDefTypes<typeof paginationListPropDefs>\ntype PaginationItemOwnProps = GetPropDefTypes<typeof paginationItemPropDefs>\ntype PaginationLinkOwnProps = GetPropDefTypes<typeof paginationLinkPropDefs>\ntype PaginationEllipsisOwnProps = GetPropDefTypes<typeof paginationEllipsisPropDefs>\n\ninterface PaginationProps extends React.ComponentPropsWithoutRef<'nav'>, PaginationOwnProps {}\ninterface PaginationListProps extends React.ComponentPropsWithoutRef<'ul'>, PaginationListOwnProps {}\ninterface PaginationItemProps extends React.ComponentPropsWithoutRef<'li'>, PaginationItemOwnProps {}\n\ntype PaginationLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'type'> &\n PaginationLinkOwnProps & {\n active?: boolean\n disabled?: boolean\n }\n\ninterface PaginationEllipsisProps extends React.ComponentPropsWithoutRef<'span'>, PaginationEllipsisOwnProps {}\n\nconst Pagination = React.forwardRef<HTMLElement, PaginationProps>((props, forwardedRef) => {\n const { asChild, className, size = 'md', ...paginationProps } = extractProps(props, paginationPropDefs)\n const Comp = asChild ? Slot : 'nav'\n\n return (\n <Comp\n {...paginationProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Pagination'}\n className={classNames('dsx-pagination', className)}\n data-size={size}\n />\n )\n})\nPagination.displayName = 'Pagination'\n\nconst PaginationList = React.forwardRef<HTMLUListElement, PaginationListProps>((props, forwardedRef) => {\n const { asChild, className, ...listProps } = extractProps(props, paginationListPropDefs)\n const Comp = asChild ? Slot : 'ul'\n\n return <Comp {...listProps} ref={forwardedRef} className={classNames('dsx-pagination__list', className)} />\n})\nPaginationList.displayName = 'PaginationList'\n\nconst PaginationContent = PaginationList\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, PaginationItemProps>((props, forwardedRef) => {\n const { asChild, className, ...itemProps } = extractProps(props, paginationItemPropDefs)\n const Comp = asChild ? Slot : 'li'\n\n return <Comp {...itemProps} ref={forwardedRef} className={classNames('dsx-pagination__item', className)} />\n})\nPaginationItem.displayName = 'PaginationItem'\n\nconst PaginationLink = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { active = false, asChild, children, className, disabled = false, href, ...linkProps } = extractProps(\n props,\n paginationLinkPropDefs,\n )\n const resolvedClassName = classNames(\n 'dsx-pagination__link',\n active && 'dsx-pagination__link--active',\n disabled && 'dsx-pagination__link--disabled',\n className,\n )\n\n if (asChild) {\n return (\n <Slot\n {...linkProps}\n ref={forwardedRef}\n aria-current={active ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n data-disabled={disabled ? '' : undefined}\n className={resolvedClassName}\n >\n {children}\n </Slot>\n )\n }\n\n if (href && !disabled) {\n return (\n <a\n {...linkProps}\n ref={forwardedRef}\n href={href}\n aria-current={active ? 'page' : undefined}\n className={resolvedClassName}\n >\n {children}\n </a>\n )\n }\n\n return (\n <button\n {...(linkProps as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n ref={forwardedRef as React.ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n disabled={disabled}\n aria-current={active ? 'page' : undefined}\n data-disabled={disabled ? '' : undefined}\n className={resolvedClassName}\n >\n {children}\n </button>\n )\n})\nPaginationLink.displayName = 'PaginationLink'\n\nconst PaginationPrevious = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { children, className, ...previousProps } = props\n\n return (\n <PaginationLink\n {...previousProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Previous page'}\n className={classNames('dsx-pagination__link--edge', className)}\n >\n <Icon name=\"chevron-left\" size=\"sm\" />\n {children ?? 'Previous'}\n </PaginationLink>\n )\n})\nPaginationPrevious.displayName = 'PaginationPrevious'\n\nconst PaginationNext = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { children, className, ...nextProps } = props\n\n return (\n <PaginationLink\n {...nextProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Next page'}\n className={classNames('dsx-pagination__link--edge', className)}\n >\n {children ?? 'Next'}\n <Icon name=\"chevron-right\" size=\"sm\" />\n </PaginationLink>\n )\n})\nPaginationNext.displayName = 'PaginationNext'\n\nconst PaginationEllipsis = React.forwardRef<HTMLSpanElement, PaginationEllipsisProps>((props, forwardedRef) => {\n const { asChild, children, className, ...ellipsisProps } = extractProps(props, paginationEllipsisPropDefs)\n const Comp = asChild && React.isValidElement(children) ? Slot : 'span'\n\n return (\n <Comp\n {...ellipsisProps}\n ref={forwardedRef}\n aria-hidden=\"true\"\n className={classNames('dsx-pagination__ellipsis', className)}\n >\n {children ?? <Icon name=\"dots-horizontal\" size=\"sm\" />}\n </Comp>\n )\n})\nPaginationEllipsis.displayName = 'PaginationEllipsis'\n\ninterface PaginationInfoProps extends React.ComponentPropsWithoutRef<'span'> {\n totalCount: number\n offset: number\n limit: number\n formatRange?: (start: number, end: number, totalCount: number) => React.ReactNode\n zeroResultsLabel?: React.ReactNode\n}\n\nconst PaginationInfo = React.forwardRef<HTMLSpanElement, PaginationInfoProps>(\n ({ totalCount, offset, limit, formatRange, zeroResultsLabel = 'No results', className, ...props }, forwardedRef) => {\n const start = totalCount === 0 ? 0 : offset + 1\n const end = Math.min(offset + limit, totalCount)\n\n return (\n <span {...props} ref={forwardedRef} className={classNames('dsx-pagination__info', className)}>\n {totalCount === 0 ? zeroResultsLabel : (formatRange?.(start, end, totalCount) ?? `Showing ${start}\u2013${end} of ${totalCount}`)}\n </span>\n )\n },\n)\nPaginationInfo.displayName = 'PaginationInfo'\n\ninterface PaginationPageSizeProps extends Omit<React.ComponentPropsWithoutRef<'select'>, 'onChange'> {\n value: number\n options?: number[]\n onChange: (limit: number) => void\n formatOption?: (limit: number) => React.ReactNode\n}\n\nconst PaginationPageSize = React.forwardRef<HTMLSelectElement, PaginationPageSizeProps>(\n ({ value, options = [20, 50, 100], onChange, formatOption, className, ...props }, forwardedRef) => {\n return (\n <select\n {...props}\n ref={forwardedRef}\n value={value}\n className={classNames('dsx-pagination__page-size', className)}\n onChange={(e) => onChange(Number(e.target.value))}\n >\n {options.map((opt) => (\n <option key={opt} value={opt}>\n {formatOption?.(opt) ?? `${opt} per page`}\n </option>\n ))}\n </select>\n )\n },\n)\nPaginationPageSize.displayName = 'PaginationPageSize'\n\nfunction buildPageNumbers(currentPage: number, totalPages: number): (number | 'ellipsis')[] {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1)\n }\n if (currentPage <= 4) return [1, 2, 3, 4, 5, 'ellipsis', totalPages]\n if (currentPage >= totalPages - 3) return [1, 'ellipsis', totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages]\n return [1, 'ellipsis', currentPage - 1, currentPage, currentPage + 1, 'ellipsis', totalPages]\n}\n\ninterface PaginationMessages { formatRange?: (start: number, end: number, totalCount: number) => React.ReactNode; formatPageSize?: (limit: number) => React.ReactNode; zeroResults?: React.ReactNode; previous?: string; next?: string }\n\ninterface PaginationBarProps extends React.ComponentPropsWithoutRef<'div'> {\n totalCount: number\n offset: number\n limit: number\n pageSizeOptions?: number[]\n size?: 'sm' | 'md' | 'lg'\n onPageChange: (offset: number) => void\n onLimitChange: (limit: number) => void\n messages?: PaginationMessages\n}\n\nconst PaginationBar = React.forwardRef<HTMLDivElement, PaginationBarProps>(\n ({ totalCount, offset, limit, pageSizeOptions = [10, 25, 50, 100], size = 'md', onPageChange, onLimitChange, messages = {}, className, ...props }, ref) => {\n const totalPages = Math.max(1, Math.ceil(totalCount / limit))\n const currentPage = Math.floor(offset / limit) + 1\n const pages = buildPageNumbers(currentPage, totalPages)\n\n return (\n <div {...props} ref={ref} className={classNames('dsx-pagination-bar', className)}>\n <PaginationInfo totalCount={totalCount} offset={offset} limit={limit} formatRange={messages.formatRange} zeroResultsLabel={messages.zeroResults} />\n <div className=\"dsx-pagination-bar__controls\">\n <PaginationPageSize value={limit} options={pageSizeOptions} onChange={onLimitChange} formatOption={messages.formatPageSize} aria-label=\"Page size\" />\n <Pagination size={size}>\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n disabled={currentPage <= 1}\n aria-label={messages.previous ?? 'Previous page'}\n onClick={() => onPageChange((currentPage - 2) * limit)}\n >{messages.previous}</PaginationPrevious>\n </PaginationItem>\n {pages.map((page, i) =>\n page === 'ellipsis' ? (\n <PaginationItem key={`ellipsis-${i}`}>\n <PaginationEllipsis />\n </PaginationItem>\n ) : (\n <PaginationItem key={page}>\n <PaginationLink\n active={page === currentPage}\n onClick={() => onPageChange((page - 1) * limit)}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n ),\n )}\n <PaginationItem>\n <PaginationNext\n disabled={currentPage >= totalPages}\n aria-label={messages.next ?? 'Next page'}\n onClick={() => onPageChange(currentPage * limit)}\n >{messages.next}</PaginationNext>\n </PaginationItem>\n </PaginationContent>\n </Pagination>\n </div>\n </div>\n )\n },\n)\nPaginationBar.displayName = 'PaginationBar'\n\nexport {\n buildPageNumbers,\n Pagination,\n PaginationBar,\n PaginationContent,\n PaginationEllipsis,\n PaginationInfo,\n PaginationItem,\n PaginationLink,\n PaginationList,\n PaginationNext,\n PaginationPageSize,\n PaginationPrevious,\n}\nexport type {\n PaginationBarProps,\n PaginationEllipsisProps,\n PaginationInfoProps,\n PaginationItemProps,\n PaginationLinkProps,\n PaginationMessages,\n PaginationListProps,\n PaginationPageSizeProps,\n PaginationProps,\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAAuB;AACvB,wBAAuB;AACvB,wBAAqB;AAErB,0BAA6B;AAC7B,kBAAqB;AACrB,wBAMO;
|
|
4
|
+
"sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport { Slot } from '@radix-ui/react-slot'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { Icon } from '../icon/Icon'\nimport { SelectContent, SelectItem, SelectRoot, SelectTrigger, SelectValue } from '../select/Select'\nimport {\n paginationEllipsisPropDefs,\n paginationItemPropDefs,\n paginationLinkPropDefs,\n paginationListPropDefs,\n paginationPropDefs,\n} from './pagination.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype PaginationOwnProps = GetPropDefTypes<typeof paginationPropDefs>\ntype PaginationListOwnProps = GetPropDefTypes<typeof paginationListPropDefs>\ntype PaginationItemOwnProps = GetPropDefTypes<typeof paginationItemPropDefs>\ntype PaginationLinkOwnProps = GetPropDefTypes<typeof paginationLinkPropDefs>\ntype PaginationEllipsisOwnProps = GetPropDefTypes<typeof paginationEllipsisPropDefs>\n\ninterface PaginationProps extends React.ComponentPropsWithoutRef<'nav'>, PaginationOwnProps {}\ninterface PaginationListProps extends React.ComponentPropsWithoutRef<'ul'>, PaginationListOwnProps {}\ninterface PaginationItemProps extends React.ComponentPropsWithoutRef<'li'>, PaginationItemOwnProps {}\n\ntype PaginationLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'type'> &\n PaginationLinkOwnProps & {\n active?: boolean\n disabled?: boolean\n }\n\ntype PaginationFirstProps = PaginationLinkProps\ntype PaginationLastProps = PaginationLinkProps\n\ninterface PaginationEllipsisProps extends React.ComponentPropsWithoutRef<'span'>, PaginationEllipsisOwnProps {}\n\nconst Pagination = React.forwardRef<HTMLElement, PaginationProps>((props, forwardedRef) => {\n const { asChild, className, size = 'md', ...paginationProps } = extractProps(props, paginationPropDefs)\n const Comp = asChild ? Slot : 'nav'\n\n return (\n <Comp\n {...paginationProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Pagination'}\n className={classNames('dsx-pagination', className)}\n data-size={size}\n />\n )\n})\nPagination.displayName = 'Pagination'\n\nconst PaginationList = React.forwardRef<HTMLUListElement, PaginationListProps>((props, forwardedRef) => {\n const { asChild, className, ...listProps } = extractProps(props, paginationListPropDefs)\n const Comp = asChild ? Slot : 'ul'\n\n return <Comp {...listProps} ref={forwardedRef} className={classNames('dsx-pagination__list', className)} />\n})\nPaginationList.displayName = 'PaginationList'\n\nconst PaginationContent = PaginationList\n\nconst PaginationItem = React.forwardRef<HTMLLIElement, PaginationItemProps>((props, forwardedRef) => {\n const { asChild, className, ...itemProps } = extractProps(props, paginationItemPropDefs)\n const Comp = asChild ? Slot : 'li'\n\n return <Comp {...itemProps} ref={forwardedRef} className={classNames('dsx-pagination__item', className)} />\n})\nPaginationItem.displayName = 'PaginationItem'\n\nconst PaginationLink = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { active = false, asChild, children, className, disabled = false, href, ...linkProps } = extractProps(\n props,\n paginationLinkPropDefs,\n )\n const resolvedClassName = classNames(\n 'dsx-pagination__link',\n active && 'dsx-pagination__link--active',\n disabled && 'dsx-pagination__link--disabled',\n className,\n )\n\n if (asChild) {\n return (\n <Slot\n {...linkProps}\n ref={forwardedRef}\n aria-current={active ? 'page' : undefined}\n aria-disabled={disabled || undefined}\n data-disabled={disabled ? '' : undefined}\n className={resolvedClassName}\n >\n {children}\n </Slot>\n )\n }\n\n if (href && !disabled) {\n return (\n <a\n {...linkProps}\n ref={forwardedRef}\n href={href}\n aria-current={active ? 'page' : undefined}\n className={resolvedClassName}\n >\n {children}\n </a>\n )\n }\n\n return (\n <button\n {...(linkProps as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n ref={forwardedRef as React.ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n disabled={disabled}\n aria-current={active ? 'page' : undefined}\n data-disabled={disabled ? '' : undefined}\n className={resolvedClassName}\n >\n {children}\n </button>\n )\n})\nPaginationLink.displayName = 'PaginationLink'\n\nconst PaginationPrevious = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { children, className, ...previousProps } = props\n\n return (\n <PaginationLink\n {...previousProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Previous page'}\n className={classNames('dsx-pagination__link--edge', className)}\n >\n <Icon name=\"chevron-left\" size=\"sm\" />\n {children ?? 'Previous'}\n </PaginationLink>\n )\n})\nPaginationPrevious.displayName = 'PaginationPrevious'\n\nconst PaginationFirst = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { children, className, ...firstProps } = props\n\n return (\n <PaginationLink\n {...firstProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'First page'}\n className={classNames('dsx-pagination__link--edge', className)}\n >\n <Icon name=\"chevrons-left\" size=\"sm\" />\n {children ?? 'First'}\n </PaginationLink>\n )\n})\nPaginationFirst.displayName = 'PaginationFirst'\n\nconst PaginationNext = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { children, className, ...nextProps } = props\n\n return (\n <PaginationLink\n {...nextProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Next page'}\n className={classNames('dsx-pagination__link--edge', className)}\n >\n {children ?? 'Next'}\n <Icon name=\"chevron-right\" size=\"sm\" />\n </PaginationLink>\n )\n})\nPaginationNext.displayName = 'PaginationNext'\n\nconst PaginationLast = React.forwardRef<HTMLAnchorElement, PaginationLinkProps>((props, forwardedRef) => {\n const { children, className, ...lastProps } = props\n\n return (\n <PaginationLink\n {...lastProps}\n ref={forwardedRef}\n aria-label={props['aria-label'] ?? 'Last page'}\n className={classNames('dsx-pagination__link--edge', className)}\n >\n {children ?? 'Last'}\n <Icon name=\"chevrons-right\" size=\"sm\" />\n </PaginationLink>\n )\n})\nPaginationLast.displayName = 'PaginationLast'\n\nconst PaginationEllipsis = React.forwardRef<HTMLSpanElement, PaginationEllipsisProps>((props, forwardedRef) => {\n const { asChild, children, className, ...ellipsisProps } = extractProps(props, paginationEllipsisPropDefs)\n const Comp = asChild && React.isValidElement(children) ? Slot : 'span'\n\n return (\n <Comp\n {...ellipsisProps}\n ref={forwardedRef}\n aria-hidden=\"true\"\n className={classNames('dsx-pagination__ellipsis', className)}\n >\n {children ?? <Icon name=\"dots-horizontal\" size=\"sm\" />}\n </Comp>\n )\n})\nPaginationEllipsis.displayName = 'PaginationEllipsis'\n\ninterface PaginationInfoProps extends React.ComponentPropsWithoutRef<'span'> {\n totalCount: number\n offset: number\n limit: number\n formatRange?: (start: number, end: number, totalCount: number) => React.ReactNode\n zeroResultsLabel?: React.ReactNode\n}\n\nconst PaginationInfo = React.forwardRef<HTMLSpanElement, PaginationInfoProps>(\n ({ totalCount, offset, limit, formatRange, zeroResultsLabel = 'No results', className, ...props }, forwardedRef) => {\n const start = totalCount === 0 ? 0 : offset + 1\n const end = Math.min(offset + limit, totalCount)\n\n return (\n <span {...props} ref={forwardedRef} className={classNames('dsx-pagination__info', className)}>\n {totalCount === 0 ? zeroResultsLabel : (formatRange?.(start, end, totalCount) ?? `Showing ${start}\u2013${end} of ${totalCount}`)}\n </span>\n )\n },\n)\nPaginationInfo.displayName = 'PaginationInfo'\n\ninterface PaginationStatusProps extends React.ComponentPropsWithoutRef<'span'> {\n page: number\n totalPages: number\n formatStatus?: (page: number, totalPages: number) => React.ReactNode\n}\n\nconst PaginationStatus = React.forwardRef<HTMLSpanElement, PaginationStatusProps>(\n ({ page, totalPages, formatStatus, className, role, ...props }, forwardedRef) => {\n const safeTotal = Math.max(1, totalPages)\n const safePage = Math.max(1, Math.min(page, safeTotal))\n\n return (\n <span {...props} ref={forwardedRef} role={role ?? 'status'} className={classNames('dsx-pagination__status', className)}>\n {formatStatus?.(safePage, safeTotal) ?? `Page ${safePage} of ${safeTotal}`}\n </span>\n )\n },\n)\nPaginationStatus.displayName = 'PaginationStatus'\n\ninterface PaginationPageSizeProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value'> {\n value: number\n options?: number[]\n onChange: (limit: number) => void\n formatOption?: (limit: number) => React.ReactNode\n}\n\nfunction PaginationPageSize({\n value,\n options = [10, 25, 50, 100],\n onChange,\n formatOption,\n className,\n ...props\n}: PaginationPageSizeProps) {\n return (\n <SelectRoot value={String(value)} onValueChange={(next) => { onChange(Number(next)) }}>\n <SelectTrigger className={classNames('dsx-pagination__page-size', className)} {...props}>\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {options.map((opt) => (\n <SelectItem key={opt} value={String(opt)}>\n {formatOption?.(opt) ?? `${opt} per page`}\n </SelectItem>\n ))}\n </SelectContent>\n </SelectRoot>\n )\n}\nPaginationPageSize.displayName = 'PaginationPageSize'\n\ninterface PaginationPageInputProps extends Omit<\n React.ComponentPropsWithoutRef<'input'>,\n 'value' | 'defaultValue' | 'onChange' | 'type' | 'min' | 'max'\n> {\n page: number\n totalPages: number\n onPageChange: (page: number) => void\n pageLabel?: React.ReactNode\n formatOf?: (totalPages: number) => React.ReactNode\n}\n\nconst PaginationPageInput = React.forwardRef<HTMLInputElement, PaginationPageInputProps>(\n (\n {\n page,\n totalPages,\n onPageChange,\n pageLabel = 'Page',\n formatOf = (total: number) => `of ${total}`,\n className,\n 'aria-label': ariaLabel,\n onKeyDown,\n onBlur,\n ...props\n },\n forwardedRef,\n ) => {\n const [draft, setDraft] = React.useState<string | null>(null)\n\n React.useEffect(() => {\n setDraft(null)\n }, [page, totalPages])\n\n function commit(raw: string) {\n const parsed = Number.parseInt(raw, 10)\n setDraft(null)\n if (Number.isNaN(parsed)) return\n onPageChange(Math.max(1, Math.min(parsed, Math.max(1, totalPages))))\n }\n\n return (\n <span className={classNames('dsx-pagination__page-input', className)}>\n <span>{pageLabel}</span>\n <input\n {...props}\n ref={forwardedRef}\n type=\"number\"\n min={1}\n max={Math.max(1, totalPages)}\n value={draft ?? page}\n aria-label={ariaLabel ?? `Page number, page ${page} of ${Math.max(1, totalPages)}`}\n onChange={(event) => setDraft(event.currentTarget.value)}\n onBlur={(event) => {\n commit(event.currentTarget.value)\n onBlur?.(event)\n }}\n onKeyDown={(event) => {\n if (event.key === 'Enter') commit(event.currentTarget.value)\n onKeyDown?.(event)\n }}\n />\n <span>{formatOf(Math.max(1, totalPages))}</span>\n </span>\n )\n },\n)\nPaginationPageInput.displayName = 'PaginationPageInput'\n\nfunction buildPageNumbers(currentPage: number, totalPages: number): (number | 'ellipsis')[] {\n if (totalPages <= 7) {\n return Array.from({ length: totalPages }, (_, i) => i + 1)\n }\n if (currentPage <= 4) return [1, 2, 3, 4, 5, 'ellipsis', totalPages]\n if (currentPage >= totalPages - 3) return [1, 'ellipsis', totalPages - 4, totalPages - 3, totalPages - 2, totalPages - 1, totalPages]\n return [1, 'ellipsis', currentPage - 1, currentPage, currentPage + 1, 'ellipsis', totalPages]\n}\n\ninterface PaginationMessages { formatRange?: (start: number, end: number, totalCount: number) => React.ReactNode; formatPageSize?: (limit: number) => React.ReactNode; zeroResults?: React.ReactNode; previous?: string; next?: string; first?: string; last?: string; pageInputLabel?: string; formatPageInputOf?: (totalPages: number) => React.ReactNode }\n\ninterface PaginationBarProps extends React.ComponentPropsWithoutRef<'div'> {\n totalCount: number\n offset: number\n limit: number\n pageSizeOptions?: number[]\n size?: 'sm' | 'md' | 'lg'\n onPageChange: (offset: number) => void\n onLimitChange: (limit: number) => void\n messages?: PaginationMessages\n showFirstLast?: boolean\n showPageInput?: boolean\n dense?: boolean\n}\n\nconst PaginationBar = React.forwardRef<HTMLDivElement, PaginationBarProps>(\n ({ totalCount, offset, limit, pageSizeOptions = [10, 25, 50, 100], size = 'md', onPageChange, onLimitChange, messages = {}, showFirstLast = false, showPageInput = false, dense = false, className, ...props }, ref) => {\n const totalPages = Math.max(1, Math.ceil(totalCount / limit))\n const currentPage = Math.floor(offset / limit) + 1\n const pages = buildPageNumbers(currentPage, totalPages)\n\n return (\n <div {...props} ref={ref} className={classNames('dsx-pagination-bar', className)}>\n <PaginationInfo totalCount={totalCount} offset={offset} limit={limit} formatRange={messages.formatRange} zeroResultsLabel={messages.zeroResults} />\n <div className=\"dsx-pagination-bar__controls\">\n {!dense ? (\n <PaginationPageSize value={limit} options={pageSizeOptions} onChange={onLimitChange} formatOption={messages.formatPageSize} aria-label=\"Page size\" />\n ) : null}\n <Pagination size={size}>\n <PaginationContent>\n {showFirstLast ? (\n <PaginationItem>\n <PaginationFirst\n disabled={currentPage <= 1}\n aria-label={messages.first ?? 'First page'}\n onClick={() => onPageChange(0)}\n >{messages.first}</PaginationFirst>\n </PaginationItem>\n ) : null}\n <PaginationItem>\n <PaginationPrevious\n disabled={currentPage <= 1}\n aria-label={messages.previous ?? 'Previous page'}\n onClick={() => onPageChange((currentPage - 2) * limit)}\n >{messages.previous}</PaginationPrevious>\n </PaginationItem>\n {pages.map((page, i) =>\n page === 'ellipsis' ? (\n <PaginationItem key={`ellipsis-${i}`}>\n <PaginationEllipsis />\n </PaginationItem>\n ) : (\n <PaginationItem key={page}>\n <PaginationLink\n active={page === currentPage}\n onClick={() => onPageChange((page - 1) * limit)}\n >\n {page}\n </PaginationLink>\n </PaginationItem>\n ),\n )}\n <PaginationItem>\n <PaginationNext\n disabled={currentPage >= totalPages}\n aria-label={messages.next ?? 'Next page'}\n onClick={() => onPageChange(currentPage * limit)}\n >{messages.next}</PaginationNext>\n </PaginationItem>\n {showFirstLast ? (\n <PaginationItem>\n <PaginationLast\n disabled={currentPage >= totalPages}\n aria-label={messages.last ?? 'Last page'}\n onClick={() => onPageChange((totalPages - 1) * limit)}\n >{messages.last}</PaginationLast>\n </PaginationItem>\n ) : null}\n </PaginationContent>\n </Pagination>\n {showPageInput ? (\n <PaginationPageInput\n page={currentPage}\n totalPages={totalPages}\n onPageChange={(nextPage) => onPageChange((nextPage - 1) * limit)}\n pageLabel={messages.pageInputLabel ?? 'Page'}\n formatOf={messages.formatPageInputOf}\n />\n ) : null}\n </div>\n </div>\n )\n },\n)\nPaginationBar.displayName = 'PaginationBar'\n\nexport {\n buildPageNumbers,\n Pagination,\n PaginationBar,\n PaginationContent,\n PaginationEllipsis,\n PaginationFirst,\n PaginationInfo,\n PaginationItem,\n PaginationLast,\n PaginationLink,\n PaginationList,\n PaginationNext,\n PaginationPageInput,\n PaginationPageSize,\n PaginationPrevious,\n PaginationStatus,\n}\nexport type {\n PaginationBarProps,\n PaginationEllipsisProps,\n PaginationFirstProps,\n PaginationInfoProps,\n PaginationItemProps,\n PaginationLastProps,\n PaginationLinkProps,\n PaginationMessages,\n PaginationListProps,\n PaginationPageInputProps,\n PaginationPageSizeProps,\n PaginationProps,\n PaginationStatusProps,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["classNames"]
|
|
7
7
|
}
|
|
@@ -16,6 +16,8 @@ type PaginationLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, '
|
|
|
16
16
|
active?: boolean;
|
|
17
17
|
disabled?: boolean;
|
|
18
18
|
};
|
|
19
|
+
type PaginationFirstProps = PaginationLinkProps;
|
|
20
|
+
type PaginationLastProps = PaginationLinkProps;
|
|
19
21
|
interface PaginationEllipsisProps extends React.ComponentPropsWithoutRef<'span'>, PaginationEllipsisOwnProps {
|
|
20
22
|
}
|
|
21
23
|
declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLElement>>;
|
|
@@ -56,6 +58,23 @@ declare const PaginationPrevious: React.ForwardRefExoticComponent<Omit<React.Anc
|
|
|
56
58
|
active?: boolean;
|
|
57
59
|
disabled?: boolean;
|
|
58
60
|
} & React.RefAttributes<HTMLAnchorElement>>;
|
|
61
|
+
declare const PaginationFirst: React.ForwardRefExoticComponent<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "type"> & GetPropDefTypes<{
|
|
62
|
+
active: {
|
|
63
|
+
type: "boolean";
|
|
64
|
+
default: false;
|
|
65
|
+
};
|
|
66
|
+
disabled: {
|
|
67
|
+
type: "boolean";
|
|
68
|
+
default: false;
|
|
69
|
+
};
|
|
70
|
+
asChild: {
|
|
71
|
+
type: "boolean";
|
|
72
|
+
default: false;
|
|
73
|
+
};
|
|
74
|
+
}> & {
|
|
75
|
+
active?: boolean;
|
|
76
|
+
disabled?: boolean;
|
|
77
|
+
} & React.RefAttributes<HTMLAnchorElement>>;
|
|
59
78
|
declare const PaginationNext: React.ForwardRefExoticComponent<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "type"> & GetPropDefTypes<{
|
|
60
79
|
active: {
|
|
61
80
|
type: "boolean";
|
|
@@ -73,6 +92,23 @@ declare const PaginationNext: React.ForwardRefExoticComponent<Omit<React.AnchorH
|
|
|
73
92
|
active?: boolean;
|
|
74
93
|
disabled?: boolean;
|
|
75
94
|
} & React.RefAttributes<HTMLAnchorElement>>;
|
|
95
|
+
declare const PaginationLast: React.ForwardRefExoticComponent<Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, "type"> & GetPropDefTypes<{
|
|
96
|
+
active: {
|
|
97
|
+
type: "boolean";
|
|
98
|
+
default: false;
|
|
99
|
+
};
|
|
100
|
+
disabled: {
|
|
101
|
+
type: "boolean";
|
|
102
|
+
default: false;
|
|
103
|
+
};
|
|
104
|
+
asChild: {
|
|
105
|
+
type: "boolean";
|
|
106
|
+
default: false;
|
|
107
|
+
};
|
|
108
|
+
}> & {
|
|
109
|
+
active?: boolean;
|
|
110
|
+
disabled?: boolean;
|
|
111
|
+
} & React.RefAttributes<HTMLAnchorElement>>;
|
|
76
112
|
declare const PaginationEllipsis: React.ForwardRefExoticComponent<PaginationEllipsisProps & React.RefAttributes<HTMLSpanElement>>;
|
|
77
113
|
interface PaginationInfoProps extends React.ComponentPropsWithoutRef<'span'> {
|
|
78
114
|
totalCount: number;
|
|
@@ -82,13 +118,30 @@ interface PaginationInfoProps extends React.ComponentPropsWithoutRef<'span'> {
|
|
|
82
118
|
zeroResultsLabel?: React.ReactNode;
|
|
83
119
|
}
|
|
84
120
|
declare const PaginationInfo: React.ForwardRefExoticComponent<PaginationInfoProps & React.RefAttributes<HTMLSpanElement>>;
|
|
85
|
-
interface
|
|
121
|
+
interface PaginationStatusProps extends React.ComponentPropsWithoutRef<'span'> {
|
|
122
|
+
page: number;
|
|
123
|
+
totalPages: number;
|
|
124
|
+
formatStatus?: (page: number, totalPages: number) => React.ReactNode;
|
|
125
|
+
}
|
|
126
|
+
declare const PaginationStatus: React.ForwardRefExoticComponent<PaginationStatusProps & React.RefAttributes<HTMLSpanElement>>;
|
|
127
|
+
interface PaginationPageSizeProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value'> {
|
|
86
128
|
value: number;
|
|
87
129
|
options?: number[];
|
|
88
130
|
onChange: (limit: number) => void;
|
|
89
131
|
formatOption?: (limit: number) => React.ReactNode;
|
|
90
132
|
}
|
|
91
|
-
declare
|
|
133
|
+
declare function PaginationPageSize({ value, options, onChange, formatOption, className, ...props }: PaginationPageSizeProps): import("react/jsx-runtime").JSX.Element;
|
|
134
|
+
declare namespace PaginationPageSize {
|
|
135
|
+
var displayName: string;
|
|
136
|
+
}
|
|
137
|
+
interface PaginationPageInputProps extends Omit<React.ComponentPropsWithoutRef<'input'>, 'value' | 'defaultValue' | 'onChange' | 'type' | 'min' | 'max'> {
|
|
138
|
+
page: number;
|
|
139
|
+
totalPages: number;
|
|
140
|
+
onPageChange: (page: number) => void;
|
|
141
|
+
pageLabel?: React.ReactNode;
|
|
142
|
+
formatOf?: (totalPages: number) => React.ReactNode;
|
|
143
|
+
}
|
|
144
|
+
declare const PaginationPageInput: React.ForwardRefExoticComponent<PaginationPageInputProps & React.RefAttributes<HTMLInputElement>>;
|
|
92
145
|
declare function buildPageNumbers(currentPage: number, totalPages: number): (number | 'ellipsis')[];
|
|
93
146
|
interface PaginationMessages {
|
|
94
147
|
formatRange?: (start: number, end: number, totalCount: number) => React.ReactNode;
|
|
@@ -96,6 +149,10 @@ interface PaginationMessages {
|
|
|
96
149
|
zeroResults?: React.ReactNode;
|
|
97
150
|
previous?: string;
|
|
98
151
|
next?: string;
|
|
152
|
+
first?: string;
|
|
153
|
+
last?: string;
|
|
154
|
+
pageInputLabel?: string;
|
|
155
|
+
formatPageInputOf?: (totalPages: number) => React.ReactNode;
|
|
99
156
|
}
|
|
100
157
|
interface PaginationBarProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
101
158
|
totalCount: number;
|
|
@@ -106,8 +163,11 @@ interface PaginationBarProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
|
106
163
|
onPageChange: (offset: number) => void;
|
|
107
164
|
onLimitChange: (limit: number) => void;
|
|
108
165
|
messages?: PaginationMessages;
|
|
166
|
+
showFirstLast?: boolean;
|
|
167
|
+
showPageInput?: boolean;
|
|
168
|
+
dense?: boolean;
|
|
109
169
|
}
|
|
110
170
|
declare const PaginationBar: React.ForwardRefExoticComponent<PaginationBarProps & React.RefAttributes<HTMLDivElement>>;
|
|
111
|
-
export { buildPageNumbers, Pagination, PaginationBar, PaginationContent, PaginationEllipsis, PaginationInfo, PaginationItem, PaginationLink, PaginationList, PaginationNext, PaginationPageSize, PaginationPrevious, };
|
|
112
|
-
export type { PaginationBarProps, PaginationEllipsisProps, PaginationInfoProps, PaginationItemProps, PaginationLinkProps, PaginationMessages, PaginationListProps, PaginationPageSizeProps, PaginationProps, };
|
|
171
|
+
export { buildPageNumbers, Pagination, PaginationBar, PaginationContent, PaginationEllipsis, PaginationFirst, PaginationInfo, PaginationItem, PaginationLast, PaginationLink, PaginationList, PaginationNext, PaginationPageInput, PaginationPageSize, PaginationPrevious, PaginationStatus, };
|
|
172
|
+
export type { PaginationBarProps, PaginationEllipsisProps, PaginationFirstProps, PaginationInfoProps, PaginationItemProps, PaginationLastProps, PaginationLinkProps, PaginationMessages, PaginationListProps, PaginationPageInputProps, PaginationPageSizeProps, PaginationProps, PaginationStatusProps, };
|
|
113
173
|
//# sourceMappingURL=Pagination.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.d.cts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Pagination.d.cts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.tsx"],"names":[],"mappings":"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"}
|