@tulip-systems/core 0.4.1 → 0.5.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 +2 -2
- package/dist/auth/client.mjs +2 -2
- package/dist/commands/client.d.mts +3 -3
- package/dist/commands/client.mjs +3 -3
- package/dist/components/client.d.mts +3 -5
- package/dist/components/client.mjs +3 -5
- package/dist/components/common/icons.d.mts +52 -52
- package/dist/components/common/icons.d.mts.map +1 -1
- package/dist/components/common/status.d.mts +3 -3
- package/dist/components/common/status.d.mts.map +1 -1
- package/dist/components/editor/components/block-dropdown.mjs +28 -14
- package/dist/components/editor/components/block-dropdown.mjs.map +1 -1
- package/dist/components/editor/components/content.client.d.mts +2 -2
- package/dist/components/editor/components/content.client.mjs +1 -1
- package/dist/components/editor/components/content.client.mjs.map +1 -1
- package/dist/components/editor/components/editor.client.d.mts +48 -0
- package/dist/components/editor/components/editor.client.d.mts.map +1 -0
- package/dist/components/editor/components/editor.client.mjs +53 -0
- package/dist/components/editor/components/editor.client.mjs.map +1 -0
- package/dist/components/editor/components/menu-fixed.client.d.mts +7 -0
- package/dist/components/editor/components/menu-fixed.client.d.mts.map +1 -0
- package/dist/components/editor/components/{fixed-menu.client.mjs → menu-fixed.client.mjs} +21 -27
- package/dist/components/editor/components/menu-fixed.client.mjs.map +1 -0
- package/dist/components/editor/lib/constants.d.mts +60 -0
- package/dist/components/editor/lib/constants.d.mts.map +1 -0
- package/dist/components/editor/lib/constants.mjs +90 -0
- package/dist/components/editor/lib/constants.mjs.map +1 -0
- package/dist/components/editor/lib/extensions.d.mts +62 -0
- package/dist/components/editor/lib/extensions.d.mts.map +1 -0
- package/dist/components/editor/lib/extensions.mjs +52 -0
- package/dist/components/editor/lib/extensions.mjs.map +1 -0
- package/dist/components/editor/lib/helpers.mjs +3 -3
- package/dist/components/editor/lib/helpers.mjs.map +1 -1
- package/dist/components/editor/lib/variants.mjs +8 -0
- package/dist/components/editor/lib/variants.mjs.map +1 -0
- package/dist/components/header/back-button.client.d.mts +2 -2
- package/dist/components/header/bottom-bar.client.d.mts +3 -3
- package/dist/components/header/breadcrumbs.client.d.mts +7 -7
- package/dist/components/header/header.client.d.mts +2 -2
- package/dist/components/header/mobile-nav-switcher.client.d.mts +2 -2
- package/dist/components/header/top-bar.client.d.mts +4 -4
- package/dist/components/header/top-bar.client.mjs +1 -1
- package/dist/components/header/top-bar.client.mjs.map +1 -1
- package/dist/components/layouts/admin-content.client.d.mts +2 -2
- package/dist/components/layouts/admin-content.client.mjs +1 -1
- package/dist/components/layouts/admin-content.client.mjs.map +1 -1
- package/dist/components/layouts/admin-layout.d.mts +2 -2
- package/dist/components/layouts/admin-layout.d.mts.map +1 -1
- package/dist/components/layouts/admin-loading.d.mts +2 -2
- package/dist/components/layouts/admin-loading.d.mts.map +1 -1
- package/dist/components/layouts/empty-page.d.mts +4 -4
- package/dist/components/layouts/empty-page.d.mts.map +1 -1
- package/dist/components/layouts/list-layout.d.mts +2 -2
- package/dist/components/layouts/list-layout.d.mts.map +1 -1
- package/dist/components/layouts/not-found-page.d.mts +3 -3
- package/dist/components/layouts/not-found-page.d.mts.map +1 -1
- package/dist/components/layouts/providers.client.d.mts +2 -2
- package/dist/components/layouts/root-layout.server.d.mts +4 -4
- package/dist/components/layouts/root-layout.server.d.mts.map +1 -1
- package/dist/components/layouts/root-loading.d.mts +2 -2
- package/dist/components/layouts/root-loading.d.mts.map +1 -1
- package/dist/components/layouts/tab-layout.d.mts +2 -2
- package/dist/components/layouts/tab-layout.d.mts.map +1 -1
- package/dist/components/lists/data-list.d.mts +5 -5
- package/dist/components/lists/data-list.d.mts.map +1 -1
- package/dist/components/lists/data-stack.d.mts +8 -8
- package/dist/components/lists/data-stack.d.mts.map +1 -1
- package/dist/components/navigation/admin-sidebar-paths.client.d.mts +10 -10
- package/dist/components/ui/accordion.d.mts +5 -5
- package/dist/components/ui/alert-dialog.d.mts +12 -12
- package/dist/components/ui/alert.d.mts +4 -4
- package/dist/components/ui/aspect-ratio.d.mts +2 -2
- package/dist/components/ui/avatar.client.d.mts +4 -4
- package/dist/components/ui/badge.d.mts +2 -2
- package/dist/components/ui/breadcrumb.d.mts +8 -8
- package/dist/components/ui/button.d.mts +2 -2
- package/dist/components/ui/calendar.d.mts +17 -4
- package/dist/components/ui/calendar.d.mts.map +1 -1
- package/dist/components/ui/calendar.mjs +90 -37
- package/dist/components/ui/calendar.mjs.map +1 -1
- package/dist/components/ui/card.d.mts +7 -7
- package/dist/components/ui/carousel.d.mts +6 -6
- package/dist/components/ui/chart.client.d.mts +5 -5
- package/dist/components/ui/checkbox.d.mts +2 -2
- package/dist/components/ui/collapsible.client.d.mts +4 -4
- package/dist/components/ui/color-picker.client.d.mts +2 -2
- package/dist/components/ui/combobox-dropdown.client.d.mts +2 -2
- package/dist/components/ui/combobox.client.d.mts +2 -2
- package/dist/components/ui/command.d.mts +10 -10
- package/dist/components/ui/context-menu.d.mts +16 -16
- package/dist/components/ui/date-picker.client.d.mts +2 -2
- package/dist/components/ui/dialog.client.d.mts +11 -11
- package/dist/components/ui/drawer.client.d.mts +11 -11
- package/dist/components/ui/dropdown-menu.d.mts +16 -16
- package/dist/components/ui/form.client.d.mts +7 -7
- package/dist/components/ui/hover-card.client.d.mts +4 -4
- package/dist/components/ui/input-recipient.d.mts +5 -3
- package/dist/components/ui/input-recipient.d.mts.map +1 -1
- package/dist/components/ui/input-recipient.mjs +2 -2
- package/dist/components/ui/input-recipient.mjs.map +1 -1
- package/dist/components/ui/input.d.mts +2 -2
- package/dist/components/ui/label.d.mts +2 -2
- package/dist/components/ui/navigation-menu.d.mts +9 -9
- package/dist/components/ui/pagination.d.mts +8 -8
- package/dist/components/ui/popover.d.mts +5 -5
- package/dist/components/ui/progress.client.d.mts +2 -2
- package/dist/components/ui/radio-group.d.mts +3 -3
- package/dist/components/ui/resizable.client.d.mts +4 -4
- package/dist/components/ui/scroll-area.d.mts +3 -3
- package/dist/components/ui/select.client.d.mts +11 -11
- package/dist/components/ui/separator.d.mts +2 -2
- package/dist/components/ui/sheet.client.d.mts +9 -9
- package/dist/components/ui/sidebar.client.d.mts +26 -26
- package/dist/components/ui/skeleton.d.mts +2 -2
- package/dist/components/ui/slider.d.mts +2 -2
- package/dist/components/ui/sonner.client.d.mts +2 -2
- package/dist/components/ui/switch.d.mts +2 -2
- package/dist/components/ui/tabs.d.mts +5 -5
- package/dist/components/ui/textarea.d.mts +2 -2
- package/dist/components/ui/time-input.client.d.mts +2 -2
- package/dist/components/ui/toggle-group.client.d.mts +3 -3
- package/dist/components/ui/toggle.d.mts +4 -4
- package/dist/components/ui/toggle.d.mts.map +1 -1
- package/dist/components/ui/tooltip.client.d.mts +5 -5
- package/dist/components/ui/tooltip.client.d.mts.map +1 -1
- package/dist/components.d.mts +2 -2
- package/dist/components.mjs +2 -2
- package/dist/config/server.d.mts +1 -2
- package/dist/config/server.mjs +1 -2
- package/dist/data-tables.d.mts +6 -5
- package/dist/data-tables.mjs +4 -3
- package/dist/inline-edit/client.d.mts +4 -4
- package/dist/inline-edit/client.mjs +3 -3
- package/dist/lib/hooks/use-action.d.mts +2 -2
- package/dist/lib/hooks/use-indicator.d.mts +2 -2
- package/dist/lib.mjs +1 -1
- package/dist/modules/auth/components/allowed.client.d.mts +2 -2
- package/dist/modules/auth/components/allowed.client.d.mts.map +1 -1
- package/dist/modules/auth/components/auth-layout.server.d.mts +2 -2
- package/dist/modules/auth/components/auth-layout.server.d.mts.map +1 -1
- package/dist/modules/auth/components/auth-loading.d.mts +2 -2
- package/dist/modules/auth/components/auth-loading.d.mts.map +1 -1
- package/dist/modules/auth/components/create-first-user-page.client.d.mts +2 -2
- package/dist/modules/auth/components/create-first-user-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/forget-password-page.client.d.mts +2 -2
- package/dist/modules/auth/components/forget-password-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/guard-first-user.server.d.mts +2 -2
- package/dist/modules/auth/components/guard-first-user.server.d.mts.map +1 -1
- package/dist/modules/auth/components/guard.server.d.mts +2 -2
- package/dist/modules/auth/components/guard.server.d.mts.map +1 -1
- package/dist/modules/auth/components/login-page.client.d.mts +2 -2
- package/dist/modules/auth/components/login-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/reset-password-page.client.d.mts +2 -2
- package/dist/modules/auth/components/reset-password-page.client.d.mts.map +1 -1
- package/dist/modules/auth/components/update-password-command.d.mts +2 -2
- package/dist/modules/auth/components/update-password-command.d.mts.map +1 -1
- package/dist/modules/auth/db/schema.d.mts +247 -230
- package/dist/modules/auth/db/schema.d.mts.map +1 -1
- package/dist/modules/auth/db/schema.mjs +12 -20
- package/dist/modules/auth/db/schema.mjs.map +1 -1
- package/dist/modules/auth/handler/client.client.d.mts +129 -129
- package/dist/modules/auth/handler/client.client.d.mts.map +1 -1
- package/dist/modules/auth/handler/client.client.mjs +10 -6
- package/dist/modules/auth/handler/client.client.mjs.map +1 -1
- package/dist/modules/auth/handler/init.d.mts +134 -131
- package/dist/modules/auth/handler/init.d.mts.map +1 -1
- package/dist/modules/auth/handler/init.mjs +5 -2
- package/dist/modules/auth/handler/init.mjs.map +1 -1
- package/dist/modules/auth/hooks/use-permission.d.mts +2 -2
- package/dist/modules/auth/hooks/use-permission.d.mts.map +1 -1
- package/dist/modules/auth/hooks/use-permission.mjs +7 -2
- package/dist/modules/auth/hooks/use-permission.mjs.map +1 -1
- package/dist/modules/auth/hooks/use-session.d.mts +119 -3
- package/dist/modules/auth/hooks/use-session.d.mts.map +1 -1
- package/dist/modules/auth/hooks/use-session.mjs +15 -10
- package/dist/modules/auth/hooks/use-session.mjs.map +1 -1
- package/dist/modules/auth/lib/helpers.server.d.mts +5 -5
- package/dist/modules/auth/lib/helpers.server.d.mts.map +1 -1
- package/dist/modules/auth/lib/validators.d.mts +1 -1
- package/dist/modules/auth/lib/validators.d.mts.map +1 -1
- package/dist/modules/auth/lib/validators.mjs +1 -1
- package/dist/modules/auth/lib/validators.mjs.map +1 -1
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts +10 -10
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/alert-dialog-command.client.mjs +2 -2
- package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/click-command.client.d.mts +2 -2
- package/dist/modules/commands/components/click-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/click-command.client.mjs +2 -2
- package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/command-trigger.client.d.mts +6 -6
- package/dist/modules/commands/components/command-trigger.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dialog-command.client.d.mts +18 -8
- package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dialog-command.client.mjs +12 -8
- package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/dropdown-command.client.d.mts +5 -5
- package/dist/modules/commands/components/dropdown-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dropdown-command.client.mjs +2 -2
- package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/empty-command.client.d.mts +2 -2
- package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -11
- package/dist/modules/commands/components/form-dialog-command.client.mjs +2 -2
- package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts +17 -0
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts.map +1 -0
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs +42 -0
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs.map +1 -0
- package/dist/modules/commands/menus/context-menu.client.d.mts +2 -2
- package/dist/modules/commands/menus/dropdown-menu.client.d.mts +3 -3
- package/dist/modules/commands/menus/inline-menu.client.d.mts +3 -3
- package/dist/modules/commands/menus/responsive-menu.client.d.mts +3 -3
- package/dist/modules/commands/utils/archive-command.client.d.mts +3 -3
- package/dist/modules/commands/utils/delete-command.client.d.mts +13 -8
- package/dist/modules/commands/utils/delete-command.client.d.mts.map +1 -1
- package/dist/modules/commands/utils/delete-command.client.mjs +10 -1
- package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
- package/dist/modules/config/db/helpers.d.mts +5 -5
- package/dist/modules/config/db/helpers.d.mts.map +1 -1
- package/dist/modules/config/lib/config.d.mts +3 -3
- package/dist/modules/config/lib/config.d.mts.map +1 -1
- package/dist/modules/config/lib/config.mjs.map +1 -1
- package/dist/modules/config/lib/context.d.mts +2 -2
- package/dist/modules/config/lib/context.d.mts.map +1 -1
- package/dist/modules/config/lib/context.mjs.map +1 -1
- package/dist/modules/data-tables/components/cell/common.client.d.mts +5 -5
- package/dist/modules/data-tables/components/cell/common.client.d.mts.map +1 -1
- package/dist/modules/data-tables/components/column-header.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/combobox.client.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/combobox.client.d.mts.map +1 -1
- package/dist/modules/data-tables/components/filters/combobox.client.mjs +5 -2
- package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
- package/dist/modules/data-tables/components/filters/slider.client.d.mts +2 -2
- package/dist/modules/data-tables/components/filters/slider.client.d.mts.map +1 -1
- package/dist/modules/data-tables/components/header.d.mts +4 -4
- package/dist/modules/data-tables/components/layout.d.mts +2 -2
- package/dist/modules/data-tables/components/layout.d.mts.map +1 -1
- package/dist/modules/data-tables/components/search-input.client.d.mts +2 -2
- package/dist/modules/data-tables/components/search-input.client.d.mts.map +1 -1
- package/dist/modules/data-tables/components/skeleton.d.mts +2 -2
- package/dist/modules/data-tables/components/skeleton.d.mts.map +1 -1
- package/dist/modules/data-tables/components/table.d.mts +7 -7
- package/dist/modules/data-tables/components/table.d.mts.map +1 -1
- package/dist/modules/data-tables/components/toolbar.d.mts +3 -3
- package/dist/modules/data-tables/components/toolbar.d.mts.map +1 -1
- package/dist/modules/data-tables/hooks/use-context.client.d.mts +13 -10
- package/dist/modules/data-tables/hooks/use-context.client.d.mts.map +1 -1
- package/dist/modules/data-tables/hooks/use-context.client.mjs.map +1 -1
- package/dist/modules/data-tables/hooks/use-table.client.d.mts +2 -1
- package/dist/modules/data-tables/hooks/use-table.client.d.mts.map +1 -1
- package/dist/modules/data-tables/hooks/use-table.client.mjs.map +1 -1
- package/dist/modules/data-tables/lib/converters/search.d.mts +1 -1
- package/dist/modules/data-tables/lib/converters/sorting.d.mts +1 -1
- package/dist/modules/data-tables/lib/filters/config.d.mts +4 -1
- package/dist/modules/data-tables/lib/filters/config.d.mts.map +1 -1
- package/dist/modules/data-tables/lib/filters/config.mjs.map +1 -1
- package/dist/modules/data-tables/lib/filters/helpers.d.mts +11 -0
- package/dist/modules/data-tables/lib/filters/helpers.d.mts.map +1 -0
- package/dist/modules/data-tables/lib/filters/helpers.mjs +17 -0
- package/dist/modules/data-tables/lib/filters/helpers.mjs.map +1 -0
- package/dist/modules/data-tables/lib/filters/parsers.d.mts +7 -2
- package/dist/modules/data-tables/lib/filters/parsers.d.mts.map +1 -1
- package/dist/modules/data-tables/lib/filters/parsers.mjs +6 -1
- package/dist/modules/data-tables/lib/filters/parsers.mjs.map +1 -1
- package/dist/modules/data-tables/lib/filters/resolvers.d.mts +6 -1
- package/dist/modules/data-tables/lib/filters/resolvers.d.mts.map +1 -1
- package/dist/modules/data-tables/lib/filters/resolvers.mjs +8 -1
- package/dist/modules/data-tables/lib/filters/resolvers.mjs.map +1 -1
- package/dist/modules/data-tables/lib/types.d.mts +8 -5
- package/dist/modules/data-tables/lib/types.d.mts.map +1 -1
- package/dist/modules/data-tables/server/get-data.server.d.mts +1 -1
- package/dist/modules/data-tables/tables/data-table/components/table.d.mts +2 -2
- package/dist/modules/data-tables/tables/data-table/components/table.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/advanced-select.client.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/inputs/combobox.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/combobox.client.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/inputs/input.client.d.mts +3 -3
- package/dist/modules/data-tables/tables/inline-table/components/inputs/input.client.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/inputs/read-only.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/read-only.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/inputs/select.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/inputs/select.client.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/components/table.d.mts.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +2 -2
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +5 -2
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +7 -3
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/combobox.client.d.mts +5 -2
- package/dist/modules/inline-edit/components/combobox.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/combobox.client.mjs +6 -2
- package/dist/modules/inline-edit/components/combobox.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-input.client.d.mts +6 -3
- package/dist/modules/inline-edit/components/date-input.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/date-input.client.mjs +5 -3
- package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-picker.client.d.mts +7 -3
- package/dist/modules/inline-edit/components/date-picker.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/date-picker.client.mjs +5 -3
- package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/deprecated-editor.client.d.mts +21 -0
- package/dist/modules/inline-edit/components/deprecated-editor.client.d.mts.map +1 -0
- package/dist/modules/inline-edit/components/deprecated-editor.client.mjs +37 -0
- package/dist/modules/inline-edit/components/deprecated-editor.client.mjs.map +1 -0
- package/dist/modules/inline-edit/components/editor.client.d.mts +10 -7
- package/dist/modules/inline-edit/components/editor.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/editor.client.mjs +13 -18
- package/dist/modules/inline-edit/components/editor.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts +4 -2
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input-recipient.client.mjs +7 -3
- package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts +3 -2
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input-toggle.client.mjs +3 -2
- package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input.client.d.mts +18 -4
- package/dist/modules/inline-edit/components/input.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input.client.mjs +26 -5
- package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/select.client.d.mts +8 -6
- package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/select.client.mjs +3 -2
- package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/switch.client.d.mts +3 -2
- package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/switch.client.mjs +3 -2
- package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/toggle.client.d.mts +3 -2
- package/dist/modules/inline-edit/components/toggle.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/toggle.client.mjs +3 -2
- package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
- package/dist/modules/inline-edit/hooks/context.client.d.mts +2 -2
- package/dist/modules/inline-edit/hooks/context.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +1 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +1 -1
- package/dist/modules/inline-edit/lib/variants.d.mts +3 -3
- package/dist/modules/inline-edit/lib/variants.mjs +1 -1
- package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
- package/dist/modules/router/handler/context.server.d.mts +2 -2
- package/dist/modules/router/handler/context.server.d.mts.map +1 -1
- package/dist/modules/router/handler/init.server.d.mts +7 -7
- package/dist/modules/router/lib/query-client.server.d.mts +2 -2
- package/dist/modules/router/lib/query-client.server.d.mts.map +1 -1
- package/dist/modules/{uploads/components/dropzone/context.d.mts → storage/components/dropzone-context.client.d.mts} +2 -2
- package/dist/modules/storage/components/dropzone-context.client.d.mts.map +1 -0
- package/dist/modules/{uploads/components/dropzone/context.mjs → storage/components/dropzone-context.client.mjs} +2 -2
- package/dist/modules/storage/components/dropzone-context.client.mjs.map +1 -0
- package/dist/modules/{uploads/components/dropzone/index.d.mts → storage/components/dropzone.client.d.mts} +7 -7
- package/dist/modules/storage/components/dropzone.client.d.mts.map +1 -0
- package/dist/modules/{uploads/components/dropzone/index.mjs → storage/components/dropzone.client.mjs} +6 -6
- package/dist/modules/storage/components/dropzone.client.mjs.map +1 -0
- package/dist/modules/storage/components/image-grid.client.d.mts +26 -0
- package/dist/modules/storage/components/image-grid.client.d.mts.map +1 -0
- package/dist/modules/storage/components/image-grid.client.mjs +169 -0
- package/dist/modules/storage/components/image-grid.client.mjs.map +1 -0
- package/dist/modules/storage/components/upload-zone-context.client.d.mts +34 -0
- package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +1 -0
- package/dist/modules/storage/components/upload-zone-context.client.mjs +21 -0
- package/dist/modules/storage/components/upload-zone-context.client.mjs.map +1 -0
- package/dist/modules/storage/components/upload-zone.client.d.mts +51 -0
- package/dist/modules/storage/components/upload-zone.client.d.mts.map +1 -0
- package/dist/modules/storage/components/upload-zone.client.mjs +196 -0
- package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -0
- package/dist/modules/{uploads/lib → storage/config}/filters.d.mts +2 -2
- package/dist/modules/storage/config/filters.d.mts.map +1 -0
- package/dist/modules/{uploads/lib → storage/config}/filters.mjs +3 -3
- package/dist/modules/storage/config/filters.mjs.map +1 -0
- package/dist/modules/storage/lib/constants.d.mts +10 -0
- package/dist/modules/storage/lib/constants.d.mts.map +1 -0
- package/dist/modules/{uploads → storage}/lib/constants.mjs +3 -2
- package/dist/modules/storage/lib/constants.mjs.map +1 -0
- package/dist/modules/storage/lib/create-client.server.d.mts +11 -0
- package/dist/modules/storage/lib/create-client.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/create-client.server.mjs +11 -0
- package/dist/modules/storage/lib/create-client.server.mjs.map +1 -0
- package/dist/modules/storage/lib/helpers.d.mts +45 -0
- package/dist/modules/storage/lib/helpers.d.mts.map +1 -0
- package/dist/modules/{uploads → storage}/lib/helpers.mjs +20 -6
- package/dist/modules/storage/lib/helpers.mjs.map +1 -0
- package/dist/modules/storage/lib/proxy.server.d.mts +21 -0
- package/dist/modules/storage/lib/proxy.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/proxy.server.mjs +46 -0
- package/dist/modules/storage/lib/proxy.server.mjs.map +1 -0
- package/dist/modules/storage/lib/router.server.d.mts +29074 -0
- package/dist/modules/storage/lib/router.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/router.server.mjs +83 -0
- package/dist/modules/storage/lib/router.server.mjs.map +1 -0
- package/dist/modules/{uploads → storage}/lib/schema.d.mts +414 -150
- package/dist/modules/storage/lib/schema.d.mts.map +1 -0
- package/dist/modules/{uploads → storage}/lib/schema.mjs +23 -18
- package/dist/modules/storage/lib/schema.mjs.map +1 -0
- package/dist/modules/storage/lib/service.server.d.mts +188 -0
- package/dist/modules/storage/lib/service.server.d.mts.map +1 -0
- package/dist/modules/storage/lib/service.server.mjs +297 -0
- package/dist/modules/storage/lib/service.server.mjs.map +1 -0
- package/dist/modules/{uploads → storage}/lib/validators.d.mts +413 -108
- package/dist/modules/storage/lib/validators.d.mts.map +1 -0
- package/dist/modules/storage/lib/validators.mjs +106 -0
- package/dist/modules/storage/lib/validators.mjs.map +1 -0
- package/dist/storage/client.d.mts +6 -0
- package/dist/storage/client.mjs +14 -0
- package/dist/storage/client.mjs.map +1 -0
- package/dist/storage/server.d.mts +4 -0
- package/dist/storage/server.mjs +5 -0
- package/dist/storage.d.mts +6 -0
- package/dist/storage.mjs +7 -0
- package/package.json +32 -20
- package/src/components/editor/components/block-dropdown.tsx +43 -25
- package/src/components/editor/components/content.client.tsx +1 -1
- package/src/components/editor/components/editor.client.tsx +95 -0
- package/src/components/editor/components/menu-fixed.client.tsx +165 -0
- package/src/components/editor/components/spinner.tsx +2 -2
- package/src/components/editor/lib/constants.ts +109 -0
- package/src/components/editor/lib/extensions.ts +195 -0
- package/src/components/editor/lib/helpers.ts +3 -3
- package/src/components/editor/lib/variants.ts +5 -0
- package/src/components/entry.client.ts +2 -4
- package/src/components/header/top-bar.client.tsx +1 -1
- package/src/components/layouts/admin-content.client.tsx +1 -1
- package/src/components/ui/calendar.tsx +152 -44
- package/src/components/ui/input-recipient.tsx +3 -0
- package/src/entry.ts +4 -4
- package/src/modules/auth/db/schema.ts +13 -21
- package/src/modules/auth/handler/client.client.ts +2 -0
- package/src/modules/auth/handler/init.ts +4 -1
- package/src/modules/auth/hooks/use-permission.ts +3 -2
- package/src/modules/auth/hooks/use-session.ts +16 -10
- package/src/modules/auth/lib/validators.ts +1 -1
- package/src/modules/commands/components/alert-dialog-command.client.tsx +2 -2
- package/src/modules/commands/components/click-command.client.tsx +2 -2
- package/src/modules/commands/components/dialog-command.client.tsx +20 -8
- package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
- package/src/modules/commands/components/form-dialog-command.client.tsx +2 -2
- package/src/modules/commands/entry.client.ts +1 -1
- package/src/modules/commands/hooks/{use-command-action.client.tsx → use-command-mutation.client.tsx} +9 -47
- package/src/modules/commands/utils/delete-command.client.tsx +14 -2
- package/src/modules/config/db/create-client.ts +11 -4
- package/src/modules/config/entry.server.ts +0 -1
- package/src/modules/config/lib/config.ts +3 -3
- package/src/modules/config/lib/context.ts +2 -2
- package/src/modules/data-tables/components/filters/combobox.client.tsx +3 -3
- package/src/modules/data-tables/entry.ts +1 -1
- package/src/modules/data-tables/hooks/use-context.client.tsx +31 -13
- package/src/modules/data-tables/hooks/use-table.client.ts +6 -3
- package/src/modules/data-tables/lib/filters/config.ts +1 -0
- package/src/modules/data-tables/lib/filters/helpers.ts +19 -0
- package/src/modules/data-tables/lib/filters/parsers.ts +14 -1
- package/src/modules/data-tables/lib/filters/resolvers.ts +8 -0
- package/src/modules/data-tables/lib/types.ts +10 -3
- package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +1 -1
- package/src/modules/inline-edit/components/combobox-dropdown.client.tsx +9 -2
- package/src/modules/inline-edit/components/combobox.client.tsx +8 -1
- package/src/modules/inline-edit/components/date-input.client.tsx +7 -3
- package/src/modules/inline-edit/components/date-picker.client.tsx +10 -3
- package/src/modules/inline-edit/components/deprecated-editor.client.tsx +48 -0
- package/src/modules/inline-edit/components/editor.client.tsx +32 -29
- package/src/modules/inline-edit/components/input-recipient.client.tsx +6 -2
- package/src/modules/inline-edit/components/input-toggle.client.tsx +2 -0
- package/src/modules/inline-edit/components/input.client.tsx +39 -0
- package/src/modules/inline-edit/components/select.client.tsx +9 -2
- package/src/modules/inline-edit/components/switch.client.tsx +2 -0
- package/src/modules/inline-edit/components/toggle.client.tsx +2 -0
- package/src/modules/inline-edit/entry.client.ts +1 -1
- package/src/modules/inline-edit/hooks/use-inline.client.tsx +2 -2
- package/src/modules/inline-edit/lib/variants.ts +1 -1
- package/src/modules/{uploads/components/dropzone/index.tsx → storage/components/dropzone.client.tsx} +2 -2
- package/src/modules/storage/components/image-grid.client.tsx +225 -0
- package/src/modules/{uploads/components/button.client.tsx → storage/components/upload-button.client.tsx} +1 -1
- package/src/modules/storage/components/upload-zone-context.client.tsx +32 -0
- package/src/modules/storage/components/upload-zone.client.tsx +258 -0
- package/src/modules/{uploads/lib → storage/config}/filters.ts +2 -2
- package/src/modules/storage/entry.client.ts +12 -0
- package/src/modules/storage/entry.server.ts +6 -0
- package/src/modules/{uploads → storage}/entry.ts +1 -1
- package/src/modules/storage/lib/constants.ts +14 -0
- package/src/modules/storage/lib/create-client.server.ts +14 -0
- package/src/modules/{uploads → storage}/lib/helpers.ts +23 -9
- package/src/modules/storage/lib/proxy.server.ts +63 -0
- package/src/modules/storage/lib/router.server.ts +174 -0
- package/src/modules/{uploads → storage}/lib/schema.ts +34 -13
- package/src/modules/storage/lib/service.server.ts +463 -0
- package/src/modules/storage/lib/validators.ts +156 -0
- package/dist/components/editor/components/fixed-menu.client.d.mts +0 -7
- package/dist/components/editor/components/fixed-menu.client.d.mts.map +0 -1
- package/dist/components/editor/components/fixed-menu.client.mjs.map +0 -1
- package/dist/components/editor/context.client.d.mts +0 -33
- package/dist/components/editor/context.client.d.mts.map +0 -1
- package/dist/components/editor/context.client.mjs +0 -45
- package/dist/components/editor/context.client.mjs.map +0 -1
- package/dist/components/editor/index.client.d.mts +0 -11
- package/dist/components/editor/index.client.d.mts.map +0 -1
- package/dist/components/editor/index.client.mjs +0 -17
- package/dist/components/editor/index.client.mjs.map +0 -1
- package/dist/components/editor/preview.client.d.mts +0 -12
- package/dist/components/editor/preview.client.d.mts.map +0 -1
- package/dist/components/editor/preview.client.mjs +0 -19
- package/dist/components/editor/preview.client.mjs.map +0 -1
- package/dist/modules/commands/hooks/use-command-action.client.d.mts +0 -22
- package/dist/modules/commands/hooks/use-command-action.client.d.mts.map +0 -1
- package/dist/modules/commands/hooks/use-command-action.client.mjs +0 -74
- package/dist/modules/commands/hooks/use-command-action.client.mjs.map +0 -1
- package/dist/modules/config/providers/blob.d.mts +0 -10
- package/dist/modules/config/providers/blob.d.mts.map +0 -1
- package/dist/modules/config/providers/blob.mjs +0 -11
- package/dist/modules/config/providers/blob.mjs.map +0 -1
- package/dist/modules/inline-edit/components/richtext.client.d.mts +0 -15
- package/dist/modules/inline-edit/components/richtext.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/richtext.client.mjs +0 -31
- package/dist/modules/inline-edit/components/richtext.client.mjs.map +0 -1
- package/dist/modules/uploads/components/button.client.d.mts +0 -12
- package/dist/modules/uploads/components/button.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/button.client.mjs +0 -34
- package/dist/modules/uploads/components/button.client.mjs.map +0 -1
- package/dist/modules/uploads/components/dropzone/context.d.mts.map +0 -1
- package/dist/modules/uploads/components/dropzone/context.mjs.map +0 -1
- package/dist/modules/uploads/components/dropzone/index.d.mts.map +0 -1
- package/dist/modules/uploads/components/dropzone/index.mjs.map +0 -1
- package/dist/modules/uploads/components/images/grid.client.d.mts +0 -11
- package/dist/modules/uploads/components/images/grid.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/images/grid.client.mjs +0 -119
- package/dist/modules/uploads/components/images/grid.client.mjs.map +0 -1
- package/dist/modules/uploads/components/images/input.client.d.mts +0 -16
- package/dist/modules/uploads/components/images/input.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/images/input.client.mjs +0 -28
- package/dist/modules/uploads/components/images/input.client.mjs.map +0 -1
- package/dist/modules/uploads/components/preview-dialog.client.d.mts +0 -16
- package/dist/modules/uploads/components/preview-dialog.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/preview-dialog.client.mjs +0 -22
- package/dist/modules/uploads/components/preview-dialog.client.mjs.map +0 -1
- package/dist/modules/uploads/components/zone.client.d.mts +0 -21
- package/dist/modules/uploads/components/zone.client.d.mts.map +0 -1
- package/dist/modules/uploads/components/zone.client.mjs +0 -38
- package/dist/modules/uploads/components/zone.client.mjs.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-image.client.d.mts +0 -34
- package/dist/modules/uploads/hooks/use-upload-image.client.d.mts.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-image.client.mjs +0 -101
- package/dist/modules/uploads/hooks/use-upload-image.client.mjs.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-zone.client.d.mts +0 -39
- package/dist/modules/uploads/hooks/use-upload-zone.client.d.mts.map +0 -1
- package/dist/modules/uploads/hooks/use-upload-zone.client.mjs +0 -20
- package/dist/modules/uploads/hooks/use-upload-zone.client.mjs.map +0 -1
- package/dist/modules/uploads/lib/constants.d.mts +0 -9
- package/dist/modules/uploads/lib/constants.d.mts.map +0 -1
- package/dist/modules/uploads/lib/constants.mjs.map +0 -1
- package/dist/modules/uploads/lib/filters.d.mts.map +0 -1
- package/dist/modules/uploads/lib/filters.mjs.map +0 -1
- package/dist/modules/uploads/lib/helpers.d.mts +0 -36
- package/dist/modules/uploads/lib/helpers.d.mts.map +0 -1
- package/dist/modules/uploads/lib/helpers.mjs.map +0 -1
- package/dist/modules/uploads/lib/procedures.server.d.mts +0 -13628
- package/dist/modules/uploads/lib/procedures.server.d.mts.map +0 -1
- package/dist/modules/uploads/lib/procedures.server.mjs +0 -176
- package/dist/modules/uploads/lib/procedures.server.mjs.map +0 -1
- package/dist/modules/uploads/lib/proxy.server.d.mts +0 -54
- package/dist/modules/uploads/lib/proxy.server.d.mts.map +0 -1
- package/dist/modules/uploads/lib/proxy.server.mjs +0 -97
- package/dist/modules/uploads/lib/proxy.server.mjs.map +0 -1
- package/dist/modules/uploads/lib/route.server.d.mts +0 -43
- package/dist/modules/uploads/lib/route.server.d.mts.map +0 -1
- package/dist/modules/uploads/lib/route.server.mjs +0 -70
- package/dist/modules/uploads/lib/route.server.mjs.map +0 -1
- package/dist/modules/uploads/lib/schema.d.mts.map +0 -1
- package/dist/modules/uploads/lib/schema.mjs.map +0 -1
- package/dist/modules/uploads/lib/validators.d.mts.map +0 -1
- package/dist/modules/uploads/lib/validators.mjs +0 -26
- package/dist/modules/uploads/lib/validators.mjs.map +0 -1
- package/dist/uploads/client.d.mts +0 -10
- package/dist/uploads/client.mjs +0 -11
- package/dist/uploads/server.d.mts +0 -4
- package/dist/uploads/server.mjs +0 -5
- package/dist/uploads.d.mts +0 -6
- package/dist/uploads.mjs +0 -7
- package/src/components/editor/components/fixed-menu.client.tsx +0 -143
- package/src/components/editor/context.client.tsx +0 -116
- package/src/components/editor/index.client.tsx +0 -13
- package/src/components/editor/preview.client.tsx +0 -13
- package/src/modules/config/providers/blob.ts +0 -11
- package/src/modules/inline-edit/components/richtext.client.tsx +0 -38
- package/src/modules/uploads/components/images/grid.client.tsx +0 -162
- package/src/modules/uploads/components/images/input.client.tsx +0 -34
- package/src/modules/uploads/components/preview-dialog.client.tsx +0 -21
- package/src/modules/uploads/components/zone.client.tsx +0 -56
- package/src/modules/uploads/entry.client.ts +0 -16
- package/src/modules/uploads/entry.server.ts +0 -6
- package/src/modules/uploads/hooks/use-upload-image.client.tsx +0 -131
- package/src/modules/uploads/hooks/use-upload-zone.client.ts +0 -44
- package/src/modules/uploads/lib/constants.ts +0 -10
- package/src/modules/uploads/lib/procedures.server.ts +0 -332
- package/src/modules/uploads/lib/proxy.server.ts +0 -139
- package/src/modules/uploads/lib/route.server.ts +0 -93
- package/src/modules/uploads/lib/validators.ts +0 -50
- /package/src/modules/{uploads/components/dropzone/context.tsx → storage/components/dropzone-context.client.tsx} +0 -0
|
@@ -1,72 +1,180 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
|
|
4
4
|
import * as React from "react";
|
|
5
|
-
import { DayPicker } from "react-day-picker";
|
|
5
|
+
import { DayPicker, getDefaultClassNames, type DayButton } from "react-day-picker";
|
|
6
6
|
|
|
7
|
-
import { buttonVariants } from "@/components/ui/button";
|
|
7
|
+
import { Button, buttonVariants } from "@/components/ui/button";
|
|
8
8
|
import { cn } from "@/lib/utils/cn";
|
|
9
9
|
|
|
10
10
|
function Calendar({
|
|
11
11
|
className,
|
|
12
12
|
classNames,
|
|
13
13
|
showOutsideDays = true,
|
|
14
|
+
captionLayout = "label",
|
|
15
|
+
buttonVariant = "ghost",
|
|
16
|
+
formatters,
|
|
17
|
+
components,
|
|
14
18
|
...props
|
|
15
|
-
}: React.ComponentProps<typeof DayPicker>
|
|
19
|
+
}: React.ComponentProps<typeof DayPicker> & {
|
|
20
|
+
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
21
|
+
}) {
|
|
22
|
+
const defaultClassNames = getDefaultClassNames();
|
|
23
|
+
|
|
16
24
|
return (
|
|
17
25
|
<DayPicker
|
|
18
26
|
showOutsideDays={showOutsideDays}
|
|
19
|
-
className={cn(
|
|
27
|
+
className={cn(
|
|
28
|
+
"bg-background group/calendar in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent p-3 [--cell-size:--spacing(8)]",
|
|
29
|
+
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
30
|
+
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
31
|
+
className,
|
|
32
|
+
)}
|
|
33
|
+
captionLayout={captionLayout}
|
|
34
|
+
formatters={{
|
|
35
|
+
formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
|
|
36
|
+
...formatters,
|
|
37
|
+
}}
|
|
20
38
|
classNames={{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
root: cn("w-fit", defaultClassNames.root),
|
|
40
|
+
months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
|
|
41
|
+
month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
|
|
42
|
+
nav: cn(
|
|
43
|
+
"flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",
|
|
44
|
+
defaultClassNames.nav,
|
|
45
|
+
),
|
|
46
|
+
button_previous: cn(
|
|
47
|
+
buttonVariants({ variant: buttonVariant }),
|
|
48
|
+
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
49
|
+
defaultClassNames.button_previous,
|
|
50
|
+
),
|
|
51
|
+
button_next: cn(
|
|
52
|
+
buttonVariants({ variant: buttonVariant }),
|
|
53
|
+
"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
|
|
54
|
+
defaultClassNames.button_next,
|
|
55
|
+
),
|
|
56
|
+
month_caption: cn(
|
|
57
|
+
"flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",
|
|
58
|
+
defaultClassNames.month_caption,
|
|
59
|
+
),
|
|
60
|
+
dropdowns: cn(
|
|
61
|
+
"w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
|
|
62
|
+
defaultClassNames.dropdowns,
|
|
63
|
+
),
|
|
64
|
+
dropdown_root: cn(
|
|
65
|
+
"relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
|
|
66
|
+
defaultClassNames.dropdown_root,
|
|
29
67
|
),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
68
|
+
dropdown: cn("absolute bg-popover inset-0 opacity-0", defaultClassNames.dropdown),
|
|
69
|
+
caption_label: cn(
|
|
70
|
+
"select-none font-medium",
|
|
71
|
+
captionLayout === "label"
|
|
72
|
+
? "text-sm"
|
|
73
|
+
: "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
|
|
74
|
+
defaultClassNames.caption_label,
|
|
75
|
+
),
|
|
76
|
+
table: "w-full border-collapse",
|
|
77
|
+
weekdays: cn("flex", defaultClassNames.weekdays),
|
|
78
|
+
weekday: cn(
|
|
79
|
+
"text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none",
|
|
80
|
+
defaultClassNames.weekday,
|
|
81
|
+
),
|
|
82
|
+
week: cn("flex w-full mt-2", defaultClassNames.week),
|
|
83
|
+
week_number_header: cn("select-none w-(--cell-size)", defaultClassNames.week_number_header),
|
|
84
|
+
week_number: cn(
|
|
85
|
+
"text-[0.8rem] select-none text-muted-foreground",
|
|
86
|
+
defaultClassNames.week_number,
|
|
41
87
|
),
|
|
42
88
|
day: cn(
|
|
43
|
-
|
|
44
|
-
|
|
89
|
+
"relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
|
|
90
|
+
props.showWeekNumber
|
|
91
|
+
? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md"
|
|
92
|
+
: "[&:first-child[data-selected=true]_button]:rounded-l-md",
|
|
93
|
+
defaultClassNames.day,
|
|
94
|
+
),
|
|
95
|
+
range_start: cn("rounded-l-md bg-accent", defaultClassNames.range_start),
|
|
96
|
+
range_middle: cn("rounded-none", defaultClassNames.range_middle),
|
|
97
|
+
range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
|
|
98
|
+
today: cn(
|
|
99
|
+
"bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none",
|
|
100
|
+
defaultClassNames.today,
|
|
45
101
|
),
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
day_today: "bg-accent text-accent-foreground",
|
|
53
|
-
day_outside: "day-outside text-muted-foreground aria-selected:text-muted-foreground",
|
|
54
|
-
day_disabled: "text-muted-foreground opacity-50",
|
|
55
|
-
day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
|
|
56
|
-
day_hidden: "invisible",
|
|
102
|
+
outside: cn(
|
|
103
|
+
"text-muted-foreground aria-selected:text-muted-foreground",
|
|
104
|
+
defaultClassNames.outside,
|
|
105
|
+
),
|
|
106
|
+
disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
|
|
107
|
+
hidden: cn("invisible", defaultClassNames.hidden),
|
|
57
108
|
...classNames,
|
|
58
109
|
}}
|
|
59
110
|
components={{
|
|
60
|
-
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
111
|
+
Root: ({ className, rootRef, ...props }) => {
|
|
112
|
+
return <div data-slot="calendar" ref={rootRef} className={cn(className)} {...props} />;
|
|
113
|
+
},
|
|
114
|
+
Chevron: ({ className, orientation, ...props }) => {
|
|
115
|
+
if (orientation === "left") {
|
|
116
|
+
return <ChevronLeftIcon className={cn("size-4", className)} {...props} />;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (orientation === "right") {
|
|
120
|
+
return <ChevronRightIcon className={cn("size-4", className)} {...props} />;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return <ChevronDownIcon className={cn("size-4", className)} {...props} />;
|
|
124
|
+
},
|
|
125
|
+
DayButton: CalendarDayButton,
|
|
126
|
+
WeekNumber: ({ children, ...props }) => {
|
|
127
|
+
return (
|
|
128
|
+
<td {...props}>
|
|
129
|
+
<div className="size-(--cell-size) flex items-center justify-center text-center">
|
|
130
|
+
{children}
|
|
131
|
+
</div>
|
|
132
|
+
</td>
|
|
133
|
+
);
|
|
134
|
+
},
|
|
135
|
+
...components,
|
|
66
136
|
}}
|
|
67
137
|
{...props}
|
|
68
138
|
/>
|
|
69
139
|
);
|
|
70
140
|
}
|
|
71
141
|
|
|
72
|
-
|
|
142
|
+
function CalendarDayButton({
|
|
143
|
+
className,
|
|
144
|
+
day,
|
|
145
|
+
modifiers,
|
|
146
|
+
...props
|
|
147
|
+
}: React.ComponentProps<typeof DayButton>) {
|
|
148
|
+
const defaultClassNames = getDefaultClassNames();
|
|
149
|
+
|
|
150
|
+
const ref = React.useRef<HTMLButtonElement>(null);
|
|
151
|
+
React.useEffect(() => {
|
|
152
|
+
if (modifiers.focused) ref.current?.focus();
|
|
153
|
+
}, [modifiers.focused]);
|
|
154
|
+
|
|
155
|
+
return (
|
|
156
|
+
<Button
|
|
157
|
+
ref={ref}
|
|
158
|
+
variant="ghost"
|
|
159
|
+
size="icon"
|
|
160
|
+
data-day={day.date.toLocaleDateString()}
|
|
161
|
+
data-selected-single={
|
|
162
|
+
modifiers.selected &&
|
|
163
|
+
!modifiers.range_start &&
|
|
164
|
+
!modifiers.range_end &&
|
|
165
|
+
!modifiers.range_middle
|
|
166
|
+
}
|
|
167
|
+
data-range-start={modifiers.range_start}
|
|
168
|
+
data-range-end={modifiers.range_end}
|
|
169
|
+
data-range-middle={modifiers.range_middle}
|
|
170
|
+
className={cn(
|
|
171
|
+
"data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground min-w-(--cell-size) flex aspect-square size-auto w-full flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-start=true]:rounded-l-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70",
|
|
172
|
+
defaultClassNames.day,
|
|
173
|
+
className,
|
|
174
|
+
)}
|
|
175
|
+
{...props}
|
|
176
|
+
/>
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
export { Calendar, CalendarDayButton };
|
|
@@ -20,6 +20,7 @@ interface RecipientInputProps {
|
|
|
20
20
|
onChange: (value: string[]) => void;
|
|
21
21
|
placeholder?: string;
|
|
22
22
|
disabled?: boolean;
|
|
23
|
+
className?: string;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
// Simpele email validatie
|
|
@@ -34,6 +35,7 @@ export function RecipientInput({
|
|
|
34
35
|
onChange,
|
|
35
36
|
placeholder = "Kies een ontvanger...",
|
|
36
37
|
disabled = false,
|
|
38
|
+
className,
|
|
37
39
|
}: RecipientInputProps) {
|
|
38
40
|
const [open, setOpen] = React.useState(false);
|
|
39
41
|
const [inputValue, setInputValue] = React.useState("");
|
|
@@ -171,6 +173,7 @@ export function RecipientInput({
|
|
|
171
173
|
"border-input bg-background ring-offset-background flex min-h-0 w-full flex-wrap items-center gap-2 rounded-lg border px-3 py-2 text-base transition-colors md:text-sm",
|
|
172
174
|
"focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]",
|
|
173
175
|
disabled && "cursor-not-allowed opacity-50",
|
|
176
|
+
className,
|
|
174
177
|
)}
|
|
175
178
|
onClick={() => {
|
|
176
179
|
if (!disabled) {
|
package/src/entry.ts
CHANGED
|
@@ -51,11 +51,11 @@ export const entry = {
|
|
|
51
51
|
"router/client": "./src/modules/router/entry.client.ts",
|
|
52
52
|
"router/server": "./src/modules/router/entry.server.ts",
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
54
|
+
* Storage Module
|
|
55
55
|
*/
|
|
56
|
-
|
|
57
|
-
"
|
|
58
|
-
"
|
|
56
|
+
storage: "./src/modules/storage/entry.ts",
|
|
57
|
+
"storage/client": "./src/modules/storage/entry.client.ts",
|
|
58
|
+
"storage/server": "./src/modules/storage/entry.server.ts",
|
|
59
59
|
};
|
|
60
60
|
|
|
61
61
|
// export const entry = [
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { baseColumns } from "@/modules/config/entry";
|
|
1
2
|
import { relations, sql, SQL } from "drizzle-orm";
|
|
2
3
|
import { pgTable } from "drizzle-orm/pg-core";
|
|
3
4
|
|
|
@@ -5,7 +6,7 @@ import { pgTable } from "drizzle-orm/pg-core";
|
|
|
5
6
|
* Users
|
|
6
7
|
*/
|
|
7
8
|
export const users = pgTable("users", (t) => ({
|
|
8
|
-
|
|
9
|
+
...baseColumns,
|
|
9
10
|
name: t
|
|
10
11
|
.varchar()
|
|
11
12
|
.notNull()
|
|
@@ -15,8 +16,6 @@ export const users = pgTable("users", (t) => ({
|
|
|
15
16
|
email: t.text().notNull().unique(),
|
|
16
17
|
emailVerified: t.boolean().notNull(),
|
|
17
18
|
image: t.text(),
|
|
18
|
-
createdAt: t.timestamp().notNull(),
|
|
19
|
-
updatedAt: t.timestamp().notNull(),
|
|
20
19
|
role: t.text(),
|
|
21
20
|
banned: t.boolean(),
|
|
22
21
|
banReason: t.text(),
|
|
@@ -34,18 +33,16 @@ export const usersRelations = relations(users, ({ many }) => ({
|
|
|
34
33
|
* Sessions
|
|
35
34
|
*/
|
|
36
35
|
export const sessions = pgTable("sessions", (t) => ({
|
|
37
|
-
|
|
36
|
+
...baseColumns,
|
|
38
37
|
expiresAt: t.timestamp().notNull(),
|
|
39
38
|
token: t.text().notNull().unique(),
|
|
40
|
-
createdAt: t.timestamp().notNull(),
|
|
41
|
-
updatedAt: t.timestamp().notNull(),
|
|
42
39
|
ipAddress: t.text(),
|
|
43
40
|
userAgent: t.text(),
|
|
41
|
+
impersonatedBy: t.text(),
|
|
44
42
|
userId: t
|
|
45
|
-
.
|
|
43
|
+
.uuid()
|
|
46
44
|
.notNull()
|
|
47
45
|
.references(() => users.id, { onDelete: "cascade" }),
|
|
48
|
-
impersonatedBy: t.text(),
|
|
49
46
|
}));
|
|
50
47
|
|
|
51
48
|
export const sessionsRelations = relations(sessions, ({ one }) => ({
|
|
@@ -59,13 +56,9 @@ export const sessionsRelations = relations(sessions, ({ one }) => ({
|
|
|
59
56
|
* Accounts
|
|
60
57
|
*/
|
|
61
58
|
export const accounts = pgTable("accounts", (t) => ({
|
|
62
|
-
|
|
59
|
+
...baseColumns,
|
|
63
60
|
accountId: t.text().notNull(),
|
|
64
61
|
providerId: t.text().notNull(),
|
|
65
|
-
userId: t
|
|
66
|
-
.text()
|
|
67
|
-
.notNull()
|
|
68
|
-
.references(() => users.id, { onDelete: "cascade" }),
|
|
69
62
|
accessToken: t.text(),
|
|
70
63
|
refreshToken: t.text(),
|
|
71
64
|
idToken: t.text(),
|
|
@@ -73,8 +66,10 @@ export const accounts = pgTable("accounts", (t) => ({
|
|
|
73
66
|
refreshTokenExpiresAt: t.timestamp(),
|
|
74
67
|
scope: t.text(),
|
|
75
68
|
password: t.text(),
|
|
76
|
-
|
|
77
|
-
|
|
69
|
+
userId: t
|
|
70
|
+
.uuid()
|
|
71
|
+
.notNull()
|
|
72
|
+
.references(() => users.id, { onDelete: "cascade" }),
|
|
78
73
|
}));
|
|
79
74
|
|
|
80
75
|
export const accountsRelations = relations(accounts, ({ one }) => ({
|
|
@@ -88,12 +83,10 @@ export const accountsRelations = relations(accounts, ({ one }) => ({
|
|
|
88
83
|
* Verifications
|
|
89
84
|
*/
|
|
90
85
|
export const verifications = pgTable("verifications", (t) => ({
|
|
91
|
-
|
|
86
|
+
...baseColumns,
|
|
92
87
|
identifier: t.text().notNull(),
|
|
93
88
|
value: t.text().notNull(),
|
|
94
89
|
expiresAt: t.timestamp().notNull(),
|
|
95
|
-
createdAt: t.timestamp(),
|
|
96
|
-
updatedAt: t.timestamp(),
|
|
97
90
|
}));
|
|
98
91
|
|
|
99
92
|
export const verificationsRelations = relations(verifications, ({ one }) => ({
|
|
@@ -107,7 +100,7 @@ export const verificationsRelations = relations(verifications, ({ one }) => ({
|
|
|
107
100
|
* Passkeys
|
|
108
101
|
*/
|
|
109
102
|
export const passkeys = pgTable("passkeys", (t) => ({
|
|
110
|
-
|
|
103
|
+
...baseColumns,
|
|
111
104
|
name: t.text(),
|
|
112
105
|
publicKey: t.text().notNull(),
|
|
113
106
|
credentialID: t.text().notNull(),
|
|
@@ -115,10 +108,9 @@ export const passkeys = pgTable("passkeys", (t) => ({
|
|
|
115
108
|
deviceType: t.text().notNull(),
|
|
116
109
|
backedUp: t.boolean().notNull(),
|
|
117
110
|
transports: t.text(),
|
|
118
|
-
createdAt: t.timestamp("created_at"),
|
|
119
111
|
aaguid: t.text(),
|
|
120
112
|
userId: t
|
|
121
|
-
.
|
|
113
|
+
.uuid()
|
|
122
114
|
.notNull()
|
|
123
115
|
.references(() => users.id, { onDelete: "cascade" }),
|
|
124
116
|
}));
|
|
@@ -4,8 +4,10 @@ import { passkeyClient } from "@better-auth/passkey/client";
|
|
|
4
4
|
import { adminClient, emailOTPClient, inferAdditionalFields } from "better-auth/client/plugins";
|
|
5
5
|
import { createAuthClient } from "better-auth/react";
|
|
6
6
|
import { AuthClient } from "./init";
|
|
7
|
+
import { url } from "@/lib/utils/url";
|
|
7
8
|
|
|
8
9
|
export const authClient = createAuthClient({
|
|
10
|
+
baseURL: url(),
|
|
9
11
|
plugins: [emailOTPClient(), passkeyClient(), adminClient(), inferAdditionalFields<AuthClient>()],
|
|
10
12
|
});
|
|
11
13
|
|
|
@@ -28,11 +28,14 @@ export function initAuth<TSchema extends TDatabaseSchema>(props: InitAuthProps<T
|
|
|
28
28
|
return betterAuth({
|
|
29
29
|
advanced: {
|
|
30
30
|
cookiePrefix: authCookiePrefix,
|
|
31
|
+
database: {
|
|
32
|
+
generateId: () => false,
|
|
33
|
+
},
|
|
31
34
|
},
|
|
32
35
|
database: drizzleAdapter(props.db, {
|
|
33
36
|
provider: "pg",
|
|
34
|
-
// schema: props.schema,
|
|
35
37
|
usePlural: true,
|
|
38
|
+
// schema: props.schema,
|
|
36
39
|
}),
|
|
37
40
|
emailAndPassword: {
|
|
38
41
|
enabled: true,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { useSuspenseQueries } from "@tanstack/react-query";
|
|
4
|
-
import { LiteralString } from "better-auth";
|
|
5
4
|
import { authClient } from "../handler/client.client";
|
|
6
5
|
import { type Permission } from "../lib/permissions";
|
|
7
6
|
import { useSession } from "./use-session";
|
|
@@ -21,6 +20,7 @@ export function usePermission(permission?: Permission) {
|
|
|
21
20
|
queryKey: ["permission", permission],
|
|
22
21
|
queryFn: async () => {
|
|
23
22
|
const userId = sessionQuery.data?.user.id;
|
|
23
|
+
if (!userId) return { permission, success: false };
|
|
24
24
|
|
|
25
25
|
const { data, error } = await authClient.admin.hasPermission({ permission, userId });
|
|
26
26
|
if (error) {
|
|
@@ -33,13 +33,14 @@ export function usePermission(permission?: Permission) {
|
|
|
33
33
|
success: data.success,
|
|
34
34
|
};
|
|
35
35
|
},
|
|
36
|
+
staleTime: 5 * 60 * 1000, // 5 minutes
|
|
36
37
|
})),
|
|
37
38
|
combine: (results) => {
|
|
38
39
|
const errors = results.filter(({ error }) => error);
|
|
39
40
|
if (errors.length) return { data: null, errors };
|
|
40
41
|
|
|
41
42
|
const values = results.map(({ data }) => data);
|
|
42
|
-
const success = results.every(({ data }) => data
|
|
43
|
+
const success = results.every(({ data }) => data?.success);
|
|
43
44
|
|
|
44
45
|
return { data: { success, values }, errors: null };
|
|
45
46
|
},
|
|
@@ -1,18 +1,24 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
3
|
+
import { queryOptions, useSuspenseQuery } from "@tanstack/react-query";
|
|
4
4
|
import { authClient } from "../entry.client";
|
|
5
5
|
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
export const sessionQueryOptions = queryOptions({
|
|
7
|
+
queryKey: ["session"],
|
|
8
|
+
queryFn: async () => {
|
|
9
|
+
const session = await authClient.getSession();
|
|
10
|
+
|
|
11
|
+
if (session.error) {
|
|
12
|
+
console.error(session.error);
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
return session.data;
|
|
17
|
+
},
|
|
18
|
+
staleTime: 1000 * 60 * 60,
|
|
19
|
+
});
|
|
16
20
|
|
|
21
|
+
export function useSession() {
|
|
22
|
+
const session = useSuspenseQuery(sessionQueryOptions);
|
|
17
23
|
return session;
|
|
18
24
|
}
|
|
@@ -64,7 +64,7 @@ export const createUserSchema = userSchema.pick({ email: true, image: true }).ex
|
|
|
64
64
|
.min(2, { message: "Achternaam moet langer zijn dan 2 karakters" })
|
|
65
65
|
.max(50, { message: "Achternaam mag niet langer zijn dan 50 karakters" }),
|
|
66
66
|
password: z.string().min(6, { message: "Wachtwoord moet minimaal 6 karakters hebben" }),
|
|
67
|
-
role: z.string()
|
|
67
|
+
role: z.string(),
|
|
68
68
|
});
|
|
69
69
|
|
|
70
70
|
export type CreateUserSchema = z.infer<typeof createUserSchema>;
|
|
@@ -25,7 +25,7 @@ import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
|
25
25
|
import React from "react";
|
|
26
26
|
import { Keys, useHotkeys } from "react-hotkeys-hook";
|
|
27
27
|
import { useCommand } from "../hooks/context.client";
|
|
28
|
-
import {
|
|
28
|
+
import { useCommandMutation } from "../hooks/use-command-mutation.client";
|
|
29
29
|
import { CommandTrigger } from "./command-trigger.client";
|
|
30
30
|
|
|
31
31
|
/**
|
|
@@ -213,7 +213,7 @@ export function CommandAlertDialogAction<
|
|
|
213
213
|
const { setOpen } = React.useContext(CommandAlertDialogContext);
|
|
214
214
|
const { status } = useCommand();
|
|
215
215
|
|
|
216
|
-
const { mutateAsync } =
|
|
216
|
+
const { mutateAsync } = useCommandMutation({
|
|
217
217
|
...mutation,
|
|
218
218
|
onSuccess: async (...params) => {
|
|
219
219
|
setOpen(false);
|
|
@@ -7,7 +7,7 @@ import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
|
7
7
|
import React from "react";
|
|
8
8
|
import { Keys, useHotkeys } from "react-hotkeys-hook";
|
|
9
9
|
import { useCommand } from "../hooks/context.client";
|
|
10
|
-
import {
|
|
10
|
+
import { useCommandMutation } from "../hooks/use-command-mutation.client";
|
|
11
11
|
import { CommandTrigger } from "./command-trigger.client";
|
|
12
12
|
|
|
13
13
|
export type CommandClickProps<
|
|
@@ -40,7 +40,7 @@ export function CommandClick<
|
|
|
40
40
|
...props
|
|
41
41
|
}: CommandClickProps<TData, TError, TVariables, TOnMutateResult>) {
|
|
42
42
|
const { menu, status } = useCommand();
|
|
43
|
-
const { mutate } =
|
|
43
|
+
const { mutate } = useCommandMutation(mutation);
|
|
44
44
|
|
|
45
45
|
const isDisabled = disabled || status === "pending";
|
|
46
46
|
|
|
@@ -22,22 +22,32 @@ import { CommandTrigger } from "./command-trigger.client";
|
|
|
22
22
|
/**
|
|
23
23
|
* CommandDialogContext
|
|
24
24
|
*/
|
|
25
|
-
type
|
|
25
|
+
type CommandDialogOpenState = {
|
|
26
26
|
open: boolean;
|
|
27
27
|
setOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
type CommandDialogContextValue = {
|
|
31
|
+
openState: CommandDialogOpenState;
|
|
32
|
+
};
|
|
33
|
+
|
|
30
34
|
const CommandDialogContext = React.createContext({} as CommandDialogContextValue);
|
|
31
35
|
|
|
32
36
|
/**
|
|
33
37
|
* CommandDialog
|
|
34
38
|
*/
|
|
35
|
-
export function CommandDialog({
|
|
36
|
-
|
|
39
|
+
export function CommandDialog({
|
|
40
|
+
children,
|
|
41
|
+
openState,
|
|
42
|
+
...props
|
|
43
|
+
}: Omit<DialogProps, "open" | "onOpenChange"> & { openState?: CommandDialogOpenState }) {
|
|
44
|
+
const state = React.useState(false);
|
|
45
|
+
|
|
46
|
+
const { open, setOpen } = openState ?? { open: state[0], setOpen: state[1] };
|
|
37
47
|
|
|
38
48
|
return (
|
|
39
49
|
<Dialog {...props} open={open} onOpenChange={setOpen}>
|
|
40
|
-
<CommandDialogContext.Provider value={{ open, setOpen }}>
|
|
50
|
+
<CommandDialogContext.Provider value={{ openState: { open, setOpen } }}>
|
|
41
51
|
{children}
|
|
42
52
|
</CommandDialogContext.Provider>
|
|
43
53
|
</Dialog>
|
|
@@ -63,11 +73,13 @@ export function CommandDialogTrigger({
|
|
|
63
73
|
...props
|
|
64
74
|
}: CommandDialogTriggerProps) {
|
|
65
75
|
const { menu, status } = useCommand();
|
|
66
|
-
const {
|
|
76
|
+
const { openState } = React.useContext(CommandDialogContext);
|
|
67
77
|
|
|
68
78
|
const isDisabled = disabled || status === "pending";
|
|
69
79
|
|
|
70
|
-
useHotkeys(hotkey ?? "", () => setOpen(true), {
|
|
80
|
+
useHotkeys(hotkey ?? "", () => openState.setOpen(true), {
|
|
81
|
+
enabled: !isDisabled && hotkey !== undefined,
|
|
82
|
+
});
|
|
71
83
|
|
|
72
84
|
if (menu === "inline" || menu === "table") {
|
|
73
85
|
return (
|
|
@@ -92,7 +104,7 @@ export function CommandDialogTrigger({
|
|
|
92
104
|
disabled={isDisabled}
|
|
93
105
|
onClick={(e) => {
|
|
94
106
|
e.preventDefault();
|
|
95
|
-
setOpen(true);
|
|
107
|
+
openState.setOpen(true);
|
|
96
108
|
}}
|
|
97
109
|
>
|
|
98
110
|
{children}
|
|
@@ -111,7 +123,7 @@ export function CommandDialogTrigger({
|
|
|
111
123
|
disabled={isDisabled}
|
|
112
124
|
onClick={(e) => {
|
|
113
125
|
e.preventDefault();
|
|
114
|
-
setOpen(true);
|
|
126
|
+
openState.setOpen(true);
|
|
115
127
|
}}
|
|
116
128
|
>
|
|
117
129
|
{children}
|
|
@@ -20,7 +20,7 @@ import { cn } from "@/lib/utils/cn";
|
|
|
20
20
|
import { DefaultError, MutationOptions } from "@tanstack/react-query";
|
|
21
21
|
import React from "react";
|
|
22
22
|
import { useCommand } from "../hooks/context.client";
|
|
23
|
-
import {
|
|
23
|
+
import { useCommandMutation } from "../hooks/use-command-mutation.client";
|
|
24
24
|
import { CommandTrigger } from "./command-trigger.client";
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -190,7 +190,7 @@ export function CommandDropdownItem<
|
|
|
190
190
|
const { setOpen } = React.useContext(CommandDropdownContext);
|
|
191
191
|
const { menu, status } = useCommand();
|
|
192
192
|
|
|
193
|
-
const { mutateAsync } =
|
|
193
|
+
const { mutateAsync } = useCommandMutation({
|
|
194
194
|
...mutation,
|
|
195
195
|
onSuccess: async (...params) => {
|
|
196
196
|
setOpen(false);
|
|
@@ -19,7 +19,7 @@ import { type DefaultError, type MutationOptions } from "@tanstack/react-query";
|
|
|
19
19
|
import React, { type ComponentProps } from "react";
|
|
20
20
|
import { type FieldValues, Form, useFormContext } from "react-hook-form";
|
|
21
21
|
import { type Keys, useHotkeys } from "react-hotkeys-hook";
|
|
22
|
-
import {
|
|
22
|
+
import { useCommandMutation } from "../entry.client";
|
|
23
23
|
import { useCommand } from "../hooks/context.client";
|
|
24
24
|
import { CommandTrigger } from "./command-trigger.client";
|
|
25
25
|
|
|
@@ -188,7 +188,7 @@ export function CommandFormDialogContent<
|
|
|
188
188
|
const { setOpen } = React.useContext(CommandFormDialogContext);
|
|
189
189
|
const form = useFormContext<TValues>();
|
|
190
190
|
|
|
191
|
-
const { mutateAsync } =
|
|
191
|
+
const { mutateAsync } = useCommandMutation({
|
|
192
192
|
...mutation,
|
|
193
193
|
onSuccess: async (...params) => {
|
|
194
194
|
form.reset();
|
|
@@ -5,7 +5,7 @@ export * from "./components/dialog-command.client";
|
|
|
5
5
|
export * from "./components/dropdown-command.client";
|
|
6
6
|
export * from "./components/empty-command.client";
|
|
7
7
|
export * from "./components/form-dialog-command.client";
|
|
8
|
-
export * from "./hooks/use-command-
|
|
8
|
+
export * from "./hooks/use-command-mutation.client";
|
|
9
9
|
export * from "./menus/context-menu.client";
|
|
10
10
|
export * from "./menus/dropdown-menu.client";
|
|
11
11
|
export * from "./menus/inline-menu.client";
|