@eggspot/ui 0.0.2 → 0.0.3
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/Badge.d.ts +15 -0
- package/dist/components/Badge.d.ts.map +1 -0
- package/dist/components/Badge.js +29 -0
- package/dist/components/Badge.js.map +1 -0
- package/dist/components/Breadcrumb.d.ts +12 -0
- package/dist/components/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb.js +28 -0
- package/dist/components/Breadcrumb.js.map +1 -0
- package/dist/components/Button.d.ts +53 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +81 -0
- package/dist/components/Button.js.map +1 -0
- package/dist/components/Button.machine.d.ts +9 -0
- package/dist/components/Button.machine.d.ts.map +1 -0
- package/dist/components/Button.machine.js +50 -0
- package/dist/components/Button.machine.js.map +1 -0
- package/dist/components/Button.variants.d.ts +10 -0
- package/dist/components/Button.variants.d.ts.map +1 -0
- package/dist/components/Button.variants.js +214 -0
- package/dist/components/Button.variants.js.map +1 -0
- package/dist/components/ButtonGroup.d.ts +9 -0
- package/dist/components/ButtonGroup.d.ts.map +1 -0
- package/dist/components/ButtonGroup.js +23 -0
- package/dist/components/ButtonGroup.js.map +1 -0
- package/dist/components/Calendar.d.ts +24 -0
- package/dist/components/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar.js +64 -0
- package/dist/components/Calendar.js.map +1 -0
- package/dist/components/Calendar.utils.d.ts +6 -0
- package/dist/components/Calendar.utils.d.ts.map +1 -0
- package/dist/components/Calendar.utils.js +17 -0
- package/dist/components/Calendar.utils.js.map +1 -0
- package/dist/components/Card.d.ts +8 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +19 -0
- package/dist/components/Card.js.map +1 -0
- package/dist/components/Checkbox.d.ts +36 -0
- package/dist/components/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox.js +55 -0
- package/dist/components/Checkbox.js.map +1 -0
- package/dist/components/Collapsible.d.ts +20 -0
- package/dist/components/Collapsible.d.ts.map +1 -0
- package/dist/components/Collapsible.js +15 -0
- package/dist/components/Collapsible.js.map +1 -0
- package/dist/components/ConfirmDialog.d.ts +35 -0
- package/dist/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog.js +81 -0
- package/dist/components/ConfirmDialog.js.map +1 -0
- package/dist/components/CopyButton.d.ts +67 -0
- package/dist/components/CopyButton.d.ts.map +1 -0
- package/dist/components/CopyButton.js +51 -0
- package/dist/components/CopyButton.js.map +1 -0
- package/dist/components/DashboardLayout/DashboardLayout.d.ts +3 -0
- package/dist/components/DashboardLayout/DashboardLayout.d.ts.map +1 -0
- package/dist/components/DashboardLayout/DashboardLayout.js +38 -0
- package/dist/components/DashboardLayout/DashboardLayout.js.map +1 -0
- package/dist/components/DashboardLayout/DashboardLayoutContent.d.ts +9 -0
- package/dist/components/DashboardLayout/DashboardLayoutContent.d.ts.map +1 -0
- package/dist/components/DashboardLayout/DashboardLayoutContent.js +10 -0
- package/dist/components/DashboardLayout/DashboardLayoutContent.js.map +1 -0
- package/dist/components/DashboardLayout/index.d.ts +4 -0
- package/dist/components/DashboardLayout/index.d.ts.map +1 -0
- package/dist/components/DashboardLayout/index.js +3 -0
- package/dist/components/DashboardLayout/index.js.map +1 -0
- package/dist/components/DashboardLayout/types.d.ts +37 -0
- package/dist/components/DashboardLayout/types.d.ts.map +1 -0
- package/dist/components/DashboardLayout/types.js +2 -0
- package/dist/components/DashboardLayout/types.js.map +1 -0
- package/dist/components/DataTable/DataTable.d.ts +9 -0
- package/dist/components/DataTable/DataTable.d.ts.map +1 -0
- package/dist/components/DataTable/DataTable.js +271 -0
- package/dist/components/DataTable/DataTable.js.map +1 -0
- package/dist/components/DataTable/DataTableColumnHeader.d.ts +11 -0
- package/dist/components/DataTable/DataTableColumnHeader.d.ts.map +1 -0
- package/dist/components/DataTable/DataTableColumnHeader.js +26 -0
- package/dist/components/DataTable/DataTableColumnHeader.js.map +1 -0
- package/dist/components/DataTable/DataTableDisplaySettings.d.ts +8 -0
- package/dist/components/DataTable/DataTableDisplaySettings.d.ts.map +1 -0
- package/dist/components/DataTable/DataTableDisplaySettings.js +88 -0
- package/dist/components/DataTable/DataTableDisplaySettings.js.map +1 -0
- package/dist/components/DataTable/DataTableFloatingBar.d.ts +8 -0
- package/dist/components/DataTable/DataTableFloatingBar.d.ts.map +1 -0
- package/dist/components/DataTable/DataTableFloatingBar.js +11 -0
- package/dist/components/DataTable/DataTableFloatingBar.js.map +1 -0
- package/dist/components/DataTable/DataTablePagination.d.ts +11 -0
- package/dist/components/DataTable/DataTablePagination.d.ts.map +1 -0
- package/dist/components/DataTable/DataTablePagination.js +68 -0
- package/dist/components/DataTable/DataTablePagination.js.map +1 -0
- package/dist/components/DataTable/DataTableStates.d.ts +13 -0
- package/dist/components/DataTable/DataTableStates.d.ts.map +1 -0
- package/dist/components/DataTable/DataTableStates.js +17 -0
- package/dist/components/DataTable/DataTableStates.js.map +1 -0
- package/dist/components/DataTable/DataTableToolbarContainer.d.ts +7 -0
- package/dist/components/DataTable/DataTableToolbarContainer.d.ts.map +1 -0
- package/dist/components/DataTable/DataTableToolbarContainer.js +7 -0
- package/dist/components/DataTable/DataTableToolbarContainer.js.map +1 -0
- package/dist/components/DataTable/hooks/use-data-table-settings.d.ts +19 -0
- package/dist/components/DataTable/hooks/use-data-table-settings.d.ts.map +1 -0
- package/dist/components/DataTable/hooks/use-data-table-settings.js +70 -0
- package/dist/components/DataTable/hooks/use-data-table-settings.js.map +1 -0
- package/dist/components/DataTable/index.d.ts +4 -0
- package/dist/components/DataTable/index.d.ts.map +1 -0
- package/dist/components/DataTable/index.js +3 -0
- package/dist/components/DataTable/index.js.map +1 -0
- package/dist/components/DataTable/types/data-table.d.ts +76 -0
- package/dist/components/DataTable/types/data-table.d.ts.map +1 -0
- package/dist/components/DataTable/types/data-table.js +2 -0
- package/dist/components/DataTable/types/data-table.js.map +1 -0
- package/dist/components/DatePicker.d.ts +19 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker.js +49 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/DatePicker.utils.d.ts +3 -0
- package/dist/components/DatePicker.utils.d.ts.map +1 -0
- package/dist/components/DatePicker.utils.js +23 -0
- package/dist/components/DatePicker.utils.js.map +1 -0
- package/dist/components/Datefield.d.ts +25 -0
- package/dist/components/Datefield.d.ts.map +1 -0
- package/dist/components/Datefield.js +29 -0
- package/dist/components/Datefield.js.map +1 -0
- package/dist/components/Datefield.utils.d.ts +3 -0
- package/dist/components/Datefield.utils.d.ts.map +1 -0
- package/dist/components/Datefield.utils.js +11 -0
- package/dist/components/Datefield.utils.js.map +1 -0
- package/dist/components/Dialog.d.ts +21 -0
- package/dist/components/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog.js +23 -0
- package/dist/components/Dialog.js.map +1 -0
- package/dist/components/Field.d.ts +10 -0
- package/dist/components/Field.d.ts.map +1 -0
- package/dist/components/Field.js +32 -0
- package/dist/components/Field.js.map +1 -0
- package/dist/components/Filter/Filter.d.ts +4 -0
- package/dist/components/Filter/Filter.d.ts.map +1 -0
- package/dist/components/Filter/Filter.js +8 -0
- package/dist/components/Filter/Filter.js.map +1 -0
- package/dist/components/Filter/Filter.store.d.ts +13 -0
- package/dist/components/Filter/Filter.store.d.ts.map +1 -0
- package/dist/components/Filter/Filter.store.js +61 -0
- package/dist/components/Filter/Filter.store.js.map +1 -0
- package/dist/components/Filter/Filter.types.d.ts +66 -0
- package/dist/components/Filter/Filter.types.d.ts.map +1 -0
- package/dist/components/Filter/Filter.types.js +15 -0
- package/dist/components/Filter/Filter.types.js.map +1 -0
- package/dist/components/Filter/FilterBar.d.ts +7 -0
- package/dist/components/Filter/FilterBar.d.ts.map +1 -0
- package/dist/components/Filter/FilterBar.js +28 -0
- package/dist/components/Filter/FilterBar.js.map +1 -0
- package/dist/components/Filter/FilterBuilder.d.ts +3 -0
- package/dist/components/Filter/FilterBuilder.d.ts.map +1 -0
- package/dist/components/Filter/FilterBuilder.js +47 -0
- package/dist/components/Filter/FilterBuilder.js.map +1 -0
- package/dist/components/Filter/FilterField/DateModeRowValue.d.ts +5 -0
- package/dist/components/Filter/FilterField/DateModeRowValue.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/DateModeRowValue.js +150 -0
- package/dist/components/Filter/FilterField/DateModeRowValue.js.map +1 -0
- package/dist/components/Filter/FilterField/FilterAsyncSelect.d.ts +13 -0
- package/dist/components/Filter/FilterField/FilterAsyncSelect.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/FilterAsyncSelect.js +62 -0
- package/dist/components/Filter/FilterField/FilterAsyncSelect.js.map +1 -0
- package/dist/components/Filter/FilterField/FilterDateMode.d.ts +2 -0
- package/dist/components/Filter/FilterField/FilterDateMode.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/FilterDateMode.js +167 -0
- package/dist/components/Filter/FilterField/FilterDateMode.js.map +1 -0
- package/dist/components/Filter/FilterField/FilterDateRange.d.ts +7 -0
- package/dist/components/Filter/FilterField/FilterDateRange.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/FilterDateRange.js +60 -0
- package/dist/components/Filter/FilterField/FilterDateRange.js.map +1 -0
- package/dist/components/Filter/FilterField/FilterSelect.d.ts +12 -0
- package/dist/components/Filter/FilterField/FilterSelect.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/FilterSelect.js +72 -0
- package/dist/components/Filter/FilterField/FilterSelect.js.map +1 -0
- package/dist/components/Filter/FilterField/FilterSingleDate.d.ts +8 -0
- package/dist/components/Filter/FilterField/FilterSingleDate.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/FilterSingleDate.js +102 -0
- package/dist/components/Filter/FilterField/FilterSingleDate.js.map +1 -0
- package/dist/components/Filter/FilterField/OptionItem.d.ts +10 -0
- package/dist/components/Filter/FilterField/OptionItem.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/OptionItem.js +20 -0
- package/dist/components/Filter/FilterField/OptionItem.js.map +1 -0
- package/dist/components/Filter/FilterField/index.d.ts +7 -0
- package/dist/components/Filter/FilterField/index.d.ts.map +1 -0
- package/dist/components/Filter/FilterField/index.js +7 -0
- package/dist/components/Filter/FilterField/index.js.map +1 -0
- package/dist/components/Filter/FilterRow.d.ts +7 -0
- package/dist/components/Filter/FilterRow.d.ts.map +1 -0
- package/dist/components/Filter/FilterRow.js +152 -0
- package/dist/components/Filter/FilterRow.js.map +1 -0
- package/dist/components/Filter/index.d.ts +7 -0
- package/dist/components/Filter/index.d.ts.map +1 -0
- package/dist/components/Filter/index.js +6 -0
- package/dist/components/Filter/index.js.map +1 -0
- package/dist/components/Form.d.ts +32 -0
- package/dist/components/Form.d.ts.map +1 -0
- package/dist/components/Form.js +82 -0
- package/dist/components/Form.js.map +1 -0
- package/dist/components/Heading.d.ts +10 -0
- package/dist/components/Heading.d.ts.map +1 -0
- package/dist/components/Heading.js +27 -0
- package/dist/components/Heading.js.map +1 -0
- package/dist/components/Input.d.ts +43 -0
- package/dist/components/Input.d.ts.map +1 -0
- package/dist/components/Input.js +58 -0
- package/dist/components/Input.js.map +1 -0
- package/dist/components/InputOTP.d.ts +12 -0
- package/dist/components/InputOTP.d.ts.map +1 -0
- package/dist/components/InputOTP.js +24 -0
- package/dist/components/InputOTP.js.map +1 -0
- package/dist/components/Label.d.ts +9 -0
- package/dist/components/Label.d.ts.map +1 -0
- package/dist/components/Label.js +19 -0
- package/dist/components/Label.js.map +1 -0
- package/dist/components/Layout.d.ts +47 -0
- package/dist/components/Layout.d.ts.map +1 -0
- package/dist/components/Layout.js +78 -0
- package/dist/components/Layout.js.map +1 -0
- package/dist/components/ListBox.d.ts +8 -0
- package/dist/components/ListBox.d.ts.map +1 -0
- package/dist/components/ListBox.js +28 -0
- package/dist/components/ListBox.js.map +1 -0
- package/dist/components/Menu.d.ts +19 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +29 -0
- package/dist/components/Menu.js.map +1 -0
- package/dist/components/NativeSelect.d.ts +10 -0
- package/dist/components/NativeSelect.d.ts.map +1 -0
- package/dist/components/NativeSelect.js +36 -0
- package/dist/components/NativeSelect.js.map +1 -0
- package/dist/components/NumberInput.d.ts +12 -0
- package/dist/components/NumberInput.d.ts.map +1 -0
- package/dist/components/NumberInput.js +25 -0
- package/dist/components/NumberInput.js.map +1 -0
- package/dist/components/Popover.d.ts +9 -0
- package/dist/components/Popover.d.ts.map +1 -0
- package/dist/components/Popover.js +17 -0
- package/dist/components/Popover.js.map +1 -0
- package/dist/components/Provider.d.ts +10 -0
- package/dist/components/Provider.d.ts.map +1 -0
- package/dist/components/Provider.js +11 -0
- package/dist/components/Provider.js.map +1 -0
- package/dist/components/RadioGroup.d.ts +37 -0
- package/dist/components/RadioGroup.d.ts.map +1 -0
- package/dist/components/RadioGroup.js +61 -0
- package/dist/components/RadioGroup.js.map +1 -0
- package/dist/components/Resizable.d.ts +25 -0
- package/dist/components/Resizable.d.ts.map +1 -0
- package/dist/components/Resizable.js +19 -0
- package/dist/components/Resizable.js.map +1 -0
- package/dist/components/ScrollArea.d.ts +6 -0
- package/dist/components/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea.js +14 -0
- package/dist/components/ScrollArea.js.map +1 -0
- package/dist/components/Select.d.ts +88 -0
- package/dist/components/Select.d.ts.map +1 -0
- package/dist/components/Select.js +174 -0
- package/dist/components/Select.js.map +1 -0
- package/dist/components/Select.utils.d.ts +13 -0
- package/dist/components/Select.utils.d.ts.map +1 -0
- package/dist/components/Select.utils.js +41 -0
- package/dist/components/Select.utils.js.map +1 -0
- package/dist/components/Separator.d.ts +4 -0
- package/dist/components/Separator.d.ts.map +1 -0
- package/dist/components/Separator.js +7 -0
- package/dist/components/Separator.js.map +1 -0
- package/dist/components/Sheet.d.ts +19 -0
- package/dist/components/Sheet.d.ts.map +1 -0
- package/dist/components/Sheet.js +24 -0
- package/dist/components/Sheet.js.map +1 -0
- package/dist/components/Sidebar/LinkItem.d.ts +34 -0
- package/dist/components/Sidebar/LinkItem.d.ts.map +1 -0
- package/dist/components/Sidebar/LinkItem.js +19 -0
- package/dist/components/Sidebar/LinkItem.js.map +1 -0
- package/dist/components/Sidebar/PageTree.d.ts +46 -0
- package/dist/components/Sidebar/PageTree.d.ts.map +1 -0
- package/dist/components/Sidebar/PageTree.js +46 -0
- package/dist/components/Sidebar/PageTree.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.d.ts +94 -0
- package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
- package/dist/components/Sidebar/Sidebar.js +328 -0
- package/dist/components/Sidebar/Sidebar.js.map +1 -0
- package/dist/components/Sidebar/SidebarNavTree.d.ts +26 -0
- package/dist/components/Sidebar/SidebarNavTree.d.ts.map +1 -0
- package/dist/components/Sidebar/SidebarNavTree.js +32 -0
- package/dist/components/Sidebar/SidebarNavTree.js.map +1 -0
- package/dist/components/Sidebar/Tabs.d.ts +27 -0
- package/dist/components/Sidebar/Tabs.d.ts.map +1 -0
- package/dist/components/Sidebar/Tabs.js +49 -0
- package/dist/components/Sidebar/Tabs.js.map +1 -0
- package/dist/components/Sidebar/index.d.ts +6 -0
- package/dist/components/Sidebar/index.d.ts.map +1 -0
- package/dist/components/Sidebar/index.js +22 -0
- package/dist/components/Sidebar/index.js.map +1 -0
- package/dist/components/Sonner.d.ts +16 -0
- package/dist/components/Sonner.d.ts.map +1 -0
- package/dist/components/Sonner.js +38 -0
- package/dist/components/Sonner.js.map +1 -0
- package/dist/components/Spinner.d.ts +3 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +7 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/Switch.d.ts +4 -0
- package/dist/components/Switch.d.ts.map +1 -0
- package/dist/components/Switch.js +19 -0
- package/dist/components/Switch.js.map +1 -0
- package/dist/components/Text.d.ts +10 -0
- package/dist/components/Text.d.ts.map +1 -0
- package/dist/components/Text.js +22 -0
- package/dist/components/Text.js.map +1 -0
- package/dist/components/Tooltip.d.ts +8 -0
- package/dist/components/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip.js +24 -0
- package/dist/components/Tooltip.js.map +1 -0
- package/dist/components/Virtualizer.d.ts +8 -0
- package/dist/components/Virtualizer.d.ts.map +1 -0
- package/dist/components/Virtualizer.js +8 -0
- package/dist/components/Virtualizer.js.map +1 -0
- package/dist/consts/config.d.ts +3 -0
- package/dist/consts/config.d.ts.map +1 -0
- package/dist/consts/config.js +3 -0
- package/dist/consts/config.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +6 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -0
- package/dist/hooks/use-mobile.js +16 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/lib/utils.d.ts +4 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +9 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +53 -5
- package/eslint.config.js +0 -41
- package/resolve-catalog.js +0 -61
- package/src/components/Button.machine.tsx +0 -50
- package/src/components/Button.tsx +0 -249
- package/src/components/Button.variants.tsx +0 -186
- package/src/components/ButtonGroup.tsx +0 -56
- package/src/components/Calendar.tsx +0 -275
- package/src/components/Calendar.utils.tsx +0 -22
- package/src/components/Checkbox.tsx +0 -199
- package/src/components/ConfirmDialog.tsx +0 -183
- package/src/components/DashboardLayout/DashboardLayout.tsx +0 -348
- package/src/components/DashboardLayout/SidebarNav.tsx +0 -509
- package/src/components/DashboardLayout/index.ts +0 -33
- package/src/components/DataTable/DataTable.tsx +0 -557
- package/src/components/DataTable/DataTableColumnHeader.tsx +0 -122
- package/src/components/DataTable/DataTableDisplaySettings.tsx +0 -265
- package/src/components/DataTable/DataTableFloatingBar.tsx +0 -44
- package/src/components/DataTable/DataTablePagination.tsx +0 -168
- package/src/components/DataTable/DataTableStates.tsx +0 -69
- package/src/components/DataTable/DataTableToolbarContainer.tsx +0 -47
- package/src/components/DataTable/hooks/use-data-table-settings.ts +0 -101
- package/src/components/DataTable/index.ts +0 -7
- package/src/components/DataTable/types/data-table.ts +0 -97
- package/src/components/DatePicker.tsx +0 -213
- package/src/components/DatePicker.utils.tsx +0 -38
- package/src/components/Datefield.tsx +0 -109
- package/src/components/Datefield.utils.ts +0 -10
- package/src/components/Dialog.tsx +0 -167
- package/src/components/Field.tsx +0 -49
- package/src/components/Filter/Filter.store.tsx +0 -122
- package/src/components/Filter/Filter.tsx +0 -11
- package/src/components/Filter/Filter.types.ts +0 -107
- package/src/components/Filter/FilterBar.tsx +0 -38
- package/src/components/Filter/FilterBuilder.tsx +0 -158
- package/src/components/Filter/FilterField/DateModeRowValue.tsx +0 -250
- package/src/components/Filter/FilterField/FilterAsyncSelect.tsx +0 -191
- package/src/components/Filter/FilterField/FilterDateMode.tsx +0 -241
- package/src/components/Filter/FilterField/FilterDateRange.tsx +0 -169
- package/src/components/Filter/FilterField/FilterSelect.tsx +0 -208
- package/src/components/Filter/FilterField/FilterSingleDate.tsx +0 -277
- package/src/components/Filter/FilterField/OptionItem.tsx +0 -112
- package/src/components/Filter/FilterField/index.ts +0 -6
- package/src/components/Filter/FilterRow.tsx +0 -527
- package/src/components/Filter/index.ts +0 -17
- package/src/components/Form.tsx +0 -195
- package/src/components/Heading.tsx +0 -41
- package/src/components/Input.tsx +0 -221
- package/src/components/InputOTP.tsx +0 -78
- package/src/components/Label.tsx +0 -65
- package/src/components/Layout.tsx +0 -129
- package/src/components/ListBox.tsx +0 -97
- package/src/components/Menu.tsx +0 -152
- package/src/components/NativeSelect.tsx +0 -77
- package/src/components/NumberInput.tsx +0 -114
- package/src/components/Popover.tsx +0 -44
- package/src/components/Provider.tsx +0 -22
- package/src/components/RadioGroup.tsx +0 -191
- package/src/components/Resizable.tsx +0 -71
- package/src/components/ScrollArea.tsx +0 -57
- package/src/components/Select.tsx +0 -626
- package/src/components/Select.utils.tsx +0 -64
- package/src/components/Separator.tsx +0 -25
- package/src/components/Sheet.tsx +0 -147
- package/src/components/Sonner.tsx +0 -96
- package/src/components/Spinner.tsx +0 -30
- package/src/components/Switch.tsx +0 -51
- package/src/components/Text.tsx +0 -35
- package/src/components/Tooltip.tsx +0 -58
- package/src/consts/config.ts +0 -2
- package/src/hooks/.gitkeep +0 -0
- package/src/lib/utils.ts +0 -10
- package/tsconfig.json +0 -27
- package/tsconfig.lint.json +0 -8
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from "react";
|
|
3
|
+
import { closestCenter, DndContext, DragOverlay, KeyboardSensor, PointerSensor, TouchSensor, useSensor, useSensors, } from "@dnd-kit/core";
|
|
4
|
+
import { arrayMove, SortableContext, sortableKeyboardCoordinates, useSortable, verticalListSortingStrategy, } from "@dnd-kit/sortable";
|
|
5
|
+
import { CSS } from "@dnd-kit/utilities";
|
|
6
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
7
|
+
import { Popover, PopoverDialog, PopoverTrigger, } from "@eggspot/ui/components/Popover";
|
|
8
|
+
import { ScrollArea } from "@eggspot/ui/components/ScrollArea";
|
|
9
|
+
import { Switch } from "@eggspot/ui/components/Switch";
|
|
10
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
11
|
+
import { capitalize } from "lodash";
|
|
12
|
+
import { GripVertical, Pin, RotateCcw, Settings2 } from "lucide-react";
|
|
13
|
+
import { Heading } from "../Heading";
|
|
14
|
+
function toNormalText(str) {
|
|
15
|
+
return (str
|
|
16
|
+
// convert camelCase → camel Case
|
|
17
|
+
.replace(/([a-z])([A-Z])/g, "$1 $2")
|
|
18
|
+
// replace snake_case and kebab-case
|
|
19
|
+
.replace(/[-_]/g, " ")
|
|
20
|
+
// collapse repeated spaces
|
|
21
|
+
.replace(/\s+/g, " ")
|
|
22
|
+
.trim()
|
|
23
|
+
.toLowerCase());
|
|
24
|
+
}
|
|
25
|
+
function getColumnLabel(column) {
|
|
26
|
+
const metaLabel = column.columnDef.meta
|
|
27
|
+
?.label;
|
|
28
|
+
if (metaLabel)
|
|
29
|
+
return metaLabel;
|
|
30
|
+
return typeof column.columnDef.header === "string"
|
|
31
|
+
? column.columnDef.header
|
|
32
|
+
: column.id;
|
|
33
|
+
}
|
|
34
|
+
function SortableColumnItem({ id, label, isVisible, isPinned, onToggleVisibility, onPin, className, }) {
|
|
35
|
+
const { attributes, listeners, setNodeRef, transform, transition, isDragging, } = useSortable({ id });
|
|
36
|
+
const style = {
|
|
37
|
+
transform: CSS.Transform.toString(transform),
|
|
38
|
+
transition,
|
|
39
|
+
};
|
|
40
|
+
const formattedLabel = capitalize(toNormalText(label));
|
|
41
|
+
return (_jsxs("div", { ref: setNodeRef, style: style, className: cn("flex items-center gap-2 px-2 py-1.5", className, isDragging && "bg-accent-9/30 *:opacity-0"), children: [_jsx("button", { ...attributes, ...listeners, className: "hover:bg-gray-3 cursor-grab rounded p-1 active:cursor-grabbing", children: _jsx(GripVertical, { className: "text-gray-11 h-4 w-4" }) }), _jsx("span", { className: "grid flex-1 text-sm", title: formattedLabel, children: _jsx("div", { className: "truncate", children: formattedLabel }) }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(Button, { variant: "ghost", size: "sm", className: cn("h-6 w-6 p-0", isPinned === "left" && "text-accent-9"), onClick: () => onPin?.(isPinned === "left" ? false : "left"), tooltip: "Pin to left", children: _jsx(Pin, { className: "size-3 rotate-45" }) }), _jsx(Button, { variant: "ghost", size: "sm", className: cn("h-6 w-6 p-0", isPinned === "right" && "text-accent-9"), onClick: () => onPin?.(isPinned === "right" ? false : "right"), tooltip: "Pin to right", children: _jsx(Pin, { className: "size-3 -rotate-45" }) }), _jsx(Switch, { isSelected: isVisible, onChange: onToggleVisibility, className: "scale-75" })] })] }));
|
|
42
|
+
}
|
|
43
|
+
export function DataTableDisplaySettings({ table, onResetToDefaults, }) {
|
|
44
|
+
const [activeId, setActiveId] = useState(null);
|
|
45
|
+
const sensors = useSensors(useSensor(PointerSensor), useSensor(TouchSensor), useSensor(KeyboardSensor, {
|
|
46
|
+
coordinateGetter: sortableKeyboardCoordinates,
|
|
47
|
+
}));
|
|
48
|
+
const allColumns = table
|
|
49
|
+
.getAllColumns()
|
|
50
|
+
.filter((column) => column.id !== "select" && column.getCanHide());
|
|
51
|
+
const totalItemsHeight = allColumns.length * 40 + 8;
|
|
52
|
+
const columnOrder = table.getState().columnOrder;
|
|
53
|
+
const orderedColumns = columnOrder.length > 0
|
|
54
|
+
? columnOrder
|
|
55
|
+
.map((id) => allColumns.find((col) => col.id === id))
|
|
56
|
+
.filter(Boolean)
|
|
57
|
+
: allColumns;
|
|
58
|
+
const handleDragEnd = (event) => {
|
|
59
|
+
const { active, over } = event;
|
|
60
|
+
if (over && active.id !== over.id) {
|
|
61
|
+
setActiveId(null);
|
|
62
|
+
const oldIndex = columnOrder.indexOf(active.id);
|
|
63
|
+
const newIndex = columnOrder.indexOf(over.id);
|
|
64
|
+
const newOrder = arrayMove(columnOrder, oldIndex, newIndex);
|
|
65
|
+
table.setColumnOrder(newOrder);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const handleSortStart = (event) => {
|
|
69
|
+
setActiveId(event.active.id);
|
|
70
|
+
};
|
|
71
|
+
const activeColumnLabel = useMemo(() => {
|
|
72
|
+
if (!activeId)
|
|
73
|
+
return "";
|
|
74
|
+
const activeColumn = orderedColumns.find((col) => col?.id === activeId);
|
|
75
|
+
return activeColumn ? getColumnLabel(activeColumn) : activeId;
|
|
76
|
+
}, [activeId, orderedColumns]);
|
|
77
|
+
return (_jsxs(PopoverTrigger, { children: [_jsx(Button, { variant: "outline", size: "sm", mode: "icon", tooltip: "Display Settings", className: "gap-2", children: _jsx(Settings2, { className: "h-4 w-4" }) }), _jsx(Popover, { className: "w-72 overflow-hidden", placement: "bottom right", children: _jsxs(PopoverDialog, { className: "p-0", children: [_jsxs("div", { className: "flex items-center justify-between border-b px-3 py-2", children: [_jsx(Heading, { variant: "subtitle2", children: "Display Settings" }), _jsx(Button, { variant: "ghost", size: "sm", className: "h-8", onClick: onResetToDefaults, leftIcon: _jsx(RotateCcw, {}), children: "Reset" })] }), _jsx(ScrollArea, { className: "max-h-[300px]", style: { height: totalItemsHeight }, children: _jsx("div", { className: "py-1", children: _jsxs(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragStart: handleSortStart, onDragEnd: handleDragEnd, children: [_jsx(SortableContext, { items: orderedColumns.map((col) => col.id), strategy: verticalListSortingStrategy, children: orderedColumns.map((column) => {
|
|
78
|
+
if (!column)
|
|
79
|
+
return null;
|
|
80
|
+
return (_jsx(SortableColumnItem, { id: column.id, label: getColumnLabel(column), isVisible: column.getIsVisible(), isPinned: column.getIsPinned(), onToggleVisibility: () => column.toggleVisibility(!column.getIsVisible()), onPin: (position) => column.pin(position) }, column.id));
|
|
81
|
+
}) }), _jsx(DragOverlay, { children: activeId &&
|
|
82
|
+
orderedColumns.find((col) => col?.id === activeId) ? (_jsx(SortableColumnItem, { id: activeId, label: activeColumnLabel, isVisible: orderedColumns
|
|
83
|
+
.find((col) => col?.id === activeId)
|
|
84
|
+
?.getIsVisible() ?? false, isPinned: orderedColumns
|
|
85
|
+
.find((col) => col?.id === activeId)
|
|
86
|
+
?.getIsPinned() ?? false, className: "bg-gray-3 rounded shadow-sm" })) : null })] }) }) })] }) })] }));
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=DataTableDisplaySettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableDisplaySettings.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableDisplaySettings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface DataTableFloatingBarProps {
|
|
2
|
+
selectedCount: number;
|
|
3
|
+
onClearSelection: () => void;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export declare function DataTableFloatingBar({ selectedCount, onClearSelection, children, }: DataTableFloatingBarProps): import("react/jsx-runtime").JSX.Element | null;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=DataTableFloatingBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableFloatingBar.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableFloatingBar.tsx"],"names":[],"mappings":"AAKA,UAAU,yBAAyB;IACjC,aAAa,EAAE,MAAM,CAAA;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,EAAE,yBAAyB,kDA4B3B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
3
|
+
import { Separator } from "@eggspot/ui/components/Separator";
|
|
4
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
5
|
+
import { X } from "lucide-react";
|
|
6
|
+
export function DataTableFloatingBar({ selectedCount, onClearSelection, children, }) {
|
|
7
|
+
if (selectedCount === 0)
|
|
8
|
+
return null;
|
|
9
|
+
return (_jsxs("div", { className: cn("fixed bottom-18 left-1/2 z-10 -translate-x-1/2", "bg-gray-2 text-gray-12", "rounded-xl border p-2 shadow-2xl dark:shadow-[0_25px_50px_0px_rgba(0,0,0,0.2),0_15px_25px_-2px_rgba(0,0,0,0.1)]", "flex items-center gap-4", "animate-in fade-in slide-in-from-bottom-4"), children: [_jsxs("div", { className: "flex items-center gap-1.5 pl-2", children: [_jsxs("span", { className: "text-sm font-medium", children: [selectedCount, " selected"] }), _jsx(Button, { variant: "ghost", size: "sm", className: "text-floating-bar-foreground/70 hover:text-floating-bar-foreground hover:bg-floating-bar-foreground/10 h-7 w-7 p-0", onClick: onClearSelection, children: _jsx(X, { className: "h-4 w-4" }) })] }), _jsx(Separator, { orientation: "vertical", className: "bg-gray-6 h-6" }), _jsx("div", { className: "flex items-center gap-2", children: children })] }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=DataTableFloatingBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableFloatingBar.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableFloatingBar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAQhC,MAAM,UAAU,oBAAoB,CAAC,EACnC,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACkB;IAC1B,IAAI,aAAa,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAEpC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,gDAAgD,EAChD,wBAAwB,EACxB,iHAAiH,EACjH,yBAAyB,EACzB,2CAA2C,CAC5C,aAED,eAAK,SAAS,EAAC,gCAAgC,aAC7C,gBAAM,SAAS,EAAC,qBAAqB,aAAE,aAAa,iBAAiB,EACrE,KAAC,MAAM,IACL,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,oHAAoH,EAC9H,OAAO,EAAE,gBAAgB,YAEzB,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,IACL,EACN,KAAC,SAAS,IAAC,WAAW,EAAC,UAAU,EAAC,SAAS,EAAC,eAAe,GAAG,EAC9D,cAAK,SAAS,EAAC,yBAAyB,YAAE,QAAQ,GAAO,IACrD,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
interface DataTablePaginationProps {
|
|
2
|
+
pageIndex: number;
|
|
3
|
+
pageSize: number;
|
|
4
|
+
totalRows: number;
|
|
5
|
+
onPageChange: (page: number) => void;
|
|
6
|
+
onPageSizeChange: (size: number) => void;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function DataTablePagination({ pageIndex, pageSize, totalRows, onPageChange, onPageSizeChange, className, }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=DataTablePagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTablePagination.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTablePagination.tsx"],"names":[],"mappings":"AAQA,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACpC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAWD,wBAAgB,mBAAmB,CAAC,EAClC,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,SAAS,GACV,EAAE,wBAAwB,2CA4I1B"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
3
|
+
import { NumberInput } from "@eggspot/ui/components/NumberInput";
|
|
4
|
+
import { Select } from "@eggspot/ui/components/Select";
|
|
5
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
6
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
7
|
+
import { useMeasure } from "react-use";
|
|
8
|
+
const pageSizeOptions = [
|
|
9
|
+
{ value: 10, label: "10" },
|
|
10
|
+
{ value: 20, label: "20" },
|
|
11
|
+
{ value: 50, label: "50" },
|
|
12
|
+
{ value: 100, label: "100" },
|
|
13
|
+
{ value: 200, label: "200" },
|
|
14
|
+
{ value: 1000, label: "1000" },
|
|
15
|
+
];
|
|
16
|
+
export function DataTablePagination({ pageIndex, pageSize, totalRows, onPageChange, onPageSizeChange, className, }) {
|
|
17
|
+
const [containerRef, { width }] = useMeasure();
|
|
18
|
+
const pageCount = Math.ceil(totalRows / pageSize);
|
|
19
|
+
const canPreviousPage = pageIndex > 0;
|
|
20
|
+
const canNextPage = pageIndex < pageCount - 1;
|
|
21
|
+
const startRow = totalRows && pageIndex * pageSize + 1;
|
|
22
|
+
const endRow = Math.min((pageIndex + 1) * pageSize, totalRows);
|
|
23
|
+
// Generate page numbers with ellipsis
|
|
24
|
+
const getPageNumbers = () => {
|
|
25
|
+
const pages = [];
|
|
26
|
+
const maxVisiblePages = 7;
|
|
27
|
+
if (pageCount <= maxVisiblePages) {
|
|
28
|
+
for (let i = 0; i < pageCount; i++) {
|
|
29
|
+
pages.push(i);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
pages.push(0);
|
|
34
|
+
if (pageIndex <= 2) {
|
|
35
|
+
// Near start: 1, 2, 3, 4, ..., last
|
|
36
|
+
for (let i = 1; i < 4; i++) {
|
|
37
|
+
pages.push(i);
|
|
38
|
+
}
|
|
39
|
+
pages.push("ellipsis");
|
|
40
|
+
pages.push(pageCount - 1);
|
|
41
|
+
}
|
|
42
|
+
else if (pageIndex >= pageCount - 3) {
|
|
43
|
+
// Near end: 1, ..., last-3, last-2, last-1, last
|
|
44
|
+
pages.push("ellipsis");
|
|
45
|
+
for (let i = pageCount - 4; i < pageCount; i++) {
|
|
46
|
+
pages.push(i);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
// Middle: 1, ..., prev, current, next, ..., last
|
|
51
|
+
pages.push("ellipsis");
|
|
52
|
+
pages.push(pageIndex - 1);
|
|
53
|
+
pages.push(pageIndex);
|
|
54
|
+
pages.push(pageIndex + 1);
|
|
55
|
+
pages.push("ellipsis");
|
|
56
|
+
pages.push(pageCount - 1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return pages;
|
|
60
|
+
};
|
|
61
|
+
return (_jsxs("div", { ref: containerRef, className: cn("border-border bg-card flex items-center justify-between border-t px-6 py-2", className), children: [_jsxs("div", { className: "flex items-center gap-6 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-gray-11 whitespace-nowrap", children: "Rows per page" }), _jsx(Select, { triggerClassName: "w-[80px]", popoverProps: { className: "w-[97px]" }, isSearchable: false, isClearable: false, value: pageSizeOptions.find((option) => option.value === pageSize), onChange: (value) => {
|
|
62
|
+
onPageSizeChange(value.value);
|
|
63
|
+
}, options: pageSizeOptions })] }), width > 1000 && (_jsxs("span", { className: "text-gray-11 whitespace-nowrap", children: ["Showing ", startRow, " to ", endRow, " of ", totalRows] }))] }), _jsxs("div", { className: "flex items-center gap-6", children: [width > 1000 && (_jsxs("div", { className: "flex items-center gap-1.5", children: [_jsx(Button, { mode: "icon", variant: "outline", onClick: () => onPageChange(pageIndex - 1), isDisabled: !canPreviousPage, children: _jsx(ChevronLeft, { className: "h-4 w-4" }) }), getPageNumbers().map((page, index) => page === "ellipsis" ? (_jsx("span", { className: "text-gray-11 px-2", children: "..." }, `ellipsis-${index}`)) : (_jsx(Button, { mode: "icon", className: "transition-none", onClick: () => onPageChange(page), variant: page === pageIndex ? "solid" : "outline", children: page + 1 }, page))), _jsx(Button, { mode: "icon", variant: "outline", isDisabled: !canNextPage, onClick: () => onPageChange(pageIndex + 1), children: _jsx(ChevronRight, { className: "h-4 w-4" }) })] })), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-gray-11 text-sm", children: "Go to" }), _jsx(NumberInput, { showStepper: true, minValue: 1, maxValue: pageCount, value: pageIndex + 1, onChange: (value) => onPageChange(value - 1), className: "h-8 w-16 text-center", "aria-label": "Go to page", onFocus: (e) => {
|
|
64
|
+
const input = e.target;
|
|
65
|
+
input.select();
|
|
66
|
+
} })] })] })] }));
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=DataTablePagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTablePagination.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTablePagination.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function DataTableLoading(): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
interface DataTableEmptyProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function DataTableEmpty({ title, description, }: DataTableEmptyProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
interface DataTableErrorProps {
|
|
8
|
+
message?: string;
|
|
9
|
+
onRetry?: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function DataTableError({ message, onRetry, }: DataTableErrorProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=DataTableStates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableStates.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableStates.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,gBAAgB,4CAM/B;AAED,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAA0B,EAC1B,WAAqF,GACtF,EAAE,mBAAmB,2CAUrB;AAED,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAwD,EACxD,OAAO,GACR,EAAE,mBAAmB,2CAerB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
3
|
+
import { AlertCircle, Inbox } from "lucide-react";
|
|
4
|
+
import { Spinner } from "../Spinner";
|
|
5
|
+
function StatesContainer({ children }) {
|
|
6
|
+
return (_jsx("tbody", { children: _jsx("tr", { className: "h-20", children: _jsx("td", { className: "absolute inset-0 top-10 flex flex-col items-center pt-20", children: children }) }) }));
|
|
7
|
+
}
|
|
8
|
+
export function DataTableLoading() {
|
|
9
|
+
return (_jsx(StatesContainer, { children: _jsx(Spinner, { className: "text-accent-9 mb-4 size-6" }) }));
|
|
10
|
+
}
|
|
11
|
+
export function DataTableEmpty({ title = "No results found", description = "Try adjusting your search or filters to find what you're looking for.", }) {
|
|
12
|
+
return (_jsxs(StatesContainer, { children: [_jsx("div", { className: "bg-gray-3 mb-3 rounded-lg p-3", children: _jsx(Inbox, { className: "size-7 stroke-[1.5px]" }) }), _jsx("h3", { className: "mb-1 text-lg font-semibold", children: title }), _jsx("p", { className: "text-gray-11 max-w-sm text-center", children: description })] }));
|
|
13
|
+
}
|
|
14
|
+
export function DataTableError({ message = "Something went wrong while loading the data.", onRetry, }) {
|
|
15
|
+
return (_jsxs(StatesContainer, { children: [_jsx("div", { className: "bg-error-9/10 mb-3 rounded-lg p-3", children: _jsx(AlertCircle, { className: "text-error-11 size-7 stroke-[1.5px]" }) }), _jsx("h3", { className: "mb-1 text-lg font-semibold", children: "Error loading data" }), _jsx("p", { className: "text-gray-11 mb-4 max-w-sm text-center", children: message }), onRetry && (_jsx(Button, { variant: "outline", onClick: onRetry, children: "Try again" }))] }));
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=DataTableStates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableStates.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableStates.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,SAAS,eAAe,CAAC,EAAE,QAAQ,EAAiC;IAClE,OAAO,CACL,0BACE,aAAI,SAAS,EAAC,MAAM,YAClB,aAAI,SAAS,EAAC,0DAA0D,YACrE,QAAQ,GACN,GACF,GACC,CACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,CACL,KAAC,eAAe,cACd,KAAC,OAAO,IAAC,SAAS,EAAC,2BAA2B,GAAG,GACjC,CACnB,CAAA;AACH,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,EAC7B,KAAK,GAAG,kBAAkB,EAC1B,WAAW,GAAG,uEAAuE,GACjE;IACpB,OAAO,CACL,MAAC,eAAe,eACd,cAAK,SAAS,EAAC,+BAA+B,YAC5C,KAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,GAAG,GACvC,EACN,aAAI,SAAS,EAAC,4BAA4B,YAAE,KAAK,GAAM,EACvD,YAAG,SAAS,EAAC,mCAAmC,YAAE,WAAW,GAAK,IAClD,CACnB,CAAA;AACH,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,GAAG,8CAA8C,EACxD,OAAO,GACa;IACpB,OAAO,CACL,MAAC,eAAe,eACd,cAAK,SAAS,EAAC,mCAAmC,YAChD,KAAC,WAAW,IAAC,SAAS,EAAC,qCAAqC,GAAG,GAC3D,EACN,aAAI,SAAS,EAAC,4BAA4B,mCAAwB,EAClE,YAAG,SAAS,EAAC,wCAAwC,YAAE,OAAO,GAAK,EAClE,OAAO,IAAI,CACV,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,OAAO,0BAEjC,CACV,IACe,CACnB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface DataTableToolbarContainerProps<TData> {
|
|
2
|
+
header: React.ReactNode;
|
|
3
|
+
content?: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare function DataTableToolbarContainer<TData>({ header, content, }: DataTableToolbarContainerProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=DataTableToolbarContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableToolbarContainer.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableToolbarContainer.tsx"],"names":[],"mappings":"AAEA,UAAU,8BAA8B,CAAC,KAAK;IAC5C,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,EAC/C,MAAM,EACN,OAAO,GACR,EAAE,8BAA8B,CAAC,KAAK,CAAC,2CAevC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Separator } from "../Separator";
|
|
3
|
+
export function DataTableToolbarContainer({ header, content, }) {
|
|
4
|
+
// TODO: implement the logic to open and close the toolbar
|
|
5
|
+
return (_jsxs("div", { className: "border-b", children: [_jsx("div", { className: "px-6", children: header }), content && (_jsxs(_Fragment, { children: [_jsx(Separator, {}), _jsx("div", { className: "flex items-center justify-between px-6 py-1.5", children: content })] }))] }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=DataTableToolbarContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableToolbarContainer.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableToolbarContainer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAOxC,MAAM,UAAU,yBAAyB,CAAQ,EAC/C,MAAM,EACN,OAAO,GAC+B;IACtC,0DAA0D;IAC1D,OAAO,CACL,eAAK,SAAS,EAAC,UAAU,aACvB,cAAK,SAAS,EAAC,MAAM,YAAE,MAAM,GAAO,EACnC,OAAO,IAAI,CACV,8BACE,KAAC,SAAS,KAAG,EACb,cAAK,SAAS,EAAC,+CAA+C,YAC3D,OAAO,GACJ,IACL,CACJ,IACG,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ColumnPinningState, ColumnSizingState, VisibilityState } from "@tanstack/react-table";
|
|
2
|
+
import { DisplaySettings } from "../types/data-table";
|
|
3
|
+
interface UseDataTableSettingsProps {
|
|
4
|
+
storageKey: string;
|
|
5
|
+
defaultColumnVisibility?: VisibilityState;
|
|
6
|
+
defaultColumnSizing?: ColumnSizingState;
|
|
7
|
+
defaultColumnPinning?: ColumnPinningState;
|
|
8
|
+
defaultColumnOrder?: string[];
|
|
9
|
+
}
|
|
10
|
+
export declare function useDataTableSettings({ storageKey, defaultColumnVisibility, defaultColumnSizing, defaultColumnPinning, defaultColumnOrder, }: UseDataTableSettingsProps): {
|
|
11
|
+
settings: DisplaySettings;
|
|
12
|
+
updateColumnVisibility: (visibility: VisibilityState) => void;
|
|
13
|
+
updateColumnSizing: (sizing: ColumnSizingState) => void;
|
|
14
|
+
updateColumnPinning: (pinning: ColumnPinningState) => void;
|
|
15
|
+
updateColumnOrder: (order: string[]) => void;
|
|
16
|
+
resetToDefaults: () => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=use-data-table-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-data-table-settings.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/hooks/use-data-table-settings.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIrD,UAAU,yBAAyB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,uBAAuB,CAAC,EAAE,eAAe,CAAA;IACzC,mBAAmB,CAAC,EAAE,iBAAiB,CAAA;IACvC,oBAAoB,CAAC,EAAE,kBAAkB,CAAA;IACzC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,EACnC,UAAU,EACV,uBAA4B,EAC5B,mBAAwB,EACxB,oBAA8C,EAC9C,kBAAuB,GACxB,EAAE,yBAAyB;;yCAoC8B,eAAe;iCAIvB,iBAAiB;mCAIf,kBAAkB;+BAItB,MAAM,EAAE;;EA2BvD"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
const STORAGE_PREFIX = "data-table-settings-";
|
|
3
|
+
export function useDataTableSettings({ storageKey, defaultColumnVisibility = {}, defaultColumnSizing = {}, defaultColumnPinning = { left: [], right: [] }, defaultColumnOrder = [], }) {
|
|
4
|
+
const fullStorageKey = STORAGE_PREFIX + storageKey;
|
|
5
|
+
const getStoredSettings = useCallback(() => {
|
|
6
|
+
try {
|
|
7
|
+
const stored = localStorage.getItem(fullStorageKey);
|
|
8
|
+
if (stored) {
|
|
9
|
+
return JSON.parse(stored);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
console.error("Failed to parse stored settings:", error);
|
|
14
|
+
}
|
|
15
|
+
return null;
|
|
16
|
+
}, [fullStorageKey]);
|
|
17
|
+
const [settings, setSettings] = useState(() => {
|
|
18
|
+
const stored = getStoredSettings();
|
|
19
|
+
return (stored || {
|
|
20
|
+
columnVisibility: defaultColumnVisibility,
|
|
21
|
+
columnSizing: defaultColumnSizing,
|
|
22
|
+
columnPinning: defaultColumnPinning,
|
|
23
|
+
columnOrder: defaultColumnOrder,
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
// Persist settings to localStorage
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
try {
|
|
29
|
+
localStorage.setItem(fullStorageKey, JSON.stringify(settings));
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error("Failed to save settings:", error);
|
|
33
|
+
}
|
|
34
|
+
}, [settings, fullStorageKey]);
|
|
35
|
+
const updateColumnVisibility = useCallback((visibility) => {
|
|
36
|
+
setSettings((prev) => ({ ...prev, columnVisibility: visibility }));
|
|
37
|
+
}, []);
|
|
38
|
+
const updateColumnSizing = useCallback((sizing) => {
|
|
39
|
+
setSettings((prev) => ({ ...prev, columnSizing: sizing }));
|
|
40
|
+
}, []);
|
|
41
|
+
const updateColumnPinning = useCallback((pinning) => {
|
|
42
|
+
setSettings((prev) => ({ ...prev, columnPinning: pinning }));
|
|
43
|
+
}, []);
|
|
44
|
+
const updateColumnOrder = useCallback((order) => {
|
|
45
|
+
setSettings((prev) => ({ ...prev, columnOrder: order }));
|
|
46
|
+
}, []);
|
|
47
|
+
const resetToDefaults = useCallback(() => {
|
|
48
|
+
const defaults = {
|
|
49
|
+
columnVisibility: defaultColumnVisibility,
|
|
50
|
+
columnSizing: defaultColumnSizing,
|
|
51
|
+
columnPinning: defaultColumnPinning,
|
|
52
|
+
columnOrder: defaultColumnOrder,
|
|
53
|
+
};
|
|
54
|
+
setSettings(defaults);
|
|
55
|
+
}, [
|
|
56
|
+
defaultColumnVisibility,
|
|
57
|
+
defaultColumnSizing,
|
|
58
|
+
defaultColumnPinning,
|
|
59
|
+
defaultColumnOrder,
|
|
60
|
+
]);
|
|
61
|
+
return {
|
|
62
|
+
settings,
|
|
63
|
+
updateColumnVisibility,
|
|
64
|
+
updateColumnSizing,
|
|
65
|
+
updateColumnPinning,
|
|
66
|
+
updateColumnOrder,
|
|
67
|
+
resetToDefaults,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=use-data-table-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-data-table-settings.js","sourceRoot":"","sources":["../../../../src/components/DataTable/hooks/use-data-table-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,YAAY,EACV,cAAc,EACd,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ButtonProps } from "@eggspot/ui/components/Button";
|
|
2
|
+
import { ColumnDef, ColumnPinningState, ColumnSizingState, InitialTableState, Table, TableState, VisibilityState } from "@tanstack/react-table";
|
|
3
|
+
import { FilterValue } from "../../Filter";
|
|
4
|
+
export interface DataTableProps<TData> {
|
|
5
|
+
/** Columns to display */
|
|
6
|
+
columns: ColumnDef<TData, any>[];
|
|
7
|
+
/** Data to display */
|
|
8
|
+
data: TData[];
|
|
9
|
+
/** Whether the data is fetched from the server or client. Defaults to "server" */
|
|
10
|
+
dataSource?: "server" | "client";
|
|
11
|
+
/** Whether the data is loading */
|
|
12
|
+
isLoading?: boolean;
|
|
13
|
+
/** Whether the data is fetching */
|
|
14
|
+
isFetching?: boolean;
|
|
15
|
+
/** Whether the data is error */
|
|
16
|
+
isError?: boolean;
|
|
17
|
+
/** Error message */
|
|
18
|
+
errorMessage?: string;
|
|
19
|
+
/** Render a toolbar */
|
|
20
|
+
filterBar?: (clientFilterProps: {
|
|
21
|
+
value?: FilterValue;
|
|
22
|
+
onChange?: (value: FilterValue) => void;
|
|
23
|
+
}) => React.ReactNode;
|
|
24
|
+
/** Render an action bar */
|
|
25
|
+
actionBar?: ({ table, }: {
|
|
26
|
+
table: Table<TData>;
|
|
27
|
+
clearSelection: () => void;
|
|
28
|
+
}) => React.ReactNode;
|
|
29
|
+
/** Initial state for the table */
|
|
30
|
+
initialState?: InitialTableState;
|
|
31
|
+
/** Callback when the state changes */
|
|
32
|
+
onStateChange?: (state: TableState) => void;
|
|
33
|
+
/** Total number of rows for server-side pagination */
|
|
34
|
+
rowCount?: number;
|
|
35
|
+
/** Whether to enable row selection */
|
|
36
|
+
enableRowSelection?: boolean;
|
|
37
|
+
/** Key to store the display settings in localStorage */
|
|
38
|
+
storageKey?: string;
|
|
39
|
+
defaultColumnVisibility?: VisibilityState;
|
|
40
|
+
defaultColumnSizing?: ColumnSizingState;
|
|
41
|
+
defaultColumnPinning?: ColumnPinningState;
|
|
42
|
+
defaultColumnOrder?: string[];
|
|
43
|
+
/** Estimated row height for virtualization */
|
|
44
|
+
estimatedRowHeight?: number;
|
|
45
|
+
/** Title for the empty state */
|
|
46
|
+
emptyStateTitle?: string;
|
|
47
|
+
/** Description for the empty state */
|
|
48
|
+
emptyStateDescription?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface SortingState {
|
|
51
|
+
id: string;
|
|
52
|
+
desc: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface BulkAction {
|
|
55
|
+
label: string;
|
|
56
|
+
leftIcon?: React.ReactNode;
|
|
57
|
+
onClick: (selectedRows: Record<string, boolean>) => void;
|
|
58
|
+
intent?: ButtonProps["intent"];
|
|
59
|
+
variant?: ButtonProps["variant"];
|
|
60
|
+
size?: ButtonProps["size"];
|
|
61
|
+
}
|
|
62
|
+
export interface DisplaySettings {
|
|
63
|
+
columnVisibility: VisibilityState;
|
|
64
|
+
columnSizing: ColumnSizingState;
|
|
65
|
+
columnPinning: ColumnPinningState;
|
|
66
|
+
columnOrder: string[];
|
|
67
|
+
}
|
|
68
|
+
export interface DataTableState {
|
|
69
|
+
sorting: SortingState[];
|
|
70
|
+
columnVisibility: VisibilityState;
|
|
71
|
+
columnSizing: ColumnSizingState;
|
|
72
|
+
columnPinning: ColumnPinningState;
|
|
73
|
+
columnOrder: string[];
|
|
74
|
+
rowSelection: Record<string, boolean>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=data-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table.d.ts","sourceRoot":"","sources":["../../../../src/components/DataTable/types/data-table.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../../../src/components/DataTable/types/data-table.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface EggDatePickerProps {
|
|
2
|
+
value?: Date;
|
|
3
|
+
onChange?: (value?: Date) => void;
|
|
4
|
+
defaultValue?: Date;
|
|
5
|
+
minValue?: Date;
|
|
6
|
+
maxValue?: Date;
|
|
7
|
+
isDisabled?: boolean;
|
|
8
|
+
isInvalid?: boolean;
|
|
9
|
+
label?: string;
|
|
10
|
+
withAsterisk?: boolean;
|
|
11
|
+
tooltip?: React.ReactNode;
|
|
12
|
+
granularity?: "day" | "minute";
|
|
13
|
+
hourCycle?: 12 | 24;
|
|
14
|
+
format?: "dd/mm/yyyy" | "mm/dd/yyyy" | "yyyy-mm-dd";
|
|
15
|
+
}
|
|
16
|
+
declare function EggDatePicker({ value: controlledValue, onChange: controlledOnChange, defaultValue, minValue, maxValue, isDisabled, isInvalid, label, withAsterisk, tooltip, granularity, hourCycle, format, }: EggDatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export { EggDatePicker as DatePicker };
|
|
18
|
+
export type { EggDatePickerProps as DatePickerProps };
|
|
19
|
+
//# sourceMappingURL=DatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.tsx"],"names":[],"mappings":"AAyDA,UAAU,kBAAkB;IAE1B,KAAK,CAAC,EAAE,IAAI,CAAA;IAGZ,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAGjC,YAAY,CAAC,EAAE,IAAI,CAAA;IAGnB,QAAQ,CAAC,EAAE,IAAI,CAAA;IAGf,QAAQ,CAAC,EAAE,IAAI,CAAA;IAGf,UAAU,CAAC,EAAE,OAAO,CAAA;IAGpB,SAAS,CAAC,EAAE,OAAO,CAAA;IAGnB,KAAK,CAAC,EAAE,MAAM,CAAA;IAGd,YAAY,CAAC,EAAE,OAAO,CAAA;IAGtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAGzB,WAAW,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;IAG9B,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAA;IAGnB,MAAM,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,YAAY,CAAA;CACpD;AAED,iBAAS,aAAa,CAAC,EACrB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,SAAS,EACT,KAAK,EACL,YAAY,EACZ,OAAO,EACP,WAAmB,EACnB,SAAc,EACd,MAAqB,GACtB,EAAE,kBAAkB,2CA+EpB;AAoBD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,CAAA;AACtC,YAAY,EAAE,kBAAkB,IAAI,eAAe,EAAE,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext } from "react";
|
|
4
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
5
|
+
import { Calendar, CalendarCell, CalendarGrid, CalendarGridBody, CalendarGridHeader, CalendarHeaderCell, CalendarHeading, } from "@eggspot/ui/components/Calendar";
|
|
6
|
+
import { DateInput } from "@eggspot/ui/components/Datefield";
|
|
7
|
+
import { parse, toValidYear } from "@eggspot/ui/components/DatePicker.utils";
|
|
8
|
+
import { FieldGroup } from "@eggspot/ui/components/Field";
|
|
9
|
+
import { Label } from "@eggspot/ui/components/Label";
|
|
10
|
+
import { Popover } from "@eggspot/ui/components/Popover";
|
|
11
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
12
|
+
import { getLocalTimeZone } from "@internationalized/date";
|
|
13
|
+
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
|
14
|
+
import dayjs from "dayjs";
|
|
15
|
+
import { CalendarIcon } from "lucide-react";
|
|
16
|
+
import { DatePicker as AriaDatePicker, Dialog as AriaDialog, composeRenderProps, DatePickerStateContext, I18nProvider, } from "react-aria-components";
|
|
17
|
+
const DatePicker = AriaDatePicker;
|
|
18
|
+
const DatePickerContent = ({ className, popoverClassName, ...props }) => (_jsx(Popover, { animateOut: false, className: composeRenderProps(popoverClassName, (className) => cn("w-auto p-1", className)), placement: "bottom right", children: _jsx(AriaDialog, { className: cn("flex w-full flex-col space-y-4 outline-none sm:flex-row sm:space-y-0 sm:space-x-4", className), ...props }) }));
|
|
19
|
+
function EggDatePicker({ value: controlledValue, onChange: controlledOnChange, defaultValue, minValue, maxValue, isDisabled, isInvalid, label, withAsterisk, tooltip, granularity = "day", hourCycle = 24, format = "dd/mm/yyyy", }) {
|
|
20
|
+
const [value, onChange] = useControllableState({
|
|
21
|
+
prop: controlledValue,
|
|
22
|
+
defaultProp: defaultValue,
|
|
23
|
+
onChange: controlledOnChange,
|
|
24
|
+
});
|
|
25
|
+
let locale = "en-AU";
|
|
26
|
+
if (format === "dd/mm/yyyy") {
|
|
27
|
+
locale = "en-AU";
|
|
28
|
+
}
|
|
29
|
+
else if (format === "mm/dd/yyyy") {
|
|
30
|
+
locale = "en-US";
|
|
31
|
+
}
|
|
32
|
+
else if (format === "yyyy-mm-dd") {
|
|
33
|
+
locale = "en-CA";
|
|
34
|
+
}
|
|
35
|
+
return (_jsx(I18nProvider, { locale: locale, children: _jsxs(DatePicker, { "aria-label": "Date Picker", className: "flex w-full flex-col gap-1.5", value: parse(value, granularity), onChange: (value) => onChange(value?.toDate(getLocalTimeZone())), minValue: minValue ? parse(minValue) : null, maxValue: maxValue ? parse(maxValue) : null, isDisabled: isDisabled, granularity: granularity, hourCycle: hourCycle, isInvalid: isInvalid, hideTimeZone: true, onBlur: () => {
|
|
36
|
+
if (value) {
|
|
37
|
+
onChange(toValidYear(value));
|
|
38
|
+
}
|
|
39
|
+
}, children: [label && (_jsx(Label, { withAsterisk: withAsterisk, tooltip: tooltip, children: label })), _jsxs(FieldGroup, { className: "has-[button[aria-expanded=true]]:ring-accent-9 pr-2.5 has-[button[aria-expanded=true]]:ring-2", children: [_jsx(DateInput, { className: "flex-1", variant: "ghost" }), _jsx(Button, { mode: "icon", size: "sm", variant: "ghost", intent: "secondary", tooltip: "Select Date", tooltipDelay: 2000, className: "-mr-1 size-6 data-[focus-visible]:ring-offset-0", isDisabled: isDisabled, children: _jsx(CalendarIcon, { "aria-hidden": true, className: "text-gray-11 size-4" }) })] }), _jsx("span", { className: "text-gray-11 text-xs leading-none", children: format }), _jsx(DatePickerContent, { children: _jsxs("div", { children: [_jsxs(Calendar, { children: [_jsx(CalendarHeading, {}), _jsxs(CalendarGrid, { children: [_jsx(CalendarGridHeader, { children: (day) => _jsx(CalendarHeaderCell, { children: day }) }), _jsx(CalendarGridBody, { children: (date) => _jsx(CalendarCell, { date: date }) })] })] }), _jsx("div", { className: "flex justify-center py-1", children: _jsx(TodayButton, {}) })] }) })] }) }));
|
|
40
|
+
}
|
|
41
|
+
function TodayButton() {
|
|
42
|
+
const state = useContext(DatePickerStateContext);
|
|
43
|
+
return (_jsx(Button, { size: "sm", variant: "ghost", intent: "primary", onClick: () => {
|
|
44
|
+
state?.setValue(parse(dayjs().startOf("day").toDate()));
|
|
45
|
+
state?.close();
|
|
46
|
+
}, children: "Today" }));
|
|
47
|
+
}
|
|
48
|
+
export { EggDatePicker as DatePicker };
|
|
49
|
+
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/components/DatePicker.tsx"],"names":[],"mappings":"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"}
|