@tulip-systems/core 0.8.3 → 0.9.0
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 +10 -10
- package/dist/auth/client.mjs +10 -10
- package/dist/auth/server.d.mts +7 -7
- package/dist/auth/server.mjs +7 -7
- package/dist/auth.d.mts +5 -5
- package/dist/auth.mjs +5 -5
- package/dist/commands/client.d.mts +17 -16
- package/dist/commands/client.mjs +17 -16
- package/dist/commands.d.mts +3 -3
- package/dist/commands.mjs +3 -2
- package/dist/components/client.d.mts +48 -48
- package/dist/components/client.mjs +48 -48
- package/dist/components/server.d.mts +2 -2
- package/dist/components/server.mjs +2 -2
- package/dist/components/ui/checkbox.client.mjs +1 -1
- package/dist/components/ui/command.client.d.mts +5 -1
- package/dist/components/ui/command.client.mjs +10 -3
- package/dist/components/ui/field.client.mjs +1 -1
- package/dist/components/ui/input-recipient.mjs +1 -1
- package/dist/components/ui/radio-group.mjs +1 -1
- package/dist/components/ui/tabs.client.mjs +1 -1
- package/dist/components.d.mts +39 -39
- package/dist/components.mjs +38 -38
- package/dist/config.d.mts +6 -6
- package/dist/config.mjs +4 -4
- package/dist/data-tables/client.d.mts +21 -18
- package/dist/data-tables/client.mjs +21 -18
- package/dist/data-tables/server.d.mts +7 -7
- package/dist/data-tables/server.mjs +7 -7
- package/dist/data-tables.d.mts +14 -14
- package/dist/data-tables.mjs +13 -13
- package/dist/database/server.d.mts +1 -1
- package/dist/database/server.mjs +1 -1
- package/dist/database.d.mts +2 -2
- package/dist/database.mjs +1 -1
- package/dist/dist/config.d.mts +5 -0
- package/dist/dist/modules/auth/handler/service.server.d.mts +8 -0
- package/dist/dist/modules/auth/lib/permissions.d.mts +2 -0
- package/dist/dist/modules/config/lib/context.d.mts +4 -0
- package/dist/dist/modules/config/paths/helpers.d.mts +1 -0
- package/dist/dist/modules/config/paths/types.d.mts +3 -0
- package/dist/dist/modules/database/lib/helpers.d.mts +2 -0
- package/dist/dist/modules/database/lib/service.server.d.mts +2 -0
- package/dist/dist/modules/database/lib/types.d.mts +5 -0
- package/dist/dist/modules/emails/lib/service.server.d.mts +2 -0
- package/dist/dist/modules/storage/lib/schema.d.mts +1 -0
- package/dist/dist/modules/storage/lib/service.server.d.mts +5 -0
- package/dist/dist/modules/storage/lib/validators.d.mts +4 -0
- package/dist/dist/modules/storage/providers/lib/types.d.mts +1 -0
- package/dist/dist/modules/storage/providers/lib/validators.d.mts +2 -0
- package/dist/emails/server.d.mts +1 -1
- package/dist/emails/server.mjs +1 -1
- package/dist/inline/client.d.mts +16 -0
- package/dist/inline/client.mjs +17 -0
- package/dist/{inline-edit.d.mts → inline.d.mts} +1 -1
- package/dist/{inline-edit.mjs → inline.mjs} +1 -1
- package/dist/lib/client.d.mts +4 -4
- package/dist/lib/client.mjs +4 -4
- package/dist/lib.d.mts +7 -7
- package/dist/lib.mjs +6 -6
- package/dist/modules/auth/components/allowed.client.d.mts +1 -2
- package/dist/modules/auth/components/update-password-command.d.mts +1 -1
- package/dist/modules/auth/components/update-password-command.mjs +1 -1
- package/dist/modules/auth/lib/validators.d.mts +238 -1
- package/dist/modules/auth/lib/validators.mjs +5 -1
- package/dist/modules/commands/components/menus/context-menu.client.d.mts +40 -0
- package/dist/modules/commands/components/menus/context-menu.client.mjs +47 -0
- package/dist/modules/commands/components/menus/dropdown-menu.client.d.mts +30 -0
- package/dist/modules/commands/{menus → components/menus}/dropdown-menu.client.mjs +20 -24
- package/dist/modules/commands/components/menus/floating-menu.client.d.mts +30 -0
- package/dist/modules/commands/components/menus/floating-menu.client.mjs +33 -0
- package/dist/modules/commands/components/menus/inline-menu.client.d.mts +30 -0
- package/dist/modules/commands/components/menus/inline-menu.client.mjs +41 -0
- package/dist/modules/commands/components/menus/responsive-menu.client.d.mts +17 -0
- package/dist/modules/commands/{menus → components/menus}/responsive-menu.client.mjs +1 -1
- package/dist/modules/commands/components/{alert-dialog-command.client.d.mts → primitives/alert-dialog-command.client.d.mts} +3 -30
- package/dist/modules/commands/components/{alert-dialog-command.client.mjs → primitives/alert-dialog-command.client.mjs} +18 -38
- package/dist/modules/commands/components/{click-command.client.d.mts → primitives/click-command.client.d.mts} +2 -2
- package/dist/modules/commands/components/primitives/click-command.client.mjs +52 -0
- package/dist/modules/commands/components/primitives/command-trigger.client.d.mts +17 -0
- package/dist/modules/commands/components/primitives/command-trigger.client.mjs +42 -0
- package/dist/modules/commands/components/{dialog-command.client.d.mts → primitives/dialog-command.client.d.mts} +3 -27
- package/dist/modules/commands/components/{dialog-command.client.mjs → primitives/dialog-command.client.mjs} +14 -31
- package/dist/modules/commands/components/{dropdown-command.client.d.mts → primitives/dropdown-command.client.d.mts} +5 -17
- package/dist/modules/commands/components/{dropdown-command.client.mjs → primitives/dropdown-command.client.mjs} +30 -30
- package/dist/modules/commands/components/{empty-command.client.d.mts → primitives/empty-command.client.d.mts} +4 -2
- package/dist/modules/commands/components/primitives/empty-command.client.mjs +44 -0
- package/dist/modules/commands/components/{form-dialog-command.client.d.mts → primitives/form-dialog-command.client.d.mts} +3 -33
- package/dist/modules/commands/components/{form-dialog-command.client.mjs → primitives/form-dialog-command.client.mjs} +18 -42
- package/dist/modules/commands/components/render-command.mjs +40 -5
- package/dist/modules/commands/{utils → components/utils}/archive-command.client.d.mts +1 -9
- package/dist/modules/commands/{utils → components/utils}/archive-command.client.mjs +4 -12
- package/dist/modules/commands/{utils → components/utils}/delete-command.client.d.mts +1 -8
- package/dist/modules/commands/{utils → components/utils}/delete-command.client.mjs +4 -11
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts +1 -6
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs +2 -4
- package/dist/modules/commands/hooks/use-command.client.d.mts +31 -0
- package/dist/modules/commands/hooks/use-command.client.mjs +45 -0
- package/dist/modules/commands/lib/builder.d.mts +39 -0
- package/dist/modules/commands/lib/builder.mjs +47 -0
- package/dist/modules/commands/lib/registery.d.mts +35 -0
- package/dist/modules/commands/lib/registery.mjs +43 -0
- package/dist/modules/data-tables/components/filters/combobox.client.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/combobox.client.mjs +7 -9
- package/dist/modules/data-tables/components/filters/date-range.client.d.mts +24 -0
- package/dist/modules/data-tables/components/filters/date-range.client.mjs +99 -0
- package/dist/modules/data-tables/components/filters/search.client.d.mts +17 -0
- package/dist/modules/data-tables/components/filters/search.client.mjs +32 -0
- package/dist/modules/data-tables/components/filters/slider.client.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/slider.client.mjs +2 -2
- package/dist/modules/data-tables/components/filters/toggle.client.d.mts +17 -0
- package/dist/modules/data-tables/components/filters/toggle.client.mjs +25 -0
- package/dist/modules/data-tables/hooks/use-context.client.d.mts +9 -20
- package/dist/modules/data-tables/hooks/use-selection.client.mjs +8 -2
- package/dist/modules/data-tables/hooks/use-table.client.d.mts +1 -3
- package/dist/modules/data-tables/hooks/use-table.client.mjs +4 -3
- package/dist/modules/data-tables/lib/converters/filters.d.mts +40 -0
- package/dist/modules/data-tables/lib/converters/filters.mjs +38 -0
- package/dist/modules/data-tables/lib/converters/{cursor.d.mts → pagination.d.mts} +3 -3
- package/dist/modules/data-tables/lib/converters/{cursor.mjs → pagination.mjs} +3 -3
- package/dist/modules/data-tables/lib/converters/sorting.d.mts +42 -8
- package/dist/modules/data-tables/lib/converters/sorting.mjs +47 -11
- package/dist/modules/data-tables/lib/filters/parsers.d.mts +6 -1
- package/dist/modules/data-tables/lib/filters/parsers.mjs +10 -1
- package/dist/modules/data-tables/lib/types.d.mts +4 -8
- package/dist/modules/data-tables/server/get-data.server.d.mts +2 -3
- package/dist/modules/data-tables/server/get-data.server.mjs +5 -5
- package/dist/modules/data-tables/tables/data-table/components/table.d.mts +1 -3
- package/dist/modules/data-tables/tables/data-table/components/table.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs +2 -7
- package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +1 -3
- package/dist/modules/data-tables/tables/inline-table/components/table.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +1 -3
- package/dist/modules/inline/components/cell.client.d.mts +20 -0
- package/dist/modules/inline/components/cell.client.mjs +46 -0
- package/dist/modules/inline/components/field.client.d.mts +36 -0
- package/dist/modules/inline/components/field.client.mjs +61 -0
- package/dist/modules/inline/components/inputs/combobox-dropdown.client.d.mts +27 -0
- package/dist/modules/inline/components/inputs/combobox-dropdown.client.mjs +49 -0
- package/dist/modules/inline/components/inputs/combobox.client.d.mts +22 -0
- package/dist/modules/inline/components/inputs/combobox.client.mjs +45 -0
- package/dist/modules/inline/components/inputs/date-time.client.d.mts +24 -0
- package/dist/modules/inline/components/inputs/date-time.client.mjs +48 -0
- package/dist/modules/inline/components/inputs/date.client.d.mts +66 -0
- package/dist/modules/inline/components/inputs/date.client.mjs +175 -0
- package/dist/modules/inline/components/inputs/editor.client.d.mts +25 -0
- package/dist/modules/inline/components/inputs/editor.client.mjs +51 -0
- package/dist/modules/inline/components/inputs/input-recipient.client.d.mts +27 -0
- package/dist/modules/inline/components/inputs/input-recipient.client.mjs +48 -0
- package/dist/modules/inline/components/inputs/input.client.d.mts +52 -0
- package/dist/modules/inline/components/inputs/input.client.mjs +129 -0
- package/dist/modules/inline/components/inputs/select.client.d.mts +31 -0
- package/dist/modules/inline/components/inputs/select.client.mjs +64 -0
- package/dist/modules/inline/components/inputs/switch.client.d.mts +21 -0
- package/dist/modules/inline/components/inputs/switch.client.mjs +42 -0
- package/dist/modules/inline/components/inputs/toggle.client.d.mts +24 -0
- package/dist/modules/inline/components/inputs/toggle.client.mjs +47 -0
- package/dist/modules/inline/hooks/inline-provider.d.mts +28 -0
- package/dist/modules/inline/hooks/inline-provider.mjs +25 -0
- package/dist/modules/inline/hooks/inline-state.client.d.mts +30 -0
- package/dist/modules/inline/hooks/inline-state.client.mjs +25 -0
- package/dist/modules/inline/hooks/use-inline.client.d.mts +144 -0
- package/dist/modules/inline/hooks/use-inline.client.mjs +125 -0
- package/dist/modules/{inline-edit → inline}/lib/validators.d.mts +1 -1
- package/dist/modules/{inline-edit → inline}/lib/validators.mjs +1 -1
- package/dist/modules/inline/lib/variants.d.mts +11 -0
- package/dist/modules/{inline-edit → inline}/lib/variants.mjs +1 -1
- package/dist/modules/storage/lib/service.server.d.mts +9 -9
- package/dist/router/client.d.mts +1 -1
- package/dist/router/client.mjs +1 -1
- package/dist/router/server.d.mts +7 -7
- package/dist/router/server.mjs +7 -7
- package/dist/router.d.mts +1 -1
- package/dist/router.mjs +1 -1
- package/dist/src/components/common/icons.d.mts +60 -0
- package/dist/src/components/common/icons.mjs +121 -0
- package/dist/src/components/common/status.d.mts +52 -0
- package/dist/src/components/common/status.mjs +55 -0
- package/dist/src/components/editor/components/content.client.d.mts +6 -0
- package/dist/src/components/editor/components/content.client.mjs +16 -0
- package/dist/src/components/editor/components/editor.client.d.mts +48 -0
- package/dist/src/components/editor/components/editor.client.mjs +55 -0
- package/dist/src/components/editor/components/menu-nodes.client.mjs +92 -0
- package/dist/src/components/editor/components/menu.client.d.mts +9 -0
- package/dist/src/components/editor/components/menu.client.mjs +168 -0
- package/dist/src/components/editor/extensions/file-handler/extension.d.mts +20 -0
- package/dist/src/components/editor/extensions/file-handler/extension.mjs +39 -0
- package/dist/src/components/editor/extensions/file-handler/strategy.d.mts +26 -0
- package/dist/src/components/editor/extensions/file-handler/strategy.mjs +110 -0
- package/dist/src/components/editor/extensions/file-handler/utils.mjs +49 -0
- package/dist/src/components/editor/extensions/image/extension.d.mts +7 -0
- package/dist/src/components/editor/extensions/image/extension.mjs +50 -0
- package/dist/src/components/editor/extensions/skeleton/extension.mjs +40 -0
- package/dist/src/components/editor/extensions/skeleton/renderer.mjs +24 -0
- package/dist/src/components/editor/lib/constants.d.mts +62 -0
- package/dist/src/components/editor/lib/constants.mjs +101 -0
- package/dist/src/components/editor/lib/extensions.d.mts +67 -0
- package/dist/src/components/editor/lib/extensions.mjs +49 -0
- package/dist/src/components/editor/lib/helpers.d.mts +21 -0
- package/dist/src/components/editor/lib/helpers.mjs +68 -0
- package/dist/src/components/editor/lib/types.d.mts +9 -0
- package/dist/src/components/editor/lib/variants.mjs +15 -0
- package/dist/src/components/emails/forget-password-email.mjs +50 -0
- package/dist/src/components/header/back-button.client.d.mts +9 -0
- package/dist/src/components/header/back-button.client.mjs +42 -0
- package/dist/src/components/header/bottom-bar.client.d.mts +28 -0
- package/dist/src/components/header/bottom-bar.client.mjs +37 -0
- package/dist/src/components/header/breadcrumbs.client.d.mts +34 -0
- package/dist/src/components/header/breadcrumbs.client.mjs +63 -0
- package/dist/src/components/header/header.client.d.mts +11 -0
- package/dist/src/components/header/header.client.mjs +14 -0
- package/dist/src/components/header/indicator.client.mjs +24 -0
- package/dist/src/components/header/mobile-nav-switcher.client.d.mts +9 -0
- package/dist/src/components/header/mobile-nav-switcher.client.mjs +18 -0
- package/dist/src/components/header/top-bar.client.d.mts +42 -0
- package/dist/src/components/header/top-bar.client.mjs +47 -0
- package/dist/src/components/layouts/admin-content.client.d.mts +12 -0
- package/dist/src/components/layouts/admin-content.client.mjs +22 -0
- package/dist/src/components/layouts/admin-error-pages.d.mts +22 -0
- package/dist/src/components/layouts/admin-error-pages.mjs +59 -0
- package/dist/src/components/layouts/admin-layout.d.mts +7 -0
- package/dist/src/components/layouts/admin-layout.mjs +13 -0
- package/dist/src/components/layouts/admin-loading.d.mts +7 -0
- package/dist/src/components/layouts/admin-loading.mjs +13 -0
- package/dist/src/components/layouts/empty-page.d.mts +30 -0
- package/dist/src/components/layouts/empty-page.mjs +28 -0
- package/dist/src/components/layouts/error-page.d.mts +47 -0
- package/dist/src/components/layouts/error-page.mjs +53 -0
- package/dist/src/components/layouts/error-sections.d.mts +28 -0
- package/dist/src/components/layouts/error-sections.mjs +46 -0
- package/dist/src/components/layouts/list-layout.d.mts +11 -0
- package/dist/src/components/layouts/list-layout.mjs +14 -0
- package/dist/src/components/layouts/providers.client.d.mts +9 -0
- package/dist/src/components/layouts/providers.client.mjs +31 -0
- package/dist/src/components/layouts/root-error-pages.d.mts +9 -0
- package/dist/src/components/layouts/root-error-pages.mjs +16 -0
- package/dist/src/components/layouts/root-layout.server.d.mts +36 -0
- package/dist/src/components/layouts/root-layout.server.mjs +46 -0
- package/dist/src/components/layouts/root-loading.d.mts +6 -0
- package/dist/src/components/layouts/root-loading.mjs +13 -0
- package/dist/src/components/layouts/tab-layout.d.mts +22 -0
- package/dist/src/components/layouts/tab-layout.mjs +50 -0
- package/dist/src/components/lists/data-list.d.mts +30 -0
- package/dist/src/components/lists/data-list.mjs +35 -0
- package/dist/src/components/lists/data-stack.d.mts +48 -0
- package/dist/src/components/lists/data-stack.mjs +56 -0
- package/dist/src/components/navigation/admin-sidebar-header.client.mjs +92 -0
- package/dist/src/components/navigation/admin-sidebar-paths.client.d.mts +91 -0
- package/dist/src/components/navigation/admin-sidebar-paths.client.mjs +143 -0
- package/dist/src/components/navigation/admin-sidebar-skeleton.mjs +30 -0
- package/dist/src/components/ui/accordion.client.d.mts +25 -0
- package/dist/src/components/ui/accordion.client.mjs +57 -0
- package/dist/src/components/ui/alert-dialog.client.d.mts +60 -0
- package/dist/src/components/ui/alert-dialog.client.mjs +103 -0
- package/dist/src/components/ui/alert.d.mts +28 -0
- package/dist/src/components/ui/alert.mjs +44 -0
- package/dist/src/components/ui/aspect-ratio.client.d.mts +9 -0
- package/dist/src/components/ui/aspect-ratio.client.mjs +15 -0
- package/dist/src/components/ui/avatar.client.d.mts +34 -0
- package/dist/src/components/ui/avatar.client.mjs +53 -0
- package/dist/src/components/ui/badge.d.mts +19 -0
- package/dist/src/components/ui/badge.mjs +28 -0
- package/dist/src/components/ui/breadcrumb.d.mts +37 -0
- package/dist/src/components/ui/breadcrumb.mjs +70 -0
- package/dist/src/components/ui/button-group.d.mts +28 -0
- package/dist/src/components/ui/button-group.mjs +40 -0
- package/dist/src/components/ui/button.d.mts +21 -0
- package/dist/src/components/ui/button.mjs +48 -0
- package/dist/src/components/ui/calendar.client.d.mts +30 -0
- package/dist/src/components/ui/calendar.client.mjs +113 -0
- package/dist/src/components/ui/card.d.mts +37 -0
- package/dist/src/components/ui/card.mjs +57 -0
- package/dist/src/components/ui/carousel.client.d.mts +56 -0
- package/dist/src/components/ui/carousel.client.mjs +135 -0
- package/dist/src/components/ui/chart.client.d.mts +71 -0
- package/dist/src/components/ui/chart.client.mjs +142 -0
- package/dist/src/components/ui/checkbox.client.d.mts +11 -0
- package/dist/src/components/ui/checkbox.client.mjs +23 -0
- package/dist/src/components/ui/collapsible.client.d.mts +15 -0
- package/dist/src/components/ui/collapsible.client.mjs +27 -0
- package/dist/src/components/ui/color-picker.client.d.mts +15 -0
- package/dist/src/components/ui/color-picker.client.mjs +38 -0
- package/dist/src/components/ui/combobox-dropdown.client.d.mts +45 -0
- package/dist/src/components/ui/combobox-dropdown.client.mjs +94 -0
- package/dist/src/components/ui/combobox.client.d.mts +30 -0
- package/dist/src/components/ui/combobox.client.mjs +66 -0
- package/dist/src/components/ui/command.client.d.mts +58 -0
- package/dist/src/components/ui/command.client.mjs +97 -0
- package/dist/src/components/ui/context-menu.client.d.mts +85 -0
- package/dist/src/components/ui/context-menu.client.mjs +127 -0
- package/dist/src/components/ui/date-picker.client.d.mts +20 -0
- package/dist/src/components/ui/date-picker.client.mjs +43 -0
- package/dist/src/components/ui/dialog.client.d.mts +51 -0
- package/dist/src/components/ui/dialog.client.mjs +98 -0
- package/dist/src/components/ui/drawer.client.d.mts +44 -0
- package/dist/src/components/ui/drawer.client.mjs +80 -0
- package/dist/src/components/ui/dropdown-menu.client.d.mts +84 -0
- package/dist/src/components/ui/dropdown-menu.client.mjs +130 -0
- package/dist/src/components/ui/empty.d.mts +35 -0
- package/dist/src/components/ui/empty.mjs +61 -0
- package/dist/src/components/ui/field.client.d.mts +64 -0
- package/dist/src/components/ui/field.client.mjs +113 -0
- package/dist/src/components/ui/form.client.d.mts +47 -0
- package/dist/src/components/ui/form.client.mjs +92 -0
- package/dist/src/components/ui/hover-card.client.d.mts +19 -0
- package/dist/src/components/ui/hover-card.client.mjs +34 -0
- package/dist/src/components/ui/input-date-time.client.d.mts +22 -0
- package/dist/src/components/ui/input-date-time.client.mjs +33 -0
- package/dist/src/components/ui/input-date.d.mts +13 -0
- package/dist/src/components/ui/input-date.mjs +15 -0
- package/dist/src/components/ui/input-group.client.d.mts +58 -0
- package/dist/src/components/ui/input-group.client.mjs +105 -0
- package/dist/src/components/ui/input-recipient.d.mts +26 -0
- package/dist/src/components/ui/input-recipient.mjs +218 -0
- package/dist/src/components/ui/input-time.d.mts +13 -0
- package/dist/src/components/ui/input-time.mjs +15 -0
- package/dist/src/components/ui/input.d.mts +11 -0
- package/dist/src/components/ui/input.mjs +15 -0
- package/dist/src/components/ui/item.d.mts +62 -0
- package/dist/src/components/ui/item.mjs +118 -0
- package/dist/src/components/ui/kbd.d.mts +13 -0
- package/dist/src/components/ui/kbd.mjs +21 -0
- package/dist/src/components/ui/label.d.mts +11 -0
- package/dist/src/components/ui/label.mjs +17 -0
- package/dist/src/components/ui/loader.d.mts +6 -0
- package/dist/src/components/ui/loader.mjs +62 -0
- package/dist/src/components/ui/navigation-menu.d.mts +46 -0
- package/dist/src/components/ui/navigation-menu.mjs +81 -0
- package/dist/src/components/ui/pagination.d.mts +45 -0
- package/dist/src/components/ui/pagination.mjs +87 -0
- package/dist/src/components/ui/popover.client.d.mts +34 -0
- package/dist/src/components/ui/popover.client.mjs +58 -0
- package/dist/src/components/ui/progress.client.d.mts +12 -0
- package/dist/src/components/ui/progress.client.mjs +22 -0
- package/dist/src/components/ui/radio-group.d.mts +15 -0
- package/dist/src/components/ui/radio-group.mjs +29 -0
- package/dist/src/components/ui/resizable.client.d.mts +20 -0
- package/dist/src/components/ui/resizable.client.mjs +31 -0
- package/dist/src/components/ui/scroll-area.d.mts +17 -0
- package/dist/src/components/ui/scroll-area.mjs +39 -0
- package/dist/src/components/ui/select.client.d.mts +53 -0
- package/dist/src/components/ui/select.client.mjs +102 -0
- package/dist/src/components/ui/separator.d.mts +13 -0
- package/dist/src/components/ui/separator.mjs +19 -0
- package/dist/src/components/ui/sheet.client.d.mts +42 -0
- package/dist/src/components/ui/sheet.client.mjs +92 -0
- package/dist/src/components/ui/sidebar.client.d.mts +167 -0
- package/dist/src/components/ui/sidebar.client.mjs +373 -0
- package/dist/src/components/ui/skeleton.d.mts +9 -0
- package/dist/src/components/ui/skeleton.mjs +14 -0
- package/dist/src/components/ui/slider.d.mts +15 -0
- package/dist/src/components/ui/slider.mjs +39 -0
- package/dist/src/components/ui/sonner.client.d.mts +9 -0
- package/dist/src/components/ui/sonner.client.mjs +24 -0
- package/dist/src/components/ui/spinner.d.mts +9 -0
- package/dist/src/components/ui/spinner.mjs +16 -0
- package/dist/src/components/ui/switch.client.d.mts +14 -0
- package/dist/src/components/ui/switch.client.mjs +22 -0
- package/dist/src/components/ui/tabs.client.d.mts +30 -0
- package/dist/src/components/ui/tabs.client.mjs +48 -0
- package/dist/src/components/ui/textarea.d.mts +10 -0
- package/dist/src/components/ui/textarea.mjs +14 -0
- package/dist/src/components/ui/toggle-group.client.d.mts +28 -0
- package/dist/src/components/ui/toggle-group.client.mjs +54 -0
- package/dist/src/components/ui/toggle.client.d.mts +19 -0
- package/dist/src/components/ui/toggle.client.mjs +39 -0
- package/dist/src/components/ui/tooltip.client.d.mts +23 -0
- package/dist/src/components/ui/tooltip.client.mjs +38 -0
- package/dist/src/lib/hooks/use-action.d.mts +16 -0
- package/dist/src/lib/hooks/use-action.mjs +41 -0
- package/dist/src/lib/hooks/use-indicator.d.mts +39 -0
- package/dist/src/lib/hooks/use-indicator.mjs +63 -0
- package/dist/src/lib/hooks/use-mobile.client.d.mts +6 -0
- package/dist/src/lib/hooks/use-mobile.client.mjs +21 -0
- package/dist/src/lib/types/config.d.mts +11 -0
- package/dist/src/lib/utils/array-move.d.mts +10 -0
- package/dist/src/lib/utils/array-move.mjs +12 -0
- package/dist/src/lib/utils/cn.d.mts +6 -0
- package/dist/src/lib/utils/cn.mjs +10 -0
- package/dist/src/lib/utils/fonts.d.mts +7 -0
- package/dist/src/lib/utils/fonts.mjs +11 -0
- package/dist/src/lib/utils/format.d.mts +51 -0
- package/dist/src/lib/utils/format.mjs +113 -0
- package/dist/src/lib/utils/manifest.d.mts +7 -0
- package/dist/src/lib/utils/manifest.mjs +35 -0
- package/dist/src/lib/utils/markdown.d.mts +9 -0
- package/dist/src/lib/utils/markdown.mjs +14 -0
- package/dist/src/lib/utils/url.d.mts +9 -0
- package/dist/src/lib/utils/url.mjs +15 -0
- package/dist/src/lib/utils/user-agent.mjs +74 -0
- package/dist/src/modules/auth/components/allowed.client.d.mts +33 -0
- package/dist/src/modules/auth/components/allowed.client.mjs +19 -0
- package/dist/src/modules/auth/components/auth-layout.server.d.mts +9 -0
- package/dist/src/modules/auth/components/auth-layout.server.mjs +36 -0
- package/dist/src/modules/auth/components/auth-loading.d.mts +6 -0
- package/dist/src/modules/auth/components/auth-loading.mjs +17 -0
- package/dist/src/modules/auth/components/create-first-user-guard.server.d.mts +15 -0
- package/dist/src/modules/auth/components/create-first-user-guard.server.mjs +15 -0
- package/dist/src/modules/auth/components/create-first-user-page.client.d.mts +6 -0
- package/dist/src/modules/auth/components/create-first-user-page.client.mjs +153 -0
- package/dist/src/modules/auth/components/forget-password-page.client.d.mts +6 -0
- package/dist/src/modules/auth/components/forget-password-page.client.mjs +72 -0
- package/dist/src/modules/auth/components/guard.server.d.mts +14 -0
- package/dist/src/modules/auth/components/guard.server.mjs +20 -0
- package/dist/src/modules/auth/components/login-page.client.d.mts +11 -0
- package/dist/src/modules/auth/components/login-page.client.mjs +155 -0
- package/dist/src/modules/auth/components/reset-password-page.client.d.mts +11 -0
- package/dist/src/modules/auth/components/reset-password-page.client.mjs +121 -0
- package/dist/src/modules/auth/components/update-password-command.d.mts +22 -0
- package/dist/src/modules/auth/components/update-password-command.mjs +47 -0
- package/dist/src/modules/auth/db/schema.d.mts +983 -0
- package/dist/src/modules/auth/db/schema.mjs +101 -0
- package/dist/src/modules/auth/handler/create-client.client.d.mts +6393 -0
- package/dist/src/modules/auth/handler/create-client.client.mjs +25 -0
- package/dist/src/modules/auth/handler/proxy.server.d.mts +11 -0
- package/dist/src/modules/auth/handler/proxy.server.mjs +20 -0
- package/dist/src/modules/auth/handler/route.server.d.mts +16 -0
- package/dist/src/modules/auth/handler/route.server.mjs +28 -0
- package/dist/src/modules/auth/handler/service.server.d.mts +2101 -0
- package/dist/src/modules/auth/handler/service.server.mjs +87 -0
- package/dist/src/modules/auth/hooks/use-auth-client.d.mts +23 -0
- package/dist/src/modules/auth/hooks/use-auth-client.mjs +30 -0
- package/dist/src/modules/auth/hooks/use-permission.d.mts +42 -0
- package/dist/src/modules/auth/hooks/use-permission.mjs +57 -0
- package/dist/src/modules/auth/hooks/use-session.d.mts +40 -0
- package/dist/src/modules/auth/hooks/use-session.mjs +22 -0
- package/dist/src/modules/auth/lib/helpers.server.d.mts +84 -0
- package/dist/src/modules/auth/lib/helpers.server.mjs +41 -0
- package/dist/src/modules/auth/lib/permissions.d.mts +17 -0
- package/dist/src/modules/auth/lib/permissions.mjs +14 -0
- package/dist/src/modules/auth/lib/validators.d.mts +299 -0
- package/dist/src/modules/auth/lib/validators.mjs +59 -0
- package/dist/src/modules/commands/components/menus/context-menu.client.d.mts +40 -0
- package/dist/src/modules/commands/components/menus/context-menu.client.mjs +47 -0
- package/dist/src/modules/commands/components/menus/dropdown-menu.client.d.mts +30 -0
- package/dist/src/modules/commands/components/menus/dropdown-menu.client.mjs +58 -0
- package/dist/src/modules/commands/components/menus/floating-menu.client.d.mts +30 -0
- package/dist/src/modules/commands/components/menus/floating-menu.client.mjs +33 -0
- package/dist/src/modules/commands/components/menus/inline-menu.client.d.mts +30 -0
- package/dist/src/modules/commands/components/menus/inline-menu.client.mjs +41 -0
- package/dist/src/modules/commands/components/menus/responsive-menu.client.d.mts +17 -0
- package/dist/src/modules/commands/components/menus/responsive-menu.client.mjs +22 -0
- package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.d.mts +65 -0
- package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.mjs +138 -0
- package/dist/src/modules/commands/components/primitives/click-command.client.d.mts +26 -0
- package/dist/src/modules/commands/components/primitives/click-command.client.mjs +52 -0
- package/dist/src/modules/commands/components/primitives/command-trigger.client.d.mts +17 -0
- package/dist/src/modules/commands/components/primitives/command-trigger.client.mjs +42 -0
- package/dist/src/modules/commands/components/primitives/dialog-command.client.d.mts +53 -0
- package/dist/src/modules/commands/components/primitives/dialog-command.client.mjs +116 -0
- package/dist/src/modules/commands/components/primitives/dropdown-command.client.d.mts +47 -0
- package/dist/src/modules/commands/components/primitives/dropdown-command.client.mjs +131 -0
- package/dist/src/modules/commands/components/primitives/empty-command.client.d.mts +20 -0
- package/dist/src/modules/commands/components/primitives/empty-command.client.mjs +44 -0
- package/dist/src/modules/commands/components/primitives/form-dialog-command.client.d.mts +71 -0
- package/dist/src/modules/commands/components/primitives/form-dialog-command.client.mjs +163 -0
- package/dist/src/modules/commands/components/render-command.mjs +50 -0
- package/dist/src/modules/commands/components/utils/archive-command.client.d.mts +24 -0
- package/dist/src/modules/commands/components/utils/archive-command.client.mjs +29 -0
- package/dist/src/modules/commands/components/utils/delete-command.client.d.mts +20 -0
- package/dist/src/modules/commands/components/utils/delete-command.client.mjs +28 -0
- package/dist/src/modules/commands/hooks/use-command-mutation.client.d.mts +11 -0
- package/dist/src/modules/commands/hooks/use-command-mutation.client.mjs +39 -0
- package/dist/src/modules/commands/hooks/use-command.client.d.mts +31 -0
- package/dist/src/modules/commands/hooks/use-command.client.mjs +45 -0
- package/dist/src/modules/commands/lib/builder.d.mts +39 -0
- package/dist/src/modules/commands/lib/builder.mjs +47 -0
- package/dist/src/modules/commands/lib/registery.d.mts +35 -0
- package/dist/src/modules/commands/lib/registery.mjs +43 -0
- package/dist/src/modules/config/lib/config.d.mts +16 -0
- package/dist/src/modules/config/lib/config.mjs +8 -0
- package/dist/src/modules/config/lib/context.d.mts +17 -0
- package/dist/src/modules/config/lib/context.mjs +7 -0
- package/dist/src/modules/config/paths/helpers.d.mts +9 -0
- package/dist/src/modules/config/paths/helpers.mjs +8 -0
- package/dist/src/modules/config/paths/types.d.mts +31 -0
- package/dist/src/modules/data-tables/components/cell/common.client.d.mts +26 -0
- package/dist/src/modules/data-tables/components/cell/common.client.mjs +35 -0
- package/dist/src/modules/data-tables/components/cell/index.client.d.mts +10 -0
- package/dist/src/modules/data-tables/components/cell/index.client.mjs +24 -0
- package/dist/src/modules/data-tables/components/cell/select.client.d.mts +10 -0
- package/dist/src/modules/data-tables/components/cell/select.client.mjs +36 -0
- package/dist/src/modules/data-tables/components/column-header.d.mts +15 -0
- package/dist/src/modules/data-tables/components/column-header.mjs +46 -0
- package/dist/src/modules/data-tables/components/filters/combobox.client.d.mts +27 -0
- package/dist/src/modules/data-tables/components/filters/combobox.client.mjs +97 -0
- package/dist/src/modules/data-tables/components/filters/date-range.client.d.mts +24 -0
- package/dist/src/modules/data-tables/components/filters/date-range.client.mjs +99 -0
- package/dist/src/modules/data-tables/components/filters/search.client.d.mts +17 -0
- package/dist/src/modules/data-tables/components/filters/search.client.mjs +32 -0
- package/dist/src/modules/data-tables/components/filters/slider.client.d.mts +22 -0
- package/dist/src/modules/data-tables/components/filters/slider.client.mjs +128 -0
- package/dist/src/modules/data-tables/components/filters/toggle.client.d.mts +17 -0
- package/dist/src/modules/data-tables/components/filters/toggle.client.mjs +25 -0
- package/dist/src/modules/data-tables/components/footer.mjs +28 -0
- package/dist/src/modules/data-tables/components/header.d.mts +40 -0
- package/dist/src/modules/data-tables/components/header.mjs +43 -0
- package/dist/src/modules/data-tables/components/layout.d.mts +11 -0
- package/dist/src/modules/data-tables/components/layout.mjs +14 -0
- package/dist/src/modules/data-tables/components/search-input.client.d.mts +6 -0
- package/dist/src/modules/data-tables/components/search-input.client.mjs +19 -0
- package/dist/src/modules/data-tables/components/skeleton.d.mts +6 -0
- package/dist/src/modules/data-tables/components/skeleton.mjs +21 -0
- package/dist/src/modules/data-tables/components/table.d.mts +33 -0
- package/dist/src/modules/data-tables/components/table.mjs +55 -0
- package/dist/src/modules/data-tables/components/toolbar.d.mts +22 -0
- package/dist/src/modules/data-tables/components/toolbar.mjs +21 -0
- package/dist/src/modules/data-tables/hooks/use-context.client.d.mts +47 -0
- package/dist/src/modules/data-tables/hooks/use-context.client.mjs +34 -0
- package/dist/src/modules/data-tables/hooks/use-search.client.mjs +39 -0
- package/dist/src/modules/data-tables/hooks/use-selection.client.mjs +44 -0
- package/dist/src/modules/data-tables/hooks/use-table.client.d.mts +10 -0
- package/dist/src/modules/data-tables/hooks/use-table.client.mjs +55 -0
- package/dist/src/modules/data-tables/lib/converters/dto.d.mts +50 -0
- package/dist/src/modules/data-tables/lib/converters/dto.mjs +24 -0
- package/dist/src/modules/data-tables/lib/converters/filters.d.mts +41 -0
- package/dist/src/modules/data-tables/lib/converters/filters.mjs +38 -0
- package/dist/src/modules/data-tables/lib/converters/pagination.d.mts +17 -0
- package/dist/src/modules/data-tables/lib/converters/pagination.mjs +15 -0
- package/dist/src/modules/data-tables/lib/converters/search.d.mts +16 -0
- package/dist/src/modules/data-tables/lib/converters/search.mjs +15 -0
- package/dist/src/modules/data-tables/lib/converters/sorting.d.mts +48 -0
- package/dist/src/modules/data-tables/lib/converters/sorting.mjs +55 -0
- package/dist/src/modules/data-tables/lib/filters/config.d.mts +13 -0
- package/dist/src/modules/data-tables/lib/filters/config.mjs +5 -0
- package/dist/src/modules/data-tables/lib/filters/helpers.d.mts +10 -0
- package/dist/src/modules/data-tables/lib/filters/helpers.mjs +16 -0
- package/dist/src/modules/data-tables/lib/filters/parsers.d.mts +46 -0
- package/dist/src/modules/data-tables/lib/filters/parsers.mjs +47 -0
- package/dist/src/modules/data-tables/lib/filters/resolvers.d.mts +28 -0
- package/dist/src/modules/data-tables/lib/filters/resolvers.mjs +55 -0
- package/dist/src/modules/data-tables/lib/helpers/create-column.mjs +10 -0
- package/dist/src/modules/data-tables/lib/search-params.d.mts +21 -0
- package/dist/src/modules/data-tables/lib/search-params.mjs +16 -0
- package/dist/src/modules/data-tables/lib/types.d.mts +54 -0
- package/dist/src/modules/data-tables/lib/validators.d.mts +19 -0
- package/dist/src/modules/data-tables/lib/validators.mjs +16 -0
- package/dist/src/modules/data-tables/server/get-data.server.d.mts +29 -0
- package/dist/src/modules/data-tables/server/get-data.server.mjs +47 -0
- package/dist/src/modules/data-tables/strategies/helpers/sorting.mjs +37 -0
- package/dist/src/modules/data-tables/strategies/infinite/components.mjs +50 -0
- package/dist/src/modules/data-tables/strategies/infinite/strategy.d.mts +20 -0
- package/dist/src/modules/data-tables/strategies/infinite/strategy.mjs +50 -0
- package/dist/src/modules/data-tables/strategies/pagination/components.mjs +131 -0
- package/dist/src/modules/data-tables/strategies/pagination/strategy.d.mts +12 -0
- package/dist/src/modules/data-tables/strategies/pagination/strategy.mjs +45 -0
- package/dist/src/modules/data-tables/tables/data-table/components/body.mjs +32 -0
- package/dist/src/modules/data-tables/tables/data-table/components/header.mjs +12 -0
- package/dist/src/modules/data-tables/tables/data-table/components/row.mjs +13 -0
- package/dist/src/modules/data-tables/tables/data-table/components/table.d.mts +8 -0
- package/dist/src/modules/data-tables/tables/data-table/components/table.mjs +42 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/body.mjs +69 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.d.mts +11 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.mjs +14 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +24 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +38 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +11 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +14 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/header.mjs +10 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/row.client.mjs +24 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/table.d.mts +14 -0
- package/dist/src/modules/data-tables/tables/inline-table/components/table.mjs +52 -0
- package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +48 -0
- package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.mjs +58 -0
- package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +29 -0
- package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +94 -0
- package/dist/src/modules/database/lib/helpers.d.mts +15 -0
- package/dist/src/modules/database/lib/helpers.mjs +16 -0
- package/dist/src/modules/database/lib/service.server.d.mts +33 -0
- package/dist/src/modules/database/lib/service.server.mjs +23 -0
- package/dist/src/modules/database/lib/types.d.mts +4 -0
- package/dist/src/modules/emails/lib/service.server.d.mts +28 -0
- package/dist/src/modules/emails/lib/service.server.mjs +20 -0
- package/dist/src/modules/inline/components/cell.client.d.mts +20 -0
- package/dist/src/modules/inline/components/cell.client.mjs +46 -0
- package/dist/src/modules/inline/components/field.client.d.mts +36 -0
- package/dist/src/modules/inline/components/field.client.mjs +61 -0
- package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.d.mts +27 -0
- package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.mjs +49 -0
- package/dist/src/modules/inline/components/inputs/combobox.client.d.mts +22 -0
- package/dist/src/modules/inline/components/inputs/combobox.client.mjs +45 -0
- package/dist/src/modules/inline/components/inputs/date-time.client.d.mts +24 -0
- package/dist/src/modules/inline/components/inputs/date-time.client.mjs +48 -0
- package/dist/src/modules/inline/components/inputs/date.client.d.mts +66 -0
- package/dist/src/modules/inline/components/inputs/date.client.mjs +175 -0
- package/dist/src/modules/inline/components/inputs/editor.client.d.mts +25 -0
- package/dist/src/modules/inline/components/inputs/editor.client.mjs +51 -0
- package/dist/src/modules/inline/components/inputs/input-recipient.client.d.mts +27 -0
- package/dist/src/modules/inline/components/inputs/input-recipient.client.mjs +48 -0
- package/dist/src/modules/inline/components/inputs/input.client.d.mts +52 -0
- package/dist/src/modules/inline/components/inputs/input.client.mjs +129 -0
- package/dist/src/modules/inline/components/inputs/select.client.d.mts +31 -0
- package/dist/src/modules/inline/components/inputs/select.client.mjs +64 -0
- package/dist/src/modules/inline/components/inputs/switch.client.d.mts +21 -0
- package/dist/src/modules/inline/components/inputs/switch.client.mjs +42 -0
- package/dist/src/modules/inline/components/inputs/toggle.client.d.mts +24 -0
- package/dist/src/modules/inline/components/inputs/toggle.client.mjs +47 -0
- package/dist/src/modules/inline/hooks/inline-provider.d.mts +28 -0
- package/dist/src/modules/inline/hooks/inline-provider.mjs +25 -0
- package/dist/src/modules/inline/hooks/inline-state.client.d.mts +30 -0
- package/dist/src/modules/inline/hooks/inline-state.client.mjs +25 -0
- package/dist/src/modules/inline/hooks/use-inline.client.d.mts +144 -0
- package/dist/src/modules/inline/hooks/use-inline.client.mjs +125 -0
- package/dist/src/modules/inline/lib/validators.d.mts +56 -0
- package/dist/src/modules/inline/lib/validators.mjs +34 -0
- package/dist/{modules/inline-edit → src/modules/inline}/lib/variants.d.mts +1 -1
- package/dist/src/modules/inline/lib/variants.mjs +21 -0
- package/dist/src/modules/router/handler/caller.client.d.mts +10 -0
- package/dist/src/modules/router/handler/caller.client.mjs +23 -0
- package/dist/src/modules/router/handler/caller.server.d.mts +6 -0
- package/dist/src/modules/router/handler/caller.server.mjs +7 -0
- package/dist/src/modules/router/handler/context.server.d.mts +62 -0
- package/dist/src/modules/router/handler/context.server.mjs +20 -0
- package/dist/src/modules/router/handler/init.server.d.mts +65 -0
- package/dist/src/modules/router/handler/init.server.mjs +55 -0
- package/dist/src/modules/router/handler/register.server.d.mts +8 -0
- package/dist/src/modules/router/handler/register.server.mjs +10 -0
- package/dist/src/modules/router/handler/route.server.d.mts +21 -0
- package/dist/src/modules/router/handler/route.server.mjs +32 -0
- package/dist/src/modules/router/lib/error.server.d.mts +2 -0
- package/dist/src/modules/router/lib/error.server.mjs +3 -0
- package/dist/src/modules/router/lib/helpers.mjs +7 -0
- package/dist/src/modules/router/lib/query-client.d.mts +9 -0
- package/dist/src/modules/router/lib/query-client.mjs +50 -0
- package/dist/src/modules/router/lib/query-client.server.d.mts +17 -0
- package/dist/src/modules/router/lib/query-client.server.mjs +23 -0
- package/dist/src/modules/router/lib/validators.d.mts +12 -0
- package/dist/src/modules/router/lib/validators.mjs +10 -0
- package/dist/src/modules/storage/components/dropzone-context.client.d.mts +18 -0
- package/dist/src/modules/storage/components/dropzone-context.client.mjs +17 -0
- package/dist/src/modules/storage/components/dropzone.client.d.mts +52 -0
- package/dist/src/modules/storage/components/dropzone.client.mjs +110 -0
- package/dist/src/modules/storage/components/image-grid.client.d.mts +32 -0
- package/dist/src/modules/storage/components/image-grid.client.mjs +167 -0
- package/dist/src/modules/storage/components/image.client.d.mts +7 -0
- package/dist/src/modules/storage/components/image.client.mjs +16 -0
- package/dist/src/modules/storage/components/upload-button.client.d.mts +11 -0
- package/dist/src/modules/storage/components/upload-button.client.mjs +33 -0
- package/dist/src/modules/storage/components/upload-zone-context.client.d.mts +30 -0
- package/dist/src/modules/storage/components/upload-zone-context.client.mjs +20 -0
- package/dist/src/modules/storage/components/upload-zone.client.d.mts +27 -0
- package/dist/src/modules/storage/components/upload-zone.client.mjs +111 -0
- package/dist/src/modules/storage/lib/constants.d.mts +5 -0
- package/dist/src/modules/storage/lib/constants.mjs +5 -0
- package/dist/src/modules/storage/lib/helpers.d.mts +29 -0
- package/dist/src/modules/storage/lib/helpers.mjs +49 -0
- package/dist/src/modules/storage/lib/procedures.server.d.mts +1990 -0
- package/dist/src/modules/storage/lib/procedures.server.mjs +21 -0
- package/dist/src/modules/storage/lib/router-handlers.server.d.mts +40 -0
- package/dist/src/modules/storage/lib/router-handlers.server.mjs +123 -0
- package/dist/src/modules/storage/lib/schema.d.mts +291 -0
- package/dist/src/modules/storage/lib/schema.mjs +37 -0
- package/dist/src/modules/storage/lib/service.server.d.mts +2217 -0
- package/dist/src/modules/storage/lib/service.server.mjs +514 -0
- package/dist/src/modules/storage/lib/upload.client.d.mts +57 -0
- package/dist/src/modules/storage/lib/upload.client.mjs +86 -0
- package/dist/src/modules/storage/lib/validators.d.mts +935 -0
- package/dist/src/modules/storage/lib/validators.mjs +52 -0
- package/dist/src/modules/storage/providers/adapters/s3.server.d.mts +18 -0
- package/dist/src/modules/storage/providers/adapters/s3.server.mjs +172 -0
- package/dist/src/modules/storage/providers/lib/constants.d.mts +5 -0
- package/dist/src/modules/storage/providers/lib/constants.mjs +5 -0
- package/dist/src/modules/storage/providers/lib/errors.d.mts +11 -0
- package/dist/src/modules/storage/providers/lib/errors.mjs +12 -0
- package/dist/src/modules/storage/providers/lib/types.d.mts +20 -0
- package/dist/src/modules/storage/providers/lib/validators.d.mts +111 -0
- package/dist/src/modules/storage/providers/lib/validators.mjs +74 -0
- package/dist/storage/client.d.mts +8 -8
- package/dist/storage/client.mjs +8 -8
- package/dist/storage/server.d.mts +4 -4
- package/dist/storage/server.mjs +4 -4
- package/dist/storage.d.mts +8 -8
- package/dist/storage.mjs +7 -7
- package/package.json +4 -4
- package/src/components/ui/accordion.client.tsx +1 -1
- package/src/components/ui/alert.tsx +1 -1
- package/src/components/ui/avatar.client.tsx +1 -1
- package/src/components/ui/breadcrumb.tsx +2 -2
- package/src/components/ui/card.tsx +1 -1
- package/src/components/ui/carousel.client.tsx +2 -2
- package/src/components/ui/chart.client.tsx +2 -2
- package/src/components/ui/checkbox.client.tsx +1 -1
- package/src/components/ui/collapsible.client.tsx +1 -1
- package/src/components/ui/command.client.tsx +19 -4
- package/src/components/ui/context-menu.client.tsx +6 -6
- package/src/components/ui/drawer.client.tsx +5 -5
- package/src/components/ui/dropdown-menu.client.tsx +5 -5
- package/src/components/ui/empty.tsx +1 -1
- package/src/components/ui/field.client.tsx +3 -3
- package/src/components/ui/hover-card.client.tsx +1 -1
- package/src/components/ui/input-group.client.tsx +3 -3
- package/src/components/ui/input-recipient.tsx +1 -1
- package/src/components/ui/item.tsx +5 -5
- package/src/components/ui/navigation-menu.tsx +4 -4
- package/src/components/ui/pagination.tsx +0 -1
- package/src/components/ui/radio-group.tsx +1 -1
- package/src/components/ui/sheet.client.tsx +3 -3
- package/src/components/ui/tabs.client.tsx +3 -3
- package/src/entry.ts +3 -3
- package/src/modules/auth/components/allowed.client.tsx +1 -2
- package/src/modules/auth/components/update-password-command.tsx +1 -1
- package/src/modules/auth/lib/validators.ts +7 -0
- package/src/modules/commands/components/menus/context-menu.client.tsx +79 -0
- package/src/modules/commands/components/menus/dropdown-menu.client.tsx +85 -0
- package/src/modules/commands/components/menus/floating-menu.client.tsx +64 -0
- package/src/modules/commands/components/menus/inline-menu.client.tsx +66 -0
- package/src/modules/commands/{menus → components/menus}/responsive-menu.client.tsx +15 -4
- package/src/modules/commands/components/{alert-dialog-command.client.tsx → primitives/alert-dialog-command.client.tsx} +11 -40
- package/src/modules/commands/components/{click-command.client.tsx → primitives/click-command.client.tsx} +8 -19
- package/src/modules/commands/components/primitives/command-trigger.client.tsx +60 -0
- package/src/modules/commands/components/{dialog-command.client.tsx → primitives/dialog-command.client.tsx} +8 -31
- package/src/modules/commands/components/{dropdown-command.client.tsx → primitives/dropdown-command.client.tsx} +24 -40
- package/src/modules/commands/components/{empty-command.client.tsx → primitives/empty-command.client.tsx} +9 -17
- package/src/modules/commands/components/{form-dialog-command.client.tsx → primitives/form-dialog-command.client.tsx} +11 -53
- package/src/modules/commands/components/render-command.tsx +51 -10
- package/src/modules/commands/{utils → components/utils}/archive-command.client.tsx +2 -10
- package/src/modules/commands/{utils → components/utils}/delete-command.client.tsx +3 -9
- package/src/modules/commands/entry.client.ts +15 -23
- package/src/modules/commands/entry.ts +5 -2
- package/src/modules/commands/hooks/{use-command-mutation.client.tsx → use-command-mutation.client.ts} +2 -19
- package/src/modules/commands/hooks/use-command.client.tsx +78 -0
- package/src/modules/commands/lib/builder.ts +91 -0
- package/src/modules/commands/lib/registery.ts +116 -0
- package/src/modules/data-tables/components/filters/combobox.client.tsx +9 -13
- package/src/modules/data-tables/components/filters/date-range.client.tsx +127 -0
- package/src/modules/data-tables/components/filters/search.client.tsx +37 -0
- package/src/modules/data-tables/components/filters/slider.client.tsx +4 -4
- package/src/modules/data-tables/components/filters/toggle.client.tsx +32 -0
- package/src/modules/data-tables/components/footer.tsx +2 -2
- package/src/modules/data-tables/entry.client.ts +3 -0
- package/src/modules/data-tables/entry.server.ts +2 -2
- package/src/modules/data-tables/hooks/use-context.client.tsx +9 -11
- package/src/modules/data-tables/hooks/use-selection.client.ts +12 -5
- package/src/modules/data-tables/hooks/use-table.client.ts +4 -6
- package/src/modules/data-tables/lib/converters/filters.ts +85 -0
- package/src/modules/data-tables/lib/converters/{cursor.ts → pagination.ts} +1 -1
- package/src/modules/data-tables/lib/converters/sorting.ts +61 -18
- package/src/modules/data-tables/lib/filters/parsers.ts +18 -0
- package/src/modules/data-tables/lib/types.ts +4 -4
- package/src/modules/data-tables/server/get-data.server.ts +19 -10
- package/src/modules/data-tables/strategies/infinite/components.tsx +2 -10
- package/src/modules/data-tables/strategies/pagination/components.tsx +1 -5
- package/src/modules/data-tables/tables/data-table/components/body.tsx +2 -2
- package/src/modules/data-tables/tables/data-table/components/header.tsx +1 -1
- package/src/modules/data-tables/tables/data-table/components/row.tsx +2 -21
- package/src/modules/data-tables/tables/data-table/components/table.tsx +2 -2
- package/src/modules/data-tables/tables/inline-table/components/body.tsx +1 -1
- package/src/modules/data-tables/tables/inline-table/components/header.tsx +1 -5
- package/src/modules/data-tables/tables/inline-table/components/row.client.tsx +7 -11
- package/src/modules/data-tables/tables/inline-table/components/table.tsx +2 -2
- package/src/modules/data-tables/tables/inline-table/hooks/context.client.tsx +1 -1
- package/src/modules/inline/components/cell.client.tsx +53 -0
- package/src/modules/inline/components/field.client.tsx +64 -0
- package/src/modules/inline/components/inputs/combobox-dropdown.client.tsx +106 -0
- package/src/modules/inline/components/inputs/combobox.client.tsx +94 -0
- package/src/modules/inline/components/inputs/date-time.client.tsx +96 -0
- package/src/modules/inline/components/inputs/date.client.tsx +295 -0
- package/src/modules/inline/components/inputs/editor.client.tsx +99 -0
- package/src/modules/inline/components/inputs/input-recipient.client.tsx +97 -0
- package/src/modules/inline/components/inputs/input.client.tsx +244 -0
- package/src/modules/inline/components/inputs/select.client.tsx +126 -0
- package/src/modules/inline/components/inputs/switch.client.tsx +88 -0
- package/src/modules/inline/components/inputs/toggle.client.tsx +94 -0
- package/src/modules/inline/entry.client.ts +23 -0
- package/src/modules/inline/hooks/inline-provider.tsx +32 -0
- package/src/modules/inline/hooks/inline-state.client.tsx +33 -0
- package/src/modules/inline/hooks/use-inline.client.tsx +298 -0
- package/dist/inline-edit/client.d.mts +0 -15
- package/dist/inline-edit/client.mjs +0 -16
- package/dist/modules/commands/components/click-command.client.mjs +0 -63
- package/dist/modules/commands/components/command-trigger.client.d.mts +0 -33
- package/dist/modules/commands/components/command-trigger.client.mjs +0 -49
- package/dist/modules/commands/components/empty-command.client.mjs +0 -54
- package/dist/modules/commands/hooks/context.client.mjs +0 -31
- package/dist/modules/commands/hooks/use-command-menu.client.d.mts +0 -23
- package/dist/modules/commands/hooks/use-command-menu.client.mjs +0 -83
- package/dist/modules/commands/lib/definitions.d.mts +0 -52
- package/dist/modules/commands/lib/factory.d.mts +0 -24
- package/dist/modules/commands/lib/factory.mjs +0 -7
- package/dist/modules/commands/menus/context-menu.client.d.mts +0 -26
- package/dist/modules/commands/menus/context-menu.client.mjs +0 -59
- package/dist/modules/commands/menus/dropdown-menu.client.d.mts +0 -18
- package/dist/modules/commands/menus/floating-menu.client.d.mts +0 -18
- package/dist/modules/commands/menus/floating-menu.client.mjs +0 -45
- package/dist/modules/commands/menus/inline-menu.client.d.mts +0 -19
- package/dist/modules/commands/menus/inline-menu.client.mjs +0 -45
- package/dist/modules/commands/menus/responsive-menu.client.d.mts +0 -9
- package/dist/modules/data-tables/lib/converters/filter.d.mts +0 -9
- package/dist/modules/data-tables/lib/converters/filter.mjs +0 -13
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +0 -24
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +0 -40
- package/dist/modules/inline-edit/components/combobox.client.d.mts +0 -19
- package/dist/modules/inline-edit/components/combobox.client.mjs +0 -36
- package/dist/modules/inline-edit/components/date-input.client.d.mts +0 -18
- package/dist/modules/inline-edit/components/date-input.client.mjs +0 -96
- package/dist/modules/inline-edit/components/date-picker.client.d.mts +0 -21
- package/dist/modules/inline-edit/components/date-picker.client.mjs +0 -61
- package/dist/modules/inline-edit/components/date-time.client.d.mts +0 -20
- package/dist/modules/inline-edit/components/date-time.client.mjs +0 -38
- package/dist/modules/inline-edit/components/editor.client.d.mts +0 -22
- package/dist/modules/inline-edit/components/editor.client.mjs +0 -39
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts +0 -27
- package/dist/modules/inline-edit/components/input-recipient.client.mjs +0 -43
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts +0 -19
- package/dist/modules/inline-edit/components/input-toggle.client.mjs +0 -53
- package/dist/modules/inline-edit/components/input.client.d.mts +0 -49
- package/dist/modules/inline-edit/components/input.client.mjs +0 -100
- package/dist/modules/inline-edit/components/select.client.d.mts +0 -26
- package/dist/modules/inline-edit/components/select.client.mjs +0 -55
- package/dist/modules/inline-edit/components/switch.client.d.mts +0 -17
- package/dist/modules/inline-edit/components/switch.client.mjs +0 -33
- package/dist/modules/inline-edit/components/toggle.client.d.mts +0 -18
- package/dist/modules/inline-edit/components/toggle.client.mjs +0 -40
- package/dist/modules/inline-edit/hooks/context.client.d.mts +0 -27
- package/dist/modules/inline-edit/hooks/context.client.mjs +0 -27
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +0 -75
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs +0 -116
- package/src/modules/commands/components/command-trigger.client.tsx +0 -69
- package/src/modules/commands/hooks/context.client.tsx +0 -38
- package/src/modules/commands/hooks/use-command-menu.client.tsx +0 -252
- package/src/modules/commands/lib/definitions.ts +0 -42
- package/src/modules/commands/lib/factory.ts +0 -5
- package/src/modules/commands/lib/schema.ts +0 -23
- package/src/modules/commands/menus/context-menu.client.tsx +0 -69
- package/src/modules/commands/menus/dropdown-menu.client.tsx +0 -62
- package/src/modules/commands/menus/floating-menu.client.tsx +0 -54
- package/src/modules/commands/menus/inline-menu.client.tsx +0 -51
- package/src/modules/commands/utils/send-mail-command.client.tsx +0 -150
- package/src/modules/data-tables/lib/converters/filter.ts +0 -11
- package/src/modules/inline-edit/components/combobox-dropdown.client.tsx +0 -64
- package/src/modules/inline-edit/components/combobox.client.tsx +0 -50
- package/src/modules/inline-edit/components/date-input.client.tsx +0 -116
- package/src/modules/inline-edit/components/date-picker.client.tsx +0 -74
- package/src/modules/inline-edit/components/date-time.client.tsx +0 -55
- package/src/modules/inline-edit/components/editor.client.tsx +0 -56
- package/src/modules/inline-edit/components/input-recipient.client.tsx +0 -59
- package/src/modules/inline-edit/components/input-toggle.client.tsx +0 -75
- package/src/modules/inline-edit/components/input.client.tsx +0 -149
- package/src/modules/inline-edit/components/select.client.tsx +0 -76
- package/src/modules/inline-edit/components/switch.client.tsx +0 -40
- package/src/modules/inline-edit/components/toggle.client.tsx +0 -50
- package/src/modules/inline-edit/entry.client.ts +0 -22
- package/src/modules/inline-edit/hooks/context.client.tsx +0 -30
- package/src/modules/inline-edit/hooks/use-inline.client.tsx +0 -205
- /package/dist/{inline-edit → inline}/server.d.mts +0 -0
- /package/dist/{inline-edit → inline}/server.mjs +0 -0
- /package/src/modules/{inline-edit → inline}/entry.server.ts +0 -0
- /package/src/modules/{inline-edit → inline}/entry.ts +0 -0
- /package/src/modules/{inline-edit → inline}/lib/factory.server.ts +0 -0
- /package/src/modules/{inline-edit → inline}/lib/parsers.ts +0 -0
- /package/src/modules/{inline-edit → inline}/lib/validators.ts +0 -0
- /package/src/modules/{inline-edit → inline}/lib/variants.ts +0 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import z, { ZodEnum, ZodNullable, ZodType } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/data-tables/lib/filters/parsers.d.ts
|
|
4
|
+
type ParseFilter<TSchema extends z.ZodType> = {
|
|
5
|
+
schema: ZodNullable<TSchema>;
|
|
6
|
+
decode: (value: string) => z.input<TSchema>;
|
|
7
|
+
encode: (value: z.input<TSchema>) => string;
|
|
8
|
+
eq?: (a: z.output<TSchema>, b: z.output<TSchema>) => boolean;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Filter string
|
|
12
|
+
*/
|
|
13
|
+
type ParseFilterStringSchema = z.ZodString;
|
|
14
|
+
declare const parseFilterString: <TSchema extends ParseFilterStringSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
15
|
+
/**
|
|
16
|
+
* Filter string array
|
|
17
|
+
*/
|
|
18
|
+
type ParseFilterArraySchema = z.ZodArray<ZodType>;
|
|
19
|
+
declare const parseFilterArray: <TSchema extends ParseFilterArraySchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
20
|
+
/**
|
|
21
|
+
* Filter enum
|
|
22
|
+
*/
|
|
23
|
+
type ParseFilterEnumSchema = ZodEnum;
|
|
24
|
+
declare const parseFilterEnum: <TSchema extends ZodEnum>(schema: TSchema) => ParseFilter<TSchema>;
|
|
25
|
+
/**
|
|
26
|
+
* Filter boolean value
|
|
27
|
+
*/
|
|
28
|
+
type ParseFilterBooleanSchema = z.ZodBoolean;
|
|
29
|
+
declare const parseFilterBoolean: <TSchema extends z.ZodType<boolean>>(schema: TSchema) => ParseFilter<TSchema>;
|
|
30
|
+
/**
|
|
31
|
+
* Filter datetime value
|
|
32
|
+
*/
|
|
33
|
+
type ParseFilterDatetimeSchema = z.ZodDate;
|
|
34
|
+
declare const parseFilterDatetime: <TSchema extends ParseFilterDatetimeSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
35
|
+
/**
|
|
36
|
+
* Filter datetime range value (tuple of two dates)
|
|
37
|
+
*/
|
|
38
|
+
type ParseFilterDatetimeRangeSchema = z.ZodTuple<[z.ZodDate, z.ZodDate]>;
|
|
39
|
+
declare const parseFilterDatetimeRange: <TSchema extends ParseFilterDatetimeRangeSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
40
|
+
/**
|
|
41
|
+
* Filter range value
|
|
42
|
+
*/
|
|
43
|
+
type ParseFilterTupleSchema = z.ZodTuple<[ZodType, ZodType]>;
|
|
44
|
+
declare const parseFilterTuple: <TSchema extends ParseFilterTupleSchema>(schema: TSchema) => ParseFilter<TSchema>;
|
|
45
|
+
//#endregion
|
|
46
|
+
export { ParseFilter, ParseFilterArraySchema, ParseFilterBooleanSchema, ParseFilterDatetimeRangeSchema, ParseFilterDatetimeSchema, ParseFilterEnumSchema, ParseFilterStringSchema, ParseFilterTupleSchema, parseFilterArray, parseFilterBoolean, parseFilterDatetime, parseFilterDatetimeRange, parseFilterEnum, parseFilterString, parseFilterTuple };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
//#region src/modules/data-tables/lib/filters/parsers.ts
|
|
2
|
+
const parseFilterString = (schema) => ({
|
|
3
|
+
schema: schema.nullable(),
|
|
4
|
+
decode: (encoded) => encoded?.trim() ?? null,
|
|
5
|
+
encode: (decoded) => decoded ?? ""
|
|
6
|
+
});
|
|
7
|
+
const parseFilterArray = (schema) => ({
|
|
8
|
+
schema: schema.nullable(),
|
|
9
|
+
decode: (encoded) => encoded?.split(",").filter(Boolean) ?? [],
|
|
10
|
+
encode: (decoded) => decoded?.join(",") ?? ""
|
|
11
|
+
});
|
|
12
|
+
const parseFilterEnum = (schema) => ({
|
|
13
|
+
schema: schema.nullable(),
|
|
14
|
+
decode: (encoded) => {
|
|
15
|
+
return encoded?.trim().toLowerCase();
|
|
16
|
+
},
|
|
17
|
+
encode: (decoded) => decoded
|
|
18
|
+
});
|
|
19
|
+
const parseFilterBoolean = (schema) => ({
|
|
20
|
+
schema: schema.nullable(),
|
|
21
|
+
decode: (encoded) => {
|
|
22
|
+
return encoded?.trim().toLowerCase() === "true";
|
|
23
|
+
},
|
|
24
|
+
encode: (decoded) => decoded ? "true" : "false"
|
|
25
|
+
});
|
|
26
|
+
const parseFilterDatetime = (schema) => ({
|
|
27
|
+
schema: schema.nullable(),
|
|
28
|
+
decode: (encoded) => encoded ? new Date(encoded) : null,
|
|
29
|
+
encode: (decoded) => decoded ? decoded.toISOString() : ""
|
|
30
|
+
});
|
|
31
|
+
const parseFilterDatetimeRange = (schema) => ({
|
|
32
|
+
schema: schema.nullable(),
|
|
33
|
+
decode: (encoded) => {
|
|
34
|
+
if (!encoded) return null;
|
|
35
|
+
const [from, to] = encoded.split("_");
|
|
36
|
+
return from && to ? [new Date(from), new Date(to)] : null;
|
|
37
|
+
},
|
|
38
|
+
encode: (decoded) => decoded ? `${decoded[0].toISOString()}_${decoded[1].toISOString()}` : ""
|
|
39
|
+
});
|
|
40
|
+
const parseFilterTuple = (schema) => ({
|
|
41
|
+
schema: schema.nullable(),
|
|
42
|
+
decode: (encoded) => encoded?.split("_") ?? [],
|
|
43
|
+
encode: (decoded) => decoded?.join("_") ?? ""
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { parseFilterArray, parseFilterBoolean, parseFilterDatetime, parseFilterDatetimeRange, parseFilterEnum, parseFilterString, parseFilterTuple };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TableFiltersDef } from "./config.mjs";
|
|
2
|
+
import z from "zod";
|
|
3
|
+
import * as nuqs_server0 from "nuqs/server";
|
|
4
|
+
import { createParser } from "nuqs/server";
|
|
5
|
+
|
|
6
|
+
//#region src/modules/data-tables/lib/filters/resolvers.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Resolvers for nuqs search params
|
|
9
|
+
*/
|
|
10
|
+
declare function resolveFiltersSearchParams<TDef extends TableFiltersDef>(def: TDef): { readonly [K in keyof TDef]: ReturnType<typeof createParser<z.output<TDef[K]["schema"]>>> };
|
|
11
|
+
/**
|
|
12
|
+
* Resolvers for zod schema
|
|
13
|
+
*/
|
|
14
|
+
declare function resolveFiltersSchema<TDef extends TableFiltersDef>(def: TDef): z.ZodObject<{ -readonly [P in keyof { [K in keyof TDef]: TDef[K]["schema"] }]: { [K in keyof TDef]: TDef[K]["schema"] }[P] }, z.core.$strip>;
|
|
15
|
+
/**
|
|
16
|
+
* Resolvers for filter descriptors
|
|
17
|
+
*/
|
|
18
|
+
declare function resolveFilterDescriptors<TDef extends TableFiltersDef>(def: TDef): { [K in keyof TDef]: {
|
|
19
|
+
name: K;
|
|
20
|
+
parser: { readonly [K_1 in keyof TDef]: nuqs_server0.SingleParserBuilder<z.core.output<TDef[K_1]["schema"]>> }[K];
|
|
21
|
+
} };
|
|
22
|
+
/**
|
|
23
|
+
* Resolvers for the visibility state config
|
|
24
|
+
* @returns array of keys
|
|
25
|
+
*/
|
|
26
|
+
declare function resolveVisibilityState<TDef extends TableFiltersDef>(def: TDef): (keyof TDef)[];
|
|
27
|
+
//#endregion
|
|
28
|
+
export { resolveFilterDescriptors, resolveFiltersSchema, resolveFiltersSearchParams, resolveVisibilityState };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
import { createParser } from "nuqs/server";
|
|
3
|
+
|
|
4
|
+
//#region src/modules/data-tables/lib/filters/resolvers.ts
|
|
5
|
+
/**
|
|
6
|
+
* Resolvers for nuqs search params
|
|
7
|
+
*/
|
|
8
|
+
function resolveFiltersSearchParams(def) {
|
|
9
|
+
return typedFromEntries(typedEntries(def).map(([key, value]) => {
|
|
10
|
+
const codec = z.codec(z.string(), value.schema, {
|
|
11
|
+
decode: value.decode,
|
|
12
|
+
encode: value.encode
|
|
13
|
+
});
|
|
14
|
+
return [key, createParser({
|
|
15
|
+
parse: (query) => codec.parse(query),
|
|
16
|
+
serialize: (value) => codec.encode(value),
|
|
17
|
+
eq: value.eq
|
|
18
|
+
})];
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolvers for zod schema
|
|
23
|
+
*/
|
|
24
|
+
function resolveFiltersSchema(def) {
|
|
25
|
+
const shape = typedFromEntries(typedEntries(def).map(([k, f]) => [k, f.schema]));
|
|
26
|
+
return z.object(shape);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolvers for filter descriptors
|
|
30
|
+
*/
|
|
31
|
+
function resolveFilterDescriptors(def) {
|
|
32
|
+
return typedFromEntries(typedEntries(resolveFiltersSearchParams(def)).map(([key, parser]) => [key, {
|
|
33
|
+
name: key,
|
|
34
|
+
parser
|
|
35
|
+
}]));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolvers for the visibility state config
|
|
39
|
+
* @returns array of keys
|
|
40
|
+
*/
|
|
41
|
+
function resolveVisibilityState(def) {
|
|
42
|
+
return typedEntries(def).map(([key]) => key);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Helpers
|
|
46
|
+
*/
|
|
47
|
+
function typedEntries(obj) {
|
|
48
|
+
return Object.entries(obj);
|
|
49
|
+
}
|
|
50
|
+
function typedFromEntries(entries) {
|
|
51
|
+
return Object.fromEntries(entries);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
//#endregion
|
|
55
|
+
export { resolveFilterDescriptors, resolveFiltersSchema, resolveFiltersSearchParams, resolveVisibilityState };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as nuqs from "nuqs";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/data-tables/lib/search-params.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Searchparams
|
|
6
|
+
*/
|
|
7
|
+
declare const tableSearchParams: {
|
|
8
|
+
cursor: Omit<nuqs.SingleParserBuilder<number>, "parseServerSide"> & {
|
|
9
|
+
readonly defaultValue: number;
|
|
10
|
+
parseServerSide(value: string | string[] | undefined): number;
|
|
11
|
+
};
|
|
12
|
+
limit: Omit<nuqs.SingleParserBuilder<number>, "parseServerSide"> & {
|
|
13
|
+
readonly defaultValue: number;
|
|
14
|
+
parseServerSide(value: string | string[] | undefined): number;
|
|
15
|
+
};
|
|
16
|
+
sort: nuqs.SingleParserBuilder<string>;
|
|
17
|
+
order: nuqs.SingleParserBuilder<"asc" | "desc">;
|
|
18
|
+
search: nuqs.SingleParserBuilder<string>;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { tableSearchParams };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { parseAsIndex, parseAsInteger, parseAsString, parseAsStringLiteral } from "nuqs";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/data-tables/lib/search-params.ts
|
|
4
|
+
/**
|
|
5
|
+
* Searchparams
|
|
6
|
+
*/
|
|
7
|
+
const tableSearchParams = {
|
|
8
|
+
cursor: parseAsIndex.withDefault(0),
|
|
9
|
+
limit: parseAsInteger.withDefault(20),
|
|
10
|
+
sort: parseAsString,
|
|
11
|
+
order: parseAsStringLiteral(["asc", "desc"]),
|
|
12
|
+
search: parseAsString
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { tableSearchParams };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Permission } from "../../auth/lib/permissions.mjs";
|
|
2
|
+
import { CommandDef } from "../../commands/lib/builder.mjs";
|
|
3
|
+
import { UseQueryStatesKeysMap } from "nuqs";
|
|
4
|
+
import { ColumnDef, PaginationState, RowSelectionState, SortingState, TableMeta, Updater } from "@tanstack/react-table";
|
|
5
|
+
|
|
6
|
+
//#region src/modules/data-tables/lib/types.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Data table meta
|
|
9
|
+
*/
|
|
10
|
+
type TableMetaInput<TData> = TableMeta<TData>;
|
|
11
|
+
type TableMeta$1<TData, TMeta = TableMetaInput<TData>> = {
|
|
12
|
+
strategy: TableStrategy;
|
|
13
|
+
selectedData: TData[];
|
|
14
|
+
commands?: CommandDef[];
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Table column definition
|
|
18
|
+
*/
|
|
19
|
+
type TableColumnDef<TData> = ColumnDef<TData> & {
|
|
20
|
+
permissions?: Permission;
|
|
21
|
+
meta?: TableColumnMeta;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Data table strategy
|
|
25
|
+
*/
|
|
26
|
+
type TableStrategy = {
|
|
27
|
+
name: "pagination" | "infinite";
|
|
28
|
+
rowCount?: number;
|
|
29
|
+
paginationState?: PaginationState;
|
|
30
|
+
manualPagination?: boolean;
|
|
31
|
+
onPaginationChange?: (updater: Updater<PaginationState>) => PaginationState;
|
|
32
|
+
resetCursor: () => number | null;
|
|
33
|
+
tableSearchParams: UseQueryStatesKeysMap;
|
|
34
|
+
sortingState: SortingState;
|
|
35
|
+
manualSorting: boolean;
|
|
36
|
+
onSortingChange: (updater: Updater<SortingState>) => SortingState;
|
|
37
|
+
meta?: object;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Data table meta
|
|
41
|
+
*/
|
|
42
|
+
type TableColumnMeta = object;
|
|
43
|
+
/**
|
|
44
|
+
* Data table selection
|
|
45
|
+
*/
|
|
46
|
+
type Selection = {
|
|
47
|
+
rowSelection: RowSelectionState;
|
|
48
|
+
setRowSelection: (row: Updater<RowSelectionState>) => void;
|
|
49
|
+
} | {
|
|
50
|
+
rowSelection?: undefined;
|
|
51
|
+
setRowSelection?: undefined;
|
|
52
|
+
};
|
|
53
|
+
//#endregion
|
|
54
|
+
export { Selection, TableColumnDef, TableColumnMeta, TableMeta$1 as TableMeta, TableMetaInput, TableStrategy };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { z as z$1 } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/data-tables/lib/validators.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Server data table query schema
|
|
6
|
+
*/
|
|
7
|
+
declare const tableQuerySchema: z$1.ZodObject<{
|
|
8
|
+
cursor: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>>, z$1.ZodTransform<number, number>>;
|
|
9
|
+
limit: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>>, z$1.ZodTransform<number, number>>;
|
|
10
|
+
sort: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
11
|
+
order: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodEnum<{
|
|
12
|
+
asc: "asc";
|
|
13
|
+
desc: "desc";
|
|
14
|
+
}>>>;
|
|
15
|
+
search: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
|
|
16
|
+
}, z$1.core.$strip>;
|
|
17
|
+
type TableQuerySchema = z$1.infer<typeof tableQuerySchema>;
|
|
18
|
+
//#endregion
|
|
19
|
+
export { TableQuerySchema, tableQuerySchema };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z as z$1 } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/data-tables/lib/validators.ts
|
|
4
|
+
/**
|
|
5
|
+
* Server data table query schema
|
|
6
|
+
*/
|
|
7
|
+
const tableQuerySchema = z$1.object({
|
|
8
|
+
cursor: z$1.coerce.number().optional().default(0).transform((val) => Math.max(val, 0)),
|
|
9
|
+
limit: z$1.coerce.number().optional().default(10).transform((val) => Math.min(Math.max(val, 1), 1e3)),
|
|
10
|
+
sort: z$1.string().nullable().optional(),
|
|
11
|
+
order: z$1.enum(["asc", "desc"]).nullable().optional(),
|
|
12
|
+
search: z$1.string().nullable().optional()
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { tableQuerySchema };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TDatabaseSchema } from "../../database/lib/types.mjs";
|
|
2
|
+
import { TulipContext } from "../../config/lib/context.mjs";
|
|
3
|
+
import "../../../../config.mjs";
|
|
4
|
+
import { TableQuerySchema } from "../lib/validators.mjs";
|
|
5
|
+
import { ConvertSearchToQueryParamsFields } from "../lib/converters/search.mjs";
|
|
6
|
+
import { PgTable } from "drizzle-orm/pg-core";
|
|
7
|
+
import "server-cli-only";
|
|
8
|
+
import { AnyColumn, DBQueryConfig, SQL } from "drizzle-orm";
|
|
9
|
+
|
|
10
|
+
//#region src/modules/data-tables/server/get-data.server.d.ts
|
|
11
|
+
type GetTableDataOptions<TTable extends PgTable> = DBQueryConfig<"many"> & {
|
|
12
|
+
table: TTable;
|
|
13
|
+
where?: SQL;
|
|
14
|
+
columns?: keyof TTable["_"]["columns"];
|
|
15
|
+
defaultOrder: (AnyColumn | SQL)[];
|
|
16
|
+
searchFields: ConvertSearchToQueryParamsFields;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Get data from the database for the data table
|
|
20
|
+
*/
|
|
21
|
+
declare function getTableData<TTable extends PgTable, TSchema extends TDatabaseSchema>({
|
|
22
|
+
db,
|
|
23
|
+
schema
|
|
24
|
+
}: TulipContext<TSchema>, query: TableQuerySchema, options: GetTableDataOptions<TTable>): Promise<{
|
|
25
|
+
data: TTable["$inferSelect"][];
|
|
26
|
+
total: number;
|
|
27
|
+
}>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { GetTableDataOptions, getTableData };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { parseTableQueryPagination } from "../lib/converters/pagination.mjs";
|
|
2
|
+
import { convertSearchToQueryParams } from "../lib/converters/search.mjs";
|
|
3
|
+
import { createTableQuerySortingParser } from "../lib/converters/sorting.mjs";
|
|
4
|
+
import "server-cli-only";
|
|
5
|
+
import { and, getTableColumns, getTableName, isTable } from "drizzle-orm";
|
|
6
|
+
|
|
7
|
+
//#region src/modules/data-tables/server/get-data.server.ts
|
|
8
|
+
/**
|
|
9
|
+
* Get data from the database for the data table
|
|
10
|
+
*/
|
|
11
|
+
async function getTableData({ db, schema }, query, options) {
|
|
12
|
+
const { table, where, defaultOrder: defaultSort, searchFields } = options;
|
|
13
|
+
if (!isTable(table)) throw new Error(`Provided table is not a table: ${table}`);
|
|
14
|
+
const tableName = Object.entries({ ...schema }).filter(([, t]) => isTable(t)).find(([, t]) => getTableName(t) === getTableName(table))?.[0];
|
|
15
|
+
if (!tableName) throw new Error(`Table name not found for table: ${tableName}`);
|
|
16
|
+
const { limit, offset } = parseTableQueryPagination(query);
|
|
17
|
+
const search = convertSearchToQueryParams(query, searchFields);
|
|
18
|
+
const orderBy = createTableQuerySortingParser(getTableColumns(table), { fallback: defaultSort }).parse(query);
|
|
19
|
+
/**
|
|
20
|
+
* Make a transaction to get the data
|
|
21
|
+
*/
|
|
22
|
+
const { data, total } = await db.transaction(async (tx) => {
|
|
23
|
+
if (!(tableName in tx.query)) throw new Error(`Table not found in query builder: ${tableName}`);
|
|
24
|
+
const queryBuilderKey = tableName;
|
|
25
|
+
const queryBuilder = tx.query[queryBuilderKey];
|
|
26
|
+
if (!queryBuilder) throw new Error(`Query builder not found for table: ${tableName}`);
|
|
27
|
+
return {
|
|
28
|
+
data: await queryBuilder.findMany({
|
|
29
|
+
where: and(where, search),
|
|
30
|
+
orderBy,
|
|
31
|
+
limit,
|
|
32
|
+
offset,
|
|
33
|
+
with: options.with,
|
|
34
|
+
columns: options.columns,
|
|
35
|
+
extras: options.extras
|
|
36
|
+
}),
|
|
37
|
+
total: await tx.$count(table, and(where, search)) ?? 0
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
data,
|
|
42
|
+
total
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { getTableData };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z as z$1 } from "zod";
|
|
2
|
+
import { parseAsString, parseAsStringLiteral } from "nuqs";
|
|
3
|
+
|
|
4
|
+
//#region src/modules/data-tables/strategies/helpers/sorting.ts
|
|
5
|
+
/**
|
|
6
|
+
* Sorting schema
|
|
7
|
+
*/
|
|
8
|
+
const sortingSchema = z$1.object({
|
|
9
|
+
sort: z$1.string().nullable().optional(),
|
|
10
|
+
order: z$1.enum(["asc", "desc"]).nullable().optional()
|
|
11
|
+
});
|
|
12
|
+
/**
|
|
13
|
+
* Search params
|
|
14
|
+
*/
|
|
15
|
+
const sortingSearchParams = {
|
|
16
|
+
sort: parseAsString,
|
|
17
|
+
order: parseAsStringLiteral(["asc", "desc"])
|
|
18
|
+
};
|
|
19
|
+
function handleSortingChange({ sortingState, setQuery, resetCursor }) {
|
|
20
|
+
return (updater) => {
|
|
21
|
+
const newState = typeof updater === "function" ? updater(sortingState) : updater;
|
|
22
|
+
const { id, desc } = newState[0] ?? {
|
|
23
|
+
id: null,
|
|
24
|
+
desc: null
|
|
25
|
+
};
|
|
26
|
+
const cursor = resetCursor();
|
|
27
|
+
setQuery({
|
|
28
|
+
sort: id?.replaceAll("_", ".") ?? null,
|
|
29
|
+
order: desc === null ? null : desc ? "desc" : "asc",
|
|
30
|
+
cursor
|
|
31
|
+
});
|
|
32
|
+
return newState;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
//#endregion
|
|
37
|
+
export { handleSortingChange };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { Skeleton } from "../../../../components/ui/skeleton.mjs";
|
|
4
|
+
import { TableCell, TableRow } from "../../components/table.mjs";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { useEffect, useRef } from "react";
|
|
7
|
+
import { useInView } from "motion/react";
|
|
8
|
+
|
|
9
|
+
//#region src/modules/data-tables/strategies/infinite/components.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Infinite table bottombar
|
|
12
|
+
*/
|
|
13
|
+
function InfinteTableBottombar({ table }) {
|
|
14
|
+
const scrollRef = useRef(null);
|
|
15
|
+
const isInView = useInView(scrollRef);
|
|
16
|
+
const hasNextPage = table.getCanNextPage();
|
|
17
|
+
const fetchNextPage = table.nextPage;
|
|
18
|
+
const { isFetching, isFetchingNextPage } = table.options.meta.strategy.meta;
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (isInView && hasNextPage && !isFetching && !isFetchingNextPage) fetchNextPage();
|
|
21
|
+
}, [
|
|
22
|
+
isInView,
|
|
23
|
+
fetchNextPage,
|
|
24
|
+
hasNextPage,
|
|
25
|
+
isFetching,
|
|
26
|
+
isFetchingNextPage
|
|
27
|
+
]);
|
|
28
|
+
return /* @__PURE__ */ jsx("div", {
|
|
29
|
+
className: "relative",
|
|
30
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
31
|
+
ref: scrollRef,
|
|
32
|
+
className: "absolute bottom-0 -z-50 min-h-[500px]"
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Infinite table footer
|
|
38
|
+
*/
|
|
39
|
+
function InfinteTableFooter({ table }) {
|
|
40
|
+
const { isFetchingNextPage } = table.options.meta.strategy.meta;
|
|
41
|
+
const pageSize = table.getState().pagination.pageSize;
|
|
42
|
+
const columnLength = table.getAllFlatColumns().length;
|
|
43
|
+
return isFetchingNextPage && Array.from({ length: pageSize }).map((_, index) => /* @__PURE__ */ jsx(TableRow, {
|
|
44
|
+
className: "relative",
|
|
45
|
+
children: Array.from({ length: columnLength }).map((_, index) => /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(Skeleton, { className: "my-2 h-2 w-full rounded-full" }) }, index))
|
|
46
|
+
}, index));
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { InfinteTableBottombar, InfinteTableFooter };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { TableStrategy } from "../../lib/types.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/data-tables/strategies/infinite/strategy.d.ts
|
|
4
|
+
interface UseInfiniteStrategyInput {
|
|
5
|
+
cursor: number | undefined;
|
|
6
|
+
total: number | undefined;
|
|
7
|
+
fetchNextPage: () => void;
|
|
8
|
+
isFetching: boolean;
|
|
9
|
+
isFetchingNextPage: boolean;
|
|
10
|
+
}
|
|
11
|
+
type InfiniteStrategyMeta = Pick<UseInfiniteStrategyInput, "isFetching" | "isFetchingNextPage" | "total" | "cursor" | "fetchNextPage">;
|
|
12
|
+
declare function useInfiniteStrategy({
|
|
13
|
+
cursor,
|
|
14
|
+
total,
|
|
15
|
+
fetchNextPage,
|
|
16
|
+
isFetching,
|
|
17
|
+
isFetchingNextPage
|
|
18
|
+
}: UseInfiniteStrategyInput): TableStrategy;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { InfiniteStrategyMeta, UseInfiniteStrategyInput, useInfiniteStrategy };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { tableSearchParams } from "../../lib/search-params.mjs";
|
|
4
|
+
import { handleSortingChange } from "../helpers/sorting.mjs";
|
|
5
|
+
import { useQueryStates } from "nuqs";
|
|
6
|
+
|
|
7
|
+
//#region src/modules/data-tables/strategies/infinite/strategy.ts
|
|
8
|
+
function useInfiniteStrategy({ cursor, total, fetchNextPage, isFetching, isFetchingNextPage }) {
|
|
9
|
+
const [query, setQuery] = useQueryStates(tableSearchParams);
|
|
10
|
+
const paginationState = {
|
|
11
|
+
pageIndex: cursor ?? 0,
|
|
12
|
+
pageSize: query.limit
|
|
13
|
+
};
|
|
14
|
+
const sortingState = query.sort ? [{
|
|
15
|
+
id: query.sort,
|
|
16
|
+
desc: query.order === "desc"
|
|
17
|
+
}] : [];
|
|
18
|
+
const resetCursor = () => null;
|
|
19
|
+
return {
|
|
20
|
+
name: "infinite",
|
|
21
|
+
rowCount: total,
|
|
22
|
+
paginationState,
|
|
23
|
+
manualPagination: true,
|
|
24
|
+
onPaginationChange: (updater) => {
|
|
25
|
+
const newState = typeof updater === "function" ? updater(paginationState) : updater;
|
|
26
|
+
setQuery({ limit: newState.pageSize });
|
|
27
|
+
fetchNextPage();
|
|
28
|
+
return newState;
|
|
29
|
+
},
|
|
30
|
+
resetCursor,
|
|
31
|
+
tableSearchParams,
|
|
32
|
+
sortingState,
|
|
33
|
+
manualSorting: true,
|
|
34
|
+
onSortingChange: handleSortingChange({
|
|
35
|
+
sortingState,
|
|
36
|
+
setQuery,
|
|
37
|
+
resetCursor
|
|
38
|
+
}),
|
|
39
|
+
meta: {
|
|
40
|
+
total,
|
|
41
|
+
cursor,
|
|
42
|
+
fetchNextPage,
|
|
43
|
+
isFetching,
|
|
44
|
+
isFetchingNextPage
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { useInfiniteStrategy };
|