@tulip-systems/core 0.8.3 → 0.10.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 +4 -3
- package/dist/commands.mjs +4 -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/badge.d.mts +1 -1
- package/dist/components/ui/button-group.d.mts +1 -1
- package/dist/components/ui/button.d.mts +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.d.mts +1 -1
- 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 +22 -18
- package/dist/data-tables/client.mjs +22 -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 +39 -0
- package/dist/modules/commands/components/menus/context-menu.client.mjs +47 -0
- package/dist/modules/commands/components/menus/dropdown-menu.client.d.mts +29 -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 +29 -0
- package/dist/modules/commands/components/menus/floating-menu.client.mjs +33 -0
- package/dist/modules/commands/components/menus/inline-menu.client.d.mts +29 -0
- package/dist/modules/commands/components/menus/inline-menu.client.mjs +41 -0
- package/dist/modules/commands/components/menus/responsive-menu.client.d.mts +16 -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 +38 -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 +135 -0
- package/dist/modules/commands/lib/builder.mjs +82 -0
- package/dist/modules/commands/lib/registery.d.mts +68 -0
- package/dist/modules/commands/lib/registery.mjs +103 -0
- package/dist/modules/commands/lib/utils.d.mts +11 -0
- package/dist/modules/commands/lib/utils.mjs +14 -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/components/footer.mjs +3 -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 +5 -9
- 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/strategies/local/components.mjs +25 -0
- package/dist/modules/data-tables/strategies/local/strategy.d.mts +12 -0
- package/dist/modules/data-tables/strategies/local/strategy.mjs +31 -0
- 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 +28 -0
- package/dist/modules/inline/components/inputs/combobox-dropdown.client.mjs +49 -0
- package/dist/modules/inline/components/inputs/combobox.client.d.mts +23 -0
- package/dist/modules/inline/components/inputs/combobox.client.mjs +45 -0
- package/dist/modules/inline/components/inputs/date-time.client.d.mts +25 -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 +26 -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 +54 -0
- package/dist/modules/inline/components/inputs/input.client.mjs +129 -0
- package/dist/modules/inline/components/inputs/select.client.d.mts +32 -0
- package/dist/modules/inline/components/inputs/select.client.mjs +64 -0
- package/dist/modules/inline/components/inputs/switch.client.d.mts +22 -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-edit → inline}/lib/variants.d.mts +1 -1
- package/dist/modules/{inline-edit → inline}/lib/variants.mjs +1 -1
- package/dist/modules/router/lib/query-client.d.mts +2 -1
- package/dist/modules/router/lib/query-client.mjs +2 -2
- 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 +3 -2
- package/dist/router.mjs +3 -2
- 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 +39 -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 +29 -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 +29 -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 +29 -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 +16 -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 +48 -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 +135 -0
- package/dist/src/modules/commands/lib/builder.mjs +82 -0
- package/dist/src/modules/commands/lib/registery.d.mts +68 -0
- package/dist/src/modules/commands/lib/registery.mjs +103 -0
- package/dist/src/modules/commands/lib/utils.d.mts +11 -0
- package/dist/src/modules/commands/lib/utils.mjs +14 -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 +31 -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/local/components.mjs +25 -0
- package/dist/src/modules/data-tables/strategies/local/strategy.d.mts +12 -0
- package/dist/src/modules/data-tables/strategies/local/strategy.mjs +31 -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 +28 -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 +23 -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 +25 -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 +26 -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 +54 -0
- package/dist/src/modules/inline/components/inputs/input.client.mjs +129 -0
- package/dist/src/modules/inline/components/inputs/select.client.d.mts +32 -0
- package/dist/src/modules/inline/components/inputs/select.client.mjs +64 -0
- package/dist/src/modules/inline/components/inputs/switch.client.d.mts +22 -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/src/modules/inline/lib/variants.d.mts +11 -0
- 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 +10 -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 +84 -0
- package/src/modules/commands/components/menus/floating-menu.client.tsx +63 -0
- package/src/modules/commands/components/menus/inline-menu.client.tsx +65 -0
- package/src/modules/commands/components/menus/responsive-menu.client.tsx +37 -0
- 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 +53 -8
- 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 +6 -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 +271 -0
- package/src/modules/commands/lib/registery.ts +279 -0
- package/src/modules/commands/lib/utils.ts +10 -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 +11 -2
- package/src/modules/data-tables/entry.client.ts +4 -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 +5 -5
- 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/local/components.tsx +17 -0
- package/src/modules/data-tables/strategies/local/strategy.ts +33 -0
- 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 +112 -0
- package/src/modules/inline/components/inputs/combobox.client.tsx +100 -0
- package/src/modules/inline/components/inputs/date-time.client.tsx +102 -0
- package/src/modules/inline/components/inputs/date.client.tsx +295 -0
- package/src/modules/inline/components/inputs/editor.client.tsx +105 -0
- package/src/modules/inline/components/inputs/input-recipient.client.tsx +97 -0
- package/src/modules/inline/components/inputs/input.client.tsx +256 -0
- package/src/modules/inline/components/inputs/select.client.tsx +132 -0
- package/src/modules/inline/components/inputs/switch.client.tsx +94 -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/src/modules/router/entry.ts +1 -0
- package/src/modules/router/lib/query-client.ts +2 -2
- package/src/styles.css +91 -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/menus/responsive-menu.client.tsx +0 -27
- 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
|
@@ -1,27 +1,19 @@
|
|
|
1
1
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
2
|
import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
3
3
|
|
|
4
|
-
//#region src/modules/commands/utils/archive-command.client.d.ts
|
|
4
|
+
//#region src/modules/commands/components/utils/archive-command.client.d.ts
|
|
5
5
|
type ArchiveCommandProps<TData = unknown, TError = DefaultError, TVariables = {
|
|
6
6
|
ids: string[];
|
|
7
7
|
}, TOnMutateResult = unknown> = {
|
|
8
8
|
variables: TVariables;
|
|
9
9
|
mutation: MutationOptions<TData, TError, TVariables, TOnMutateResult>;
|
|
10
10
|
};
|
|
11
|
-
/**
|
|
12
|
-
* Archive command
|
|
13
|
-
* @description command to archive a resource
|
|
14
|
-
*/
|
|
15
11
|
declare function ArchiveCommand<TData = unknown, TError = DefaultError, TVariables = {
|
|
16
12
|
ids: string[];
|
|
17
13
|
}, TOnMutateResult = unknown>({
|
|
18
14
|
variables,
|
|
19
15
|
mutation
|
|
20
16
|
}: ArchiveCommandProps<TData, TError, TVariables, TOnMutateResult>): react_jsx_runtime0.JSX.Element;
|
|
21
|
-
/**
|
|
22
|
-
* Unarchive command
|
|
23
|
-
* @description command to unarchive a resource
|
|
24
|
-
*/
|
|
25
17
|
declare function RestoreCommand<TData = unknown, TError = DefaultError, TVariables = {
|
|
26
18
|
ids: string[];
|
|
27
19
|
}, TOnMutateResult = unknown>({
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { Icons } from "
|
|
4
|
-
import { CommandLabel } from "../
|
|
5
|
-
import { CommandClick } from "../
|
|
3
|
+
import { Icons } from "../../../../components/common/icons.mjs";
|
|
4
|
+
import { CommandLabel } from "../primitives/command-trigger.client.mjs";
|
|
5
|
+
import { CommandClick } from "../primitives/click-command.client.mjs";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
|
|
8
|
-
//#region src/modules/commands/utils/archive-command.client.tsx
|
|
9
|
-
/**
|
|
10
|
-
* Archive command
|
|
11
|
-
* @description command to archive a resource
|
|
12
|
-
*/
|
|
8
|
+
//#region src/modules/commands/components/utils/archive-command.client.tsx
|
|
13
9
|
function ArchiveCommand({ variables, mutation }) {
|
|
14
10
|
return /* @__PURE__ */ jsxs(CommandClick, {
|
|
15
11
|
variables,
|
|
@@ -19,10 +15,6 @@ function ArchiveCommand({ variables, mutation }) {
|
|
|
19
15
|
children: [/* @__PURE__ */ jsx(Icons.archive, { className: "w-4 text-destructive" }), /* @__PURE__ */ jsx(CommandLabel, {})]
|
|
20
16
|
});
|
|
21
17
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Unarchive command
|
|
24
|
-
* @description command to unarchive a resource
|
|
25
|
-
*/
|
|
26
18
|
function RestoreCommand({ variables, mutation }) {
|
|
27
19
|
return /* @__PURE__ */ jsxs(CommandClick, {
|
|
28
20
|
className: "flex gap-2",
|
|
@@ -1,22 +1,15 @@
|
|
|
1
1
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
2
|
import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
3
3
|
|
|
4
|
-
//#region src/modules/commands/utils/delete-command.client.d.ts
|
|
4
|
+
//#region src/modules/commands/components/utils/delete-command.client.d.ts
|
|
5
5
|
type DeleteCommandProps<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = {
|
|
6
6
|
variables: TVariables;
|
|
7
7
|
mutation: MutationOptions<TData, TError, TVariables, TOnMutateResult>;
|
|
8
8
|
};
|
|
9
|
-
/**
|
|
10
|
-
* Delete command
|
|
11
|
-
* @description command to delete a resource
|
|
12
|
-
*/
|
|
13
9
|
declare function DeleteCommand<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown>({
|
|
14
10
|
variables,
|
|
15
11
|
mutation
|
|
16
12
|
}: DeleteCommandProps<TData, TError, TVariables, TOnMutateResult>): react_jsx_runtime0.JSX.Element;
|
|
17
|
-
/**
|
|
18
|
-
* Single Delete command
|
|
19
|
-
*/
|
|
20
13
|
declare function SingleDeleteCommand<TData = unknown, TError = DefaultError, TVariables = {
|
|
21
14
|
id: string;
|
|
22
15
|
}, TOnMutateResult = unknown>({
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { Icons } from "
|
|
4
|
-
import { CommandLabel } from "../
|
|
5
|
-
import { CommandAlertDialog, CommandAlertDialogAction, CommandAlertDialogCancel, CommandAlertDialogContent, CommandAlertDialogDescription, CommandAlertDialogFooter, CommandAlertDialogHeader, CommandAlertDialogTitle, CommandAlertDialogTrigger } from "../
|
|
3
|
+
import { Icons } from "../../../../components/common/icons.mjs";
|
|
4
|
+
import { CommandLabel } from "../primitives/command-trigger.client.mjs";
|
|
5
|
+
import { CommandAlertDialog, CommandAlertDialogAction, CommandAlertDialogCancel, CommandAlertDialogContent, CommandAlertDialogDescription, CommandAlertDialogFooter, CommandAlertDialogHeader, CommandAlertDialogTitle, CommandAlertDialogTrigger } from "../primitives/alert-dialog-command.client.mjs";
|
|
6
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
|
|
8
|
-
//#region src/modules/commands/utils/delete-command.client.tsx
|
|
9
|
-
/**
|
|
10
|
-
* Delete command
|
|
11
|
-
* @description command to delete a resource
|
|
12
|
-
*/
|
|
8
|
+
//#region src/modules/commands/components/utils/delete-command.client.tsx
|
|
13
9
|
function DeleteCommand({ variables, mutation }) {
|
|
14
10
|
return /* @__PURE__ */ jsxs(CommandAlertDialog, { children: [/* @__PURE__ */ jsxs(CommandAlertDialogTrigger, {
|
|
15
11
|
className: "text-destructive",
|
|
@@ -21,9 +17,6 @@ function DeleteCommand({ variables, mutation }) {
|
|
|
21
17
|
children: "Verwijderen"
|
|
22
18
|
})] })] })] });
|
|
23
19
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Single Delete command
|
|
26
|
-
*/
|
|
27
20
|
function SingleDeleteCommand({ variables, mutation }) {
|
|
28
21
|
return /* @__PURE__ */ jsx(DeleteCommand, {
|
|
29
22
|
variables,
|
|
@@ -3,14 +3,9 @@ import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
|
3
3
|
import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
4
4
|
|
|
5
5
|
//#region src/modules/commands/hooks/use-command-mutation.client.d.ts
|
|
6
|
-
type CommandActionResult = Promise<unknown>;
|
|
7
|
-
type CommandAction<TInput = void> = (input: TInput) => CommandActionResult;
|
|
8
|
-
type BulkCommandAction = (params: {
|
|
9
|
-
ids: string[];
|
|
10
|
-
}) => CommandActionResult;
|
|
11
6
|
type CommandMutationMeta = {
|
|
12
7
|
router: ReturnType<typeof useRouter>;
|
|
13
8
|
};
|
|
14
9
|
declare function useCommandMutation<TData = unknown, TError = DefaultError, TVariables = void, TOnMutateResult = unknown>(options?: MutationOptions<TData, TError, TVariables, TOnMutateResult>): _tanstack_react_query0.UseMutationResult<TData, TError, TVariables, TOnMutateResult>;
|
|
15
10
|
//#endregion
|
|
16
|
-
export {
|
|
11
|
+
export { CommandMutationMeta, useCommandMutation };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useAction } from "../../../lib/hooks/use-action.mjs";
|
|
4
|
-
import { useCommand } from "./
|
|
4
|
+
import { useCommand } from "./use-command.client.mjs";
|
|
5
5
|
import { useRouter } from "next/navigation";
|
|
6
6
|
|
|
7
|
-
//#region src/modules/commands/hooks/use-command-mutation.client.
|
|
7
|
+
//#region src/modules/commands/hooks/use-command-mutation.client.ts
|
|
8
8
|
function useCommandMutation(options) {
|
|
9
9
|
const router = useRouter();
|
|
10
10
|
const commandContext = useCommand();
|
|
@@ -19,13 +19,11 @@ function useCommandMutation(options) {
|
|
|
19
19
|
onSuccess: async (...params) => {
|
|
20
20
|
const result = options?.onSuccess?.(...params);
|
|
21
21
|
commandContext.setStatus("success");
|
|
22
|
-
await commandContext.onSuccess?.();
|
|
23
22
|
return await result;
|
|
24
23
|
},
|
|
25
24
|
onError: async (...params) => {
|
|
26
25
|
const result = options?.onError?.(...params);
|
|
27
26
|
commandContext.setStatus("error");
|
|
28
|
-
await commandContext.onError?.();
|
|
29
27
|
return await result;
|
|
30
28
|
},
|
|
31
29
|
onSettled: async (...params) => {
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CommandStatus, CommandUI } from "../lib/builder.mjs";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
import { Dispatch, PropsWithChildren, SetStateAction } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/modules/commands/hooks/use-command.client.d.ts
|
|
6
|
+
type CommandContextValue = {
|
|
7
|
+
ui: CommandUI;
|
|
8
|
+
status: CommandStatus;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
setStatus: Dispatch<SetStateAction<CommandStatus>>;
|
|
11
|
+
};
|
|
12
|
+
declare function useCommand(): CommandContextValue;
|
|
13
|
+
type CommandContextLifecycle = {
|
|
14
|
+
onSuccess?: () => Promise<void> | void;
|
|
15
|
+
onError?: () => Promise<void> | void;
|
|
16
|
+
onSettled?: () => Promise<void> | void;
|
|
17
|
+
};
|
|
18
|
+
type CommandContextProviderProps = PropsWithChildren<CommandContextLifecycle & {
|
|
19
|
+
ui: CommandUI;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
declare function CommandContextProvider({
|
|
23
|
+
children,
|
|
24
|
+
ui,
|
|
25
|
+
disabled,
|
|
26
|
+
onSuccess,
|
|
27
|
+
onError,
|
|
28
|
+
onSettled
|
|
29
|
+
}: CommandContextProviderProps): react_jsx_runtime0.JSX.Element;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { CommandContextLifecycle, CommandContextProvider, useCommand };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { createContext, useContext, useEffect, useRef, useState } from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/modules/commands/hooks/use-command.client.tsx
|
|
7
|
+
const CommandContext = createContext(null);
|
|
8
|
+
function useCommand() {
|
|
9
|
+
const context = useContext(CommandContext);
|
|
10
|
+
if (!context) throw new Error("useCommand must be used within CommandContextProvider");
|
|
11
|
+
return context;
|
|
12
|
+
}
|
|
13
|
+
function CommandContextProvider({ children, ui, disabled = false, onSuccess, onError, onSettled }) {
|
|
14
|
+
const [status, setStatus] = useState("idle");
|
|
15
|
+
const previousStatusRef = useRef("idle");
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (status === previousStatusRef.current) return;
|
|
18
|
+
if (status === "success") {
|
|
19
|
+
onSuccess?.();
|
|
20
|
+
onSettled?.();
|
|
21
|
+
}
|
|
22
|
+
if (status === "error") {
|
|
23
|
+
onError?.();
|
|
24
|
+
onSettled?.();
|
|
25
|
+
}
|
|
26
|
+
previousStatusRef.current = status;
|
|
27
|
+
}, [
|
|
28
|
+
status,
|
|
29
|
+
onSuccess,
|
|
30
|
+
onError,
|
|
31
|
+
onSettled
|
|
32
|
+
]);
|
|
33
|
+
return /* @__PURE__ */ jsx(CommandContext.Provider, {
|
|
34
|
+
value: {
|
|
35
|
+
ui,
|
|
36
|
+
status,
|
|
37
|
+
disabled,
|
|
38
|
+
setStatus
|
|
39
|
+
},
|
|
40
|
+
children
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
//#endregion
|
|
45
|
+
export { CommandContextProvider, useCommand };
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Permission } from "../../auth/lib/permissions.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/commands/lib/builder.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* The different UI contexts in which a command can be rendered.
|
|
6
|
+
*/
|
|
7
|
+
type CommandUI = "dropdown" | "context" | "table" | "inline" | "custom";
|
|
8
|
+
/**
|
|
9
|
+
* The status of a command, which can be used to style the command's UI appropriately.
|
|
10
|
+
*/
|
|
11
|
+
type CommandStatus = "idle" | "pending" | "success" | "error";
|
|
12
|
+
/**
|
|
13
|
+
* A string tag that can be added to a command for organizational and filtering purposes.
|
|
14
|
+
*/
|
|
15
|
+
type CommandTag = string;
|
|
16
|
+
/**
|
|
17
|
+
* Represents a command definition with its associated types and properties.
|
|
18
|
+
*/
|
|
19
|
+
type AnyCommandDef = CommandDef<any, any, any, any>;
|
|
20
|
+
/**
|
|
21
|
+
* Condition function that determines whether a command is visible or disabled based on the provided data and meta.
|
|
22
|
+
*/
|
|
23
|
+
type CommandCondition<TData, TMeta> = (params: {
|
|
24
|
+
data: TData;
|
|
25
|
+
meta: TMeta;
|
|
26
|
+
}) => boolean | boolean[];
|
|
27
|
+
/**
|
|
28
|
+
* Render function that defines how a command should be rendered based on the provided data, meta, and UI context.
|
|
29
|
+
*/
|
|
30
|
+
type CommandRender<TData, TMeta> = (params: {
|
|
31
|
+
data: TData;
|
|
32
|
+
meta: TMeta;
|
|
33
|
+
ui: CommandUI;
|
|
34
|
+
}) => React.ReactNode;
|
|
35
|
+
/**
|
|
36
|
+
* Final command definition (without name).
|
|
37
|
+
* Name is derived from the object key in `defineCommands`.
|
|
38
|
+
*
|
|
39
|
+
* @typeParam TData - The type `visibleWhen`, `disabledWhen`, and `render` receive.
|
|
40
|
+
* When `.transform()` is used this is the post-transform type.
|
|
41
|
+
* @typeParam TMeta - Shared contextual metadata passed alongside data.
|
|
42
|
+
* @typeParam TTags - Literal tuple of tag strings preserved from the builder's
|
|
43
|
+
* `.tags()` call. Enables compile-time tag filtering in the
|
|
44
|
+
* registry. Defaults to `string[]` when not provided.
|
|
45
|
+
* @typeParam TInput - The type that menus must pass as `data`. Equals `TData`
|
|
46
|
+
* when no `.transform()` is used. When `.transform(fn)` is
|
|
47
|
+
* called, `TInput` captures the pre-transform type so menus
|
|
48
|
+
* remain correctly typed while `render` sees the transformed type.
|
|
49
|
+
* Structurally expressed as the parameter of `transform`.
|
|
50
|
+
*/
|
|
51
|
+
type CommandDef<TData = unknown, TMeta = object, TTags extends readonly string[] = string[], TInput = TData> = {
|
|
52
|
+
id?: string;
|
|
53
|
+
tags: TTags;
|
|
54
|
+
transform?: (data: TInput) => TData;
|
|
55
|
+
permission?: Permission;
|
|
56
|
+
visibleWhen?: CommandCondition<TData, TMeta>;
|
|
57
|
+
disabledWhen?: CommandCondition<TData, TMeta>;
|
|
58
|
+
render: CommandRender<TData, TMeta>;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Command typed by accepted input data.
|
|
62
|
+
*
|
|
63
|
+
* Useful for APIs that only care about what can be passed in (e.g. table
|
|
64
|
+
* providers that always pass selected rows), not the command's normalized
|
|
65
|
+
* render-time shape.
|
|
66
|
+
*/
|
|
67
|
+
type CommandFor<TInput, TMeta = object> = CommandDef<any, TMeta, any, TInput>;
|
|
68
|
+
/**
|
|
69
|
+
* Extracts the **input** data type of a command — what menus must pass as `data`.
|
|
70
|
+
*
|
|
71
|
+
* - When `.transform()` is used, this is the pre-transform type (e.g. `Template | Template[]`).
|
|
72
|
+
* - Otherwise it equals the render-time type.
|
|
73
|
+
*
|
|
74
|
+
* The type is read from the `transform` field's parameter when present, and
|
|
75
|
+
* falls back to the `render` parameter when there is no transformer.
|
|
76
|
+
*/
|
|
77
|
+
type ExtractCommandData<TCommand extends AnyCommandDef> = [NonNullable<TCommand["transform"]>] extends [never] ? TCommand extends {
|
|
78
|
+
render: (params: {
|
|
79
|
+
data: infer TData;
|
|
80
|
+
meta: any;
|
|
81
|
+
ui: any;
|
|
82
|
+
}) => any;
|
|
83
|
+
} ? TData : never : NonNullable<TCommand["transform"]> extends ((data: infer TInput) => any) ? TInput : never;
|
|
84
|
+
/**
|
|
85
|
+
* Builder state after `.$type<TData>()` has been called (or at initial state
|
|
86
|
+
* with `TData = unknown`).
|
|
87
|
+
*
|
|
88
|
+
* @typeParam TData - Current render-time data type (post-transform if used).
|
|
89
|
+
* @typeParam TTags - Literal tag tuple, carried through every method so that
|
|
90
|
+
* the final `CommandDef` retains the literal type.
|
|
91
|
+
* @typeParam TInput - Input data type for menus. Starts equal to `TData`.
|
|
92
|
+
* Freezes to the value of `TData` at the moment `.transform()`
|
|
93
|
+
* is called, while `TData` changes to the transformer's output.
|
|
94
|
+
*/
|
|
95
|
+
type ReadyCommandBuilder<TData, TMeta, TTags extends readonly string[] = string[], TInput = TData> = {
|
|
96
|
+
/** Override the data (and optionally meta) type. Resets `TInput` to the new `TData`. */$type<TNewData, TNewMeta = TMeta>(): ReadyCommandBuilder<TNewData, TNewMeta, TTags, TNewData>;
|
|
97
|
+
/**
|
|
98
|
+
* Set the command's tags as a literal tuple. The `const` modifier infers
|
|
99
|
+
* string arguments as literals, enabling compile-time tag narrowing in the registry.
|
|
100
|
+
*/
|
|
101
|
+
tags<const TNewTags extends string[]>(...tags: TNewTags): ReadyCommandBuilder<TData, TMeta, TNewTags, TInput>;
|
|
102
|
+
permission(permission: Permission): ReadyCommandBuilder<TData, TMeta, TTags, TInput>;
|
|
103
|
+
/**
|
|
104
|
+
* Declares a lightweight transformer that runs once per render — before `visibleWhen`,
|
|
105
|
+
* `disabledWhen`, and `render` — collapsing the input type into a single usable shape.
|
|
106
|
+
*
|
|
107
|
+
* Freezes `TInput` to the current `TData` (the pre-transform type) and advances
|
|
108
|
+
* `TData` to `TNewData` (the transformer's return type). This ensures:
|
|
109
|
+
* - Menus are typed against the union input (e.g. `Template | Template[]`)
|
|
110
|
+
* - `visibleWhen` and `render` work with the clean transformed type (e.g. `Template[]`)
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* commandBuilder
|
|
114
|
+
* .$type<Template | Template[]>()
|
|
115
|
+
* .transform((data) => (Array.isArray(data) ? data : [data]))
|
|
116
|
+
* .visibleWhen(({ data }) => data.length > 0) // data: Template[]
|
|
117
|
+
* .render(({ data }) => <ArchiveCommand ids={data.map(i => i.id)} />)
|
|
118
|
+
*/
|
|
119
|
+
transform<TNewData>(fn: (data: TData) => TNewData): ReadyCommandBuilder<TNewData, TMeta, TTags, TData>;
|
|
120
|
+
visibleWhen(condition: CommandCondition<TData, TMeta>): ReadyCommandBuilder<TData, TMeta, TTags, TInput>;
|
|
121
|
+
disabledWhen(condition: CommandCondition<TData, TMeta>): ReadyCommandBuilder<TData, TMeta, TTags, TInput>; /** Terminal — produces the final `CommandDef`. */
|
|
122
|
+
render(render: CommandRender<TData, TMeta>): CommandDef<TData, TMeta, TTags, TInput>;
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* The initial builder returned by `commandBuilder` / `createCommandBuilder()`.
|
|
126
|
+
* Before `.$type<>()` is called, `TData` is `unknown`.
|
|
127
|
+
*/
|
|
128
|
+
type InitialCommandBuilder<TMeta> = ReadyCommandBuilder<unknown, TMeta, string[], unknown> & {
|
|
129
|
+
$type<TNewData, TNewMeta = TMeta>(): ReadyCommandBuilder<TNewData, TNewMeta, string[], TNewData>;
|
|
130
|
+
tags<const TNewTags extends string[]>(...tags: TNewTags): ReadyCommandBuilder<unknown, TMeta, TNewTags, unknown>;
|
|
131
|
+
};
|
|
132
|
+
declare function createCommandBuilder<TMeta = object>(): InitialCommandBuilder<TMeta>;
|
|
133
|
+
declare const commandBuilder: InitialCommandBuilder<object>;
|
|
134
|
+
//#endregion
|
|
135
|
+
export { AnyCommandDef, CommandCondition, CommandDef, CommandFor, CommandRender, CommandStatus, CommandTag, CommandUI, ExtractCommandData, commandBuilder, createCommandBuilder };
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
//#region src/modules/commands/lib/builder.ts
|
|
2
|
+
function createInitialBuilder(state) {
|
|
3
|
+
return {
|
|
4
|
+
...createReadyBuilder({
|
|
5
|
+
tags: state.tags ?? [],
|
|
6
|
+
permission: state.permission
|
|
7
|
+
}),
|
|
8
|
+
tags(...tags) {
|
|
9
|
+
return createReadyBuilder({
|
|
10
|
+
tags,
|
|
11
|
+
permission: state.permission
|
|
12
|
+
});
|
|
13
|
+
},
|
|
14
|
+
$type() {
|
|
15
|
+
return createReadyBuilder({
|
|
16
|
+
tags: state.tags ?? [],
|
|
17
|
+
permission: state.permission
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function createReadyBuilder(state) {
|
|
23
|
+
return {
|
|
24
|
+
$type() {
|
|
25
|
+
return createReadyBuilder({
|
|
26
|
+
tags: state.tags,
|
|
27
|
+
permission: state.permission
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
tags(...tags) {
|
|
31
|
+
return createReadyBuilder({
|
|
32
|
+
tags,
|
|
33
|
+
permission: state.permission,
|
|
34
|
+
transform: state.transform,
|
|
35
|
+
visibleWhen: state.visibleWhen,
|
|
36
|
+
disabledWhen: state.disabledWhen
|
|
37
|
+
});
|
|
38
|
+
},
|
|
39
|
+
permission(permission) {
|
|
40
|
+
return createReadyBuilder({
|
|
41
|
+
...state,
|
|
42
|
+
permission
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
transform(fn) {
|
|
46
|
+
return createReadyBuilder({
|
|
47
|
+
tags: state.tags,
|
|
48
|
+
permission: state.permission,
|
|
49
|
+
transform: fn
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
visibleWhen(condition) {
|
|
53
|
+
return createReadyBuilder({
|
|
54
|
+
...state,
|
|
55
|
+
visibleWhen: condition
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
disabledWhen(condition) {
|
|
59
|
+
return createReadyBuilder({
|
|
60
|
+
...state,
|
|
61
|
+
disabledWhen: condition
|
|
62
|
+
});
|
|
63
|
+
},
|
|
64
|
+
render(render) {
|
|
65
|
+
return {
|
|
66
|
+
tags: state.tags,
|
|
67
|
+
transform: state.transform,
|
|
68
|
+
permission: state.permission,
|
|
69
|
+
visibleWhen: state.visibleWhen,
|
|
70
|
+
disabledWhen: state.disabledWhen,
|
|
71
|
+
render
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function createCommandBuilder() {
|
|
77
|
+
return createInitialBuilder({});
|
|
78
|
+
}
|
|
79
|
+
const commandBuilder = createCommandBuilder();
|
|
80
|
+
|
|
81
|
+
//#endregion
|
|
82
|
+
export { commandBuilder, createCommandBuilder };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { AnyCommandDef } from "./builder.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/modules/commands/lib/registery.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Command map type defining the shape of command definitions.
|
|
6
|
+
*/
|
|
7
|
+
type CommandMap = Record<string, AnyCommandDef>;
|
|
8
|
+
/** Union of all values in a command map. */
|
|
9
|
+
type ValueOf<TCommands extends CommandMap> = TCommands[keyof TCommands];
|
|
10
|
+
/** Keep commands that have **every** of `TFilterTags`. */
|
|
11
|
+
type FilterAllTags<TCommand extends AnyCommandDef, TFilterTags extends readonly string[]> = TCommand extends {
|
|
12
|
+
tags: infer CmdTags extends readonly string[];
|
|
13
|
+
} ? TFilterTags[number] extends CmdTags[number] ? TCommand : never : TCommand;
|
|
14
|
+
/** Keep commands that have **some** of `TFilterTags`. */
|
|
15
|
+
type FilterAnyTags<TCommand extends AnyCommandDef, TFilterTags extends readonly string[]> = TCommand extends {
|
|
16
|
+
tags: infer CmdTags extends readonly string[];
|
|
17
|
+
} ? string[] extends CmdTags ? TCommand : Extract<CmdTags[number], TFilterTags[number]> extends never ? never : TCommand : TCommand;
|
|
18
|
+
/** Keep commands whose tag set equals `TFilterTags` (order-insensitive). */
|
|
19
|
+
type FilterExactTags<TCommand extends AnyCommandDef, TFilterTags extends readonly string[]> = TCommand extends {
|
|
20
|
+
tags: infer CmdTags extends readonly string[];
|
|
21
|
+
} ? string[] extends CmdTags ? TCommand : [CmdTags[number]] extends [TFilterTags[number]] ? [TFilterTags[number]] extends [CmdTags[number]] ? TCommand : never : never : TCommand;
|
|
22
|
+
/** Keep commands that have **without** of `TFilterTags`. */
|
|
23
|
+
type FilterWithoutTags<TCommand extends AnyCommandDef, TFilterTags extends readonly string[]> = TCommand extends {
|
|
24
|
+
tags: infer CmdTags extends readonly string[];
|
|
25
|
+
} ? string[] extends CmdTags ? TCommand : Extract<CmdTags[number], TFilterTags[number]> extends never ? TCommand : never : TCommand;
|
|
26
|
+
type CommandKey<TCommands extends CommandMap> = Extract<keyof TCommands, string>;
|
|
27
|
+
type CommandFlags<TCommands extends CommandMap> = Partial<Record<CommandKey<TCommands>, boolean>>;
|
|
28
|
+
type CommandInput<TCommands extends CommandMap> = readonly CommandKey<TCommands>[] | CommandFlags<TCommands>;
|
|
29
|
+
type TruthyKeys<T> = { [K in keyof T]-?: T[K] extends true ? K : never }[keyof T];
|
|
30
|
+
type PickedCommands<TCommands extends CommandMap, TInput extends CommandInput<TCommands>> = TInput extends readonly CommandKey<TCommands>[] ? Pick<TCommands, TInput[number]> : TInput extends CommandFlags<TCommands> ? Pick<TCommands, Extract<TruthyKeys<TInput>, keyof TCommands>> : never;
|
|
31
|
+
type OmittedCommands<TCommands extends CommandMap, TInput extends CommandInput<TCommands>> = TInput extends readonly CommandKey<TCommands>[] ? Omit<TCommands, TInput[number]> : TInput extends CommandFlags<TCommands> ? Omit<TCommands, Extract<TruthyKeys<TInput>, keyof TCommands>> : never;
|
|
32
|
+
type ExtendedCommands<TBase extends CommandMap, TExtension extends CommandMap> = Omit<TBase, keyof TExtension> & TExtension;
|
|
33
|
+
type CommandTagFilterRegistry<TCommand extends AnyCommandDef> = {
|
|
34
|
+
every<const TTags extends string[]>(...tags: TTags): CommandTagFilterRegistry<FilterAllTags<TCommand, TTags>>;
|
|
35
|
+
some<const TTags extends string[]>(...tags: TTags): CommandTagFilterRegistry<FilterAnyTags<TCommand, TTags>>;
|
|
36
|
+
exact<const TTags extends string[]>(...tags: TTags): CommandTagFilterRegistry<FilterExactTags<TCommand, TTags>>;
|
|
37
|
+
without<const TTags extends string[]>(...tags: TTags): CommandTagFilterRegistry<FilterWithoutTags<TCommand, TTags>>;
|
|
38
|
+
toArray(): TCommand[];
|
|
39
|
+
};
|
|
40
|
+
type CommandKeyFilterRegistry<TCommands extends CommandMap> = {
|
|
41
|
+
pick<const TInput extends CommandInput<TCommands>>(input: TInput): CommandKeyFilterRegistry<PickedCommands<TCommands, TInput>>;
|
|
42
|
+
omit<const TInput extends CommandInput<TCommands>>(input: TInput): CommandKeyFilterRegistry<OmittedCommands<TCommands, TInput>>;
|
|
43
|
+
toArray(): ValueOf<TCommands>[];
|
|
44
|
+
};
|
|
45
|
+
type CommandRegistry<TCommands extends CommandMap> = {
|
|
46
|
+
commands: TCommands;
|
|
47
|
+
keys: CommandKeyFilterRegistry<TCommands>;
|
|
48
|
+
tags: CommandTagFilterRegistry<ValueOf<TCommands>>;
|
|
49
|
+
extend<const TExtension extends CommandMap>(extension: TExtension): CommandRegistry<ExtendedCommands<TCommands, TExtension>>; /** @deprecated Use `commands.keys.pick(...)` instead. */
|
|
50
|
+
pick<const TInput extends CommandInput<TCommands>>(input: TInput): CommandRegistry<PickedCommands<TCommands, TInput>>; /** @deprecated Use `commands.keys.omit(...)` instead. */
|
|
51
|
+
omit<const TInput extends CommandInput<TCommands>>(input: TInput): CommandRegistry<OmittedCommands<TCommands, TInput>>;
|
|
52
|
+
toArray(): ValueOf<TCommands>[];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Define commands from a map of name → `CommandDef`.
|
|
56
|
+
*
|
|
57
|
+
* Returns a `CommandRegistry` with key-based and tag-based filtering, plus
|
|
58
|
+
* `extend` for composition. Filter chains are immutable — each call produces
|
|
59
|
+
* a new registry.
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* const registry = defineCommands({ edit, delete, archive });
|
|
63
|
+
* registry.tags.every("danger", "table").toArray();
|
|
64
|
+
* registry.keys.omit({ delete: true }).toArray();
|
|
65
|
+
*/
|
|
66
|
+
declare function defineCommands<TCommands extends CommandMap>(commands: TCommands): CommandRegistry<TCommands>;
|
|
67
|
+
//#endregion
|
|
68
|
+
export { CommandMap, defineCommands };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
//#region src/modules/commands/lib/registery.ts
|
|
2
|
+
function resolveKeys(input) {
|
|
3
|
+
if (Array.isArray(input)) return [...input];
|
|
4
|
+
return Object.entries(input).filter(([, enabled]) => enabled === true).map(([key]) => key);
|
|
5
|
+
}
|
|
6
|
+
function dedupe(tags) {
|
|
7
|
+
return [...new Set(tags)];
|
|
8
|
+
}
|
|
9
|
+
function hasEveryTag(command, tags) {
|
|
10
|
+
return tags.every((tag) => command.tags.includes(tag));
|
|
11
|
+
}
|
|
12
|
+
function hasSomeTag(command, tags) {
|
|
13
|
+
return tags.some((tag) => command.tags.includes(tag));
|
|
14
|
+
}
|
|
15
|
+
function hasExactTags(command, tags) {
|
|
16
|
+
const ctags = dedupe(command.tags);
|
|
17
|
+
const ftags = dedupe(tags);
|
|
18
|
+
return ctags.length === ftags.length && ftags.every((t) => ctags.includes(t));
|
|
19
|
+
}
|
|
20
|
+
function injectIds(commands) {
|
|
21
|
+
return Object.fromEntries(Object.entries(commands).map(([id, c]) => [id, {
|
|
22
|
+
...c,
|
|
23
|
+
id
|
|
24
|
+
}]));
|
|
25
|
+
}
|
|
26
|
+
function pickCommands(commands, input) {
|
|
27
|
+
const keys = resolveKeys(input);
|
|
28
|
+
return Object.fromEntries(keys.filter((k) => k in commands).map((k) => [k, commands[k]]));
|
|
29
|
+
}
|
|
30
|
+
function omitCommands(commands, input) {
|
|
31
|
+
const keys = new Set(resolveKeys(input));
|
|
32
|
+
return Object.fromEntries(Object.entries(commands).filter(([k]) => !keys.has(k)));
|
|
33
|
+
}
|
|
34
|
+
function createTagFilterRegistry(commands) {
|
|
35
|
+
function apply(predicate) {
|
|
36
|
+
return (...tags) => {
|
|
37
|
+
return createTagFilterRegistry(commands.filter((c) => predicate(c, tags)));
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
every: apply(hasEveryTag),
|
|
42
|
+
some: apply(hasSomeTag),
|
|
43
|
+
exact: apply(hasExactTags),
|
|
44
|
+
without: apply((c, ts) => !hasSomeTag(c, ts)),
|
|
45
|
+
toArray() {
|
|
46
|
+
return commands;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function createKeyFilterRegistry(commands) {
|
|
51
|
+
return {
|
|
52
|
+
pick(input) {
|
|
53
|
+
return createKeyFilterRegistry(pickCommands(commands, input));
|
|
54
|
+
},
|
|
55
|
+
omit(input) {
|
|
56
|
+
return createKeyFilterRegistry(omitCommands(commands, input));
|
|
57
|
+
},
|
|
58
|
+
toArray() {
|
|
59
|
+
return Object.values(commands);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
function createRegistry(commands) {
|
|
64
|
+
const withIds = injectIds(commands);
|
|
65
|
+
return {
|
|
66
|
+
commands: withIds,
|
|
67
|
+
keys: createKeyFilterRegistry(withIds),
|
|
68
|
+
tags: createTagFilterRegistry(Object.values(withIds)),
|
|
69
|
+
extend(extension) {
|
|
70
|
+
return createRegistry({
|
|
71
|
+
...withIds,
|
|
72
|
+
...extension
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
pick(input) {
|
|
76
|
+
return createRegistry(pickCommands(withIds, input));
|
|
77
|
+
},
|
|
78
|
+
omit(input) {
|
|
79
|
+
return createRegistry(omitCommands(withIds, input));
|
|
80
|
+
},
|
|
81
|
+
toArray() {
|
|
82
|
+
return Object.values(withIds);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Define commands from a map of name → `CommandDef`.
|
|
88
|
+
*
|
|
89
|
+
* Returns a `CommandRegistry` with key-based and tag-based filtering, plus
|
|
90
|
+
* `extend` for composition. Filter chains are immutable — each call produces
|
|
91
|
+
* a new registry.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* const registry = defineCommands({ edit, delete, archive });
|
|
95
|
+
* registry.tags.every("danger", "table").toArray();
|
|
96
|
+
* registry.keys.omit({ delete: true }).toArray();
|
|
97
|
+
*/
|
|
98
|
+
function defineCommands(commands) {
|
|
99
|
+
return createRegistry(commands);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
//#endregion
|
|
103
|
+
export { defineCommands };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/modules/commands/lib/utils.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes command data into an array.
|
|
4
|
+
*
|
|
5
|
+
* Use this as a command transform when the same command should support both
|
|
6
|
+
* single-item and bulk contexts. After `.transform(ensureArray)`, command
|
|
7
|
+
* callbacks can safely use array helpers like `.map` and `.every`.
|
|
8
|
+
*/
|
|
9
|
+
declare function ensureArray<T>(data: T | T[]): T[];
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ensureArray };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/modules/commands/lib/utils.ts
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes command data into an array.
|
|
4
|
+
*
|
|
5
|
+
* Use this as a command transform when the same command should support both
|
|
6
|
+
* single-item and bulk contexts. After `.transform(ensureArray)`, command
|
|
7
|
+
* callbacks can safely use array helpers like `.map` and `.every`.
|
|
8
|
+
*/
|
|
9
|
+
function ensureArray(data) {
|
|
10
|
+
return Array.isArray(data) ? data : [data];
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ensureArray };
|