@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":"FilterSelect.js","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/FilterSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface FilterSingleDateProps {
|
|
2
|
+
field?: string;
|
|
3
|
+
granularity?: "day" | "month";
|
|
4
|
+
onSelect?: (date: Date | undefined) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare function FilterSingleDate({ field: fieldProp, granularity, onSelect, }: FilterSingleDateProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=FilterSingleDate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSingleDate.d.ts","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/FilterSingleDate.tsx"],"names":[],"mappings":"AA+BA,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAA;CAC5C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EAAE,SAAS,EAChB,WAAmB,EACnB,QAAQ,GACT,EAAE,qBAAqB,2CA+CvB"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useContext, useState } 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 { parse } from "@eggspot/ui/components/DatePicker.utils";
|
|
7
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
8
|
+
import { getLocalTimeZone, today, } from "@internationalized/date";
|
|
9
|
+
import dayjs from "dayjs";
|
|
10
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
11
|
+
import { RootMenuTriggerStateContext } from "react-aria-components";
|
|
12
|
+
import { useFilterContext, useFilterItem, useFilterItemClose, } from "../Filter.store";
|
|
13
|
+
export function FilterSingleDate({ field: fieldProp, granularity = "day", onSelect, }) {
|
|
14
|
+
const { value, setFieldValue } = useFilterContext();
|
|
15
|
+
const filterItem = useFilterItem();
|
|
16
|
+
const field = fieldProp ?? filterItem?.field;
|
|
17
|
+
if (!field) {
|
|
18
|
+
throw new Error("FilterSingleDate requires a field prop or must be used within a FilterItemProvider");
|
|
19
|
+
}
|
|
20
|
+
const dateValue = value[field];
|
|
21
|
+
const handleChange = (date) => {
|
|
22
|
+
if (onSelect) {
|
|
23
|
+
onSelect(date);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
setFieldValue(field, date);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const handleClear = () => {
|
|
30
|
+
if (onSelect) {
|
|
31
|
+
onSelect(undefined);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
setFieldValue(field, undefined);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
if (granularity === "month") {
|
|
38
|
+
return (_jsx(MonthPicker, { value: dateValue ?? undefined, onChange: handleChange, onClear: handleClear }));
|
|
39
|
+
}
|
|
40
|
+
return (_jsx(DayPicker, { value: dateValue ?? undefined, onChange: handleChange, onClear: handleClear }));
|
|
41
|
+
}
|
|
42
|
+
function DayPicker({ value, onChange, onClear }) {
|
|
43
|
+
const calendarValue = parse(value, "day");
|
|
44
|
+
const todayDate = today(getLocalTimeZone());
|
|
45
|
+
const menuState = useContext(RootMenuTriggerStateContext);
|
|
46
|
+
const onClose = useFilterItemClose();
|
|
47
|
+
const handleDateChange = (date) => {
|
|
48
|
+
onChange(date.toDate(getLocalTimeZone()));
|
|
49
|
+
// Close popover after selection
|
|
50
|
+
menuState?.close();
|
|
51
|
+
onClose?.();
|
|
52
|
+
};
|
|
53
|
+
const handleToday = () => {
|
|
54
|
+
onChange(dayjs().startOf("day").toDate());
|
|
55
|
+
};
|
|
56
|
+
return (_jsxs("div", { className: "flex h-[352px] min-w-[280px] flex-col p-2", children: [_jsxs(Calendar, { "aria-label": "Select date", className: "w-full flex-1", value: calendarValue, onChange: handleDateChange, defaultFocusedValue: calendarValue ?? todayDate, children: [_jsx(CalendarHeading, {}), _jsxs(CalendarGrid, { className: "w-full", children: [_jsx(CalendarGridHeader, { children: (day) => (_jsx(CalendarHeaderCell, { className: "flex-1", children: day })) }), _jsx(CalendarGridBody, { children: (date) => _jsx(CalendarCell, { date: date }) })] })] }), _jsxs("div", { className: "border-gray-6 flex justify-center gap-2 border-t pt-2", children: [_jsx(Button, { size: "sm", variant: "ghost", intent: "primary", onClick: handleToday, children: "Today" }), _jsx(Button, { size: "sm", variant: "ghost", intent: "secondary", onClick: onClear, isDisabled: !value, children: "Clear" })] })] }));
|
|
57
|
+
}
|
|
58
|
+
const MONTHS = [
|
|
59
|
+
"Jan",
|
|
60
|
+
"Feb",
|
|
61
|
+
"Mar",
|
|
62
|
+
"Apr",
|
|
63
|
+
"May",
|
|
64
|
+
"Jun",
|
|
65
|
+
"Jul",
|
|
66
|
+
"Aug",
|
|
67
|
+
"Sep",
|
|
68
|
+
"Oct",
|
|
69
|
+
"Nov",
|
|
70
|
+
"Dec",
|
|
71
|
+
];
|
|
72
|
+
function MonthPicker({ value, onChange, onClear }) {
|
|
73
|
+
const currentYear = dayjs().year();
|
|
74
|
+
const [viewYear, setViewYear] = useState(value ? dayjs(value).year() : currentYear);
|
|
75
|
+
const onClose = useFilterItemClose();
|
|
76
|
+
const menuState = useContext(RootMenuTriggerStateContext);
|
|
77
|
+
const selectedMonth = value ? dayjs(value).month() : null;
|
|
78
|
+
const selectedYear = value ? dayjs(value).year() : null;
|
|
79
|
+
const handleMonthSelect = (monthIndex) => {
|
|
80
|
+
const date = dayjs()
|
|
81
|
+
.year(viewYear)
|
|
82
|
+
.month(monthIndex)
|
|
83
|
+
.startOf("month")
|
|
84
|
+
.toDate();
|
|
85
|
+
onChange(date);
|
|
86
|
+
onClose?.();
|
|
87
|
+
menuState?.close();
|
|
88
|
+
};
|
|
89
|
+
const handleThisMonth = () => {
|
|
90
|
+
onChange(dayjs().startOf("month").toDate());
|
|
91
|
+
};
|
|
92
|
+
return (_jsxs("div", { className: "flex min-w-[280px] flex-col p-2", children: [_jsxs("div", { className: "mb-2 flex items-center justify-between", children: [_jsx(Button, { mode: "icon", size: "sm", variant: "ghost", intent: "secondary", onClick: () => setViewYear((y) => y - 1), "aria-label": "Previous year", children: _jsx(ChevronLeft, { className: "size-4" }) }), _jsx("span", { className: "text-gray-12 text-sm font-medium", children: viewYear }), _jsx(Button, { mode: "icon", size: "sm", variant: "ghost", intent: "secondary", onClick: () => setViewYear((y) => y + 1), "aria-label": "Next year", children: _jsx(ChevronRight, { className: "size-4" }) })] }), _jsx("div", { className: "grid grid-cols-3 gap-1", children: MONTHS.map((month, index) => {
|
|
93
|
+
const isSelected = selectedMonth === index && selectedYear === viewYear;
|
|
94
|
+
const isCurrentMonth = dayjs().month() === index && dayjs().year() === viewYear;
|
|
95
|
+
return (_jsx("button", { type: "button", onClick: () => handleMonthSelect(index), className: cn("rounded-md px-3 py-2 text-sm transition-colors", "hover:bg-gray-4 focus-visible:ring-accent-9 focus-visible:ring-2 focus-visible:outline-none", isSelected
|
|
96
|
+
? "bg-accent-9 hover:bg-accent-10 text-white"
|
|
97
|
+
: isCurrentMonth
|
|
98
|
+
? "text-accent-11"
|
|
99
|
+
: "text-gray-11 hover:text-gray-12"), children: month }, month));
|
|
100
|
+
}) }), _jsxs("div", { className: "border-gray-6 mt-2 flex justify-center gap-2 border-t pt-2", children: [_jsx(Button, { size: "sm", variant: "ghost", intent: "primary", onClick: handleThisMonth, children: "This month" }), _jsx(Button, { size: "sm", variant: "ghost", intent: "secondary", onClick: onClear, isDisabled: !value, children: "Clear" })] })] }));
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=FilterSingleDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSingleDate.js","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/FilterSingleDate.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SelectOption } from "../Filter.types";
|
|
2
|
+
interface OptionItemProps {
|
|
3
|
+
option: SelectOption;
|
|
4
|
+
multi?: boolean;
|
|
5
|
+
renderIcon?: (option: SelectOption, isSelected: boolean) => React.ReactNode;
|
|
6
|
+
}
|
|
7
|
+
export declare function MenuOptionItem({ option, multi, renderIcon, }: OptionItemProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function ListBoxOptionItem({ option, multi, renderIcon, }: OptionItemProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=OptionItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionItem.d.ts","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/OptionItem.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD,UAAU,eAAe;IACvB,MAAM,EAAE,YAAY,CAAA;IACpB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,KAAK,KAAK,CAAC,SAAS,CAAA;CAC5E;AAGD,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,KAAY,EACZ,UAAU,GACX,EAAE,eAAe,2CAqBjB;AAGD,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,KAAY,EACZ,UAAU,GACX,EAAE,eAAe,2CAqBjB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
4
|
+
import { Check } from "lucide-react";
|
|
5
|
+
import { MenuItem as AriaMenuItem, ListBoxItem } from "react-aria-components";
|
|
6
|
+
/* Shared option item for Menu-based selects (FilterSelect) */
|
|
7
|
+
export function MenuOptionItem({ option, multi = true, renderIcon, }) {
|
|
8
|
+
return (_jsx(AriaMenuItem, { id: String(option.value), textValue: option.label, className: cn("flex w-full cursor-pointer items-center gap-2.5 px-3 py-1.5 text-left text-sm outline-none", "hover:bg-gray-3 data-focused:bg-gray-3 transition-colors", "data-selected:text-gray-12 text-gray-11"), children: ({ isSelected }) => (_jsx(OptionItemContent, { option: option, isSelected: isSelected, multi: multi, renderIcon: renderIcon })) }));
|
|
9
|
+
}
|
|
10
|
+
/* Shared option item for ListBox-based selects (FilterAsyncSelect) */
|
|
11
|
+
export function ListBoxOptionItem({ option, multi = true, renderIcon, }) {
|
|
12
|
+
return (_jsx(ListBoxItem, { id: String(option.value), textValue: option.label, className: cn("flex w-full cursor-pointer items-center gap-2.5 px-3 py-1.5 text-left text-sm outline-none", "hover:bg-gray-3 data-focused:bg-gray-3 transition-colors", "data-selected:text-gray-12 text-gray-11"), children: ({ isSelected }) => (_jsx(OptionItemContent, { option: option, isSelected: isSelected, multi: multi, renderIcon: renderIcon })) }));
|
|
13
|
+
}
|
|
14
|
+
/* Shared content for option items */
|
|
15
|
+
function OptionItemContent({ option, isSelected, multi, renderIcon, }) {
|
|
16
|
+
return (_jsxs(_Fragment, { children: [_jsx("span", { className: cn("flex size-4 shrink-0 items-center justify-center rounded border", multi ? "rounded" : "rounded-full", isSelected
|
|
17
|
+
? "bg-accent-9 border-accent-9 text-white"
|
|
18
|
+
: "border-gray-7 bg-transparent"), children: isSelected && _jsx(Check, { className: "size-3", strokeWidth: 2.5 }) }), renderIcon ? (_jsx("span", { className: "shrink-0", children: renderIcon(option, isSelected) })) : option.avatar ? (_jsx("img", { src: option.avatar, alt: option.label, className: "size-5 shrink-0 rounded-full object-cover" })) : option.icon ? (_jsx("span", { className: "text-gray-11 shrink-0", children: option.icon })) : null, _jsx("span", { className: "flex-1 truncate", children: option.label })] }));
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=OptionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionItem.js","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/OptionItem.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAU7E,8DAA8D;AAC9D,MAAM,UAAU,cAAc,CAAC,EAC7B,MAAM,EACN,KAAK,GAAG,IAAI,EACZ,UAAU,GACM;IAChB,OAAO,CACL,KAAC,YAAY,IACX,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EACxB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,SAAS,EAAE,EAAE,CACX,4FAA4F,EAC5F,0DAA0D,EAC1D,yCAAyC,CAC1C,YAEA,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CACnB,KAAC,iBAAiB,IAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,GACtB,CACH,GACY,CAChB,CAAA;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,KAAK,GAAG,IAAI,EACZ,UAAU,GACM;IAChB,OAAO,CACL,KAAC,WAAW,IACV,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EACxB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,SAAS,EAAE,EAAE,CACX,4FAA4F,EAC5F,0DAA0D,EAC1D,yCAAyC,CAC1C,YAEA,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CACnB,KAAC,iBAAiB,IAChB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,GACtB,CACH,GACW,CACf,CAAA;AACH,CAAC;AAED,qCAAqC;AACrC,SAAS,iBAAiB,CAAC,EACzB,MAAM,EACN,UAAU,EACV,KAAK,EACL,UAAU,GAMX;IACC,OAAO,CACL,8BACE,eACE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,EAClC,UAAU;oBACR,CAAC,CAAC,wCAAwC;oBAC1C,CAAC,CAAC,8BAA8B,CACnC,YAEA,UAAU,IAAI,KAAC,KAAK,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,GAAG,GAAI,GACxD,EAEN,UAAU,CAAC,CAAC,CAAC,CACZ,eAAM,SAAS,EAAC,UAAU,YAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,GAAQ,CACnE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAClB,cACE,GAAG,EAAE,MAAM,CAAC,MAAM,EAClB,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,SAAS,EAAC,2CAA2C,GACrD,CACH,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAChB,eAAM,SAAS,EAAC,uBAAuB,YAAE,MAAM,CAAC,IAAI,GAAQ,CAC7D,CAAC,CAAC,CAAC,IAAI,EAER,eAAM,SAAS,EAAC,iBAAiB,YAAE,MAAM,CAAC,KAAK,GAAQ,IACtD,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Filter/FilterField/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type FilterBuilderItem } from "./Filter.types";
|
|
2
|
+
interface FilterRowProps {
|
|
3
|
+
item: FilterBuilderItem;
|
|
4
|
+
}
|
|
5
|
+
export declare function FilterRow({ item }: FilterRowProps): import("react/jsx-runtime").JSX.Element | null;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=FilterRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterRow.d.ts","sourceRoot":"","sources":["../../../src/components/Filter/FilterRow.tsx"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,iBAAiB,EAIvB,MAAM,gBAAgB,CAAA;AAEvB,UAAU,cAAc;IACtB,IAAI,EAAE,iBAAiB,CAAA;CACxB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,cAAc,kDAmFjD"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useRef, useState } from "react";
|
|
4
|
+
import { Popover, PopoverDialog } from "@eggspot/ui/components/Popover";
|
|
5
|
+
import { Separator } from "@eggspot/ui/components/Separator";
|
|
6
|
+
import { Tooltip, TooltipTrigger } from "@eggspot/ui/components/Tooltip";
|
|
7
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
8
|
+
import { XIcon } from "lucide-react";
|
|
9
|
+
import { FilterItemProvider, useFilterContext } from "./Filter.store";
|
|
10
|
+
import { isSelectOptionArray, } from "./Filter.types";
|
|
11
|
+
export function FilterRow({ item }) {
|
|
12
|
+
const { value, clearField } = useFilterContext();
|
|
13
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
14
|
+
const triggerRef = useRef(null);
|
|
15
|
+
const raw = value[item.field];
|
|
16
|
+
if (raw == null || (Array.isArray(raw) && raw.length === 0))
|
|
17
|
+
return null;
|
|
18
|
+
return (_jsxs("div", { className: cn("group bg-gray-3 inline-flex h-7 items-center rounded-md border text-xs"), children: [_jsxs("button", { ref: triggerRef, type: "button", onClick: () => setIsOpen(!isOpen), className: cn("flex h-full items-center gap-1.5 pr-1", "hover:bg-gray-4 rounded-l-md transition-colors", "focus-visible:ring-accent-9 outline-none focus-visible:ring-2 focus-visible:ring-inset", isOpen && "bg-gray-4"), children: [_jsxs("div", { className: "flex items-center gap-1.5 pr-2 pl-3", children: [item.icon && _jsx("span", { className: "text-gray-12", children: item.icon }), _jsx("span", { className: "text-gray-12 text-xs font-medium", children: item.label })] }), _jsx(Separator, { orientation: "vertical", className: "bg-gray-6 h-4 w-px" }), _jsx("div", { className: "flex items-center gap-1 px-2", children: item.renderRowValue ? (item.renderRowValue({ value: raw, field: item.field })) : (_jsx(FilterValueDisplay, { field: item.field, value: raw, options: item.options, renderIcon: item.renderIcon, multi: item.multi, formatValue: item.formatValue })) })] }), _jsx(Popover, { triggerRef: triggerRef, isOpen: isOpen, onOpenChange: setIsOpen, placement: "bottom start", className: "overflow-hidden rounded-lg", children: _jsx(PopoverDialog, { className: "bg-gray-2 min-w-[260px] p-0", "aria-label": `Filter ${item.label}`, children: _jsx(FilterItemProvider, { item: item, mode: "row", onClose: () => setIsOpen(false), children: item.render("row") }) }) }), _jsx("button", { type: "button", onClick: () => clearField(item.field), className: cn("group mr-1 flex size-5 cursor-pointer items-center justify-center rounded-sm px-[5px]", "hover:bg-gray-4 transition-colors", "focus-visible:ring-accent-9 focus-visible:ring-2 focus-visible:outline-none focus-visible:ring-inset"), "aria-label": `Remove ${item.field} filter`, children: _jsx(XIcon, { className: "text-gray-11 group-hover:text-gray-12 size-3.5 transition-colors" }) })] }));
|
|
19
|
+
}
|
|
20
|
+
function FilterValueDisplay({ field, value, options, renderIcon, multi, formatValue, }) {
|
|
21
|
+
const { setFieldValue } = useFilterContext();
|
|
22
|
+
const isDateRange = Array.isArray(value) &&
|
|
23
|
+
value.length === 2 &&
|
|
24
|
+
value[0] instanceof Date &&
|
|
25
|
+
value[1] instanceof Date;
|
|
26
|
+
if (isDateRange && formatValue) {
|
|
27
|
+
return (_jsx("span", { className: "text-gray-12 inline-flex items-center gap-1.5 text-xs font-medium", children: _jsx("span", { children: formatValue(value) }) }));
|
|
28
|
+
}
|
|
29
|
+
const storedOptions = isSelectOptionArray(value) ? value : [];
|
|
30
|
+
const isStoredFormat = storedOptions.length > 0;
|
|
31
|
+
const primitiveValues = !isStoredFormat && Array.isArray(value)
|
|
32
|
+
? value
|
|
33
|
+
: !isStoredFormat && value != null
|
|
34
|
+
? [value]
|
|
35
|
+
: [];
|
|
36
|
+
const getLabel = (item) => {
|
|
37
|
+
if (formatValue) {
|
|
38
|
+
return formatValue(item);
|
|
39
|
+
}
|
|
40
|
+
if (typeof item === "object" && item !== null && "label" in item) {
|
|
41
|
+
return item.label;
|
|
42
|
+
}
|
|
43
|
+
const str = String(item);
|
|
44
|
+
return options?.find((o) => String(o.value) === str)?.label ?? str;
|
|
45
|
+
};
|
|
46
|
+
const getStoredOption = (item) => {
|
|
47
|
+
if (typeof item === "object" && item !== null && "label" in item) {
|
|
48
|
+
return item;
|
|
49
|
+
}
|
|
50
|
+
const str = String(item);
|
|
51
|
+
const opt = options?.find((o) => String(o.value) === str);
|
|
52
|
+
return opt
|
|
53
|
+
? { value: opt.value, label: opt.label, avatar: opt.avatar }
|
|
54
|
+
: undefined;
|
|
55
|
+
};
|
|
56
|
+
const getIcon = (item) => {
|
|
57
|
+
const value = typeof item === "object" && item !== null && "value" in item
|
|
58
|
+
? item.value
|
|
59
|
+
: String(item);
|
|
60
|
+
return options?.find((o) => String(o.value) === value);
|
|
61
|
+
};
|
|
62
|
+
const handleRemoveItem = (itemValue) => {
|
|
63
|
+
if (isStoredFormat) {
|
|
64
|
+
const newOptions = storedOptions.filter((opt) => opt.value !== itemValue);
|
|
65
|
+
setFieldValue(field, newOptions.length > 0 ? newOptions : undefined);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
const newValues = primitiveValues.filter((v) => String(v) !== itemValue);
|
|
69
|
+
setFieldValue(field, newValues.length > 0 ? newValues : undefined);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
const allItems = isStoredFormat ? storedOptions : primitiveValues;
|
|
73
|
+
if (allItems.length === 0) {
|
|
74
|
+
return _jsx("span", { className: "text-gray-12 font-medium", children: "None" });
|
|
75
|
+
}
|
|
76
|
+
if (!multi) {
|
|
77
|
+
const item = allItems[0];
|
|
78
|
+
const storedOpt = getStoredOption(item);
|
|
79
|
+
const iconOpt = getIcon(item);
|
|
80
|
+
const avatar = storedOpt?.avatar;
|
|
81
|
+
const icon = iconOpt?.icon;
|
|
82
|
+
return (_jsxs("span", { className: "text-gray-12 inline-flex items-center gap-1.5 text-xs font-medium", children: [_jsx(ItemIcon, { avatar: avatar, icon: icon, label: getLabel(item), renderIcon: renderIcon, iconOption: iconOpt, size: "md" }), _jsx("span", { children: getLabel(item) })] }));
|
|
83
|
+
}
|
|
84
|
+
const visibleItems = allItems.slice(0, 2);
|
|
85
|
+
const remainingItems = allItems.slice(2);
|
|
86
|
+
const hasRemaining = remainingItems.length > 0;
|
|
87
|
+
return (_jsxs("div", { className: "flex items-center gap-1", children: [visibleItems.map((item, index) => {
|
|
88
|
+
const storedOpt = getStoredOption(item);
|
|
89
|
+
const iconOpt = getIcon(item);
|
|
90
|
+
const itemValue = typeof item === "object" && item !== null && "value" in item
|
|
91
|
+
? item.value
|
|
92
|
+
: String(item);
|
|
93
|
+
return (_jsx(FilterBadge, { label: getLabel(item), storedOption: storedOpt, iconOption: iconOpt, renderIcon: renderIcon, onRemove: () => handleRemoveItem(itemValue), className: index === 1 ? "hidden sm:inline-flex" : undefined }, itemValue));
|
|
94
|
+
}), hasRemaining && (_jsx(RemainingBadges, { items: remainingItems, extraHiddenCount: visibleItems.length > 1 ? 1 : 0, renderIcon: renderIcon, onRemove: handleRemoveItem, getLabel: getLabel, getStoredOption: getStoredOption, getIcon: getIcon }))] }));
|
|
95
|
+
}
|
|
96
|
+
function FilterBadge({ label, storedOption, iconOption, renderIcon, onRemove, className, }) {
|
|
97
|
+
return (_jsxs("span", { className: cn("bg-gray-5 text-gray-12 inline-flex items-center gap-1 rounded py-0.5 pr-0.5 pl-1.5 text-xs font-medium", className), children: [_jsx(ItemIcon, { avatar: storedOption?.avatar, icon: iconOption?.icon, label: label, renderIcon: renderIcon, iconOption: iconOption, size: "sm" }), _jsx("span", { className: "max-w-[80px] truncate", children: label }), _jsx("div", { role: "button", tabIndex: 0, onClick: (e) => {
|
|
98
|
+
e.stopPropagation();
|
|
99
|
+
onRemove();
|
|
100
|
+
}, className: cn("flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-sm", "hover:bg-gray-6 transition-colors", "focus-visible:ring-accent-9 focus-visible:ring-1 focus-visible:outline-none"), "aria-label": `Remove ${label}`, children: _jsx(XIcon, { className: "size-2.5" }) })] }));
|
|
101
|
+
}
|
|
102
|
+
function RemainingBadges({ items, extraHiddenCount = 0, renderIcon, onRemove, getLabel, getStoredOption, getIcon, }) {
|
|
103
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
104
|
+
const triggerRef = useRef(null);
|
|
105
|
+
const getItemValue = (item) => {
|
|
106
|
+
if (typeof item === "object" && item !== null && "value" in item) {
|
|
107
|
+
return item.value;
|
|
108
|
+
}
|
|
109
|
+
return String(item);
|
|
110
|
+
};
|
|
111
|
+
const renderedTooltipItems = useMemo(() => items.map((item) => {
|
|
112
|
+
const storedOpt = getStoredOption(item);
|
|
113
|
+
const iconOpt = getIcon(item);
|
|
114
|
+
return (_jsxs("span", { className: "inline-flex items-center gap-0.5 align-middle", children: [_jsx(ItemIcon, { avatar: storedOpt?.avatar, icon: iconOpt?.icon, label: getLabel(item), renderIcon: renderIcon, iconOption: iconOpt, size: "sm" }), _jsx("span", { className: "text-gray-12 text-xs", children: getLabel(item) })] }, getItemValue(item)));
|
|
115
|
+
}), [items, getStoredOption, getIcon, getLabel, renderIcon, getItemValue]);
|
|
116
|
+
const toggleOpen = () => setIsOpen((prev) => !prev);
|
|
117
|
+
const handleClick = (e) => {
|
|
118
|
+
e.stopPropagation();
|
|
119
|
+
toggleOpen();
|
|
120
|
+
};
|
|
121
|
+
const handleKeyDown = (e) => {
|
|
122
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
123
|
+
e.preventDefault();
|
|
124
|
+
e.stopPropagation();
|
|
125
|
+
toggleOpen();
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
return (_jsxs(_Fragment, { children: [_jsxs(TooltipTrigger, { delay: 200, children: [_jsxs("span", { ref: triggerRef, role: "button", tabIndex: 0, "aria-label": `Show ${items.length} more selected values`, onClick: handleClick, onKeyDown: handleKeyDown, className: cn("bg-gray-5 text-gray-12 inline-flex items-center rounded px-1.5 py-0.5 text-xs font-medium", "hover:bg-gray-6 cursor-pointer transition-colors"), children: [_jsxs("span", { className: "sm:hidden", children: ["+", items.length + extraHiddenCount] }), _jsxs("span", { className: "hidden sm:inline", children: ["+", items.length] })] }), _jsx(Tooltip, { placement: "bottom", children: _jsx("div", { className: "text-gray-12 max-w-[260px] text-xs", children: renderedTooltipItems.map((node, index) => (_jsxs("span", { children: [node, index < renderedTooltipItems.length - 1 && (_jsx("span", { className: "text-gray-11", children: ", " }))] }, index))) }) })] }), _jsx(Popover, { triggerRef: triggerRef, isOpen: isOpen, onOpenChange: setIsOpen, placement: "bottom start", className: "overflow-hidden rounded-lg", children: _jsx(PopoverDialog, { className: "bg-gray-2 max-w-[260px] min-w-[180px] p-0", children: _jsx("div", { className: "flex max-h-[200px] flex-col gap-1 overflow-y-auto p-2", children: items.map((item) => {
|
|
129
|
+
const storedOpt = getStoredOption(item);
|
|
130
|
+
const iconOpt = getIcon(item);
|
|
131
|
+
const itemValue = getItemValue(item);
|
|
132
|
+
return (_jsxs("div", { className: cn("flex items-center justify-between gap-2 rounded-md px-2 py-1.5", "hover:bg-gray-3 transition-colors"), children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx(ItemIcon, { avatar: storedOpt?.avatar, icon: iconOpt?.icon, label: getLabel(item), renderIcon: renderIcon, iconOption: iconOpt, size: "md" }), _jsx("span", { className: "text-gray-12 truncate text-xs", children: getLabel(item) })] }), _jsx("div", { role: "button", tabIndex: 0, onClick: (e) => {
|
|
133
|
+
e.stopPropagation();
|
|
134
|
+
onRemove(itemValue);
|
|
135
|
+
}, className: cn("flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-sm", "hover:bg-gray-4 text-gray-11 hover:text-gray-12 transition-colors", "focus-visible:ring-accent-9 focus-visible:ring-1 focus-visible:outline-none"), "aria-label": `Remove ${getLabel(item)}`, children: _jsx(XIcon, { className: "size-3" }) })] }, itemValue));
|
|
136
|
+
}) }) }) })] }));
|
|
137
|
+
}
|
|
138
|
+
function ItemIcon({ avatar, icon, label, renderIcon, iconOption, size = "md", }) {
|
|
139
|
+
const sizeClasses = size === "sm" ? "size-3" : "size-4";
|
|
140
|
+
const svgSizeClasses = size === "sm" ? "[&>svg]:size-3" : "[&>svg]:size-3.5";
|
|
141
|
+
if (renderIcon && iconOption) {
|
|
142
|
+
return _jsx("span", { className: "shrink-0", children: renderIcon(iconOption, true) });
|
|
143
|
+
}
|
|
144
|
+
if (avatar) {
|
|
145
|
+
return (_jsx("img", { src: avatar, alt: label, className: cn(sizeClasses, "shrink-0 rounded-full object-cover") }));
|
|
146
|
+
}
|
|
147
|
+
if (icon) {
|
|
148
|
+
return (_jsx("span", { className: cn("text-gray-11 shrink-0", svgSizeClasses), children: icon }));
|
|
149
|
+
}
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=FilterRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterRow.js","sourceRoot":"","sources":["../../../src/components/Filter/FilterRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { Filter } from "./Filter";
|
|
2
|
+
export { FilterBar } from "./FilterBar";
|
|
3
|
+
export { FilterBuilder } from "./FilterBuilder";
|
|
4
|
+
export * from "./FilterField";
|
|
5
|
+
export type { FilterBuilderEntry, FilterValue, FilterFieldValue, FilterProps, FilterBuilderItem, SelectOption, SerializableSelectOption, } from "./Filter.types";
|
|
6
|
+
export { isSelectOptionArray } from "./Filter.types";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,cAAc,eAAe,CAAA;AAE7B,YAAY,EACV,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,GACzB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Filter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,cAAc,eAAe,CAAA;AAY7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
3
|
+
import { LabelProps } from "react-aria-components";
|
|
4
|
+
import { UseFormReturn, type ControllerProps, type FieldPath, type FieldValues } from "react-hook-form";
|
|
5
|
+
declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: import("react-hook-form").FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
|
|
6
|
+
declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
declare const useFormField: () => {
|
|
8
|
+
invalid: boolean;
|
|
9
|
+
isDirty: boolean;
|
|
10
|
+
isTouched: boolean;
|
|
11
|
+
isValidating: boolean;
|
|
12
|
+
error?: import("react-hook-form").FieldError;
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
formItemId: string;
|
|
16
|
+
formDescriptionId: string;
|
|
17
|
+
formMessageId: string;
|
|
18
|
+
};
|
|
19
|
+
declare function FormItem({ className, flow, ...props }: React.ComponentProps<"div"> & {
|
|
20
|
+
flow?: "row" | "column";
|
|
21
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
declare function FormLabel({ className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
declare function FormControl({ ...props }: React.ComponentProps<typeof Slot>): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
declare function FormDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
declare function FormMessage({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
declare function setSubmitErrors(form: UseFormReturn<any>, error: Record<string, string>): void;
|
|
27
|
+
interface FormFloatingActionsProps extends React.PropsWithChildren {
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
declare function FormFloatingActions({ children, className, }: FormFloatingActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormFloatingActions, setSubmitErrors, useFormField, };
|
|
32
|
+
//# sourceMappingURL=Form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAIL,aAAa,EAEb,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAA;AAGxB,QAAA,MAAM,IAAI,4MAAe,CAAA;AAazB,QAAA,MAAM,SAAS,GACb,YAAY,SAAS,WAAW,GAAG,WAAW,EAC9C,KAAK,SAAS,SAAS,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,EAC/D,cAEC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,4CAMtC,CAAA;AAED,QAAA,MAAM,YAAY;;;;;;;;;;;CAqBjB,CAAA;AAUD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,IAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,2CAiB3D;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAYrD;AAED,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,2CAqBnE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAW1E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,kDAkBtE;AAED,iBAAS,eAAe,CACtB,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,EACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAY9B;AAED,UAAU,wBAAyB,SAAQ,KAAK,CAAC,iBAAiB;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,GACV,EAAE,wBAAwB,2CAuB1B;AAED,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,YAAY,GACb,CAAA"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { Label } from "@eggspot/ui/components/Label";
|
|
5
|
+
import { cn } from "@eggspot/ui/lib/utils";
|
|
6
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
7
|
+
import { Controller, FormProvider, useFormContext, useFormState, } from "react-hook-form";
|
|
8
|
+
import { useIntersection } from "react-use";
|
|
9
|
+
const Form = FormProvider;
|
|
10
|
+
const FormFieldContext = React.createContext({});
|
|
11
|
+
const FormField = ({ ...props }) => {
|
|
12
|
+
return (_jsx(FormFieldContext.Provider, { value: { name: props.name }, children: _jsx(Controller, { ...props }) }));
|
|
13
|
+
};
|
|
14
|
+
const useFormField = () => {
|
|
15
|
+
const fieldContext = React.useContext(FormFieldContext);
|
|
16
|
+
const itemContext = React.useContext(FormItemContext);
|
|
17
|
+
const { getFieldState } = useFormContext();
|
|
18
|
+
const formState = useFormState({ name: fieldContext.name });
|
|
19
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
20
|
+
if (!fieldContext) {
|
|
21
|
+
throw new Error("useFormField should be used within <FormField>");
|
|
22
|
+
}
|
|
23
|
+
const { id } = itemContext;
|
|
24
|
+
return {
|
|
25
|
+
id,
|
|
26
|
+
name: fieldContext.name,
|
|
27
|
+
formItemId: `${id}-form-item`,
|
|
28
|
+
formDescriptionId: `${id}-form-item-description`,
|
|
29
|
+
formMessageId: `${id}-form-item-message`,
|
|
30
|
+
...fieldState,
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
const FormItemContext = React.createContext({});
|
|
34
|
+
function FormItem({ className, flow = "column", ...props }) {
|
|
35
|
+
const id = React.useId();
|
|
36
|
+
return (_jsx(FormItemContext.Provider, { value: { id }, children: _jsx("div", { "data-slot": "form-item", className: cn("flex gap-1", flow === "column" && "flex-col", flow === "row" && "flex-row items-center", className), ...props }) }));
|
|
37
|
+
}
|
|
38
|
+
function FormLabel({ className, ...props }) {
|
|
39
|
+
const { error, formItemId } = useFormField();
|
|
40
|
+
return (_jsx(Label, { "data-slot": "form-label", "data-error": !!error, className: cn("whitespace-nowrap", className), htmlFor: formItemId, ...props }));
|
|
41
|
+
}
|
|
42
|
+
function FormControl({ ...props }) {
|
|
43
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
44
|
+
const ariaProps = {
|
|
45
|
+
isInvalid: !!error,
|
|
46
|
+
};
|
|
47
|
+
return (_jsx(Slot, { "data-slot": "form-control", id: formItemId, "aria-describedby": !error
|
|
48
|
+
? `${formDescriptionId}`
|
|
49
|
+
: `${formDescriptionId} ${formMessageId}`, "aria-invalid": !!error, ...ariaProps, ...props }));
|
|
50
|
+
}
|
|
51
|
+
function FormDescription({ className, ...props }) {
|
|
52
|
+
const { formDescriptionId } = useFormField();
|
|
53
|
+
return (_jsx("p", { "data-slot": "form-description", id: formDescriptionId, className: cn("text-gray-11 my-0 text-xs", className), ...props }));
|
|
54
|
+
}
|
|
55
|
+
function FormMessage({ className, ...props }) {
|
|
56
|
+
const { error, formMessageId } = useFormField();
|
|
57
|
+
const body = error ? String(error?.message ?? "") : props.children;
|
|
58
|
+
if (!body) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
return (_jsx("p", { "data-slot": "form-message", id: formMessageId, className: cn("text-error-11 my-0 text-xs", className), ...props, children: body }));
|
|
62
|
+
}
|
|
63
|
+
function setSubmitErrors(form, error) {
|
|
64
|
+
try {
|
|
65
|
+
Object.entries(error).forEach(([key, value]) => {
|
|
66
|
+
form.setError(key, { message: value });
|
|
67
|
+
});
|
|
68
|
+
// focus the first error
|
|
69
|
+
form.setFocus(Object.keys(error)[0]);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.error(error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function FormFloatingActions({ children, className, }) {
|
|
76
|
+
const startIntersectionRef = React.useRef(null);
|
|
77
|
+
const intersection = useIntersection(startIntersectionRef, { root: document.body });
|
|
78
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { "data-intersecting": intersection?.isIntersecting, className: cn("group w-[calc(100%+18px)] translate-x-[-9px] border border-transparent p-2 transition-all", !intersection?.isIntersecting &&
|
|
79
|
+
"bg-gray-1 border-gray-6 sticky bottom-2 z-10 rounded-xl shadow-lg", className), children: children }), _jsx("div", { ref: startIntersectionRef })] }));
|
|
80
|
+
}
|
|
81
|
+
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormFloatingActions, setSubmitErrors, useFormField, };
|
|
82
|
+
//# sourceMappingURL=Form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Form.js","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
declare const headingVariants: (props?: ({
|
|
3
|
+
variant?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "subtitle1" | "subtitle2" | null | undefined;
|
|
4
|
+
} & import("class-variance-authority/dist/types").ClassProp) | undefined) => string;
|
|
5
|
+
interface HeadingProps extends React.ComponentProps<"h1">, VariantProps<typeof headingVariants> {
|
|
6
|
+
asChild?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function Heading({ asChild, className, variant, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=Heading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Heading.d.ts","sourceRoot":"","sources":["../../src/components/Heading.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG5D,QAAA,MAAM,eAAe;;mFAgBnB,CAAA;AAEF,UAAU,YACR,SAAQ,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAChC,YAAY,CAAC,OAAO,eAAe,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,OAAO,CAAC,EACtB,OAAe,EACf,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,YAAY,2CAOd"}
|