@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
|
@@ -10,14 +10,11 @@ import {
|
|
|
10
10
|
useEffect,
|
|
11
11
|
useState,
|
|
12
12
|
} from "react";
|
|
13
|
-
import type { CommandDef } from "@/modules/commands/lib/
|
|
13
|
+
import type { CommandDef } from "@/modules/commands/lib/builder";
|
|
14
14
|
import type { TableFiltersResult } from "../lib/filters/config";
|
|
15
15
|
import type { Selection, TableColumnDef, TableMetaInput, TableStrategy } from "../lib/types";
|
|
16
16
|
|
|
17
|
-
type useReactTableProps<TData
|
|
18
|
-
TableOptions<TData>,
|
|
19
|
-
"getCoreRowModel"
|
|
20
|
-
> & {
|
|
17
|
+
type useReactTableProps<TData> = Omit<TableOptions<TData>, "getCoreRowModel"> & {
|
|
21
18
|
getCoreRowModel?: TableOptions<TData>["getCoreRowModel"];
|
|
22
19
|
};
|
|
23
20
|
|
|
@@ -25,18 +22,19 @@ type useReactTableProps<TData extends { id: string }> = Omit<
|
|
|
25
22
|
* Use table config
|
|
26
23
|
*/
|
|
27
24
|
export type TableConfigContextValue<
|
|
28
|
-
TData
|
|
25
|
+
TData,
|
|
29
26
|
TFilters extends TableFiltersResult = TableFiltersResult,
|
|
30
27
|
TMeta extends TableMetaInput<TData> = TableMetaInput<TData>,
|
|
31
28
|
> = useReactTableProps<TData> & {
|
|
32
29
|
queryData: TData[];
|
|
33
30
|
data: TData[];
|
|
34
31
|
setData: Dispatch<SetStateAction<TData[]>>;
|
|
32
|
+
getRowId: (row: TData) => string;
|
|
35
33
|
columns: TableColumnDef<TData>[];
|
|
36
34
|
strategy: TableStrategy;
|
|
37
35
|
selection?: Selection;
|
|
38
36
|
columnVisibility?: VisibilityState;
|
|
39
|
-
commands?: CommandDef
|
|
37
|
+
commands?: CommandDef[];
|
|
40
38
|
meta?: TMeta;
|
|
41
39
|
where?: TFilters;
|
|
42
40
|
};
|
|
@@ -47,7 +45,7 @@ const TableConfigContext = createContext({});
|
|
|
47
45
|
* Table context hook
|
|
48
46
|
*/
|
|
49
47
|
export function useTableConfigContext<
|
|
50
|
-
TData
|
|
48
|
+
TData,
|
|
51
49
|
TFilters extends TableFiltersResult = TableFiltersResult,
|
|
52
50
|
TMeta extends TableMetaInput<TData> = TableMetaInput<TData>,
|
|
53
51
|
>(): TableConfigContextValue<TData, TFilters, TMeta> {
|
|
@@ -60,7 +58,7 @@ export function useTableConfigContext<
|
|
|
60
58
|
* Table context provider
|
|
61
59
|
*/
|
|
62
60
|
export function TableConfigProvider<
|
|
63
|
-
TData
|
|
61
|
+
TData,
|
|
64
62
|
TFilters extends TableFiltersResult = TableFiltersResult,
|
|
65
63
|
TMeta extends TableMetaInput<TData> = TableMetaInput<TData>,
|
|
66
64
|
>({
|
|
@@ -77,13 +75,13 @@ export function TableConfigProvider<
|
|
|
77
75
|
* Create use table config hook
|
|
78
76
|
*/
|
|
79
77
|
type CreateTableConfigInput<
|
|
80
|
-
TData
|
|
78
|
+
TData,
|
|
81
79
|
TFilters extends TableFiltersResult = TableFiltersResult,
|
|
82
80
|
TMeta extends TableMetaInput<TData> = TableMetaInput<TData>,
|
|
83
81
|
> = Omit<TableConfigContextValue<TData, TFilters, TMeta>, "data" | "setData">;
|
|
84
82
|
|
|
85
83
|
export const createTableConfig = <
|
|
86
|
-
TData
|
|
84
|
+
TData,
|
|
87
85
|
TFilters extends TableFiltersResult = TableFiltersResult,
|
|
88
86
|
TMeta extends TableMetaInput<TData> = TableMetaInput<TData>,
|
|
89
87
|
>(
|
|
@@ -7,16 +7,17 @@ import type { Selection } from "../lib/types";
|
|
|
7
7
|
/**
|
|
8
8
|
* Row selection props
|
|
9
9
|
*/
|
|
10
|
-
type UseSelectionProps<TData
|
|
10
|
+
type UseSelectionProps<TData> = {
|
|
11
11
|
data: TData[];
|
|
12
12
|
selection?: Selection;
|
|
13
|
+
getRowId: (row: TData) => string;
|
|
13
14
|
};
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Row selection hook for tanstack/react-table
|
|
17
18
|
* @param { UseSelectionProps<TData> } props
|
|
18
19
|
*/
|
|
19
|
-
export function useSelection<TData
|
|
20
|
+
export function useSelection<TData>(props: UseSelectionProps<TData>) {
|
|
20
21
|
const [rowSelectionState, setRowSelectionState] = React.useState({});
|
|
21
22
|
const [selectedData, setSelectedData] = React.useState<TData[]>([]);
|
|
22
23
|
|
|
@@ -41,11 +42,17 @@ export function useSelection<TData extends { id: string }>(props: UseSelectionPr
|
|
|
41
42
|
// Filter out the items that are no longer selected and add the newly selected items
|
|
42
43
|
setSelectedData((prevData) => {
|
|
43
44
|
// Create a Set of previously selected IDs for faster lookup
|
|
44
|
-
const prevSelectedIds = new Set(prevData.map((item) => item
|
|
45
|
+
const prevSelectedIds = new Set(prevData.map((item) => props.getRowId(item)));
|
|
45
46
|
|
|
46
47
|
return [
|
|
47
|
-
...prevData.filter((
|
|
48
|
-
|
|
48
|
+
...prevData.filter((row) => {
|
|
49
|
+
const id = props.getRowId(row);
|
|
50
|
+
return selectedIds.has(id) && prevSelectedIds.has(id);
|
|
51
|
+
}),
|
|
52
|
+
...props.data.filter((row) => {
|
|
53
|
+
const id = props.getRowId(row);
|
|
54
|
+
return selectedIds.has(id) && !prevSelectedIds.has(id);
|
|
55
|
+
}),
|
|
49
56
|
];
|
|
50
57
|
});
|
|
51
58
|
|
|
@@ -14,16 +14,14 @@ import { useSelection } from "./use-selection.client";
|
|
|
14
14
|
/**
|
|
15
15
|
* Server data table
|
|
16
16
|
*/
|
|
17
|
-
export function useTable<
|
|
18
|
-
|
|
19
|
-
TMeta extends TableMeta<TData> = TableMeta<TData>,
|
|
20
|
-
>() {
|
|
21
|
-
const { data, strategy, selection, columnVisibility, commands, ...options } =
|
|
17
|
+
export function useTable<TData, TMeta extends TableMeta<TData> = TableMeta<TData>>() {
|
|
18
|
+
const { data, strategy, selection, columnVisibility, commands, getRowId, ...options } =
|
|
22
19
|
useTableConfigContext<TData, TMeta>();
|
|
23
20
|
|
|
24
21
|
const { rowSelection, selectedData, onRowSelectionChange } = useSelection({
|
|
25
22
|
data,
|
|
26
23
|
selection,
|
|
24
|
+
getRowId,
|
|
27
25
|
});
|
|
28
26
|
const [columnFilters, setColumnFilters] = useState<ColumnFiltersState>([]);
|
|
29
27
|
|
|
@@ -44,7 +42,7 @@ export function useTable<
|
|
|
44
42
|
pagination: strategy.paginationState,
|
|
45
43
|
},
|
|
46
44
|
getCoreRowModel: getCoreRowModel(),
|
|
47
|
-
getRowId:
|
|
45
|
+
getRowId: getRowId,
|
|
48
46
|
manualPagination: strategy.manualPagination,
|
|
49
47
|
onPaginationChange: strategy.onPaginationChange,
|
|
50
48
|
manualSorting: strategy.manualSorting,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { TDatabaseSchema } from "@tulip-systems/core/config";
|
|
2
|
+
import { and, type SQL } from "drizzle-orm";
|
|
3
|
+
import type { Database } from "@/modules/database/lib/service.server";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Parser function for a single filter key.
|
|
7
|
+
* Returns a SQL condition or undefined when the filter is not active.
|
|
8
|
+
*/
|
|
9
|
+
type FilterParser<TFilters, TSchema extends TDatabaseSchema = TDatabaseSchema> = (
|
|
10
|
+
filters: TFilters,
|
|
11
|
+
context: { db: Database<TSchema> },
|
|
12
|
+
) => SQL | undefined;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Map of filter keys to parser functions.
|
|
16
|
+
* Parsers are optional so routes can define only the keys they need.
|
|
17
|
+
*/
|
|
18
|
+
type FilterParserConfig<
|
|
19
|
+
TFilters extends Record<string, unknown>,
|
|
20
|
+
TSchema extends TDatabaseSchema = TDatabaseSchema,
|
|
21
|
+
> = {
|
|
22
|
+
[K in keyof TFilters]?: FilterParser<TFilters, TSchema>;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Boolean key selection used by .pick() and .omit().
|
|
27
|
+
* Example: { search: true, status: true }
|
|
28
|
+
*/
|
|
29
|
+
type KeySelection<K extends PropertyKey> = Partial<Record<K, boolean>>;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Creates a chainable parser builder for table query filters.
|
|
33
|
+
*
|
|
34
|
+
* Usage:
|
|
35
|
+
* - create parser once from config
|
|
36
|
+
* - bind context per request
|
|
37
|
+
* - optionally narrow keys with pick/omit
|
|
38
|
+
* - parse filters into a single `and(...)` SQL condition
|
|
39
|
+
*/
|
|
40
|
+
export function createTableQueryFiltersParser<
|
|
41
|
+
TFilters extends Record<string, unknown>,
|
|
42
|
+
TSchema extends TDatabaseSchema = TDatabaseSchema,
|
|
43
|
+
>(config: FilterParserConfig<TFilters, TSchema>) {
|
|
44
|
+
type Key = Extract<keyof TFilters, string>;
|
|
45
|
+
// All configured filter keys; used as the default selected set.
|
|
46
|
+
const configKeys = Object.keys(config) as Key[];
|
|
47
|
+
|
|
48
|
+
// Immutable builder: each pick/omit returns a new builder instance.
|
|
49
|
+
function createBuilder(context: { db: Database<TSchema> }, selected: Set<Key>) {
|
|
50
|
+
return {
|
|
51
|
+
// Keep only the keys explicitly marked as true.
|
|
52
|
+
pick(keys: KeySelection<Key>) {
|
|
53
|
+
const selectedKeys = Object.entries(keys)
|
|
54
|
+
.filter(([_, value]) => value)
|
|
55
|
+
.map(([key]) => key) as Key[];
|
|
56
|
+
|
|
57
|
+
const next = new Set<Key>(selectedKeys);
|
|
58
|
+
return createBuilder(context, next);
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
// Remove keys marked as true from the current selected set.
|
|
62
|
+
omit(keys: KeySelection<Key>) {
|
|
63
|
+
const selectedKeys = Array.from(selected).filter((key) => !keys[key]);
|
|
64
|
+
|
|
65
|
+
const next = new Set(selectedKeys);
|
|
66
|
+
return createBuilder(context, next);
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
// Parse active filter keys into one SQL `and(...)` expression.
|
|
70
|
+
parse(filters: TFilters): SQL | undefined {
|
|
71
|
+
const conditions: (SQL | undefined)[] = Array.from(selected).map((key) => {
|
|
72
|
+
const parser = config[key];
|
|
73
|
+
if (!parser) throw new Error(`No parser defined for filter key "${key}"`);
|
|
74
|
+
|
|
75
|
+
return parser(filters, context);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
return and(...conditions);
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Bind request context and start with all configured keys selected.
|
|
84
|
+
return (context: { db: Database<TSchema> }) => createBuilder(context, new Set(configKeys));
|
|
85
|
+
}
|
|
@@ -5,7 +5,7 @@ import type { TableQuerySchema } from "../validators";
|
|
|
5
5
|
* @param {ConvertPaginationToQueryParamsInput} pagination
|
|
6
6
|
* @returns {{ limit: number; offset: number; }}
|
|
7
7
|
*/
|
|
8
|
-
export function
|
|
8
|
+
export function parseTableQueryPagination({
|
|
9
9
|
limit,
|
|
10
10
|
cursor,
|
|
11
11
|
}: Pick<TableQuerySchema, "cursor" | "limit">) {
|
|
@@ -1,25 +1,68 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { PgColumn
|
|
1
|
+
import { asc, desc, type SQL } from "drizzle-orm";
|
|
2
|
+
import type { PgColumn } from "drizzle-orm/pg-core";
|
|
3
3
|
import type { TableQuerySchema } from "../validators";
|
|
4
4
|
|
|
5
|
-
export type ConvertSortToQueryParamsFallback = ValueOrArray<AnyColumn | SQL>;
|
|
6
|
-
|
|
7
5
|
/**
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* Creates a reusable sorting parser for table query parameters.
|
|
7
|
+
*
|
|
8
|
+
* Resolves a user's sort/order selection to Drizzle SQL expressions.
|
|
9
|
+
* Supports sorting on both own-table columns and relation columns (via joins).
|
|
10
|
+
*
|
|
11
|
+
* Returns an object with the resolved config, normalized options, and a `parse`
|
|
12
|
+
* function that converts `TableQuerySchema` input into `SQL[]` for `.orderBy(...orderBy)`.
|
|
13
|
+
*
|
|
14
|
+
* @param config - Sortable columns keyed by their URL sort parameter name.
|
|
15
|
+
* Use `getTableColumns(table)` as a base, and spread in relation columns.
|
|
16
|
+
* @param options.fallback - Order applied when no valid sort is provided by the user.
|
|
17
|
+
* @param options.every - Order appended to every result, regardless of user sort.
|
|
18
|
+
* Useful for deterministic tiebreakers (e.g. always sort by id as secondary).
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const runSortingConfig = {
|
|
22
|
+
* ...getTableColumns(runs),
|
|
23
|
+
* projectTitle: projects.title,
|
|
24
|
+
* };
|
|
25
|
+
*
|
|
26
|
+
* export const parseRunTableQuerySorting = createTableQuerySortingParser(
|
|
27
|
+
* runSortingConfig,
|
|
28
|
+
* { fallback: [desc(runs.scheduledAt)] },
|
|
29
|
+
* );
|
|
30
|
+
*
|
|
31
|
+
* // In handler:
|
|
32
|
+
* const orderBy = parseRunTableQuerySorting.parse(input);
|
|
33
|
+
* db.select().from(runs).orderBy(...orderBy);
|
|
11
34
|
*/
|
|
12
|
-
export function
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
35
|
+
export function createTableQuerySortingParser<TConfig extends Record<string, PgColumn>>(
|
|
36
|
+
config: TConfig,
|
|
37
|
+
options?: { fallback?: SQL | SQL[]; every?: SQL | SQL[] },
|
|
38
|
+
) {
|
|
39
|
+
const every = options?.every
|
|
40
|
+
? Array.isArray(options.every)
|
|
41
|
+
? options.every
|
|
42
|
+
: [options.every]
|
|
43
|
+
: [];
|
|
44
|
+
|
|
45
|
+
const fallback = options?.fallback
|
|
46
|
+
? Array.isArray(options.fallback)
|
|
47
|
+
? options.fallback
|
|
48
|
+
: [options.fallback]
|
|
49
|
+
: [];
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
config,
|
|
53
|
+
options: {
|
|
54
|
+
every,
|
|
55
|
+
fallback,
|
|
56
|
+
},
|
|
57
|
+
parse: (input: Pick<TableQuerySchema, "sort" | "order">): SQL[] => {
|
|
58
|
+
const direction = input.order === "asc" ? asc : desc;
|
|
18
59
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
60
|
+
if (input.sort && input.sort in config) {
|
|
61
|
+
const column = config[input.sort as keyof typeof config] as PgColumn;
|
|
62
|
+
return [direction(column), ...every];
|
|
63
|
+
}
|
|
23
64
|
|
|
24
|
-
|
|
65
|
+
return [...fallback, ...every];
|
|
66
|
+
},
|
|
67
|
+
};
|
|
25
68
|
}
|
|
@@ -79,6 +79,24 @@ export const parseFilterDatetime = <TSchema extends ParseFilterDatetimeSchema>(
|
|
|
79
79
|
encode: (decoded) => (decoded ? decoded.toISOString() : ""),
|
|
80
80
|
});
|
|
81
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Filter datetime range value (tuple of two dates)
|
|
84
|
+
*/
|
|
85
|
+
export type ParseFilterDatetimeRangeSchema = z.ZodTuple<[z.ZodDate, z.ZodDate]>;
|
|
86
|
+
|
|
87
|
+
export const parseFilterDatetimeRange = <TSchema extends ParseFilterDatetimeRangeSchema>(
|
|
88
|
+
schema: TSchema,
|
|
89
|
+
): ParseFilter<TSchema> => ({
|
|
90
|
+
schema: schema.nullable(),
|
|
91
|
+
decode: (encoded) => {
|
|
92
|
+
if (!encoded) return null as unknown as z.input<TSchema>;
|
|
93
|
+
const [from, to] = encoded.split("_");
|
|
94
|
+
return (from && to ? [new Date(from), new Date(to)] : null) as unknown as z.input<TSchema>;
|
|
95
|
+
},
|
|
96
|
+
encode: (decoded) =>
|
|
97
|
+
decoded ? `${decoded[0].toISOString()}_${decoded[1].toISOString()}` : "",
|
|
98
|
+
});
|
|
99
|
+
|
|
82
100
|
/**
|
|
83
101
|
* Filter range value
|
|
84
102
|
*/
|
|
@@ -8,17 +8,17 @@ import type {
|
|
|
8
8
|
} from "@tanstack/react-table";
|
|
9
9
|
import type { UseQueryStatesKeysMap } from "nuqs";
|
|
10
10
|
import type { Permission } from "@/modules/auth/lib/permissions";
|
|
11
|
-
import type { CommandDef } from "@/modules/commands/lib/
|
|
11
|
+
import type { CommandDef } from "@/modules/commands/lib/builder";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Data table meta
|
|
15
15
|
*/
|
|
16
|
-
export type TableMetaInput<TData
|
|
16
|
+
export type TableMetaInput<TData> = TanStackTableMeta<TData>;
|
|
17
17
|
|
|
18
|
-
export type TableMeta<TData
|
|
18
|
+
export type TableMeta<TData, TMeta = TableMetaInput<TData>> = {
|
|
19
19
|
strategy: TableStrategy;
|
|
20
20
|
selectedData: TData[];
|
|
21
|
-
commands?: CommandDef
|
|
21
|
+
commands?: CommandDef[];
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -1,26 +1,31 @@
|
|
|
1
1
|
import "server-cli-only";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
type AnyColumn,
|
|
5
|
+
and,
|
|
6
|
+
type DBQueryConfig,
|
|
7
|
+
getTableColumns,
|
|
8
|
+
getTableName,
|
|
9
|
+
isTable,
|
|
10
|
+
type SQL,
|
|
11
|
+
} from "drizzle-orm";
|
|
4
12
|
import type { PgTable } from "drizzle-orm/pg-core";
|
|
5
13
|
import type { RelationalQueryBuilder } from "drizzle-orm/pg-core/query-builders/query";
|
|
6
|
-
import type { TDatabaseSchema } from "@/modules/database/lib/types";
|
|
7
14
|
import type { TulipContext } from "@/modules/config/entry";
|
|
8
|
-
import {
|
|
15
|
+
import type { TDatabaseSchema } from "@/modules/database/lib/types";
|
|
16
|
+
import { parseTableQueryPagination } from "../entry.server";
|
|
9
17
|
import {
|
|
10
18
|
type ConvertSearchToQueryParamsFields,
|
|
11
19
|
convertSearchToQueryParams,
|
|
12
20
|
} from "../lib/converters/search";
|
|
13
|
-
import {
|
|
14
|
-
type ConvertSortToQueryParamsFallback,
|
|
15
|
-
convertOrderByToQueryParams,
|
|
16
|
-
} from "../lib/converters/sorting";
|
|
21
|
+
import { createTableQuerySortingParser } from "../lib/converters/sorting";
|
|
17
22
|
import type { TableQuerySchema } from "../lib/validators";
|
|
18
23
|
|
|
19
24
|
export type GetTableDataOptions<TTable extends PgTable> = DBQueryConfig<"many"> & {
|
|
20
25
|
table: TTable;
|
|
21
26
|
where?: SQL;
|
|
22
27
|
columns?: keyof TTable["_"]["columns"];
|
|
23
|
-
defaultOrder:
|
|
28
|
+
defaultOrder: (AnyColumn | SQL)[];
|
|
24
29
|
searchFields: ConvertSearchToQueryParamsFields;
|
|
25
30
|
};
|
|
26
31
|
|
|
@@ -44,10 +49,14 @@ export async function getTableData<TTable extends PgTable, TSchema extends TData
|
|
|
44
49
|
if (!tableName) throw new Error(`Table name not found for table: ${tableName}`);
|
|
45
50
|
|
|
46
51
|
// Convert the query params to DB query
|
|
47
|
-
const { limit, offset } =
|
|
48
|
-
const orderBy = convertOrderByToQueryParams(query, table, defaultSort);
|
|
52
|
+
const { limit, offset } = parseTableQueryPagination(query);
|
|
49
53
|
const search = convertSearchToQueryParams(query, searchFields);
|
|
50
54
|
|
|
55
|
+
const parseTableQuerySorting = createTableQuerySortingParser(getTableColumns(table), {
|
|
56
|
+
fallback: defaultSort as SQL | SQL[],
|
|
57
|
+
});
|
|
58
|
+
const orderBy = parseTableQuerySorting.parse(query);
|
|
59
|
+
|
|
51
60
|
/**
|
|
52
61
|
* Make a transaction to get the data
|
|
53
62
|
*/
|
|
@@ -11,11 +11,7 @@ import type { InfiniteStrategyMeta } from "./strategy";
|
|
|
11
11
|
/**
|
|
12
12
|
* Infinite table bottombar
|
|
13
13
|
*/
|
|
14
|
-
export function InfinteTableBottombar<TData
|
|
15
|
-
table,
|
|
16
|
-
}: {
|
|
17
|
-
table: Table<TData>;
|
|
18
|
-
}) {
|
|
14
|
+
export function InfinteTableBottombar<TData>({ table }: { table: Table<TData> }) {
|
|
19
15
|
const scrollRef = useRef(null);
|
|
20
16
|
const isInView = useInView(scrollRef);
|
|
21
17
|
|
|
@@ -41,11 +37,7 @@ export function InfinteTableBottombar<TData extends { id: string }>({
|
|
|
41
37
|
/**
|
|
42
38
|
* Infinite table footer
|
|
43
39
|
*/
|
|
44
|
-
export function InfinteTableFooter<TData
|
|
45
|
-
table,
|
|
46
|
-
}: {
|
|
47
|
-
table: Table<TData>;
|
|
48
|
-
}) {
|
|
40
|
+
export function InfinteTableFooter<TData>({ table }: { table: Table<TData> }) {
|
|
49
41
|
const meta = table.options.meta as TableMeta<TData>;
|
|
50
42
|
const { isFetchingNextPage } = meta.strategy.meta as InfiniteStrategyMeta;
|
|
51
43
|
|
|
@@ -11,11 +11,7 @@ import {
|
|
|
11
11
|
SelectValue,
|
|
12
12
|
} from "@/components/ui/select.client";
|
|
13
13
|
|
|
14
|
-
export function PaginationTableFooter<TData
|
|
15
|
-
table,
|
|
16
|
-
}: {
|
|
17
|
-
table: Table<TData>;
|
|
18
|
-
}) {
|
|
14
|
+
export function PaginationTableFooter<TData>({ table }: { table: Table<TData> }) {
|
|
19
15
|
const selected = Object.keys(table.getState().rowSelection).length;
|
|
20
16
|
const total = table.getRowCount();
|
|
21
17
|
|
|
@@ -7,11 +7,11 @@ import { TableBody, TableCell, TableRow } from "@/modules/data-tables/components
|
|
|
7
7
|
import type { TableColumnDef } from "../../../lib/types";
|
|
8
8
|
import { DataTableRow } from "./row";
|
|
9
9
|
|
|
10
|
-
type DataTableBodyProps<TData
|
|
10
|
+
type DataTableBodyProps<TData> = {
|
|
11
11
|
table: Table<TData>;
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
export function DataTableBody<TData
|
|
14
|
+
export function DataTableBody<TData>({ table }: DataTableBodyProps<TData>) {
|
|
15
15
|
const { rows } = table.getRowModel();
|
|
16
16
|
|
|
17
17
|
return (
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import type { Table } from "@tanstack/react-table";
|
|
4
4
|
import { TableHeader, TableHeaderCell, TableHeaderRow } from "../../../components/header";
|
|
5
5
|
|
|
6
|
-
export function DataTableHeader<TData
|
|
6
|
+
export function DataTableHeader<TData>({ table }: { table: Table<TData> }) {
|
|
7
7
|
return (
|
|
8
8
|
<TableHeader>
|
|
9
9
|
{table.getHeaderGroups().map((headerGroup) => (
|
|
@@ -2,30 +2,11 @@ import type { Row, Table } from "@tanstack/react-table";
|
|
|
2
2
|
import type * as React from "react";
|
|
3
3
|
import { TableRow } from "@/modules/data-tables/components/table";
|
|
4
4
|
|
|
5
|
-
export type DataTableRowProps<TData
|
|
6
|
-
typeof TableRow
|
|
7
|
-
> & {
|
|
5
|
+
export type DataTableRowProps<TData> = React.ComponentProps<typeof TableRow> & {
|
|
8
6
|
row: Row<TData>;
|
|
9
7
|
table: Table<TData>;
|
|
10
8
|
};
|
|
11
9
|
|
|
12
|
-
export function DataTableRow<TData
|
|
13
|
-
row,
|
|
14
|
-
table,
|
|
15
|
-
className,
|
|
16
|
-
...props
|
|
17
|
-
}: DataTableRowProps<TData>) {
|
|
10
|
+
export function DataTableRow<TData>({ row, table, className, ...props }: DataTableRowProps<TData>) {
|
|
18
11
|
return <TableRow {...props} data-state={row.getIsSelected() && "selected"} />;
|
|
19
12
|
}
|
|
20
|
-
|
|
21
|
-
// <ContextCommandMenu>
|
|
22
|
-
// <ContextCommandMenuTrigger asChild>
|
|
23
|
-
// </ContextCommandMenuTrigger>
|
|
24
|
-
|
|
25
|
-
// <ContextCommandMenuContent
|
|
26
|
-
// data={row.original}
|
|
27
|
-
// commands={meta.commands || []}
|
|
28
|
-
// meta={meta as never}
|
|
29
|
-
// className="w-[300px]"
|
|
30
|
-
// />
|
|
31
|
-
// </ContextCommandMenu>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import type { ComponentProps } from "react";
|
|
4
|
-
import { FloatingCommandMenu } from "@/modules/commands/menus/floating-menu.client";
|
|
4
|
+
import { FloatingCommandMenu } from "@/modules/commands/components/menus/floating-menu.client";
|
|
5
5
|
import { TableBottombar, TableFooter } from "@/modules/data-tables/components/footer";
|
|
6
6
|
import { Table } from "@/modules/data-tables/components/table";
|
|
7
7
|
import type { TableMeta } from "@/modules/data-tables/entry";
|
|
@@ -9,7 +9,7 @@ import { useTable } from "@/modules/data-tables/hooks/use-table.client";
|
|
|
9
9
|
import { DataTableBody } from "./body";
|
|
10
10
|
import { DataTableHeader } from "./header";
|
|
11
11
|
|
|
12
|
-
export function DataTable<TData
|
|
12
|
+
export function DataTable<TData>(props: ComponentProps<typeof Table>) {
|
|
13
13
|
const table = useTable<TData>();
|
|
14
14
|
const meta = table.options.meta as TableMeta<TData>;
|
|
15
15
|
|
|
@@ -25,7 +25,7 @@ import { useInlineTableContext } from "../hooks/context.client";
|
|
|
25
25
|
import { useInlineDataTableHotkeys } from "../hooks/use-hotkeys.client";
|
|
26
26
|
import { InlineTableRow } from "./row.client";
|
|
27
27
|
|
|
28
|
-
export function InlineTableBody<TData
|
|
28
|
+
export function InlineTableBody<TData>({ table }: { table: Table<TData> }) {
|
|
29
29
|
const context = useInlineTableContext();
|
|
30
30
|
|
|
31
31
|
const { rows } = table.getRowModel();
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { Table } from "@tanstack/react-table";
|
|
2
2
|
import { TableHeader, TableHeaderCell, TableHeaderRow } from "../../../components/header";
|
|
3
3
|
|
|
4
|
-
export function InlineTableHeader<TData
|
|
5
|
-
table,
|
|
6
|
-
}: {
|
|
7
|
-
table: Table<TData>;
|
|
8
|
-
}) {
|
|
4
|
+
export function InlineTableHeader<TData>({ table }: { table: Table<TData> }) {
|
|
9
5
|
return (
|
|
10
6
|
<TableHeader>
|
|
11
7
|
{table.getHeaderGroups().map((headerGroup) => (
|
|
@@ -5,23 +5,19 @@ import { CSS } from "@dnd-kit/utilities";
|
|
|
5
5
|
import type { Row, Table } from "@tanstack/react-table";
|
|
6
6
|
import type * as React from "react";
|
|
7
7
|
import { TableRow } from "@/modules/data-tables/components/table";
|
|
8
|
-
import { InlineEditProvider } from "@/modules/inline-edit/entry.client";
|
|
9
8
|
|
|
10
|
-
export type InlineTableRowProps<TData
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
};
|
|
9
|
+
export type InlineTableRowProps<TData> = React.HTMLAttributes<HTMLTableRowElement> & {
|
|
10
|
+
row: Row<TData>;
|
|
11
|
+
table: Table<TData>;
|
|
12
|
+
};
|
|
15
13
|
|
|
16
|
-
export function InlineTableRow<TData
|
|
14
|
+
export function InlineTableRow<TData>({
|
|
17
15
|
row,
|
|
18
16
|
table,
|
|
19
17
|
children,
|
|
20
18
|
...props
|
|
21
19
|
}: InlineTableRowProps<TData>) {
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
const { setNodeRef, transform, transition } = useSortable({ id: rowId });
|
|
20
|
+
const { setNodeRef, transform, transition } = useSortable({ id: row.id });
|
|
25
21
|
|
|
26
22
|
return (
|
|
27
23
|
<TableRow
|
|
@@ -33,7 +29,7 @@ export function InlineTableRow<TData extends { id: string }>({
|
|
|
33
29
|
transition,
|
|
34
30
|
}}
|
|
35
31
|
>
|
|
36
|
-
|
|
32
|
+
{children}
|
|
37
33
|
</TableRow>
|
|
38
34
|
);
|
|
39
35
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import type { ComponentProps } from "react";
|
|
4
4
|
import { HotkeysProvider } from "react-hotkeys-hook";
|
|
5
|
-
import { FloatingCommandMenu } from "@/modules/commands/menus/floating-menu.client";
|
|
5
|
+
import { FloatingCommandMenu } from "@/modules/commands/components/menus/floating-menu.client";
|
|
6
6
|
import { TableBottombar, TableFooter } from "@/modules/data-tables/components/footer";
|
|
7
7
|
import { Table } from "@/modules/data-tables/components/table";
|
|
8
8
|
import type { TableMeta } from "@/modules/data-tables/entry";
|
|
@@ -11,7 +11,7 @@ import { InlineTableProvider } from "../hooks/context.client";
|
|
|
11
11
|
import { InlineTableBody } from "./body";
|
|
12
12
|
import { InlineTableHeader } from "./header";
|
|
13
13
|
|
|
14
|
-
export function InlineTable<TData
|
|
14
|
+
export function InlineTable<TData>({
|
|
15
15
|
disabledColumns,
|
|
16
16
|
moveRowAction,
|
|
17
17
|
hotkeys,
|
|
@@ -47,7 +47,7 @@ export function useInlineTableContext() {
|
|
|
47
47
|
* Inline form table context provider
|
|
48
48
|
*/
|
|
49
49
|
|
|
50
|
-
export function InlineTableProvider<TData
|
|
50
|
+
export function InlineTableProvider<TData>({
|
|
51
51
|
children,
|
|
52
52
|
disabledColumns,
|
|
53
53
|
moveRowAction,
|