@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 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardLayout.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardLayout/DashboardLayout.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA6FnD,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,gBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,mBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,UAAU,EACV,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,QAAQ,GACT,EAAE,oBAAoB,2CA+DtB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
4
|
+
import { PanelLeft } from "lucide-react";
|
|
5
|
+
import { SidebarContent, SidebarDrawerContent, SidebarDrawerOverlay, SidebarProvider, SidebarTrigger, SidebarViewport, useSidebar, } from "../Sidebar";
|
|
6
|
+
function DesktopSidebarShell({ sidebarWidth, sidebarContentWidth, sidebarClassName, sidebarStyle, sidebarContent, onSearch, }) {
|
|
7
|
+
const { collapsed } = useSidebar();
|
|
8
|
+
return (_jsx(SidebarContent, { children: ({ ref, hovered, onPointerEnter, onPointerLeave }) => {
|
|
9
|
+
const isCollapsed = collapsed;
|
|
10
|
+
const transformClass = isCollapsed
|
|
11
|
+
? hovered
|
|
12
|
+
? "translate-x-[8px]"
|
|
13
|
+
: "-translate-x-full"
|
|
14
|
+
: "translate-x-0";
|
|
15
|
+
return (_jsxs("div", { "data-sidebar-placeholder": "", className: cn("relative z-40 h-auto shrink-0 max-md:hidden", "sticky top-0 w-[260px] transition-[width] duration-200", sidebarClassName, isCollapsed && "w-0!"), style: {
|
|
16
|
+
...(sidebarStyle ?? {}),
|
|
17
|
+
...(sidebarWidth !== undefined ? { width: sidebarWidth } : null),
|
|
18
|
+
}, children: [isCollapsed && (_jsx("div", { className: "absolute inset-y-0 left-0 z-20 w-1", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave })), _jsx("aside", { ref: ref, "data-collapsed": isCollapsed, "data-hovered": isCollapsed && hovered, "data-slot": "sidebar", onPointerEnter: onPointerEnter, onPointerLeave: onPointerLeave, className: cn("border-gray-6 bg-gray-3 dark:bg-gray-1 absolute inset-y-0 left-0 flex flex-col items-end border-r text-sm", "transition-all duration-200", "will-change-[transform,width]", transformClass,
|
|
19
|
+
// keep the sidebar open when popover is open
|
|
20
|
+
collapsed && 'data-[force-hover="true"]:translate-x-[8px]!'), style: {
|
|
21
|
+
width: isCollapsed ? sidebarContentWidth : "100%",
|
|
22
|
+
...(isCollapsed
|
|
23
|
+
? {
|
|
24
|
+
top: 8,
|
|
25
|
+
bottom: 8,
|
|
26
|
+
borderRadius: 12,
|
|
27
|
+
borderWidth: 1,
|
|
28
|
+
}
|
|
29
|
+
: null),
|
|
30
|
+
}, children: _jsx("div", { style: { width: sidebarContentWidth }, className: "flex h-full flex-col", children: sidebarContent }) })] }));
|
|
31
|
+
} }));
|
|
32
|
+
}
|
|
33
|
+
export function DashboardLayout({ pathname, defaultOpenLevel = 0, prefetch, sidebarWidth, sidebarContentWidth = 260, sidebarClassName, sidebarStyle, sidebarHeader, sidebarTop, sidebarNav, sidebarFooter, children, contentClassName, contentInnerClassName, mobileHeader, mobileTitle, onSearch, }) {
|
|
34
|
+
const sidebarContent = useMemo(() => (_jsxs(_Fragment, { children: [sidebarHeader, sidebarTop, _jsx(SidebarViewport, { children: sidebarNav }), sidebarFooter] })), [sidebarFooter, sidebarHeader, sidebarNav, sidebarTop]);
|
|
35
|
+
const defaultMobileHeader = (_jsxs("div", { className: "border-gray-6 bg-gray-1 sticky top-0 z-10 flex h-12 items-center justify-between gap-2 border-b pr-4 pl-6 md:hidden", children: [mobileTitle, _jsx("div", { className: "flex items-center", children: _jsxs(SidebarTrigger, { children: [_jsx("span", { className: "sr-only", children: "Open sidebar" }), _jsx(PanelLeft, { className: "size-4 shrink-0" })] }) })] }));
|
|
36
|
+
return (_jsx(SidebarProvider, { pathname: pathname, defaultOpenLevel: defaultOpenLevel, prefetch: prefetch, children: _jsxs("div", { className: cn("flex min-h-svh", contentClassName), children: [_jsx(DesktopSidebarShell, { sidebarWidth: sidebarWidth, sidebarContentWidth: sidebarContentWidth, sidebarClassName: sidebarClassName, sidebarStyle: sidebarStyle, sidebarContent: sidebarContent, onSearch: onSearch }), _jsx(SidebarDrawerOverlay, { className: "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 bg-black/50 backdrop-blur-xs" }), _jsx(SidebarDrawerContent, { className: "bg-gray-2 flex flex-col **:data-[slot=collapse-trigger]:invisible", children: sidebarContent }), _jsxs("main", { className: "bg-gray-2 flex-1 overflow-auto", children: [mobileHeader ?? defaultMobileHeader, _jsx("div", { className: cn("h-[calc(100vh-48px)] md:h-svh", contentInnerClassName), children: children })] })] }) }));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=DashboardLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardLayout.js","sourceRoot":"","sources":["../../../src/components/DashboardLayout/DashboardLayout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface DashboardLayoutContentProps {
|
|
2
|
+
/** The header of the page */
|
|
3
|
+
header?: React.ReactNode;
|
|
4
|
+
/** The content of the page */
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function DashboardLayoutContent({ header, children, }: DashboardLayoutContentProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=DashboardLayoutContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardLayoutContent.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardLayout/DashboardLayoutContent.tsx"],"names":[],"mappings":"AAMA,UAAU,2BAA2B;IACnC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,QAAQ,GACT,EAAE,2BAA2B,2CAgC7B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
3
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
4
|
+
import { PanelLeft } from "lucide-react";
|
|
5
|
+
import { useSidebar } from "../Sidebar";
|
|
6
|
+
export function DashboardLayoutContent({ header, children, }) {
|
|
7
|
+
const { collapsed, setCollapsed } = useSidebar();
|
|
8
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("header", { className: cn("border-gray-6 flex h-12 items-center gap-1 border-b pr-6 pl-6", collapsed && "md:pl-3.5"), children: [collapsed && (_jsx("div", { className: "max-md:hidden", children: _jsx(Button, { mode: "icon", size: "md", intent: "secondary", variant: "ghost", "aria-label": "Expand sidebar", tooltip: "Expand sidebar", tooltipDelay: 1000, onClick: () => setCollapsed(false), children: _jsx(PanelLeft, {}) }) })), _jsx("div", { className: "flex-1", children: header })] }), _jsx("div", { className: "flex-1 overflow-y-auto", children: children })] }));
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=DashboardLayoutContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardLayoutContent.js","sourceRoot":"","sources":["../../../src/components/DashboardLayout/DashboardLayoutContent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AASvC,MAAM,UAAU,sBAAsB,CAAC,EACrC,MAAM,EACN,QAAQ,GACoB;IAC5B,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAA;IAEhD,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aACnC,kBACE,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,IAAI,WAAW,CACzB,aAEA,SAAS,IAAI,CACZ,cAAK,SAAS,EAAC,eAAe,YAC5B,KAAC,MAAM,IACL,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,IAAI,EACT,MAAM,EAAC,WAAW,EAClB,OAAO,EAAC,OAAO,gBACJ,gBAAgB,EAC3B,OAAO,EAAC,gBAAgB,EACxB,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,YAElC,KAAC,SAAS,KAAG,GACN,GACL,CACP,EACD,cAAK,SAAS,EAAC,QAAQ,YAAE,MAAM,GAAO,IAC/B,EACT,cAAK,SAAS,EAAC,wBAAwB,YAAE,QAAQ,GAAO,IACpD,CACP,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DashboardLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
+
export interface DashboardLayoutProps {
|
|
3
|
+
/** Current pathname (used for active link detection inside sidebar components) */
|
|
4
|
+
pathname: string;
|
|
5
|
+
defaultOpenLevel?: number;
|
|
6
|
+
prefetch?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Desktop sidebar reserved width (the column width).
|
|
9
|
+
*
|
|
10
|
+
* Prefer using `sidebarClassName` for width (Tailwind classes) so the layout
|
|
11
|
+
* can stay purely class-driven
|
|
12
|
+
*/
|
|
13
|
+
sidebarWidth?: number | string;
|
|
14
|
+
sidebarClassName?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Desktop sidebar panel width (the actual sidebar content width).
|
|
17
|
+
*/
|
|
18
|
+
sidebarContentWidth?: number;
|
|
19
|
+
/** Optional style override for the sidebar placeholder/outer container. */
|
|
20
|
+
sidebarStyle?: CSSProperties;
|
|
21
|
+
/** Sidebar slots */
|
|
22
|
+
sidebarHeader?: ReactNode;
|
|
23
|
+
sidebarTop?: ReactNode;
|
|
24
|
+
sidebarNav: ReactNode;
|
|
25
|
+
sidebarFooter?: ReactNode;
|
|
26
|
+
/** Main content */
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
contentClassName?: string;
|
|
29
|
+
contentInnerClassName?: string;
|
|
30
|
+
/** Mobile header (defaults to a simple header with hamburger + title) */
|
|
31
|
+
mobileHeader?: ReactNode;
|
|
32
|
+
mobileTitle?: ReactNode;
|
|
33
|
+
onSearch?: () => void;
|
|
34
|
+
/** Floating panel (shown when collapsed and not hovered). If omitted, a default is rendered. */
|
|
35
|
+
floatingPanel?: ReactNode;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardLayout/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAErD,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,aAAa,CAAA;IAE5B,oBAAoB;IACpB,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,UAAU,EAAE,SAAS,CAAA;IACrB,aAAa,CAAC,EAAE,SAAS,CAAA;IAEzB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAE9B,yEAAyE;IACzE,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,WAAW,CAAC,EAAE,SAAS,CAAA;IAEvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;IAErB,gGAAgG;IAChG,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/DashboardLayout/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataTableProps } from "@eggspot/ui/components/DataTable/types/data-table";
|
|
2
|
+
export declare const DEFAULT_PAGE_SIZE = 20;
|
|
3
|
+
export declare const CustomTableContext: import("react").Context<{
|
|
4
|
+
emitStateChange: () => void;
|
|
5
|
+
}>;
|
|
6
|
+
export declare function DataTable<TData extends {
|
|
7
|
+
id: string | number;
|
|
8
|
+
}>({ columns, data, dataSource, isLoading, isFetching, isError, errorMessage, filterBar, actionBar, initialState, onStateChange, rowCount, enableRowSelection, storageKey, defaultColumnVisibility, defaultColumnSizing, defaultColumnPinning, defaultColumnOrder, estimatedRowHeight, emptyStateTitle, emptyStateDescription, }: DataTableProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAA;AA8BlF,eAAO,MAAM,iBAAiB,KAAK,CAAA;AAEnC,eAAO,MAAM,kBAAkB;qBACZ,MAAM,IAAI;EAG3B,CAAA;AA8LF,wBAAgB,SAAS,CAAC,KAAK,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EAE/D,OAAO,EACP,IAAI,EACJ,UAAqB,EAGrB,SAAiB,EACjB,UAAU,EACV,OAAe,EACf,YAAY,EAGZ,SAAS,EACT,SAAS,EAGT,YAAY,EACZ,aAAa,EACb,QAAQ,EAGR,kBAAyB,EAGzB,UAA4B,EAC5B,uBAA4B,EAC5B,mBAAwB,EACxB,oBAA8C,EAC9C,kBAAkB,EAGlB,kBAAuB,EAGvB,eAAe,EACf,qBAAqB,GACtB,EAAE,cAAc,CAAC,KAAK,CAAC,2CA2UvB"}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, memo, useEffect, useMemo, useRef, } from "react";
|
|
3
|
+
import { Checkbox } from "@eggspot/ui/components/Checkbox";
|
|
4
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
5
|
+
import { flexRender, getCoreRowModel, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable, } from "@tanstack/react-table";
|
|
6
|
+
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
7
|
+
import { DebouncedSearchInput } from "../Input";
|
|
8
|
+
import { DataTableDisplaySettings } from "./DataTableDisplaySettings";
|
|
9
|
+
import { DataTableFloatingBar } from "./DataTableFloatingBar";
|
|
10
|
+
import { DataTablePagination } from "./DataTablePagination";
|
|
11
|
+
import { DataTableEmpty, DataTableError, DataTableLoading, } from "./DataTableStates";
|
|
12
|
+
import { DataTableToolbarContainer } from "./DataTableToolbarContainer";
|
|
13
|
+
import { useDataTableSettings } from "./hooks/use-data-table-settings";
|
|
14
|
+
export const DEFAULT_PAGE_SIZE = 20;
|
|
15
|
+
export const CustomTableContext = createContext({
|
|
16
|
+
emitStateChange: () => { },
|
|
17
|
+
});
|
|
18
|
+
function HeaderCell({ header, isPinned, }) {
|
|
19
|
+
const isResizing = header.column.getIsResizing();
|
|
20
|
+
return (_jsxs("th", { className: cn("text-gray-11 bg-gray-4 relative h-10 px-4 text-left align-middle text-[13px] font-medium", isPinned === "left" &&
|
|
21
|
+
"sticky left-0 z-20 shadow-[-6px_0_2px_-6px_var(--gray-6)_inset]", isPinned === "right" &&
|
|
22
|
+
"sticky right-0 z-20 shadow-[6px_0_2px_-6px_var(--gray-6)_inset]", header.column.getCanResize() && "group"), style: {
|
|
23
|
+
width: header.getSize(),
|
|
24
|
+
minWidth: header.column.columnDef.minSize,
|
|
25
|
+
maxWidth: header.column.columnDef.maxSize,
|
|
26
|
+
...(isPinned === "left" && {
|
|
27
|
+
left: header.column.getStart("left"),
|
|
28
|
+
}),
|
|
29
|
+
...(isPinned === "right" && {
|
|
30
|
+
right: header.column.getAfter("right"),
|
|
31
|
+
}),
|
|
32
|
+
}, children: [header.isPlaceholder
|
|
33
|
+
? null
|
|
34
|
+
: flexRender(header.column.columnDef.header, header.getContext()), header.column.getCanResize() && (_jsx("div", { "data-slot": "data-table-resize-handle", onMouseDown: header.getResizeHandler(), onTouchStart: header.getResizeHandler(), className: cn("group/resize-handle absolute top-0 right-0 z-10 flex h-full w-2 cursor-col-resize touch-none items-center justify-center select-none"), children: _jsx("div", { className: cn("bg-gray-7 group-hover/resize-handle:bg-gray-11 h-6 w-px transition-colors duration-150", isResizing && "bg-accent-9!") }) }))] }, header.id));
|
|
35
|
+
}
|
|
36
|
+
function TableCell({ cell, isPinned, }) {
|
|
37
|
+
const cellValue = cell.getValue();
|
|
38
|
+
const title = typeof cellValue === "string" || typeof cellValue === "number"
|
|
39
|
+
? String(cellValue)
|
|
40
|
+
: undefined;
|
|
41
|
+
return (_jsx("td", { title: title, className: cn("group-hover:bg-gray-3 truncate px-4 py-1 align-middle text-sm", "group-data-[state=selected]:bg-gray-4", isPinned === "left" &&
|
|
42
|
+
"bg-gray-2 group-data-[state=selected]:bg-gray-5 sticky left-0 z-10 shadow-[-6px_0_2px_-6px_var(--gray-6)_inset]", isPinned === "right" &&
|
|
43
|
+
"bg-gray-2 group-data-[state=selected]:bg-gray-5 sticky right-0 z-10 shadow-[6px_0_2px_-6px_var(--gray-6)_inset]", "empty:before:content-['-']"), style: {
|
|
44
|
+
width: cell.column.getSize(),
|
|
45
|
+
minWidth: cell.column.columnDef.minSize,
|
|
46
|
+
maxWidth: cell.column.columnDef.maxSize,
|
|
47
|
+
...(isPinned === "left" && {
|
|
48
|
+
left: cell.column.getStart("left"),
|
|
49
|
+
}),
|
|
50
|
+
...(isPinned === "right" && {
|
|
51
|
+
right: cell.column.getAfter("right"),
|
|
52
|
+
}),
|
|
53
|
+
}, children: flexRender(cell.column.columnDef.cell, cell.getContext()) }, cell.id));
|
|
54
|
+
}
|
|
55
|
+
function TableBody({ table, tableContainerRef, estimatedRowHeight, }) {
|
|
56
|
+
const { rows } = table.getRowModel();
|
|
57
|
+
const rowVirtualizer = useVirtualizer({
|
|
58
|
+
count: rows.length,
|
|
59
|
+
getScrollElement: () => tableContainerRef.current,
|
|
60
|
+
estimateSize: () => estimatedRowHeight,
|
|
61
|
+
overscan: 10,
|
|
62
|
+
});
|
|
63
|
+
const virtualRows = rowVirtualizer.getVirtualItems();
|
|
64
|
+
const totalSize = rowVirtualizer.getTotalSize();
|
|
65
|
+
const paddingTop = virtualRows.length > 0 ? virtualRows[0]?.start || 0 : 0;
|
|
66
|
+
const paddingBottom = virtualRows.length > 0
|
|
67
|
+
? totalSize - (virtualRows[virtualRows.length - 1]?.end || 0)
|
|
68
|
+
: 0;
|
|
69
|
+
const leftPinnedColumns = table.getLeftVisibleLeafColumns();
|
|
70
|
+
const rightPinnedColumns = table.getRightVisibleLeafColumns();
|
|
71
|
+
const centerColumns = table.getCenterVisibleLeafColumns();
|
|
72
|
+
return (_jsxs("tbody", { children: [paddingTop > 0 && (_jsx("tr", { children: _jsx("td", { style: { height: `${paddingTop}px` } }) })), virtualRows.map((virtualRow) => {
|
|
73
|
+
const row = rows[virtualRow.index];
|
|
74
|
+
if (!row)
|
|
75
|
+
return null;
|
|
76
|
+
const isSelected = row.getIsSelected();
|
|
77
|
+
return (_jsxs("tr", { "data-state": isSelected ? "selected" : undefined, className: cn("group border-gray-3 h-10 border-b transition-colors"), children: [leftPinnedColumns.map((column) => {
|
|
78
|
+
const cell = row
|
|
79
|
+
.getVisibleCells()
|
|
80
|
+
.find((c) => c.column.id === column.id);
|
|
81
|
+
return cell ? (_jsx(TableCell, { cell: cell, isPinned: "left" }, cell.id)) : null;
|
|
82
|
+
}), centerColumns.map((column) => {
|
|
83
|
+
const cell = row
|
|
84
|
+
.getVisibleCells()
|
|
85
|
+
.find((c) => c.column.id === column.id);
|
|
86
|
+
return cell ? _jsx(TableCell, { cell: cell }, cell.id) : null;
|
|
87
|
+
}), rightPinnedColumns.map((column) => {
|
|
88
|
+
const cell = row
|
|
89
|
+
.getVisibleCells()
|
|
90
|
+
.find((c) => c.column.id === column.id);
|
|
91
|
+
return cell ? (_jsx(TableCell, { cell: cell, isPinned: "right" }, cell.id)) : null;
|
|
92
|
+
})] }, row.id));
|
|
93
|
+
}), paddingBottom > 0 && (_jsx("tr", { children: _jsx("td", { style: { height: `${paddingBottom}px` } }) }))] }));
|
|
94
|
+
}
|
|
95
|
+
const MemoizedTableBody = memo(TableBody, (prev, next) => prev.table.options.data === next.table.options.data);
|
|
96
|
+
export function DataTable({
|
|
97
|
+
// Core data
|
|
98
|
+
columns, data, dataSource = "server",
|
|
99
|
+
// Loading/error states
|
|
100
|
+
isLoading = false, isFetching, isError = false, errorMessage,
|
|
101
|
+
// Components
|
|
102
|
+
filterBar, actionBar,
|
|
103
|
+
// State for server-side operations
|
|
104
|
+
initialState, onStateChange, rowCount,
|
|
105
|
+
// Selection
|
|
106
|
+
enableRowSelection = true,
|
|
107
|
+
// Display settings
|
|
108
|
+
storageKey = "default-table", defaultColumnVisibility = {}, defaultColumnSizing = {}, defaultColumnPinning = { left: [], right: [] }, defaultColumnOrder,
|
|
109
|
+
// Virtualization
|
|
110
|
+
estimatedRowHeight = 44,
|
|
111
|
+
// Custom empty state
|
|
112
|
+
emptyStateTitle, emptyStateDescription, }) {
|
|
113
|
+
const tableContainerRef = useRef(null);
|
|
114
|
+
// Calculate default column order from columns if not provided
|
|
115
|
+
const calculatedDefaultOrder = useMemo(() => {
|
|
116
|
+
if (defaultColumnOrder)
|
|
117
|
+
return defaultColumnOrder;
|
|
118
|
+
return [
|
|
119
|
+
"select",
|
|
120
|
+
...columns
|
|
121
|
+
.map((col) => col.accessorKey ||
|
|
122
|
+
col.id)
|
|
123
|
+
.filter(Boolean),
|
|
124
|
+
];
|
|
125
|
+
}, [columns, defaultColumnOrder]);
|
|
126
|
+
const { settings, updateColumnVisibility, updateColumnSizing, updateColumnPinning, updateColumnOrder, resetToDefaults, } = useDataTableSettings({
|
|
127
|
+
storageKey,
|
|
128
|
+
defaultColumnVisibility,
|
|
129
|
+
defaultColumnSizing,
|
|
130
|
+
defaultColumnPinning,
|
|
131
|
+
defaultColumnOrder: calculatedDefaultOrder,
|
|
132
|
+
});
|
|
133
|
+
// Selection column
|
|
134
|
+
const selectionColumn = {
|
|
135
|
+
id: "select",
|
|
136
|
+
size: 48,
|
|
137
|
+
minSize: 48,
|
|
138
|
+
maxSize: 48,
|
|
139
|
+
enableResizing: false,
|
|
140
|
+
enableSorting: false,
|
|
141
|
+
enableHiding: false,
|
|
142
|
+
header: ({ table }) => {
|
|
143
|
+
return (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Checkbox, { isSelected: table.getIsAllPageRowsSelected(), isIndeterminate: table.getIsSomePageRowsSelected(), onChange: (isSelected) => {
|
|
144
|
+
table.toggleAllPageRowsSelected(isSelected);
|
|
145
|
+
}, "aria-label": "Select all", className: "translate-y-[2px]" }) }));
|
|
146
|
+
},
|
|
147
|
+
cell: ({ row }) => (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Checkbox, { isSelected: row.getIsSelected(), isDisabled: !row.getCanSelect(), isIndeterminate: row.getIsSomeSelected(), onChange: row.getToggleSelectedHandler(), "aria-label": "Select row", className: "translate-y-[2px]" }) })),
|
|
148
|
+
};
|
|
149
|
+
const allColumns = useMemo(() => {
|
|
150
|
+
if (enableRowSelection) {
|
|
151
|
+
return [selectionColumn, ...columns];
|
|
152
|
+
}
|
|
153
|
+
return columns;
|
|
154
|
+
}, [columns, enableRowSelection]);
|
|
155
|
+
// Always pin selection column to the left
|
|
156
|
+
const columnPinning = useMemo(() => {
|
|
157
|
+
const left = settings.columnPinning.left || [];
|
|
158
|
+
const right = settings.columnPinning.right || [];
|
|
159
|
+
// Ensure "select" is always first in left pinned columns when row selection is enabled
|
|
160
|
+
if (enableRowSelection && !left.includes("select")) {
|
|
161
|
+
return { left: ["select", ...left], right };
|
|
162
|
+
}
|
|
163
|
+
return { left, right };
|
|
164
|
+
}, [settings.columnPinning, enableRowSelection]);
|
|
165
|
+
const table = useReactTable({
|
|
166
|
+
data,
|
|
167
|
+
columns: allColumns,
|
|
168
|
+
initialState: {
|
|
169
|
+
pagination: {
|
|
170
|
+
pageSize: DEFAULT_PAGE_SIZE,
|
|
171
|
+
},
|
|
172
|
+
...initialState,
|
|
173
|
+
},
|
|
174
|
+
rowCount: rowCount,
|
|
175
|
+
state: {
|
|
176
|
+
columnVisibility: settings.columnVisibility,
|
|
177
|
+
columnSizing: settings.columnSizing,
|
|
178
|
+
columnPinning,
|
|
179
|
+
columnOrder: settings.columnOrder.length > 0
|
|
180
|
+
? settings.columnOrder
|
|
181
|
+
: calculatedDefaultOrder,
|
|
182
|
+
},
|
|
183
|
+
enableColumnResizing: true,
|
|
184
|
+
columnResizeMode: "onChange",
|
|
185
|
+
getCoreRowModel: getCoreRowModel(),
|
|
186
|
+
getSortedRowModel: getSortedRowModel(),
|
|
187
|
+
getPaginationRowModel: getPaginationRowModel(),
|
|
188
|
+
getFilteredRowModel: getFilteredRowModel(),
|
|
189
|
+
globalFilterFn: "auto",
|
|
190
|
+
onColumnVisibilityChange: (updater) => {
|
|
191
|
+
const newVisibility = typeof updater === "function"
|
|
192
|
+
? updater(settings.columnVisibility)
|
|
193
|
+
: updater;
|
|
194
|
+
updateColumnVisibility(newVisibility);
|
|
195
|
+
},
|
|
196
|
+
onColumnSizingChange: (updater) => {
|
|
197
|
+
const newSizing = typeof updater === "function" ? updater(settings.columnSizing) : updater;
|
|
198
|
+
updateColumnSizing(newSizing);
|
|
199
|
+
},
|
|
200
|
+
onColumnPinningChange: (updater) => {
|
|
201
|
+
const newPinning = typeof updater === "function"
|
|
202
|
+
? updater(settings.columnPinning)
|
|
203
|
+
: updater;
|
|
204
|
+
updateColumnPinning(newPinning);
|
|
205
|
+
},
|
|
206
|
+
onColumnOrderChange: (updater) => {
|
|
207
|
+
const newOrder = typeof updater === "function" ? updater(settings.columnOrder) : updater;
|
|
208
|
+
updateColumnOrder(newOrder);
|
|
209
|
+
},
|
|
210
|
+
getRowId: (row) => String(row.id),
|
|
211
|
+
manualPagination: dataSource === "server",
|
|
212
|
+
manualFiltering: dataSource === "server",
|
|
213
|
+
manualSorting: dataSource === "server",
|
|
214
|
+
autoResetPageIndex: dataSource === "client",
|
|
215
|
+
});
|
|
216
|
+
const { rows } = table.getRowModel();
|
|
217
|
+
// Get pinned and center columns
|
|
218
|
+
const leftPinnedColumns = table.getLeftVisibleLeafColumns();
|
|
219
|
+
const rightPinnedColumns = table.getRightVisibleLeafColumns();
|
|
220
|
+
const centerColumns = table.getCenterVisibleLeafColumns();
|
|
221
|
+
const state = table.getState();
|
|
222
|
+
// column filters props (client side)
|
|
223
|
+
const columnFilters = useMemo(() => state.columnFilters.reduce((acc, filter) => {
|
|
224
|
+
try {
|
|
225
|
+
acc[filter.id] = filter.value;
|
|
226
|
+
return acc;
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
return acc;
|
|
230
|
+
}
|
|
231
|
+
}, {}), [state.columnFilters]);
|
|
232
|
+
const emitStateChange = () => {
|
|
233
|
+
setTimeout(() => {
|
|
234
|
+
onStateChange?.(table.getState());
|
|
235
|
+
}, 50);
|
|
236
|
+
};
|
|
237
|
+
const setColumnFilters = (filters) => {
|
|
238
|
+
table.setColumnFilters(Object.entries(filters).map(([id, value]) => ({ id, value })));
|
|
239
|
+
emitStateChange();
|
|
240
|
+
};
|
|
241
|
+
const clearSelection = () => {
|
|
242
|
+
table.resetRowSelection();
|
|
243
|
+
};
|
|
244
|
+
useEffect(() => {
|
|
245
|
+
// workaround to force table re-render on initial mount
|
|
246
|
+
table.toggleAllRowsExpanded();
|
|
247
|
+
}, []);
|
|
248
|
+
return (_jsx(CustomTableContext.Provider, { value: { emitStateChange }, children: _jsxs("div", { className: "flex h-full flex-col overflow-hidden", children: [_jsx(DataTableToolbarContainer, { header: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: "flex-1", children: _jsx(DebouncedSearchInput, { className: "h-10 rounded-none border-none! bg-transparent px-0 ring-0! **:data-[slot=left-icon]:pr-3", value: table.getState().globalFilter, onChange: (v) => {
|
|
249
|
+
table.setGlobalFilter(v);
|
|
250
|
+
emitStateChange();
|
|
251
|
+
} }) }), _jsx(DataTableDisplaySettings, { table: table, onResetToDefaults: resetToDefaults })] }), content: filterBar && (_jsx(_Fragment, { children: _jsx("div", { children: filterBar?.({
|
|
252
|
+
value: columnFilters,
|
|
253
|
+
onChange: setColumnFilters,
|
|
254
|
+
}) }) })) }), _jsx("div", { ref: tableContainerRef, className: "bg-gray-1 relative flex-1 overflow-x-auto overflow-y-scroll", children: _jsxs("table", { "data-fetching": isFetching ? "true" : undefined, className: "w-full table-fixed border-collapse data-[fetching=true]:opacity-60", children: [_jsx("thead", { className: "sticky top-0 z-30", children: table.getHeaderGroups().map((headerGroup) => (_jsxs("tr", { children: [leftPinnedColumns.map((column) => {
|
|
255
|
+
const header = headerGroup.headers.find((h) => h.column.id === column.id);
|
|
256
|
+
return header ? (_jsx(HeaderCell, { header: header, isPinned: "left" }, header.id)) : null;
|
|
257
|
+
}), centerColumns.map((column) => {
|
|
258
|
+
const header = headerGroup.headers.find((h) => h.column.id === column.id);
|
|
259
|
+
return header ? (_jsx(HeaderCell, { header: header }, header.id)) : null;
|
|
260
|
+
}), rightPinnedColumns.map((column) => {
|
|
261
|
+
const header = headerGroup.headers.find((h) => h.column.id === column.id);
|
|
262
|
+
return header ? (_jsx(HeaderCell, { header: header, isPinned: "right" }, header.id)) : null;
|
|
263
|
+
})] }, headerGroup.id))) }), isLoading ? (_jsx(DataTableLoading, {})) : isError ? (_jsx(DataTableError, { message: errorMessage })) : rows.length === 0 ? (_jsx(DataTableEmpty, { title: emptyStateTitle, description: emptyStateDescription })) : (_jsx(_Fragment, { children: table.getState().columnSizingInfo.isResizingColumn ? (_jsx(MemoizedTableBody, { table: table, tableContainerRef: tableContainerRef, estimatedRowHeight: estimatedRowHeight })) : (_jsx(TableBody, { table: table, tableContainerRef: tableContainerRef, estimatedRowHeight: estimatedRowHeight })) }))] }) }), _jsx(DataTablePagination, { pageIndex: table.getState().pagination.pageIndex, pageSize: table.getState().pagination.pageSize, totalRows: table.getRowCount(), onPageChange: (pageIndex) => {
|
|
264
|
+
table.setPageIndex(pageIndex);
|
|
265
|
+
emitStateChange();
|
|
266
|
+
}, onPageSizeChange: (pageSize) => {
|
|
267
|
+
table.setPageSize(pageSize);
|
|
268
|
+
emitStateChange();
|
|
269
|
+
}, className: isLoading ? "opacity-0" : undefined }), actionBar && enableRowSelection && (_jsx(DataTableFloatingBar, { selectedCount: Object.keys(table.getState().rowSelection).length, onClearSelection: clearSelection, children: actionBar?.({ table, clearSelection }) }))] }) }));
|
|
270
|
+
}
|
|
271
|
+
//# sourceMappingURL=DataTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Column } from "@tanstack/react-table";
|
|
2
|
+
interface DataTableColumnHeaderProps<TData, TValue> extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
column: Column<TData, TValue>;
|
|
4
|
+
title: string;
|
|
5
|
+
enableSorting?: boolean;
|
|
6
|
+
enablePinning?: boolean;
|
|
7
|
+
enableHiding?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function DataTableColumnHeader<TData, TValue>({ column, title, className, enableSorting, enablePinning, enableHiding, }: DataTableColumnHeaderProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=DataTableColumnHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableColumnHeader.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableColumnHeader.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAmB9C,UAAU,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAChD,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EACnD,MAAM,EACN,KAAK,EACL,SAAS,EACT,aAAoB,EACpB,aAAoB,EACpB,YAAmB,GACpB,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,2CAsG3C"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { use } from "react";
|
|
3
|
+
import { Button } from "@eggspot/ui/components/Button";
|
|
4
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
5
|
+
import { ArrowDown, ArrowUp, ArrowUpDown, EyeOff, Pin, PinOff, } from "lucide-react";
|
|
6
|
+
import { Menu, MenuItem, MenuPopover, MenuSeparator, MenuTrigger, } from "../Menu";
|
|
7
|
+
import { CustomTableContext } from "./DataTable";
|
|
8
|
+
export function DataTableColumnHeader({ column, title, className, enableSorting = true, enablePinning = true, enableHiding = true, }) {
|
|
9
|
+
const { emitStateChange } = use(CustomTableContext);
|
|
10
|
+
const isSorted = column.getIsSorted();
|
|
11
|
+
const isPinned = column.getIsPinned();
|
|
12
|
+
if (!enableSorting && !enablePinning && !enableHiding) {
|
|
13
|
+
return _jsx("div", { className: cn("flex items-center", className), children: title });
|
|
14
|
+
}
|
|
15
|
+
return (_jsx("div", { className: cn("flex items-center gap-1", className), children: _jsxs(MenuTrigger, { children: [_jsx(Button, { variant: "ghost", size: "sm", className: cn("text-gray-11 hover:bg-gray-5! hover:text-gray-12 aria-expanded:bg-gray-5! aria-expanded:text-gray-12 -ml-2 h-8 transition-colors", isSorted && "text-accent-11!"), rightIcon: isSorted === "desc" ? (_jsx(ArrowDown, {})) : isSorted === "asc" ? (_jsx(ArrowUp, {})) : (_jsx(ArrowUpDown, {})), children: title }), _jsx(MenuPopover, { children: _jsxs(Menu, { children: [enableSorting && (_jsxs(_Fragment, { children: [_jsxs(MenuItem, { onClick: () => {
|
|
16
|
+
column.toggleSorting(false);
|
|
17
|
+
emitStateChange();
|
|
18
|
+
}, children: [_jsx(ArrowUp, { className: "text-gray-11 mr-2 h-3.5 w-3.5" }), "Sort ascending"] }), _jsxs(MenuItem, { onClick: () => {
|
|
19
|
+
column.toggleSorting(true);
|
|
20
|
+
emitStateChange();
|
|
21
|
+
}, children: [_jsx(ArrowDown, { className: "text-gray-11 mr-2 h-3.5 w-3.5" }), "Sort descending"] }), isSorted && (_jsxs(MenuItem, { onClick: () => {
|
|
22
|
+
column.clearSorting();
|
|
23
|
+
emitStateChange();
|
|
24
|
+
}, children: [_jsx(ArrowUpDown, { className: "text-gray-11 mr-2 h-3.5 w-3.5" }), "Clear sorting"] })), (enablePinning || enableHiding) && _jsx(MenuSeparator, {})] })), enablePinning && (_jsxs(_Fragment, { children: [isPinned !== "left" && (_jsxs(MenuItem, { onClick: () => column.pin("left"), children: [_jsx(Pin, { className: "text-gray-11 mr-2 h-3.5 w-3.5 rotate-45" }), "Pin to left"] })), isPinned !== "right" && (_jsxs(MenuItem, { onClick: () => column.pin("right"), children: [_jsx(Pin, { className: "text-gray-11 mr-2 h-3.5 w-3.5 -rotate-45" }), "Pin to right"] })), isPinned && (_jsxs(MenuItem, { onClick: () => column.pin(false), children: [_jsx(PinOff, { className: "text-gray-11 mr-2 h-3.5 w-3.5" }), "Unpin column"] })), enableHiding && _jsx(MenuSeparator, {})] })), enableHiding && (_jsxs(MenuItem, { onClick: () => column.toggleVisibility(false), children: [_jsx(EyeOff, { className: "text-gray-11 mr-2 h-3.5 w-3.5" }), "Hide column"] }))] }) })] }) }));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=DataTableColumnHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableColumnHeader.js","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableColumnHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Table } from "@tanstack/react-table";
|
|
2
|
+
interface DataTableDisplaySettingsProps<TData> {
|
|
3
|
+
table: Table<TData>;
|
|
4
|
+
onResetToDefaults: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function DataTableDisplaySettings<TData>({ table, onResetToDefaults, }: DataTableDisplaySettingsProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=DataTableDisplaySettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableDisplaySettings.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableDisplaySettings.tsx"],"names":[],"mappings":"AA8BA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAM7C,UAAU,6BAA6B,CAAC,KAAK;IAC3C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACnB,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC9B;AAgHD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,EAC9C,KAAK,EACL,iBAAiB,GAClB,EAAE,6BAA6B,CAAC,KAAK,CAAC,2CAkItC"}
|