@tulip-systems/core 0.4.1 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth/client.d.mts +2 -2
- package/dist/auth/client.mjs +2 -2
- package/dist/commands/client.d.mts +3 -3
- package/dist/commands/client.mjs +3 -3
- package/dist/components/client.d.mts +3 -5
- package/dist/components/client.mjs +3 -5
- package/dist/components/common/icons.d.mts +52 -52
- package/dist/components/common/status.d.mts +3 -3
- package/dist/components/editor/components/content.client.d.mts +2 -2
- package/dist/components/editor/components/content.client.mjs +1 -1
- package/dist/components/editor/components/content.client.mjs.map +1 -1
- package/dist/components/editor/components/editor.client.d.mts +48 -0
- package/dist/components/editor/components/editor.client.d.mts.map +1 -0
- package/dist/components/editor/components/editor.client.mjs +53 -0
- package/dist/components/editor/components/editor.client.mjs.map +1 -0
- package/dist/components/editor/components/{block-dropdown.mjs → menu-nodes.client.mjs} +25 -15
- package/dist/components/editor/components/menu-nodes.client.mjs.map +1 -0
- package/dist/components/editor/components/menu.client.d.mts +10 -0
- package/dist/components/editor/components/menu.client.d.mts.map +1 -0
- package/dist/components/editor/components/menu.client.mjs +166 -0
- package/dist/components/editor/components/menu.client.mjs.map +1 -0
- package/dist/components/editor/lib/constants.d.mts +60 -0
- package/dist/components/editor/lib/constants.d.mts.map +1 -0
- package/dist/components/editor/lib/constants.mjs +90 -0
- package/dist/components/editor/lib/constants.mjs.map +1 -0
- package/dist/components/editor/lib/extensions.d.mts +65 -0
- package/dist/components/editor/lib/extensions.d.mts.map +1 -0
- package/dist/components/editor/lib/extensions.mjs +52 -0
- package/dist/components/editor/lib/extensions.mjs.map +1 -0
- package/dist/components/editor/lib/helpers.mjs +3 -3
- package/dist/components/editor/lib/helpers.mjs.map +1 -1
- package/dist/components/editor/lib/variants.mjs +8 -0
- package/dist/components/editor/lib/variants.mjs.map +1 -0
- package/dist/components/header/back-button.client.d.mts +2 -2
- package/dist/components/header/bottom-bar.client.d.mts +3 -3
- package/dist/components/header/breadcrumbs.client.d.mts +7 -7
- package/dist/components/header/header.client.d.mts +2 -2
- package/dist/components/header/mobile-nav-switcher.client.d.mts +2 -2
- package/dist/components/header/top-bar.client.d.mts +4 -4
- package/dist/components/header/top-bar.client.mjs +1 -1
- package/dist/components/header/top-bar.client.mjs.map +1 -1
- package/dist/components/layouts/admin-content.client.d.mts +2 -2
- package/dist/components/layouts/admin-content.client.mjs +1 -1
- package/dist/components/layouts/admin-content.client.mjs.map +1 -1
- package/dist/components/layouts/admin-layout.d.mts +2 -2
- package/dist/components/layouts/admin-layout.d.mts.map +1 -1
- package/dist/components/layouts/admin-loading.d.mts +2 -2
- package/dist/components/layouts/empty-page.d.mts +4 -4
- package/dist/components/layouts/list-layout.d.mts +2 -2
- package/dist/components/layouts/not-found-page.d.mts +3 -3
- package/dist/components/layouts/providers.client.d.mts +2 -2
- package/dist/components/layouts/root-layout.server.d.mts +4 -4
- package/dist/components/layouts/root-layout.server.d.mts.map +1 -1
- package/dist/components/layouts/root-loading.d.mts +2 -2
- package/dist/components/layouts/tab-layout.d.mts +2 -2
- package/dist/components/lists/data-list.d.mts +5 -5
- package/dist/components/lists/data-stack.d.mts +8 -8
- package/dist/components/navigation/admin-sidebar-paths.client.d.mts +10 -10
- package/dist/components/ui/accordion.d.mts +5 -5
- package/dist/components/ui/alert-dialog.d.mts +12 -12
- package/dist/components/ui/alert.d.mts +6 -6
- package/dist/components/ui/aspect-ratio.d.mts +2 -2
- package/dist/components/ui/avatar.client.d.mts +4 -4
- package/dist/components/ui/badge.d.mts +4 -4
- package/dist/components/ui/breadcrumb.d.mts +8 -8
- package/dist/components/ui/breadcrumb.d.mts.map +1 -1
- package/dist/components/ui/button.d.mts +5 -5
- package/dist/components/ui/button.d.mts.map +1 -1
- package/dist/components/ui/calendar.d.mts +17 -4
- package/dist/components/ui/calendar.d.mts.map +1 -1
- package/dist/components/ui/calendar.mjs +90 -37
- package/dist/components/ui/calendar.mjs.map +1 -1
- package/dist/components/ui/card.d.mts +7 -7
- package/dist/components/ui/card.d.mts.map +1 -1
- package/dist/components/ui/carousel.d.mts +6 -6
- package/dist/components/ui/carousel.d.mts.map +1 -1
- package/dist/components/ui/chart.client.d.mts +5 -5
- package/dist/components/ui/checkbox.d.mts +2 -2
- package/dist/components/ui/checkbox.d.mts.map +1 -1
- package/dist/components/ui/collapsible.client.d.mts +4 -4
- package/dist/components/ui/color-picker.client.d.mts +2 -2
- package/dist/components/ui/combobox-dropdown.client.d.mts +2 -2
- package/dist/components/ui/combobox.client.d.mts +2 -2
- package/dist/components/ui/command.d.mts +10 -10
- package/dist/components/ui/command.d.mts.map +1 -1
- package/dist/components/ui/context-menu.d.mts +16 -16
- package/dist/components/ui/date-picker.client.d.mts +2 -2
- package/dist/components/ui/dialog.client.d.mts +11 -11
- package/dist/components/ui/drawer.client.d.mts +11 -11
- package/dist/components/ui/dropdown-menu.d.mts +16 -16
- package/dist/components/ui/form.client.d.mts +7 -7
- package/dist/components/ui/hover-card.client.d.mts +4 -4
- package/dist/components/ui/input-recipient.d.mts +3 -1
- package/dist/components/ui/input-recipient.d.mts.map +1 -1
- package/dist/components/ui/input-recipient.mjs +2 -2
- package/dist/components/ui/input-recipient.mjs.map +1 -1
- package/dist/components/ui/input.d.mts +2 -2
- package/dist/components/ui/label.d.mts +2 -2
- package/dist/components/ui/navigation-menu.d.mts +11 -11
- package/dist/components/ui/pagination.d.mts +8 -8
- package/dist/components/ui/popover.d.mts +5 -5
- package/dist/components/ui/progress.client.d.mts +2 -2
- package/dist/components/ui/radio-group.d.mts +3 -3
- package/dist/components/ui/resizable.client.d.mts +4 -4
- package/dist/components/ui/scroll-area.d.mts +3 -3
- package/dist/components/ui/select.client.d.mts +11 -11
- package/dist/components/ui/separator.d.mts +2 -2
- package/dist/components/ui/sheet.client.d.mts +9 -9
- package/dist/components/ui/sidebar.client.d.mts +26 -26
- package/dist/components/ui/skeleton.d.mts +2 -2
- package/dist/components/ui/slider.d.mts +2 -2
- package/dist/components/ui/sonner.client.d.mts +2 -2
- package/dist/components/ui/switch.d.mts +2 -2
- package/dist/components/ui/tabs.d.mts +5 -5
- package/dist/components/ui/textarea.d.mts +2 -2
- package/dist/components/ui/time-input.client.d.mts +2 -2
- package/dist/components/ui/toggle-group.client.d.mts +3 -3
- package/dist/components/ui/toggle.d.mts +4 -4
- package/dist/components/ui/toggle.d.mts.map +1 -1
- package/dist/components/ui/tooltip.client.d.mts +5 -5
- package/dist/components/ui/tooltip.client.d.mts.map +1 -1
- package/dist/components.d.mts +2 -2
- package/dist/components.mjs +2 -2
- package/dist/config/server.d.mts +1 -2
- package/dist/config/server.mjs +1 -2
- package/dist/data-tables.d.mts +6 -5
- package/dist/data-tables.mjs +4 -3
- package/dist/inline-edit/client.d.mts +4 -4
- package/dist/inline-edit/client.mjs +3 -3
- package/dist/lib/hooks/use-action.d.mts +2 -2
- package/dist/lib/hooks/use-indicator.d.mts +2 -2
- package/dist/lib/hooks/use-indicator.d.mts.map +1 -1
- package/dist/lib.mjs +1 -1
- package/dist/modules/auth/components/allowed.client.d.mts +2 -2
- package/dist/modules/auth/components/allowed.client.d.mts.map +1 -1
- package/dist/modules/auth/components/auth-layout.server.d.mts +2 -2
- package/dist/modules/auth/components/auth-layout.server.d.mts.map +1 -1
- package/dist/modules/auth/components/auth-loading.d.mts +2 -2
- package/dist/modules/auth/components/auth-loading.d.mts.map +1 -1
- package/dist/modules/auth/components/create-first-user-page.client.d.mts +2 -2
- package/dist/modules/auth/components/create-first-user-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/forget-password-page.client.d.mts +2 -2
- package/dist/modules/auth/components/forget-password-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/guard-first-user.server.d.mts +2 -2
- package/dist/modules/auth/components/guard-first-user.server.d.mts.map +1 -1
- package/dist/modules/auth/components/guard.server.d.mts +2 -2
- package/dist/modules/auth/components/guard.server.d.mts.map +1 -1
- package/dist/modules/auth/components/login-page.client.d.mts +2 -2
- package/dist/modules/auth/components/login-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/reset-password-page.client.d.mts +2 -2
- package/dist/modules/auth/components/reset-password-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/update-password-command.d.mts +2 -2
- package/dist/modules/auth/components/update-password-command.d.mts.map +1 -1
- package/dist/modules/auth/db/schema.d.mts +247 -230
- package/dist/modules/auth/db/schema.d.mts.map +1 -1
- package/dist/modules/auth/db/schema.mjs +12 -20
- package/dist/modules/auth/db/schema.mjs.map +1 -1
- package/dist/modules/auth/handler/client.client.d.mts +131 -131
- package/dist/modules/auth/handler/client.client.d.mts.map +1 -1
- package/dist/modules/auth/handler/client.client.mjs +10 -6
- package/dist/modules/auth/handler/client.client.mjs.map +1 -1
- package/dist/modules/auth/handler/init.d.mts +134 -131
- package/dist/modules/auth/handler/init.d.mts.map +1 -1
- package/dist/modules/auth/handler/init.mjs +5 -2
- package/dist/modules/auth/handler/init.mjs.map +1 -1
- package/dist/modules/auth/hooks/use-permission.d.mts +2 -2
- package/dist/modules/auth/hooks/use-permission.d.mts.map +1 -1
- package/dist/modules/auth/hooks/use-permission.mjs +7 -2
- package/dist/modules/auth/hooks/use-permission.mjs.map +1 -1
- package/dist/modules/auth/hooks/use-session.d.mts +119 -3
- package/dist/modules/auth/hooks/use-session.d.mts.map +1 -1
- package/dist/modules/auth/hooks/use-session.mjs +15 -10
- package/dist/modules/auth/hooks/use-session.mjs.map +1 -1
- package/dist/modules/auth/lib/helpers.server.d.mts +5 -5
- package/dist/modules/auth/lib/helpers.server.d.mts.map +1 -1
- package/dist/modules/auth/lib/validators.d.mts +3 -3
- package/dist/modules/auth/lib/validators.d.mts.map +1 -1
- package/dist/modules/auth/lib/validators.mjs +1 -1
- package/dist/modules/auth/lib/validators.mjs.map +1 -1
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts +10 -10
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/alert-dialog-command.client.mjs +2 -2
- package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/click-command.client.d.mts +2 -2
- package/dist/modules/commands/components/click-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/click-command.client.mjs +2 -2
- package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/command-trigger.client.d.mts +6 -6
- package/dist/modules/commands/components/command-trigger.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dialog-command.client.d.mts +18 -8
- package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dialog-command.client.mjs +12 -8
- package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/dropdown-command.client.d.mts +5 -5
- package/dist/modules/commands/components/dropdown-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dropdown-command.client.mjs +2 -2
- package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/empty-command.client.d.mts +2 -2
- package/dist/modules/commands/components/empty-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -11
- package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/form-dialog-command.client.mjs +2 -2
- package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts +17 -0
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts.map +1 -0
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs +42 -0
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs.map +1 -0
- package/dist/modules/commands/menus/context-menu.client.d.mts +2 -2
- package/dist/modules/commands/menus/context-menu.client.d.mts.map +1 -1
- package/dist/modules/commands/menus/dropdown-menu.client.d.mts +3 -3
- package/dist/modules/commands/menus/dropdown-menu.client.d.mts.map +1 -1
- package/dist/modules/commands/menus/inline-menu.client.d.mts +3 -3
- package/dist/modules/commands/menus/inline-menu.client.d.mts.map +1 -1
- package/dist/modules/commands/menus/responsive-menu.client.d.mts +3 -3
- package/dist/modules/commands/menus/responsive-menu.client.d.mts.map +1 -1
- package/dist/modules/commands/utils/archive-command.client.d.mts +3 -3
- package/dist/modules/commands/utils/archive-command.client.d.mts.map +1 -1
- package/dist/modules/commands/utils/delete-command.client.d.mts +13 -8
- package/dist/modules/commands/utils/delete-command.client.d.mts.map +1 -1
- package/dist/modules/commands/utils/delete-command.client.mjs +10 -1
- package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
- package/dist/modules/config/db/helpers.d.mts +5 -5
- package/dist/modules/config/db/helpers.d.mts.map +1 -1
- package/dist/modules/config/lib/config.d.mts +3 -3
- package/dist/modules/config/lib/config.d.mts.map +1 -1
- package/dist/modules/config/lib/config.mjs.map +1 -1
- package/dist/modules/config/lib/context.d.mts +2 -2
- package/dist/modules/config/lib/context.d.mts.map +1 -1
- package/dist/modules/config/lib/context.mjs.map +1 -1
- package/dist/modules/data-tables/components/cell/common.client.d.mts +5 -5
- package/dist/modules/data-tables/components/column-header.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/combobox.client.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/combobox.client.mjs +5 -2
- package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
- package/dist/modules/data-tables/components/filters/slider.client.d.mts +2 -2
- package/dist/modules/data-tables/components/header.d.mts +4 -4
- package/dist/modules/data-tables/components/layout.d.mts +2 -2
- package/dist/modules/data-tables/components/layout.d.mts.map +1 -1
- package/dist/modules/data-tables/components/search-input.client.d.mts +2 -2
- package/dist/modules/data-tables/components/skeleton.d.mts +2 -2
- package/dist/modules/data-tables/components/skeleton.d.mts.map +1 -1
- package/dist/modules/data-tables/components/table.d.mts +7 -7
- package/dist/modules/data-tables/components/table.d.mts.map +1 -1
- package/dist/modules/data-tables/components/toolbar.d.mts +3 -3
- package/dist/modules/data-tables/components/toolbar.d.mts.map +1 -1
- package/dist/modules/data-tables/hooks/use-context.client.d.mts +13 -10
- package/dist/modules/data-tables/hooks/use-context.client.d.mts.map +1 -1
- package/dist/modules/data-tables/hooks/use-context.client.mjs.map +1 -1
- package/dist/modules/data-tables/hooks/use-table.client.d.mts +2 -1
- package/dist/modules/data-tables/hooks/use-table.client.d.mts.map +1 -1
- package/dist/modules/data-tables/hooks/use-table.client.mjs.map +1 -1
- package/dist/modules/data-tables/lib/converters/search.d.mts +1 -1
- package/dist/modules/data-tables/lib/converters/sorting.d.mts +1 -1
- package/dist/modules/data-tables/lib/filters/config.d.mts +4 -1
- package/dist/modules/data-tables/lib/filters/config.d.mts.map +1 -1
- package/dist/modules/data-tables/lib/filters/config.mjs.map +1 -1
- package/dist/modules/data-tables/lib/filters/helpers.d.mts +11 -0
- package/dist/modules/data-tables/lib/filters/helpers.d.mts.map +1 -0
- package/dist/modules/data-tables/lib/filters/helpers.mjs +17 -0
- package/dist/modules/data-tables/lib/filters/helpers.mjs.map +1 -0
- package/dist/modules/data-tables/lib/filters/parsers.d.mts +7 -2
- package/dist/modules/data-tables/lib/filters/parsers.d.mts.map +1 -1
- package/dist/modules/data-tables/lib/filters/parsers.mjs +6 -1
- package/dist/modules/data-tables/lib/filters/parsers.mjs.map +1 -1
- package/dist/modules/data-tables/lib/filters/resolvers.d.mts +6 -1
- package/dist/modules/data-tables/lib/filters/resolvers.d.mts.map +1 -1
- package/dist/modules/data-tables/lib/filters/resolvers.mjs +8 -1
- package/dist/modules/data-tables/lib/filters/resolvers.mjs.map +1 -1
- package/dist/modules/data-tables/lib/types.d.mts +8 -5
- package/dist/modules/data-tables/lib/types.d.mts.map +1 -1
- package/dist/modules/data-tables/server/get-data.server.d.mts +1 -1
- package/dist/modules/data-tables/tables/data-table/components/table.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/combobox.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/input.client.d.mts +3 -3
- package/dist/modules/data-tables/tables/inline-table/components/inputs/read-only.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/select.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +2 -2
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +5 -2
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +7 -3
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/combobox.client.d.mts +3 -0
- package/dist/modules/inline-edit/components/combobox.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/combobox.client.mjs +6 -2
- package/dist/modules/inline-edit/components/combobox.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-input.client.d.mts +6 -3
- package/dist/modules/inline-edit/components/date-input.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/date-input.client.mjs +5 -3
- package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-picker.client.d.mts +7 -3
- package/dist/modules/inline-edit/components/date-picker.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/date-picker.client.mjs +5 -3
- package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/deprecated-editor.client.d.mts +21 -0
- package/dist/modules/inline-edit/components/deprecated-editor.client.d.mts.map +1 -0
- package/dist/modules/inline-edit/components/deprecated-editor.client.mjs +37 -0
- package/dist/modules/inline-edit/components/deprecated-editor.client.mjs.map +1 -0
- package/dist/modules/inline-edit/components/editor.client.d.mts +10 -7
- package/dist/modules/inline-edit/components/editor.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/editor.client.mjs +13 -18
- package/dist/modules/inline-edit/components/editor.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts +4 -2
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input-recipient.client.mjs +7 -3
- package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts +3 -2
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input-toggle.client.mjs +3 -2
- package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input.client.d.mts +18 -4
- package/dist/modules/inline-edit/components/input.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input.client.mjs +26 -5
- package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/select.client.d.mts +8 -6
- package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/select.client.mjs +3 -2
- package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/switch.client.d.mts +1 -0
- package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/switch.client.mjs +3 -2
- package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/toggle.client.d.mts +1 -0
- package/dist/modules/inline-edit/components/toggle.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/toggle.client.mjs +3 -2
- package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
- package/dist/modules/inline-edit/hooks/context.client.d.mts +2 -2
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +1 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +1 -1
- package/dist/modules/inline-edit/lib/variants.d.mts +2 -2
- package/dist/modules/inline-edit/lib/variants.mjs +1 -1
- package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
- package/dist/modules/router/handler/context.server.d.mts +2 -2
- package/dist/modules/router/handler/context.server.d.mts.map +1 -1
- package/dist/modules/router/handler/init.server.d.mts +7 -7
- package/dist/modules/{uploads/components/dropzone/context.d.mts → storage/components/dropzone-context.client.d.mts} +2 -2
- package/dist/modules/storage/components/dropzone-context.client.d.mts.map +1 -0
- package/dist/modules/{uploads/components/dropzone/context.mjs → storage/components/dropzone-context.client.mjs} +2 -2
- package/dist/modules/storage/components/dropzone-context.client.mjs.map +1 -0
- package/dist/modules/{uploads/components/dropzone/index.d.mts → storage/components/dropzone.client.d.mts} +6 -6
- package/dist/modules/storage/components/dropzone.client.d.mts.map +1 -0
- package/dist/modules/{uploads/components/dropzone/index.mjs → storage/components/dropzone.client.mjs} +6 -6
- package/dist/modules/storage/components/dropzone.client.mjs.map +1 -0
- package/dist/modules/storage/components/image-grid.client.d.mts +26 -0
- package/dist/modules/storage/components/image-grid.client.d.mts.map +1 -0
- package/dist/modules/storage/components/image-grid.client.mjs +169 -0
- package/dist/modules/storage/components/image-grid.client.mjs.map +1 -0
- package/dist/modules/storage/components/upload-zone-context.client.d.mts +34 -0
- package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +1 -0
- package/dist/modules/storage/components/upload-zone-context.client.mjs +21 -0
- package/dist/modules/storage/components/upload-zone-context.client.mjs.map +1 -0
- package/dist/modules/storage/components/upload-zone.client.d.mts +51 -0
- package/dist/modules/storage/components/upload-zone.client.d.mts.map +1 -0
- package/dist/modules/storage/components/upload-zone.client.mjs +196 -0
- package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -0
- package/dist/modules/{uploads/lib → storage/config}/filters.d.mts +2 -2
- package/dist/modules/storage/config/filters.d.mts.map +1 -0
- package/dist/modules/{uploads/lib → storage/config}/filters.mjs +3 -3
- package/dist/modules/storage/config/filters.mjs.map +1 -0
- package/dist/modules/storage/lib/constants.d.mts +10 -0
- package/dist/modules/storage/lib/constants.d.mts.map +1 -0
- package/dist/modules/{uploads → storage}/lib/constants.mjs +3 -2
- package/dist/modules/storage/lib/constants.mjs.map +1 -0
- package/dist/modules/storage/lib/create-client.server.d.mts +11 -0
- package/dist/modules/storage/lib/create-client.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/create-client.server.mjs +11 -0
- package/dist/modules/storage/lib/create-client.server.mjs.map +1 -0
- package/dist/modules/storage/lib/helpers.d.mts +45 -0
- package/dist/modules/storage/lib/helpers.d.mts.map +1 -0
- package/dist/modules/{uploads → storage}/lib/helpers.mjs +20 -6
- package/dist/modules/storage/lib/helpers.mjs.map +1 -0
- package/dist/modules/storage/lib/proxy.server.d.mts +21 -0
- package/dist/modules/storage/lib/proxy.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/proxy.server.mjs +46 -0
- package/dist/modules/storage/lib/proxy.server.mjs.map +1 -0
- package/dist/modules/storage/lib/router.server.d.mts +29074 -0
- package/dist/modules/storage/lib/router.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/router.server.mjs +84 -0
- package/dist/modules/storage/lib/router.server.mjs.map +1 -0
- package/dist/modules/{uploads → storage}/lib/schema.d.mts +414 -150
- package/dist/modules/storage/lib/schema.d.mts.map +1 -0
- package/dist/modules/{uploads → storage}/lib/schema.mjs +23 -18
- package/dist/modules/storage/lib/schema.mjs.map +1 -0
- package/dist/modules/storage/lib/service.server.d.mts +188 -0
- package/dist/modules/storage/lib/service.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/service.server.mjs +298 -0
- package/dist/modules/storage/lib/service.server.mjs.map +1 -0
- package/dist/modules/{uploads → storage}/lib/validators.d.mts +358 -53
- package/dist/modules/storage/lib/validators.d.mts.map +1 -0
- package/dist/modules/storage/lib/validators.mjs +106 -0
- package/dist/modules/storage/lib/validators.mjs.map +1 -0
- package/dist/storage/client.d.mts +6 -0
- package/dist/storage/client.mjs +14 -0
- package/dist/storage/client.mjs.map +1 -0
- package/dist/storage/server.d.mts +4 -0
- package/dist/storage/server.mjs +5 -0
- package/dist/storage.d.mts +6 -0
- package/dist/storage.mjs +7 -0
- package/package.json +32 -20
- package/src/components/editor/components/content.client.tsx +1 -1
- package/src/components/editor/components/editor.client.tsx +95 -0
- package/src/components/editor/components/{block-dropdown.tsx → menu-nodes.client.tsx} +17 -4
- package/src/components/editor/components/menu.client.tsx +214 -0
- package/src/components/editor/components/spinner.tsx +2 -2
- package/src/components/editor/lib/constants.ts +109 -0
- package/src/components/editor/lib/extensions.ts +195 -0
- package/src/components/editor/lib/helpers.ts +3 -3
- package/src/components/editor/lib/variants.ts +5 -0
- package/src/components/entry.client.ts +2 -4
- package/src/components/header/top-bar.client.tsx +1 -1
- package/src/components/layouts/admin-content.client.tsx +1 -1
- package/src/components/ui/calendar.tsx +152 -44
- package/src/components/ui/input-recipient.tsx +3 -0
- package/src/entry.ts +4 -4
- package/src/modules/auth/db/schema.ts +13 -21
- package/src/modules/auth/handler/client.client.ts +2 -0
- package/src/modules/auth/handler/init.ts +4 -1
- package/src/modules/auth/hooks/use-permission.ts +3 -2
- package/src/modules/auth/hooks/use-session.ts +16 -10
- package/src/modules/auth/lib/validators.ts +1 -1
- package/src/modules/commands/components/alert-dialog-command.client.tsx +2 -2
- package/src/modules/commands/components/click-command.client.tsx +2 -2
- package/src/modules/commands/components/dialog-command.client.tsx +20 -8
- package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
- package/src/modules/commands/components/form-dialog-command.client.tsx +2 -2
- package/src/modules/commands/entry.client.ts +1 -1
- package/src/modules/commands/hooks/{use-command-action.client.tsx → use-command-mutation.client.tsx} +9 -47
- package/src/modules/commands/utils/delete-command.client.tsx +14 -2
- package/src/modules/config/db/create-client.ts +11 -4
- package/src/modules/config/entry.server.ts +0 -1
- package/src/modules/config/lib/config.ts +3 -3
- package/src/modules/config/lib/context.ts +2 -2
- package/src/modules/data-tables/components/filters/combobox.client.tsx +3 -3
- package/src/modules/data-tables/entry.ts +1 -1
- package/src/modules/data-tables/hooks/use-context.client.tsx +31 -13
- package/src/modules/data-tables/hooks/use-table.client.ts +6 -3
- package/src/modules/data-tables/lib/filters/config.ts +1 -0
- package/src/modules/data-tables/lib/filters/helpers.ts +19 -0
- package/src/modules/data-tables/lib/filters/parsers.ts +14 -1
- package/src/modules/data-tables/lib/filters/resolvers.ts +8 -0
- package/src/modules/data-tables/lib/types.ts +10 -3
- package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +1 -1
- package/src/modules/inline-edit/components/combobox-dropdown.client.tsx +9 -2
- package/src/modules/inline-edit/components/combobox.client.tsx +8 -1
- package/src/modules/inline-edit/components/date-input.client.tsx +7 -3
- package/src/modules/inline-edit/components/date-picker.client.tsx +10 -3
- package/src/modules/inline-edit/components/deprecated-editor.client.tsx +48 -0
- package/src/modules/inline-edit/components/editor.client.tsx +32 -29
- package/src/modules/inline-edit/components/input-recipient.client.tsx +6 -2
- package/src/modules/inline-edit/components/input-toggle.client.tsx +2 -0
- package/src/modules/inline-edit/components/input.client.tsx +39 -0
- package/src/modules/inline-edit/components/select.client.tsx +9 -2
- package/src/modules/inline-edit/components/switch.client.tsx +2 -0
- package/src/modules/inline-edit/components/toggle.client.tsx +2 -0
- package/src/modules/inline-edit/entry.client.ts +1 -1
- package/src/modules/inline-edit/hooks/use-inline.client.tsx +2 -2
- package/src/modules/inline-edit/lib/variants.ts +1 -1
- package/src/modules/{uploads/components/dropzone/index.tsx → storage/components/dropzone.client.tsx} +2 -2
- package/src/modules/storage/components/image-grid.client.tsx +225 -0
- package/src/modules/{uploads/components/button.client.tsx → storage/components/upload-button.client.tsx} +1 -1
- package/src/modules/storage/components/upload-zone-context.client.tsx +32 -0
- package/src/modules/storage/components/upload-zone.client.tsx +258 -0
- package/src/modules/{uploads/lib → storage/config}/filters.ts +2 -2
- package/src/modules/storage/entry.client.ts +12 -0
- package/src/modules/storage/entry.server.ts +6 -0
- package/src/modules/{uploads → storage}/entry.ts +1 -1
- package/src/modules/storage/lib/constants.ts +14 -0
- package/src/modules/storage/lib/create-client.server.ts +14 -0
- package/src/modules/{uploads → storage}/lib/helpers.ts +23 -9
- package/src/modules/storage/lib/proxy.server.ts +63 -0
- package/src/modules/storage/lib/router.server.ts +180 -0
- package/src/modules/{uploads → storage}/lib/schema.ts +34 -13
- package/src/modules/storage/lib/service.server.ts +476 -0
- package/src/modules/storage/lib/validators.ts +156 -0
- package/dist/components/editor/components/block-dropdown.mjs.map +0 -1
- package/dist/components/editor/components/fixed-menu.client.d.mts +0 -7
- package/dist/components/editor/components/fixed-menu.client.d.mts.map +0 -1
- package/dist/components/editor/components/fixed-menu.client.mjs +0 -134
- package/dist/components/editor/components/fixed-menu.client.mjs.map +0 -1
- package/dist/components/editor/context.client.d.mts +0 -33
- package/dist/components/editor/context.client.d.mts.map +0 -1
- package/dist/components/editor/context.client.mjs +0 -45
- package/dist/components/editor/context.client.mjs.map +0 -1
- package/dist/components/editor/index.client.d.mts +0 -11
- package/dist/components/editor/index.client.d.mts.map +0 -1
- package/dist/components/editor/index.client.mjs +0 -17
- package/dist/components/editor/index.client.mjs.map +0 -1
- package/dist/components/editor/preview.client.d.mts +0 -12
- package/dist/components/editor/preview.client.d.mts.map +0 -1
- package/dist/components/editor/preview.client.mjs +0 -19
- package/dist/components/editor/preview.client.mjs.map +0 -1
- package/dist/modules/commands/hooks/use-command-action.client.d.mts +0 -22
- package/dist/modules/commands/hooks/use-command-action.client.d.mts.map +0 -1
- package/dist/modules/commands/hooks/use-command-action.client.mjs +0 -74
- package/dist/modules/commands/hooks/use-command-action.client.mjs.map +0 -1
- package/dist/modules/config/providers/blob.d.mts +0 -10
- package/dist/modules/config/providers/blob.d.mts.map +0 -1
- package/dist/modules/config/providers/blob.mjs +0 -11
- package/dist/modules/config/providers/blob.mjs.map +0 -1
- package/dist/modules/inline-edit/components/richtext.client.d.mts +0 -15
- package/dist/modules/inline-edit/components/richtext.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/richtext.client.mjs +0 -31
- package/dist/modules/inline-edit/components/richtext.client.mjs.map +0 -1
- package/dist/modules/uploads/components/button.client.d.mts +0 -12
- package/dist/modules/uploads/components/button.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/button.client.mjs +0 -34
- package/dist/modules/uploads/components/button.client.mjs.map +0 -1
- package/dist/modules/uploads/components/dropzone/context.d.mts.map +0 -1
- package/dist/modules/uploads/components/dropzone/context.mjs.map +0 -1
- package/dist/modules/uploads/components/dropzone/index.d.mts.map +0 -1
- package/dist/modules/uploads/components/dropzone/index.mjs.map +0 -1
- package/dist/modules/uploads/components/images/grid.client.d.mts +0 -11
- package/dist/modules/uploads/components/images/grid.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/images/grid.client.mjs +0 -119
- package/dist/modules/uploads/components/images/grid.client.mjs.map +0 -1
- package/dist/modules/uploads/components/images/input.client.d.mts +0 -16
- package/dist/modules/uploads/components/images/input.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/images/input.client.mjs +0 -28
- package/dist/modules/uploads/components/images/input.client.mjs.map +0 -1
- package/dist/modules/uploads/components/preview-dialog.client.d.mts +0 -16
- package/dist/modules/uploads/components/preview-dialog.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/preview-dialog.client.mjs +0 -22
- package/dist/modules/uploads/components/preview-dialog.client.mjs.map +0 -1
- package/dist/modules/uploads/components/zone.client.d.mts +0 -21
- package/dist/modules/uploads/components/zone.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/zone.client.mjs +0 -38
- package/dist/modules/uploads/components/zone.client.mjs.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-image.client.d.mts +0 -34
- package/dist/modules/uploads/hooks/use-upload-image.client.d.mts.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-image.client.mjs +0 -101
- package/dist/modules/uploads/hooks/use-upload-image.client.mjs.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-zone.client.d.mts +0 -39
- package/dist/modules/uploads/hooks/use-upload-zone.client.d.mts.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-zone.client.mjs +0 -20
- package/dist/modules/uploads/hooks/use-upload-zone.client.mjs.map +0 -1
- package/dist/modules/uploads/lib/constants.d.mts +0 -9
- package/dist/modules/uploads/lib/constants.d.mts.map +0 -1
- package/dist/modules/uploads/lib/constants.mjs.map +0 -1
- package/dist/modules/uploads/lib/filters.d.mts.map +0 -1
- package/dist/modules/uploads/lib/filters.mjs.map +0 -1
- package/dist/modules/uploads/lib/helpers.d.mts +0 -36
- package/dist/modules/uploads/lib/helpers.d.mts.map +0 -1
- package/dist/modules/uploads/lib/helpers.mjs.map +0 -1
- package/dist/modules/uploads/lib/procedures.server.d.mts +0 -13628
- package/dist/modules/uploads/lib/procedures.server.d.mts.map +0 -1
- package/dist/modules/uploads/lib/procedures.server.mjs +0 -176
- package/dist/modules/uploads/lib/procedures.server.mjs.map +0 -1
- package/dist/modules/uploads/lib/proxy.server.d.mts +0 -54
- package/dist/modules/uploads/lib/proxy.server.d.mts.map +0 -1
- package/dist/modules/uploads/lib/proxy.server.mjs +0 -97
- package/dist/modules/uploads/lib/proxy.server.mjs.map +0 -1
- package/dist/modules/uploads/lib/route.server.d.mts +0 -43
- package/dist/modules/uploads/lib/route.server.d.mts.map +0 -1
- package/dist/modules/uploads/lib/route.server.mjs +0 -70
- package/dist/modules/uploads/lib/route.server.mjs.map +0 -1
- package/dist/modules/uploads/lib/schema.d.mts.map +0 -1
- package/dist/modules/uploads/lib/schema.mjs.map +0 -1
- package/dist/modules/uploads/lib/validators.d.mts.map +0 -1
- package/dist/modules/uploads/lib/validators.mjs +0 -26
- package/dist/modules/uploads/lib/validators.mjs.map +0 -1
- package/dist/uploads/client.d.mts +0 -10
- package/dist/uploads/client.mjs +0 -11
- package/dist/uploads/server.d.mts +0 -4
- package/dist/uploads/server.mjs +0 -5
- package/dist/uploads.d.mts +0 -6
- package/dist/uploads.mjs +0 -7
- package/src/components/editor/components/fixed-menu.client.tsx +0 -143
- package/src/components/editor/context.client.tsx +0 -116
- package/src/components/editor/index.client.tsx +0 -13
- package/src/components/editor/preview.client.tsx +0 -13
- package/src/modules/config/providers/blob.ts +0 -11
- package/src/modules/inline-edit/components/richtext.client.tsx +0 -38
- package/src/modules/uploads/components/images/grid.client.tsx +0 -162
- package/src/modules/uploads/components/images/input.client.tsx +0 -34
- package/src/modules/uploads/components/preview-dialog.client.tsx +0 -21
- package/src/modules/uploads/components/zone.client.tsx +0 -56
- package/src/modules/uploads/entry.client.ts +0 -16
- package/src/modules/uploads/entry.server.ts +0 -6
- package/src/modules/uploads/hooks/use-upload-image.client.tsx +0 -131
- package/src/modules/uploads/hooks/use-upload-zone.client.ts +0 -44
- package/src/modules/uploads/lib/constants.ts +0 -10
- package/src/modules/uploads/lib/procedures.server.ts +0 -332
- package/src/modules/uploads/lib/proxy.server.ts +0 -139
- package/src/modules/uploads/lib/route.server.ts +0 -93
- package/src/modules/uploads/lib/validators.ts +0 -50
- /package/src/modules/{uploads/components/dropzone/context.tsx → storage/components/dropzone-context.client.tsx} +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { baseColumns } from "@/modules/config/entry";
|
|
1
2
|
import { relations, sql, SQL } from "drizzle-orm";
|
|
2
3
|
import { pgTable } from "drizzle-orm/pg-core";
|
|
3
4
|
|
|
@@ -5,7 +6,7 @@ import { pgTable } from "drizzle-orm/pg-core";
|
|
|
5
6
|
* Users
|
|
6
7
|
*/
|
|
7
8
|
export const users = pgTable("users", (t) => ({
|
|
8
|
-
|
|
9
|
+
...baseColumns,
|
|
9
10
|
name: t
|
|
10
11
|
.varchar()
|
|
11
12
|
.notNull()
|
|
@@ -15,8 +16,6 @@ export const users = pgTable("users", (t) => ({
|
|
|
15
16
|
email: t.text().notNull().unique(),
|
|
16
17
|
emailVerified: t.boolean().notNull(),
|
|
17
18
|
image: t.text(),
|
|
18
|
-
createdAt: t.timestamp().notNull(),
|
|
19
|
-
updatedAt: t.timestamp().notNull(),
|
|
20
19
|
role: t.text(),
|
|
21
20
|
banned: t.boolean(),
|
|
22
21
|
banReason: t.text(),
|
|
@@ -34,18 +33,16 @@ export const usersRelations = relations(users, ({ many }) => ({
|
|
|
34
33
|
* Sessions
|
|
35
34
|
*/
|
|
36
35
|
export const sessions = pgTable("sessions", (t) => ({
|
|
37
|
-
|
|
36
|
+
...baseColumns,
|
|
38
37
|
expiresAt: t.timestamp().notNull(),
|
|
39
38
|
token: t.text().notNull().unique(),
|
|
40
|
-
createdAt: t.timestamp().notNull(),
|
|
41
|
-
updatedAt: t.timestamp().notNull(),
|
|
42
39
|
ipAddress: t.text(),
|
|
43
40
|
userAgent: t.text(),
|
|
41
|
+
impersonatedBy: t.text(),
|
|
44
42
|
userId: t
|
|
45
|
-
.
|
|
43
|
+
.uuid()
|
|
46
44
|
.notNull()
|
|
47
45
|
.references(() => users.id, { onDelete: "cascade" }),
|
|
48
|
-
impersonatedBy: t.text(),
|
|
49
46
|
}));
|
|
50
47
|
|
|
51
48
|
export const sessionsRelations = relations(sessions, ({ one }) => ({
|
|
@@ -59,13 +56,9 @@ export const sessionsRelations = relations(sessions, ({ one }) => ({
|
|
|
59
56
|
* Accounts
|
|
60
57
|
*/
|
|
61
58
|
export const accounts = pgTable("accounts", (t) => ({
|
|
62
|
-
|
|
59
|
+
...baseColumns,
|
|
63
60
|
accountId: t.text().notNull(),
|
|
64
61
|
providerId: t.text().notNull(),
|
|
65
|
-
userId: t
|
|
66
|
-
.text()
|
|
67
|
-
.notNull()
|
|
68
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
69
62
|
accessToken: t.text(),
|
|
70
63
|
refreshToken: t.text(),
|
|
71
64
|
idToken: t.text(),
|
|
@@ -73,8 +66,10 @@ export const accounts = pgTable("accounts", (t) => ({
|
|
|
73
66
|
refreshTokenExpiresAt: t.timestamp(),
|
|
74
67
|
scope: t.text(),
|
|
75
68
|
password: t.text(),
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
userId: t
|
|
70
|
+
.uuid()
|
|
71
|
+
.notNull()
|
|
72
|
+
.references(() => users.id, { onDelete: "cascade" }),
|
|
78
73
|
}));
|
|
79
74
|
|
|
80
75
|
export const accountsRelations = relations(accounts, ({ one }) => ({
|
|
@@ -88,12 +83,10 @@ export const accountsRelations = relations(accounts, ({ one }) => ({
|
|
|
88
83
|
* Verifications
|
|
89
84
|
*/
|
|
90
85
|
export const verifications = pgTable("verifications", (t) => ({
|
|
91
|
-
|
|
86
|
+
...baseColumns,
|
|
92
87
|
identifier: t.text().notNull(),
|
|
93
88
|
value: t.text().notNull(),
|
|
94
89
|
expiresAt: t.timestamp().notNull(),
|
|
95
|
-
createdAt: t.timestamp(),
|
|
96
|
-
updatedAt: t.timestamp(),
|
|
97
90
|
}));
|
|
98
91
|
|
|
99
92
|
export const verificationsRelations = relations(verifications, ({ one }) => ({
|
|
@@ -107,7 +100,7 @@ export const verificationsRelations = relations(verifications, ({ one }) => ({
|
|
|
107
100
|
* Passkeys
|
|
108
101
|
*/
|
|
109
102
|
export const passkeys = pgTable("passkeys", (t) => ({
|
|
110
|
-
|
|
103
|
+
...baseColumns,
|
|
111
104
|
name: t.text(),
|
|
112
105
|
publicKey: t.text().notNull(),
|
|
113
106
|
credentialID: t.text().notNull(),
|
|
@@ -115,10 +108,9 @@ export const passkeys = pgTable("passkeys", (t) => ({
|
|
|
115
108
|
deviceType: t.text().notNull(),
|
|
116
109
|
backedUp: t.boolean().notNull(),
|
|
117
110
|
transports: t.text(),
|
|
118
|
-
createdAt: t.timestamp("created_at"),
|
|
119
111
|
aaguid: t.text(),
|
|
120
112
|
userId: t
|
|
121
|
-
.
|
|
113
|
+
.uuid()
|
|
122
114
|
.notNull()
|
|
123
115
|
.references(() => users.id, { onDelete: "cascade" }),
|
|
124
116
|
}));
|
|
@@ -4,8 +4,10 @@ import { passkeyClient } from "@better-auth/passkey/client";
|
|
|
4
4
|
import { adminClient, emailOTPClient, inferAdditionalFields } from "better-auth/client/plugins";
|
|
5
5
|
import { createAuthClient } from "better-auth/react";
|
|
6
6
|
import { AuthClient } from "./init";
|
|
7
|
+
import { url } from "@/lib/utils/url";
|
|
7
8
|
|
|
8
9
|
export const authClient = createAuthClient({
|
|
10
|
+
baseURL: url(),
|
|
9
11
|
plugins: [emailOTPClient(), passkeyClient(), adminClient(), inferAdditionalFields<AuthClient>()],
|
|
10
12
|
});
|
|
11
13
|
|
|
@@ -28,11 +28,14 @@ export function initAuth<TSchema extends TDatabaseSchema>(props: InitAuthProps<T
|
|
|
28
28
|
return betterAuth({
|
|
29
29
|
advanced: {
|
|
30
30
|
cookiePrefix: authCookiePrefix,
|
|
31
|
+
database: {
|
|
32
|
+
generateId: () => false,
|
|
33
|
+
},
|
|
31
34
|
},
|
|
32
35
|
database: drizzleAdapter(props.db, {
|
|
33
36
|
provider: "pg",
|
|
34
|
-
// schema: props.schema,
|
|
35
37
|
usePlural: true,
|
|
38
|
+
// schema: props.schema,
|
|
36
39
|
}),
|
|
37
40
|
emailAndPassword: {
|
|
38
41
|
enabled: true,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useSuspenseQueries } from "@tanstack/react-query";
|
|
4
|
-
import { LiteralString } from "better-auth";
|
|
5
4
|
import { authClient } from "../handler/client.client";
|
|
6
5
|
import { type Permission } from "../lib/permissions";
|
|
7
6
|
import { useSession } from "./use-session";
|
|
@@ -21,6 +20,7 @@ export function usePermission(permission?: Permission) {
|
|
|
21
20
|
queryKey: ["permission", permission],
|
|
22
21
|
queryFn: async () => {
|
|
23
22
|
const userId = sessionQuery.data?.user.id;
|
|
23
|
+
if (!userId) return { permission, success: false };
|
|
24
24
|
|
|
25
25
|
const { data, error } = await authClient.admin.hasPermission({ permission, userId });
|
|
26
26
|
if (error) {
|
|
@@ -33,13 +33,14 @@ export function usePermission(permission?: Permission) {
|
|
|
33
33
|
success: data.success,
|
|
34
34
|
};
|
|
35
35
|
},
|
|
36
|
+
staleTime: 5 * 60 * 1000, // 5 minutes
|
|
36
37
|
})),
|
|
37
38
|
combine: (results) => {
|
|
38
39
|
const errors = results.filter(({ error }) => error);
|
|
39
40
|
if (errors.length) return { data: null, errors };
|
|
40
41
|
|
|
41
42
|
const values = results.map(({ data }) => data);
|
|
42
|
-
const success = results.every(({ data }) => data
|
|
43
|
+
const success = results.every(({ data }) => data?.success);
|
|
43
44
|
|
|
44
45
|
return { data: { success, values }, errors: null };
|
|
45
46
|
},
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
3
|
+
import { queryOptions, useSuspenseQuery } from "@tanstack/react-query";
|
|
4
4
|
import { authClient } from "../entry.client";
|
|
5
5
|
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
export const sessionQueryOptions = queryOptions({
|
|
7
|
+
queryKey: ["session"],
|
|
8
|
+
queryFn: async () => {
|
|
9
|
+
const session = await authClient.getSession();
|
|
10
|
+
|
|
11
|
+
if (session.error) {
|
|
12
|
+
console.error(session.error);
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
return session.data;
|
|
17
|
+
},
|
|
18
|
+
staleTime: 1000 * 60 * 60,
|
|
19
|
+
});
|
|
16
20
|
|
|
21
|
+
export function useSession() {
|
|
22
|
+
const session = useSuspenseQuery(sessionQueryOptions);
|
|
17
23
|
return session;
|
|
18
24
|
}
|
|
@@ -64,7 +64,7 @@ export const createUserSchema = userSchema.pick({ email: true, image: true }).ex
|
|
|
64
64
|
.min(2, { message: "Achternaam moet langer zijn dan 2 karakters" })
|
|
65
65
|
.max(50, { message: "Achternaam mag niet langer zijn dan 50 karakters" }),
|
|
66
66
|
password: z.string().min(6, { message: "Wachtwoord moet minimaal 6 karakters hebben" }),
|
|
67
|
-
role: z.string()
|
|
67
|
+
role: z.string(),
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
export type CreateUserSchema = z.infer<typeof createUserSchema>;
|
|
@@ -25,7 +25,7 @@ import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
|
25
25
|
import React from "react";
|
|
26
26
|
import { Keys, useHotkeys } from "react-hotkeys-hook";
|
|
27
27
|
import { useCommand } from "../hooks/context.client";
|
|
28
|
-
import {
|
|
28
|
+
import { useCommandMutation } from "../hooks/use-command-mutation.client";
|
|
29
29
|
import { CommandTrigger } from "./command-trigger.client";
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -213,7 +213,7 @@ export function CommandAlertDialogAction<
|
|
|
213
213
|
const { setOpen } = React.useContext(CommandAlertDialogContext);
|
|
214
214
|
const { status } = useCommand();
|
|
215
215
|
|
|
216
|
-
const { mutateAsync } =
|
|
216
|
+
const { mutateAsync } = useCommandMutation({
|
|
217
217
|
...mutation,
|
|
218
218
|
onSuccess: async (...params) => {
|
|
219
219
|
setOpen(false);
|
|
@@ -7,7 +7,7 @@ import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
|
7
7
|
import React from "react";
|
|
8
8
|
import { Keys, useHotkeys } from "react-hotkeys-hook";
|
|
9
9
|
import { useCommand } from "../hooks/context.client";
|
|
10
|
-
import {
|
|
10
|
+
import { useCommandMutation } from "../hooks/use-command-mutation.client";
|
|
11
11
|
import { CommandTrigger } from "./command-trigger.client";
|
|
12
12
|
|
|
13
13
|
export type CommandClickProps<
|
|
@@ -40,7 +40,7 @@ export function CommandClick<
|
|
|
40
40
|
...props
|
|
41
41
|
}: CommandClickProps<TData, TError, TVariables, TOnMutateResult>) {
|
|
42
42
|
const { menu, status } = useCommand();
|
|
43
|
-
const { mutate } =
|
|
43
|
+
const { mutate } = useCommandMutation(mutation);
|
|
44
44
|
|
|
45
45
|
const isDisabled = disabled || status === "pending";
|
|
46
46
|
|
|
@@ -22,22 +22,32 @@ import { CommandTrigger } from "./command-trigger.client";
|
|
|
22
22
|
/**
|
|
23
23
|
* CommandDialogContext
|
|
24
24
|
*/
|
|
25
|
-
type
|
|
25
|
+
type CommandDialogOpenState = {
|
|
26
26
|
open: boolean;
|
|
27
27
|
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
type CommandDialogContextValue = {
|
|
31
|
+
openState: CommandDialogOpenState;
|
|
32
|
+
};
|
|
33
|
+
|
|
30
34
|
const CommandDialogContext = React.createContext({} as CommandDialogContextValue);
|
|
31
35
|
|
|
32
36
|
/**
|
|
33
37
|
* CommandDialog
|
|
34
38
|
*/
|
|
35
|
-
export function CommandDialog({
|
|
36
|
-
|
|
39
|
+
export function CommandDialog({
|
|
40
|
+
children,
|
|
41
|
+
openState,
|
|
42
|
+
...props
|
|
43
|
+
}: Omit<DialogProps, "open" | "onOpenChange"> & { openState?: CommandDialogOpenState }) {
|
|
44
|
+
const state = React.useState(false);
|
|
45
|
+
|
|
46
|
+
const { open, setOpen } = openState ?? { open: state[0], setOpen: state[1] };
|
|
37
47
|
|
|
38
48
|
return (
|
|
39
49
|
<Dialog {...props} open={open} onOpenChange={setOpen}>
|
|
40
|
-
<CommandDialogContext.Provider value={{ open, setOpen }}>
|
|
50
|
+
<CommandDialogContext.Provider value={{ openState: { open, setOpen } }}>
|
|
41
51
|
{children}
|
|
42
52
|
</CommandDialogContext.Provider>
|
|
43
53
|
</Dialog>
|
|
@@ -63,11 +73,13 @@ export function CommandDialogTrigger({
|
|
|
63
73
|
...props
|
|
64
74
|
}: CommandDialogTriggerProps) {
|
|
65
75
|
const { menu, status } = useCommand();
|
|
66
|
-
const {
|
|
76
|
+
const { openState } = React.useContext(CommandDialogContext);
|
|
67
77
|
|
|
68
78
|
const isDisabled = disabled || status === "pending";
|
|
69
79
|
|
|
70
|
-
useHotkeys(hotkey ?? "", () => setOpen(true), {
|
|
80
|
+
useHotkeys(hotkey ?? "", () => openState.setOpen(true), {
|
|
81
|
+
enabled: !isDisabled && hotkey !== undefined,
|
|
82
|
+
});
|
|
71
83
|
|
|
72
84
|
if (menu === "inline" || menu === "table") {
|
|
73
85
|
return (
|
|
@@ -92,7 +104,7 @@ export function CommandDialogTrigger({
|
|
|
92
104
|
disabled={isDisabled}
|
|
93
105
|
onClick={(e) => {
|
|
94
106
|
e.preventDefault();
|
|
95
|
-
setOpen(true);
|
|
107
|
+
openState.setOpen(true);
|
|
96
108
|
}}
|
|
97
109
|
>
|
|
98
110
|
{children}
|
|
@@ -111,7 +123,7 @@ export function CommandDialogTrigger({
|
|
|
111
123
|
disabled={isDisabled}
|
|
112
124
|
onClick={(e) => {
|
|
113
125
|
e.preventDefault();
|
|
114
|
-
setOpen(true);
|
|
126
|
+
openState.setOpen(true);
|
|
115
127
|
}}
|
|
116
128
|
>
|
|
117
129
|
{children}
|
|
@@ -20,7 +20,7 @@ import { cn } from "@/lib/utils/cn";
|
|
|
20
20
|
import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
21
21
|
import React from "react";
|
|
22
22
|
import { useCommand } from "../hooks/context.client";
|
|
23
|
-
import {
|
|
23
|
+
import { useCommandMutation } from "../hooks/use-command-mutation.client";
|
|
24
24
|
import { CommandTrigger } from "./command-trigger.client";
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -190,7 +190,7 @@ export function CommandDropdownItem<
|
|
|
190
190
|
const { setOpen } = React.useContext(CommandDropdownContext);
|
|
191
191
|
const { menu, status } = useCommand();
|
|
192
192
|
|
|
193
|
-
const { mutateAsync } =
|
|
193
|
+
const { mutateAsync } = useCommandMutation({
|
|
194
194
|
...mutation,
|
|
195
195
|
onSuccess: async (...params) => {
|
|
196
196
|
setOpen(false);
|
|
@@ -19,7 +19,7 @@ import { type DefaultError, type MutationOptions } from "@tanstack/react-query";
|
|
|
19
19
|
import React, { type ComponentProps } from "react";
|
|
20
20
|
import { type FieldValues, Form, useFormContext } from "react-hook-form";
|
|
21
21
|
import { type Keys, useHotkeys } from "react-hotkeys-hook";
|
|
22
|
-
import {
|
|
22
|
+
import { useCommandMutation } from "../entry.client";
|
|
23
23
|
import { useCommand } from "../hooks/context.client";
|
|
24
24
|
import { CommandTrigger } from "./command-trigger.client";
|
|
25
25
|
|
|
@@ -188,7 +188,7 @@ export function CommandFormDialogContent<
|
|
|
188
188
|
const { setOpen } = React.useContext(CommandFormDialogContext);
|
|
189
189
|
const form = useFormContext<TValues>();
|
|
190
190
|
|
|
191
|
-
const { mutateAsync } =
|
|
191
|
+
const { mutateAsync } = useCommandMutation({
|
|
192
192
|
...mutation,
|
|
193
193
|
onSuccess: async (...params) => {
|
|
194
194
|
form.reset();
|
|
@@ -5,7 +5,7 @@ export * from "./components/dialog-command.client";
|
|
|
5
5
|
export * from "./components/dropdown-command.client";
|
|
6
6
|
export * from "./components/empty-command.client";
|
|
7
7
|
export * from "./components/form-dialog-command.client";
|
|
8
|
-
export * from "./hooks/use-command-
|
|
8
|
+
export * from "./hooks/use-command-mutation.client";
|
|
9
9
|
export * from "./menus/context-menu.client";
|
|
10
10
|
export * from "./menus/dropdown-menu.client";
|
|
11
11
|
export * from "./menus/inline-menu.client";
|
package/src/modules/commands/hooks/{use-command-action.client.tsx → use-command-mutation.client.tsx}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useAction } from "@/lib/hooks/use-action";
|
|
4
4
|
import type { DefaultError, MutationFunction, MutationOptions } from "@tanstack/react-query";
|
|
5
|
-
import {
|
|
5
|
+
import { useRouter } from "next/navigation";
|
|
6
6
|
import { useCommand } from "./context.client";
|
|
7
7
|
|
|
8
8
|
export type CommandActionResult = Promise<unknown>;
|
|
@@ -10,58 +10,17 @@ export type CommandActionResult = Promise<unknown>;
|
|
|
10
10
|
export type CommandAction<TInput = void> = (input: TInput) => CommandActionResult;
|
|
11
11
|
export type BulkCommandAction = (params: { ids: string[] }) => CommandActionResult;
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*/
|
|
17
|
-
export function useCommandAction<TInput = void>(
|
|
18
|
-
action: CommandAction<TInput>,
|
|
19
|
-
options?: {
|
|
20
|
-
message?: string;
|
|
21
|
-
onSuccess?: () => Promise<void> | void;
|
|
22
|
-
onError?: () => Promise<void> | void;
|
|
23
|
-
},
|
|
24
|
-
) {
|
|
25
|
-
const commandContext = useCommand();
|
|
26
|
-
|
|
27
|
-
const { mutateAsync } = useAction({
|
|
28
|
-
mutationFn: action,
|
|
29
|
-
onMutate: () => {
|
|
30
|
-
commandContext.setStatus("pending");
|
|
31
|
-
},
|
|
32
|
-
onSuccess: async () => {
|
|
33
|
-
commandContext.setStatus("success");
|
|
34
|
-
toast.success(options?.message || "Actie voltooid!");
|
|
35
|
-
await options?.onSuccess?.();
|
|
36
|
-
await commandContext.onSuccess?.();
|
|
37
|
-
},
|
|
38
|
-
onRedirect: async () => {
|
|
39
|
-
commandContext.setStatus("success");
|
|
40
|
-
toast.success(options?.message || "Actie voltooid!");
|
|
41
|
-
await options?.onSuccess?.();
|
|
42
|
-
await commandContext.onSuccess?.();
|
|
43
|
-
},
|
|
44
|
-
onError: async () => {
|
|
45
|
-
commandContext.setStatus("error");
|
|
46
|
-
await options?.onError?.();
|
|
47
|
-
await commandContext.onError?.();
|
|
48
|
-
},
|
|
49
|
-
onSettled: () => {
|
|
50
|
-
commandContext.setStatus("idle");
|
|
51
|
-
// finnalyCallback?.();
|
|
52
|
-
// options?.callback?.();
|
|
53
|
-
},
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
return mutateAsync as (input: TInput) => CommandActionResult;
|
|
57
|
-
}
|
|
13
|
+
export type CommandMutationMeta = {
|
|
14
|
+
router: ReturnType<typeof useRouter>;
|
|
15
|
+
};
|
|
58
16
|
|
|
59
|
-
export function
|
|
17
|
+
export function useCommandMutation<
|
|
60
18
|
TData = unknown,
|
|
61
19
|
TError = DefaultError,
|
|
62
20
|
TVariables = void,
|
|
63
21
|
TOnMutateResult = unknown,
|
|
64
22
|
>(options?: MutationOptions<TData, TError, TVariables, TOnMutateResult>) {
|
|
23
|
+
const router = useRouter();
|
|
65
24
|
const commandContext = useCommand();
|
|
66
25
|
|
|
67
26
|
const mutation = useAction({
|
|
@@ -97,6 +56,9 @@ export function useCommandAction2<
|
|
|
97
56
|
|
|
98
57
|
return await result;
|
|
99
58
|
},
|
|
59
|
+
meta: {
|
|
60
|
+
router,
|
|
61
|
+
} satisfies CommandMutationMeta,
|
|
100
62
|
});
|
|
101
63
|
|
|
102
64
|
return mutation;
|
|
@@ -18,7 +18,7 @@ import { CommandLabel } from "../components/command-trigger.client";
|
|
|
18
18
|
export type DeleteCommandProps<
|
|
19
19
|
TData = unknown,
|
|
20
20
|
TError = DefaultError,
|
|
21
|
-
TVariables =
|
|
21
|
+
TVariables = unknown,
|
|
22
22
|
TOnMutateResult = unknown,
|
|
23
23
|
> = {
|
|
24
24
|
variables: TVariables;
|
|
@@ -31,7 +31,7 @@ export type DeleteCommandProps<
|
|
|
31
31
|
export function DeleteCommand<
|
|
32
32
|
TData = unknown,
|
|
33
33
|
TError = DefaultError,
|
|
34
|
-
TVariables =
|
|
34
|
+
TVariables = unknown,
|
|
35
35
|
TOnMutateResult = unknown,
|
|
36
36
|
>({ variables, mutation }: DeleteCommandProps<TData, TError, TVariables, TOnMutateResult>) {
|
|
37
37
|
return (
|
|
@@ -62,3 +62,15 @@ export function DeleteCommand<
|
|
|
62
62
|
</CommandAlertDialog>
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Single Delete command
|
|
68
|
+
*/
|
|
69
|
+
export function SingleDeleteCommand<
|
|
70
|
+
TData = unknown,
|
|
71
|
+
TError = DefaultError,
|
|
72
|
+
TVariables = { id: string },
|
|
73
|
+
TOnMutateResult = unknown,
|
|
74
|
+
>({ variables, mutation }: DeleteCommandProps<TData, TError, TVariables, TOnMutateResult>) {
|
|
75
|
+
return <DeleteCommand variables={variables} mutation={mutation} />;
|
|
76
|
+
}
|
|
@@ -2,18 +2,25 @@ import "server-cli-only";
|
|
|
2
2
|
|
|
3
3
|
import { drizzle, PostgresJsDatabase } from "drizzle-orm/postgres-js";
|
|
4
4
|
import postgres from "postgres";
|
|
5
|
-
import { TulipConfig } from "../lib/config.server";
|
|
6
5
|
import { TDatabaseSchema } from "./types";
|
|
7
6
|
|
|
8
7
|
declare global {
|
|
9
|
-
// eslint-disable-next-line
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
9
|
var db: PostgresJsDatabase<any> | undefined;
|
|
11
10
|
}
|
|
12
11
|
|
|
12
|
+
type CreateDatabaseClientProps<TSchema extends TDatabaseSchema> = {
|
|
13
|
+
schema: TSchema;
|
|
14
|
+
pool: {
|
|
15
|
+
connectionString: string;
|
|
16
|
+
max?: number;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
|
|
13
20
|
export function createDatabaseClient<TSchema extends TDatabaseSchema>(
|
|
14
|
-
|
|
21
|
+
props: CreateDatabaseClientProps<TSchema>,
|
|
15
22
|
) {
|
|
16
|
-
const { pool, schema } =
|
|
23
|
+
const { pool, schema } = props;
|
|
17
24
|
|
|
18
25
|
let db: PostgresJsDatabase<TSchema>;
|
|
19
26
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type TulipConfig = {
|
|
1
|
+
export type TulipConfig<TValues> = {
|
|
2
2
|
general: {
|
|
3
3
|
name: string;
|
|
4
4
|
shortName: string;
|
|
@@ -6,10 +6,10 @@ export type TulipConfig = {
|
|
|
6
6
|
email: {
|
|
7
7
|
defaultFrom: string;
|
|
8
8
|
};
|
|
9
|
-
};
|
|
9
|
+
} & TValues;
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Build the Tulip config
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
export const defineTulipConfig = (config: TulipConfig): TulipConfig => config;
|
|
15
|
+
export const defineTulipConfig = <TValues>(config: TulipConfig<TValues>): TulipConfig<TValues> => config;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { StorageClient } from "@/modules/storage/lib/create-client.server";
|
|
1
2
|
import { AuthClient } from "../../auth/handler/init";
|
|
2
3
|
import { DatabaseClient } from "../db/init";
|
|
3
4
|
import { TDatabaseSchema } from "../entry";
|
|
4
|
-
import { BlobClient } from "../providers/blob";
|
|
5
5
|
import { EmailClient } from "../providers/email";
|
|
6
6
|
|
|
7
7
|
export type TulipContext<TSchema extends TDatabaseSchema> = {
|
|
@@ -9,7 +9,7 @@ export type TulipContext<TSchema extends TDatabaseSchema> = {
|
|
|
9
9
|
schema: TSchema;
|
|
10
10
|
auth: AuthClient;
|
|
11
11
|
email: EmailClient;
|
|
12
|
-
|
|
12
|
+
storage: StorageClient<TSchema>;
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
export function createContext<TSchema extends TDatabaseSchema>(props: TulipContext<TSchema>) {
|
|
@@ -114,9 +114,9 @@ export function TableFilterCombobox<TValue extends string>({
|
|
|
114
114
|
<Check className="text-foreground h-4 w-4" />
|
|
115
115
|
</div>
|
|
116
116
|
|
|
117
|
-
<div className=
|
|
118
|
-
{Icon && <Icon className="size-4" />}
|
|
119
|
-
<span>{option.label}</span>
|
|
117
|
+
<div className="flex flex-1 items-center gap-2">
|
|
118
|
+
{Icon && <Icon className={cn("size-4", option.className)} />}
|
|
119
|
+
<span className={cn(option.className)}>{option.label}</span>
|
|
120
120
|
</div>
|
|
121
121
|
|
|
122
122
|
{option.total !== undefined && (
|
|
@@ -12,9 +12,9 @@ export * from "./components/toolbar";
|
|
|
12
12
|
* Lib
|
|
13
13
|
*/
|
|
14
14
|
export * from "./lib/filters/config";
|
|
15
|
+
export * from "./lib/filters/helpers";
|
|
15
16
|
export * from "./lib/filters/parsers";
|
|
16
17
|
export * from "./lib/filters/resolvers";
|
|
17
18
|
export * from "./lib/search-params";
|
|
18
19
|
export * from "./lib/types";
|
|
19
20
|
export * from "./lib/validators";
|
|
20
|
-
|