@tulip-systems/core 0.8.1 → 0.8.3
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/components/common/icons.d.mts +1 -2
- package/dist/components/common/icons.mjs +1 -2
- package/dist/components/common/status.d.mts +1 -2
- package/dist/components/common/status.mjs +1 -2
- package/dist/components/editor/components/content.client.d.mts +1 -2
- package/dist/components/editor/components/content.client.mjs +1 -2
- package/dist/components/editor/components/editor.client.d.mts +1 -2
- package/dist/components/editor/components/editor.client.mjs +1 -2
- package/dist/components/editor/components/menu-nodes.client.mjs +1 -2
- package/dist/components/editor/components/menu.client.d.mts +1 -2
- package/dist/components/editor/components/menu.client.mjs +1 -2
- package/dist/components/editor/extensions/file-handler/extension.d.mts +1 -2
- package/dist/components/editor/extensions/file-handler/extension.mjs +1 -2
- package/dist/components/editor/extensions/file-handler/strategy.d.mts +1 -2
- package/dist/components/editor/extensions/file-handler/strategy.mjs +1 -2
- package/dist/components/editor/extensions/file-handler/utils.mjs +1 -2
- package/dist/components/editor/extensions/image/extension.d.mts +1 -2
- package/dist/components/editor/extensions/image/extension.mjs +1 -2
- package/dist/components/editor/extensions/skeleton/extension.mjs +1 -2
- package/dist/components/editor/extensions/skeleton/renderer.mjs +1 -2
- package/dist/components/editor/lib/constants.d.mts +1 -2
- package/dist/components/editor/lib/constants.mjs +1 -2
- package/dist/components/editor/lib/extensions.d.mts +1 -2
- package/dist/components/editor/lib/extensions.mjs +1 -2
- package/dist/components/editor/lib/helpers.d.mts +1 -2
- package/dist/components/editor/lib/helpers.mjs +1 -2
- package/dist/components/editor/lib/types.d.mts +1 -2
- package/dist/components/editor/lib/variants.mjs +1 -2
- package/dist/components/emails/forget-password-email.mjs +2 -3
- package/dist/components/header/back-button.client.d.mts +1 -2
- package/dist/components/header/back-button.client.mjs +1 -2
- package/dist/components/header/bottom-bar.client.d.mts +1 -2
- package/dist/components/header/bottom-bar.client.mjs +1 -2
- package/dist/components/header/breadcrumbs.client.d.mts +1 -2
- package/dist/components/header/breadcrumbs.client.mjs +1 -2
- package/dist/components/header/header.client.d.mts +1 -2
- package/dist/components/header/header.client.mjs +1 -2
- package/dist/components/header/indicator.client.mjs +1 -2
- package/dist/components/header/mobile-nav-switcher.client.d.mts +1 -2
- package/dist/components/header/mobile-nav-switcher.client.mjs +1 -2
- package/dist/components/header/top-bar.client.d.mts +1 -2
- package/dist/components/header/top-bar.client.mjs +1 -2
- package/dist/components/layouts/admin-content.client.d.mts +1 -2
- package/dist/components/layouts/admin-content.client.mjs +1 -2
- package/dist/components/layouts/admin-error-pages.d.mts +1 -2
- package/dist/components/layouts/admin-error-pages.mjs +1 -2
- package/dist/components/layouts/admin-layout.d.mts +1 -2
- package/dist/components/layouts/admin-layout.mjs +1 -2
- package/dist/components/layouts/admin-loading.d.mts +1 -2
- package/dist/components/layouts/admin-loading.mjs +1 -2
- package/dist/components/layouts/empty-page.d.mts +1 -2
- package/dist/components/layouts/empty-page.mjs +1 -2
- package/dist/components/layouts/error-page.d.mts +1 -2
- package/dist/components/layouts/error-page.mjs +1 -2
- package/dist/components/layouts/error-sections.d.mts +1 -2
- package/dist/components/layouts/error-sections.mjs +1 -2
- package/dist/components/layouts/list-layout.d.mts +1 -2
- package/dist/components/layouts/list-layout.mjs +1 -2
- package/dist/components/layouts/providers.client.d.mts +1 -2
- package/dist/components/layouts/providers.client.mjs +1 -2
- package/dist/components/layouts/root-error-pages.d.mts +1 -2
- package/dist/components/layouts/root-error-pages.mjs +1 -2
- package/dist/components/layouts/root-layout.server.d.mts +1 -2
- package/dist/components/layouts/root-layout.server.mjs +1 -2
- package/dist/components/layouts/root-loading.d.mts +1 -2
- package/dist/components/layouts/root-loading.mjs +1 -2
- package/dist/components/layouts/tab-layout.d.mts +1 -2
- package/dist/components/layouts/tab-layout.mjs +1 -2
- package/dist/components/lists/data-list.d.mts +1 -2
- package/dist/components/lists/data-list.mjs +1 -2
- package/dist/components/lists/data-stack.d.mts +1 -2
- package/dist/components/lists/data-stack.mjs +1 -2
- package/dist/components/navigation/admin-sidebar-header.client.mjs +1 -2
- package/dist/components/navigation/admin-sidebar-paths.client.d.mts +1 -2
- package/dist/components/navigation/admin-sidebar-paths.client.mjs +1 -2
- package/dist/components/navigation/admin-sidebar-skeleton.mjs +1 -2
- package/dist/components/ui/accordion.client.d.mts +1 -2
- package/dist/components/ui/accordion.client.mjs +1 -2
- package/dist/components/ui/alert-dialog.client.d.mts +1 -2
- package/dist/components/ui/alert-dialog.client.mjs +1 -2
- package/dist/components/ui/alert.d.mts +1 -2
- package/dist/components/ui/alert.mjs +1 -2
- package/dist/components/ui/aspect-ratio.client.d.mts +1 -2
- package/dist/components/ui/aspect-ratio.client.mjs +1 -2
- package/dist/components/ui/avatar.client.d.mts +1 -2
- package/dist/components/ui/avatar.client.mjs +1 -2
- package/dist/components/ui/badge.d.mts +2 -3
- package/dist/components/ui/badge.mjs +1 -2
- package/dist/components/ui/breadcrumb.d.mts +1 -2
- package/dist/components/ui/breadcrumb.mjs +1 -2
- package/dist/components/ui/button-group.d.mts +1 -2
- package/dist/components/ui/button-group.mjs +1 -2
- package/dist/components/ui/button.d.mts +2 -3
- package/dist/components/ui/button.mjs +1 -2
- package/dist/components/ui/calendar.client.d.mts +1 -2
- package/dist/components/ui/calendar.client.mjs +1 -2
- package/dist/components/ui/card.d.mts +1 -2
- package/dist/components/ui/card.mjs +1 -2
- package/dist/components/ui/carousel.client.d.mts +1 -2
- package/dist/components/ui/carousel.client.mjs +1 -2
- package/dist/components/ui/chart.client.d.mts +1 -2
- package/dist/components/ui/chart.client.mjs +1 -2
- package/dist/components/ui/checkbox.client.d.mts +1 -2
- package/dist/components/ui/checkbox.client.mjs +1 -2
- package/dist/components/ui/collapsible.client.d.mts +1 -2
- package/dist/components/ui/collapsible.client.mjs +1 -2
- package/dist/components/ui/color-picker.client.d.mts +1 -2
- package/dist/components/ui/color-picker.client.mjs +1 -2
- package/dist/components/ui/combobox-dropdown.client.d.mts +1 -2
- package/dist/components/ui/combobox-dropdown.client.mjs +1 -2
- package/dist/components/ui/combobox.client.d.mts +1 -2
- package/dist/components/ui/combobox.client.mjs +1 -2
- package/dist/components/ui/command.client.d.mts +1 -2
- package/dist/components/ui/command.client.mjs +1 -2
- package/dist/components/ui/context-menu.client.d.mts +1 -2
- package/dist/components/ui/context-menu.client.mjs +1 -2
- package/dist/components/ui/date-picker.client.d.mts +1 -2
- package/dist/components/ui/date-picker.client.mjs +1 -2
- package/dist/components/ui/dialog.client.d.mts +1 -2
- package/dist/components/ui/dialog.client.mjs +1 -2
- package/dist/components/ui/drawer.client.d.mts +1 -2
- package/dist/components/ui/drawer.client.mjs +1 -2
- package/dist/components/ui/dropdown-menu.client.d.mts +1 -2
- package/dist/components/ui/dropdown-menu.client.mjs +1 -2
- package/dist/components/ui/empty.d.mts +1 -2
- package/dist/components/ui/empty.mjs +1 -2
- package/dist/components/ui/field.client.d.mts +1 -2
- package/dist/components/ui/field.client.mjs +1 -2
- package/dist/components/ui/form.client.d.mts +1 -2
- package/dist/components/ui/form.client.mjs +1 -2
- package/dist/components/ui/hover-card.client.d.mts +1 -2
- package/dist/components/ui/hover-card.client.mjs +1 -2
- package/dist/components/ui/input-date-time.client.d.mts +1 -2
- package/dist/components/ui/input-date-time.client.mjs +1 -2
- package/dist/components/ui/input-date.d.mts +1 -2
- package/dist/components/ui/input-date.mjs +1 -2
- package/dist/components/ui/input-group.client.d.mts +1 -2
- package/dist/components/ui/input-group.client.mjs +1 -2
- package/dist/components/ui/input-recipient.d.mts +1 -2
- package/dist/components/ui/input-recipient.mjs +1 -2
- package/dist/components/ui/input-time.d.mts +1 -2
- package/dist/components/ui/input-time.mjs +1 -2
- package/dist/components/ui/input.d.mts +1 -2
- package/dist/components/ui/input.mjs +1 -2
- package/dist/components/ui/item.d.mts +2 -3
- package/dist/components/ui/item.mjs +1 -2
- package/dist/components/ui/kbd.d.mts +1 -2
- package/dist/components/ui/kbd.mjs +1 -2
- package/dist/components/ui/label.d.mts +1 -2
- package/dist/components/ui/label.mjs +1 -2
- package/dist/components/ui/loader.d.mts +1 -2
- package/dist/components/ui/loader.mjs +1 -2
- package/dist/components/ui/navigation-menu.d.mts +1 -2
- package/dist/components/ui/navigation-menu.mjs +1 -2
- package/dist/components/ui/pagination.d.mts +1 -2
- package/dist/components/ui/pagination.mjs +1 -2
- package/dist/components/ui/popover.client.d.mts +1 -2
- package/dist/components/ui/popover.client.mjs +1 -2
- package/dist/components/ui/progress.client.d.mts +1 -2
- package/dist/components/ui/progress.client.mjs +1 -2
- package/dist/components/ui/radio-group.d.mts +1 -2
- package/dist/components/ui/radio-group.mjs +1 -2
- package/dist/components/ui/resizable.client.d.mts +1 -2
- package/dist/components/ui/resizable.client.mjs +1 -2
- package/dist/components/ui/scroll-area.d.mts +1 -2
- package/dist/components/ui/scroll-area.mjs +1 -2
- package/dist/components/ui/select.client.d.mts +1 -2
- package/dist/components/ui/select.client.mjs +1 -2
- package/dist/components/ui/separator.d.mts +1 -2
- package/dist/components/ui/separator.mjs +1 -2
- package/dist/components/ui/sheet.client.d.mts +1 -2
- package/dist/components/ui/sheet.client.mjs +1 -2
- package/dist/components/ui/sidebar.client.d.mts +1 -2
- package/dist/components/ui/sidebar.client.mjs +1 -2
- package/dist/components/ui/skeleton.d.mts +1 -2
- package/dist/components/ui/skeleton.mjs +1 -2
- package/dist/components/ui/slider.d.mts +1 -2
- package/dist/components/ui/slider.mjs +1 -2
- package/dist/components/ui/sonner.client.d.mts +1 -2
- package/dist/components/ui/sonner.client.mjs +1 -2
- package/dist/components/ui/spinner.d.mts +1 -2
- package/dist/components/ui/spinner.mjs +1 -2
- package/dist/components/ui/switch.client.d.mts +1 -2
- package/dist/components/ui/switch.client.mjs +1 -2
- package/dist/components/ui/tabs.client.d.mts +1 -2
- package/dist/components/ui/tabs.client.mjs +1 -2
- package/dist/components/ui/textarea.d.mts +1 -2
- package/dist/components/ui/textarea.mjs +1 -2
- package/dist/components/ui/toggle-group.client.d.mts +1 -2
- package/dist/components/ui/toggle-group.client.mjs +1 -2
- package/dist/components/ui/toggle.client.d.mts +1 -2
- package/dist/components/ui/toggle.client.mjs +1 -2
- package/dist/components/ui/tooltip.client.d.mts +1 -2
- package/dist/components/ui/tooltip.client.mjs +1 -2
- package/dist/lib/hooks/use-action.d.mts +1 -2
- package/dist/lib/hooks/use-action.mjs +1 -2
- package/dist/lib/hooks/use-indicator.d.mts +1 -2
- package/dist/lib/hooks/use-indicator.mjs +1 -2
- package/dist/lib/hooks/use-mobile.client.d.mts +1 -2
- package/dist/lib/hooks/use-mobile.client.mjs +1 -2
- package/dist/lib/types/config.d.mts +1 -2
- package/dist/lib/utils/array-move.d.mts +1 -2
- package/dist/lib/utils/array-move.mjs +1 -2
- package/dist/lib/utils/cn.d.mts +1 -2
- package/dist/lib/utils/cn.mjs +1 -2
- package/dist/lib/utils/fonts.d.mts +1 -2
- package/dist/lib/utils/fonts.mjs +1 -2
- package/dist/lib/utils/format.d.mts +1 -2
- package/dist/lib/utils/format.mjs +1 -2
- package/dist/lib/utils/manifest.d.mts +1 -2
- package/dist/lib/utils/manifest.mjs +1 -2
- package/dist/lib/utils/markdown.d.mts +1 -2
- package/dist/lib/utils/markdown.mjs +1 -2
- package/dist/lib/utils/url.d.mts +1 -2
- package/dist/lib/utils/url.mjs +1 -2
- package/dist/lib/utils/user-agent.mjs +1 -2
- package/dist/modules/auth/components/allowed.client.d.mts +1 -2
- package/dist/modules/auth/components/allowed.client.mjs +1 -2
- package/dist/modules/auth/components/auth-layout.server.d.mts +1 -2
- package/dist/modules/auth/components/auth-layout.server.mjs +1 -2
- package/dist/modules/auth/components/auth-loading.d.mts +1 -2
- package/dist/modules/auth/components/auth-loading.mjs +1 -2
- package/dist/modules/auth/components/create-first-user-guard.server.d.mts +1 -2
- package/dist/modules/auth/components/create-first-user-guard.server.mjs +1 -2
- package/dist/modules/auth/components/create-first-user-page.client.d.mts +1 -2
- package/dist/modules/auth/components/create-first-user-page.client.mjs +1 -2
- package/dist/modules/auth/components/forget-password-page.client.d.mts +1 -2
- package/dist/modules/auth/components/forget-password-page.client.mjs +1 -2
- package/dist/modules/auth/components/guard.server.d.mts +1 -2
- package/dist/modules/auth/components/guard.server.mjs +1 -2
- package/dist/modules/auth/components/login-page.client.d.mts +1 -2
- package/dist/modules/auth/components/login-page.client.mjs +1 -2
- package/dist/modules/auth/components/reset-password-page.client.d.mts +1 -2
- package/dist/modules/auth/components/reset-password-page.client.mjs +1 -2
- package/dist/modules/auth/components/update-password-command.d.mts +1 -2
- package/dist/modules/auth/components/update-password-command.mjs +1 -2
- package/dist/modules/auth/db/schema.d.mts +1 -2
- package/dist/modules/auth/db/schema.mjs +1 -2
- package/dist/modules/auth/handler/create-client.client.d.mts +810 -572
- package/dist/modules/auth/handler/create-client.client.mjs +1 -2
- package/dist/modules/auth/handler/proxy.server.d.mts +1 -2
- package/dist/modules/auth/handler/proxy.server.mjs +1 -2
- package/dist/modules/auth/handler/route.server.d.mts +1 -2
- package/dist/modules/auth/handler/route.server.mjs +1 -2
- package/dist/modules/auth/handler/service.server.d.mts +121 -94
- package/dist/modules/auth/handler/service.server.mjs +1 -2
- package/dist/modules/auth/hooks/use-auth-client.d.mts +1 -2
- package/dist/modules/auth/hooks/use-auth-client.mjs +1 -2
- package/dist/modules/auth/hooks/use-permission.d.mts +1 -2
- package/dist/modules/auth/hooks/use-permission.mjs +1 -2
- package/dist/modules/auth/hooks/use-session.d.mts +1 -2
- package/dist/modules/auth/hooks/use-session.mjs +1 -2
- package/dist/modules/auth/lib/helpers.server.d.mts +2 -3
- package/dist/modules/auth/lib/helpers.server.mjs +1 -2
- package/dist/modules/auth/lib/permissions.d.mts +1 -2
- package/dist/modules/auth/lib/permissions.mjs +1 -2
- package/dist/modules/auth/lib/validators.d.mts +1 -2
- package/dist/modules/auth/lib/validators.mjs +1 -2
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts +1 -2
- package/dist/modules/commands/components/alert-dialog-command.client.mjs +1 -2
- package/dist/modules/commands/components/click-command.client.d.mts +1 -2
- package/dist/modules/commands/components/click-command.client.mjs +1 -2
- package/dist/modules/commands/components/command-trigger.client.d.mts +1 -2
- package/dist/modules/commands/components/command-trigger.client.mjs +1 -2
- package/dist/modules/commands/components/dialog-command.client.d.mts +1 -2
- package/dist/modules/commands/components/dialog-command.client.mjs +1 -2
- package/dist/modules/commands/components/dropdown-command.client.d.mts +1 -2
- package/dist/modules/commands/components/dropdown-command.client.mjs +1 -2
- package/dist/modules/commands/components/empty-command.client.d.mts +1 -2
- package/dist/modules/commands/components/empty-command.client.mjs +1 -2
- package/dist/modules/commands/components/form-dialog-command.client.d.mts +1 -2
- package/dist/modules/commands/components/form-dialog-command.client.mjs +1 -2
- package/dist/modules/commands/components/render-command.mjs +1 -2
- package/dist/modules/commands/hooks/context.client.mjs +1 -2
- package/dist/modules/commands/hooks/use-command-menu.client.d.mts +1 -2
- package/dist/modules/commands/hooks/use-command-menu.client.mjs +1 -2
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts +1 -2
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs +1 -2
- package/dist/modules/commands/lib/definitions.d.mts +1 -2
- package/dist/modules/commands/lib/factory.d.mts +1 -2
- package/dist/modules/commands/lib/factory.mjs +1 -2
- package/dist/modules/commands/menus/context-menu.client.d.mts +1 -2
- package/dist/modules/commands/menus/context-menu.client.mjs +1 -2
- package/dist/modules/commands/menus/dropdown-menu.client.d.mts +1 -2
- package/dist/modules/commands/menus/dropdown-menu.client.mjs +1 -2
- package/dist/modules/commands/menus/floating-menu.client.d.mts +1 -2
- package/dist/modules/commands/menus/floating-menu.client.mjs +1 -2
- package/dist/modules/commands/menus/inline-menu.client.d.mts +1 -2
- package/dist/modules/commands/menus/inline-menu.client.mjs +1 -2
- package/dist/modules/commands/menus/responsive-menu.client.d.mts +1 -2
- package/dist/modules/commands/menus/responsive-menu.client.mjs +1 -2
- package/dist/modules/commands/utils/archive-command.client.d.mts +1 -2
- package/dist/modules/commands/utils/archive-command.client.mjs +1 -2
- package/dist/modules/commands/utils/delete-command.client.d.mts +1 -2
- package/dist/modules/commands/utils/delete-command.client.mjs +1 -2
- package/dist/modules/config/lib/config.d.mts +1 -2
- package/dist/modules/config/lib/config.mjs +1 -2
- package/dist/modules/config/lib/context.d.mts +1 -2
- package/dist/modules/config/lib/context.mjs +1 -2
- package/dist/modules/config/paths/helpers.d.mts +1 -2
- package/dist/modules/config/paths/helpers.mjs +1 -2
- package/dist/modules/config/paths/types.d.mts +1 -2
- package/dist/modules/data-tables/components/cell/common.client.d.mts +1 -2
- package/dist/modules/data-tables/components/cell/common.client.mjs +1 -2
- package/dist/modules/data-tables/components/cell/index.client.d.mts +1 -2
- package/dist/modules/data-tables/components/cell/index.client.mjs +1 -2
- package/dist/modules/data-tables/components/cell/select.client.d.mts +1 -2
- package/dist/modules/data-tables/components/cell/select.client.mjs +1 -2
- package/dist/modules/data-tables/components/column-header.d.mts +1 -2
- package/dist/modules/data-tables/components/column-header.mjs +1 -2
- package/dist/modules/data-tables/components/filters/combobox.client.d.mts +1 -2
- package/dist/modules/data-tables/components/filters/combobox.client.mjs +1 -2
- package/dist/modules/data-tables/components/filters/slider.client.d.mts +1 -2
- package/dist/modules/data-tables/components/filters/slider.client.mjs +1 -2
- package/dist/modules/data-tables/components/footer.mjs +1 -2
- package/dist/modules/data-tables/components/header.d.mts +1 -2
- package/dist/modules/data-tables/components/header.mjs +1 -2
- package/dist/modules/data-tables/components/layout.d.mts +1 -2
- package/dist/modules/data-tables/components/layout.mjs +1 -2
- package/dist/modules/data-tables/components/search-input.client.d.mts +1 -2
- package/dist/modules/data-tables/components/search-input.client.mjs +1 -2
- package/dist/modules/data-tables/components/skeleton.d.mts +1 -2
- package/dist/modules/data-tables/components/skeleton.mjs +1 -2
- package/dist/modules/data-tables/components/table.d.mts +1 -2
- package/dist/modules/data-tables/components/table.mjs +1 -2
- package/dist/modules/data-tables/components/toolbar.d.mts +1 -2
- package/dist/modules/data-tables/components/toolbar.mjs +1 -2
- package/dist/modules/data-tables/hooks/use-context.client.d.mts +1 -2
- package/dist/modules/data-tables/hooks/use-context.client.mjs +1 -2
- package/dist/modules/data-tables/hooks/use-search.client.mjs +1 -2
- package/dist/modules/data-tables/hooks/use-selection.client.mjs +1 -2
- package/dist/modules/data-tables/hooks/use-table.client.d.mts +1 -2
- package/dist/modules/data-tables/hooks/use-table.client.mjs +1 -2
- package/dist/modules/data-tables/lib/converters/cursor.d.mts +1 -2
- package/dist/modules/data-tables/lib/converters/cursor.mjs +1 -2
- package/dist/modules/data-tables/lib/converters/dto.d.mts +1 -2
- package/dist/modules/data-tables/lib/converters/dto.mjs +1 -2
- package/dist/modules/data-tables/lib/converters/filter.d.mts +1 -2
- package/dist/modules/data-tables/lib/converters/filter.mjs +1 -2
- package/dist/modules/data-tables/lib/converters/search.d.mts +1 -2
- package/dist/modules/data-tables/lib/converters/search.mjs +1 -2
- package/dist/modules/data-tables/lib/converters/sorting.d.mts +1 -2
- package/dist/modules/data-tables/lib/converters/sorting.mjs +1 -2
- package/dist/modules/data-tables/lib/filters/config.d.mts +1 -2
- package/dist/modules/data-tables/lib/filters/config.mjs +1 -2
- package/dist/modules/data-tables/lib/filters/helpers.d.mts +1 -2
- package/dist/modules/data-tables/lib/filters/helpers.mjs +1 -2
- package/dist/modules/data-tables/lib/filters/parsers.d.mts +1 -2
- package/dist/modules/data-tables/lib/filters/parsers.mjs +1 -2
- package/dist/modules/data-tables/lib/filters/resolvers.d.mts +1 -2
- package/dist/modules/data-tables/lib/filters/resolvers.mjs +1 -2
- package/dist/modules/data-tables/lib/helpers/create-column.mjs +1 -2
- package/dist/modules/data-tables/lib/search-params.d.mts +1 -2
- package/dist/modules/data-tables/lib/search-params.mjs +1 -2
- package/dist/modules/data-tables/lib/types.d.mts +1 -2
- package/dist/modules/data-tables/lib/validators.d.mts +1 -2
- package/dist/modules/data-tables/lib/validators.mjs +1 -2
- package/dist/modules/data-tables/server/get-data.server.d.mts +2 -3
- package/dist/modules/data-tables/server/get-data.server.mjs +1 -2
- package/dist/modules/data-tables/strategies/helpers/sorting.mjs +1 -2
- package/dist/modules/data-tables/strategies/infinite/components.mjs +1 -2
- package/dist/modules/data-tables/strategies/infinite/strategy.d.mts +1 -2
- package/dist/modules/data-tables/strategies/infinite/strategy.mjs +1 -2
- package/dist/modules/data-tables/strategies/pagination/components.mjs +1 -2
- package/dist/modules/data-tables/strategies/pagination/strategy.d.mts +1 -2
- package/dist/modules/data-tables/strategies/pagination/strategy.mjs +1 -2
- package/dist/modules/data-tables/tables/data-table/components/body.mjs +1 -2
- package/dist/modules/data-tables/tables/data-table/components/header.mjs +1 -2
- package/dist/modules/data-tables/tables/data-table/components/row.mjs +1 -2
- package/dist/modules/data-tables/tables/data-table/components/table.d.mts +1 -2
- package/dist/modules/data-tables/tables/data-table/components/table.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/body.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/header.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/table.d.mts +1 -2
- package/dist/modules/data-tables/tables/inline-table/components/table.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +1 -2
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.mjs +1 -2
- package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +2 -3
- package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +1 -2
- package/dist/modules/database/lib/helpers.d.mts +1 -2
- package/dist/modules/database/lib/helpers.mjs +1 -2
- package/dist/modules/database/lib/service.server.d.mts +1 -2
- package/dist/modules/database/lib/service.server.mjs +1 -2
- package/dist/modules/database/lib/types.d.mts +1 -2
- package/dist/modules/emails/lib/service.server.d.mts +1 -2
- package/dist/modules/emails/lib/service.server.mjs +1 -2
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +1 -2
- package/dist/modules/inline-edit/components/combobox.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/combobox.client.mjs +1 -2
- package/dist/modules/inline-edit/components/date-input.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/date-input.client.mjs +1 -2
- package/dist/modules/inline-edit/components/date-picker.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/date-picker.client.mjs +1 -2
- package/dist/modules/inline-edit/components/date-time.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/date-time.client.mjs +1 -2
- package/dist/modules/inline-edit/components/editor.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/editor.client.mjs +1 -2
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/input-recipient.client.mjs +1 -2
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/input-toggle.client.mjs +1 -2
- package/dist/modules/inline-edit/components/input.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/input.client.mjs +1 -2
- package/dist/modules/inline-edit/components/select.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/select.client.mjs +1 -2
- package/dist/modules/inline-edit/components/switch.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/switch.client.mjs +1 -2
- package/dist/modules/inline-edit/components/toggle.client.d.mts +1 -2
- package/dist/modules/inline-edit/components/toggle.client.mjs +1 -2
- package/dist/modules/inline-edit/hooks/context.client.d.mts +1 -2
- package/dist/modules/inline-edit/hooks/context.client.mjs +1 -2
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +1 -2
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs +1 -2
- package/dist/modules/inline-edit/lib/validators.d.mts +1 -2
- package/dist/modules/inline-edit/lib/validators.mjs +1 -2
- package/dist/modules/inline-edit/lib/variants.d.mts +2 -3
- package/dist/modules/inline-edit/lib/variants.mjs +1 -2
- package/dist/modules/router/handler/caller.client.d.mts +1 -2
- package/dist/modules/router/handler/caller.client.mjs +1 -2
- package/dist/modules/router/handler/caller.server.d.mts +1 -2
- package/dist/modules/router/handler/caller.server.mjs +1 -2
- package/dist/modules/router/handler/context.server.d.mts +2 -3
- package/dist/modules/router/handler/context.server.mjs +1 -2
- package/dist/modules/router/handler/init.server.d.mts +3 -31
- package/dist/modules/router/handler/init.server.mjs +8 -6
- package/dist/modules/router/handler/register.server.d.mts +1 -2
- package/dist/modules/router/handler/register.server.mjs +1 -2
- package/dist/modules/router/handler/route.server.d.mts +2 -3
- package/dist/modules/router/handler/route.server.mjs +1 -2
- package/dist/modules/router/lib/helpers.mjs +1 -2
- package/dist/modules/router/lib/query-client.d.mts +1 -2
- package/dist/modules/router/lib/query-client.mjs +1 -2
- package/dist/modules/router/lib/query-client.server.d.mts +1 -2
- package/dist/modules/router/lib/query-client.server.mjs +1 -2
- package/dist/modules/router/lib/validators.d.mts +1 -2
- package/dist/modules/router/lib/validators.mjs +1 -2
- package/dist/modules/storage/components/dropzone-context.client.d.mts +1 -2
- package/dist/modules/storage/components/dropzone-context.client.mjs +1 -2
- package/dist/modules/storage/components/dropzone.client.d.mts +1 -2
- package/dist/modules/storage/components/dropzone.client.mjs +1 -2
- package/dist/modules/storage/components/image-grid.client.d.mts +1 -2
- package/dist/modules/storage/components/image-grid.client.mjs +1 -2
- package/dist/modules/storage/components/image.client.d.mts +1 -2
- package/dist/modules/storage/components/image.client.mjs +1 -2
- package/dist/modules/storage/components/upload-button.client.d.mts +1 -2
- package/dist/modules/storage/components/upload-button.client.mjs +1 -2
- package/dist/modules/storage/components/upload-zone-context.client.d.mts +1 -2
- package/dist/modules/storage/components/upload-zone-context.client.mjs +1 -2
- package/dist/modules/storage/components/upload-zone.client.d.mts +1 -2
- package/dist/modules/storage/components/upload-zone.client.mjs +1 -2
- package/dist/modules/storage/lib/constants.d.mts +1 -2
- package/dist/modules/storage/lib/constants.mjs +1 -2
- package/dist/modules/storage/lib/helpers.d.mts +1 -2
- package/dist/modules/storage/lib/helpers.mjs +1 -2
- package/dist/modules/storage/lib/procedures.server.d.mts +2 -3
- package/dist/modules/storage/lib/procedures.server.mjs +1 -2
- package/dist/modules/storage/lib/router-handlers.server.d.mts +2 -3
- package/dist/modules/storage/lib/router-handlers.server.mjs +1 -2
- package/dist/modules/storage/lib/schema.d.mts +1 -2
- package/dist/modules/storage/lib/schema.mjs +1 -2
- package/dist/modules/storage/lib/service.server.d.mts +10 -11
- package/dist/modules/storage/lib/service.server.mjs +1 -2
- package/dist/modules/storage/lib/upload.client.d.mts +1 -2
- package/dist/modules/storage/lib/upload.client.mjs +1 -2
- package/dist/modules/storage/lib/validators.d.mts +1 -2
- package/dist/modules/storage/lib/validators.mjs +1 -2
- package/dist/modules/storage/providers/adapters/s3.server.d.mts +1 -2
- package/dist/modules/storage/providers/adapters/s3.server.mjs +1 -2
- package/dist/modules/storage/providers/lib/constants.d.mts +1 -2
- package/dist/modules/storage/providers/lib/constants.mjs +1 -2
- package/dist/modules/storage/providers/lib/errors.d.mts +1 -2
- package/dist/modules/storage/providers/lib/errors.mjs +1 -2
- package/dist/modules/storage/providers/lib/types.d.mts +1 -2
- package/dist/modules/storage/providers/lib/validators.d.mts +1 -2
- package/dist/modules/storage/providers/lib/validators.mjs +1 -2
- package/package.json +67 -63
- package/src/components/emails/forget-password-email.tsx +1 -1
- package/src/modules/auth/lib/helpers.server.ts +1 -1
- package/src/modules/data-tables/server/get-data.server.ts +1 -1
- package/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.ts +1 -2
- package/src/modules/router/handler/context.server.ts +1 -1
- package/src/modules/router/handler/init.server.ts +2 -1
- package/src/modules/router/handler/route.server.ts +1 -1
- package/src/modules/storage/lib/procedures.server.ts +1 -1
- package/src/modules/storage/lib/router-handlers.server.ts +1 -1
- package/dist/components/common/icons.d.mts.map +0 -1
- package/dist/components/common/icons.mjs.map +0 -1
- package/dist/components/common/status.d.mts.map +0 -1
- package/dist/components/common/status.mjs.map +0 -1
- package/dist/components/editor/components/content.client.d.mts.map +0 -1
- package/dist/components/editor/components/content.client.mjs.map +0 -1
- package/dist/components/editor/components/editor.client.d.mts.map +0 -1
- package/dist/components/editor/components/editor.client.mjs.map +0 -1
- package/dist/components/editor/components/menu-nodes.client.mjs.map +0 -1
- package/dist/components/editor/components/menu.client.d.mts.map +0 -1
- package/dist/components/editor/components/menu.client.mjs.map +0 -1
- package/dist/components/editor/extensions/file-handler/extension.d.mts.map +0 -1
- package/dist/components/editor/extensions/file-handler/extension.mjs.map +0 -1
- package/dist/components/editor/extensions/file-handler/strategy.d.mts.map +0 -1
- package/dist/components/editor/extensions/file-handler/strategy.mjs.map +0 -1
- package/dist/components/editor/extensions/file-handler/utils.mjs.map +0 -1
- package/dist/components/editor/extensions/image/extension.d.mts.map +0 -1
- package/dist/components/editor/extensions/image/extension.mjs.map +0 -1
- package/dist/components/editor/extensions/skeleton/extension.mjs.map +0 -1
- package/dist/components/editor/extensions/skeleton/renderer.mjs.map +0 -1
- package/dist/components/editor/lib/constants.d.mts.map +0 -1
- package/dist/components/editor/lib/constants.mjs.map +0 -1
- package/dist/components/editor/lib/extensions.d.mts.map +0 -1
- package/dist/components/editor/lib/extensions.mjs.map +0 -1
- package/dist/components/editor/lib/helpers.d.mts.map +0 -1
- package/dist/components/editor/lib/helpers.mjs.map +0 -1
- package/dist/components/editor/lib/types.d.mts.map +0 -1
- package/dist/components/editor/lib/variants.mjs.map +0 -1
- package/dist/components/emails/forget-password-email.mjs.map +0 -1
- package/dist/components/header/back-button.client.d.mts.map +0 -1
- package/dist/components/header/back-button.client.mjs.map +0 -1
- package/dist/components/header/bottom-bar.client.d.mts.map +0 -1
- package/dist/components/header/bottom-bar.client.mjs.map +0 -1
- package/dist/components/header/breadcrumbs.client.d.mts.map +0 -1
- package/dist/components/header/breadcrumbs.client.mjs.map +0 -1
- package/dist/components/header/header.client.d.mts.map +0 -1
- package/dist/components/header/header.client.mjs.map +0 -1
- package/dist/components/header/indicator.client.mjs.map +0 -1
- package/dist/components/header/mobile-nav-switcher.client.d.mts.map +0 -1
- package/dist/components/header/mobile-nav-switcher.client.mjs.map +0 -1
- package/dist/components/header/top-bar.client.d.mts.map +0 -1
- package/dist/components/header/top-bar.client.mjs.map +0 -1
- package/dist/components/layouts/admin-content.client.d.mts.map +0 -1
- package/dist/components/layouts/admin-content.client.mjs.map +0 -1
- package/dist/components/layouts/admin-error-pages.d.mts.map +0 -1
- package/dist/components/layouts/admin-error-pages.mjs.map +0 -1
- package/dist/components/layouts/admin-layout.d.mts.map +0 -1
- package/dist/components/layouts/admin-layout.mjs.map +0 -1
- package/dist/components/layouts/admin-loading.d.mts.map +0 -1
- package/dist/components/layouts/admin-loading.mjs.map +0 -1
- package/dist/components/layouts/empty-page.d.mts.map +0 -1
- package/dist/components/layouts/empty-page.mjs.map +0 -1
- package/dist/components/layouts/error-page.d.mts.map +0 -1
- package/dist/components/layouts/error-page.mjs.map +0 -1
- package/dist/components/layouts/error-sections.d.mts.map +0 -1
- package/dist/components/layouts/error-sections.mjs.map +0 -1
- package/dist/components/layouts/list-layout.d.mts.map +0 -1
- package/dist/components/layouts/list-layout.mjs.map +0 -1
- package/dist/components/layouts/providers.client.d.mts.map +0 -1
- package/dist/components/layouts/providers.client.mjs.map +0 -1
- package/dist/components/layouts/root-error-pages.d.mts.map +0 -1
- package/dist/components/layouts/root-error-pages.mjs.map +0 -1
- package/dist/components/layouts/root-layout.server.d.mts.map +0 -1
- package/dist/components/layouts/root-layout.server.mjs.map +0 -1
- package/dist/components/layouts/root-loading.d.mts.map +0 -1
- package/dist/components/layouts/root-loading.mjs.map +0 -1
- package/dist/components/layouts/tab-layout.d.mts.map +0 -1
- package/dist/components/layouts/tab-layout.mjs.map +0 -1
- package/dist/components/lists/data-list.d.mts.map +0 -1
- package/dist/components/lists/data-list.mjs.map +0 -1
- package/dist/components/lists/data-stack.d.mts.map +0 -1
- package/dist/components/lists/data-stack.mjs.map +0 -1
- package/dist/components/navigation/admin-sidebar-header.client.mjs.map +0 -1
- package/dist/components/navigation/admin-sidebar-paths.client.d.mts.map +0 -1
- package/dist/components/navigation/admin-sidebar-paths.client.mjs.map +0 -1
- package/dist/components/navigation/admin-sidebar-skeleton.mjs.map +0 -1
- package/dist/components/ui/accordion.client.d.mts.map +0 -1
- package/dist/components/ui/accordion.client.mjs.map +0 -1
- package/dist/components/ui/alert-dialog.client.d.mts.map +0 -1
- package/dist/components/ui/alert-dialog.client.mjs.map +0 -1
- package/dist/components/ui/alert.d.mts.map +0 -1
- package/dist/components/ui/alert.mjs.map +0 -1
- package/dist/components/ui/aspect-ratio.client.d.mts.map +0 -1
- package/dist/components/ui/aspect-ratio.client.mjs.map +0 -1
- package/dist/components/ui/avatar.client.d.mts.map +0 -1
- package/dist/components/ui/avatar.client.mjs.map +0 -1
- package/dist/components/ui/badge.d.mts.map +0 -1
- package/dist/components/ui/badge.mjs.map +0 -1
- package/dist/components/ui/breadcrumb.d.mts.map +0 -1
- package/dist/components/ui/breadcrumb.mjs.map +0 -1
- package/dist/components/ui/button-group.d.mts.map +0 -1
- package/dist/components/ui/button-group.mjs.map +0 -1
- package/dist/components/ui/button.d.mts.map +0 -1
- package/dist/components/ui/button.mjs.map +0 -1
- package/dist/components/ui/calendar.client.d.mts.map +0 -1
- package/dist/components/ui/calendar.client.mjs.map +0 -1
- package/dist/components/ui/card.d.mts.map +0 -1
- package/dist/components/ui/card.mjs.map +0 -1
- package/dist/components/ui/carousel.client.d.mts.map +0 -1
- package/dist/components/ui/carousel.client.mjs.map +0 -1
- package/dist/components/ui/chart.client.d.mts.map +0 -1
- package/dist/components/ui/chart.client.mjs.map +0 -1
- package/dist/components/ui/checkbox.client.d.mts.map +0 -1
- package/dist/components/ui/checkbox.client.mjs.map +0 -1
- package/dist/components/ui/collapsible.client.d.mts.map +0 -1
- package/dist/components/ui/collapsible.client.mjs.map +0 -1
- package/dist/components/ui/color-picker.client.d.mts.map +0 -1
- package/dist/components/ui/color-picker.client.mjs.map +0 -1
- package/dist/components/ui/combobox-dropdown.client.d.mts.map +0 -1
- package/dist/components/ui/combobox-dropdown.client.mjs.map +0 -1
- package/dist/components/ui/combobox.client.d.mts.map +0 -1
- package/dist/components/ui/combobox.client.mjs.map +0 -1
- package/dist/components/ui/command.client.d.mts.map +0 -1
- package/dist/components/ui/command.client.mjs.map +0 -1
- package/dist/components/ui/context-menu.client.d.mts.map +0 -1
- package/dist/components/ui/context-menu.client.mjs.map +0 -1
- package/dist/components/ui/date-picker.client.d.mts.map +0 -1
- package/dist/components/ui/date-picker.client.mjs.map +0 -1
- package/dist/components/ui/dialog.client.d.mts.map +0 -1
- package/dist/components/ui/dialog.client.mjs.map +0 -1
- package/dist/components/ui/drawer.client.d.mts.map +0 -1
- package/dist/components/ui/drawer.client.mjs.map +0 -1
- package/dist/components/ui/dropdown-menu.client.d.mts.map +0 -1
- package/dist/components/ui/dropdown-menu.client.mjs.map +0 -1
- package/dist/components/ui/empty.d.mts.map +0 -1
- package/dist/components/ui/empty.mjs.map +0 -1
- package/dist/components/ui/field.client.d.mts.map +0 -1
- package/dist/components/ui/field.client.mjs.map +0 -1
- package/dist/components/ui/form.client.d.mts.map +0 -1
- package/dist/components/ui/form.client.mjs.map +0 -1
- package/dist/components/ui/hover-card.client.d.mts.map +0 -1
- package/dist/components/ui/hover-card.client.mjs.map +0 -1
- package/dist/components/ui/input-date-time.client.d.mts.map +0 -1
- package/dist/components/ui/input-date-time.client.mjs.map +0 -1
- package/dist/components/ui/input-date.d.mts.map +0 -1
- package/dist/components/ui/input-date.mjs.map +0 -1
- package/dist/components/ui/input-group.client.d.mts.map +0 -1
- package/dist/components/ui/input-group.client.mjs.map +0 -1
- package/dist/components/ui/input-recipient.d.mts.map +0 -1
- package/dist/components/ui/input-recipient.mjs.map +0 -1
- package/dist/components/ui/input-time.d.mts.map +0 -1
- package/dist/components/ui/input-time.mjs.map +0 -1
- package/dist/components/ui/input.d.mts.map +0 -1
- package/dist/components/ui/input.mjs.map +0 -1
- package/dist/components/ui/item.d.mts.map +0 -1
- package/dist/components/ui/item.mjs.map +0 -1
- package/dist/components/ui/kbd.d.mts.map +0 -1
- package/dist/components/ui/kbd.mjs.map +0 -1
- package/dist/components/ui/label.d.mts.map +0 -1
- package/dist/components/ui/label.mjs.map +0 -1
- package/dist/components/ui/loader.d.mts.map +0 -1
- package/dist/components/ui/loader.mjs.map +0 -1
- package/dist/components/ui/navigation-menu.d.mts.map +0 -1
- package/dist/components/ui/navigation-menu.mjs.map +0 -1
- package/dist/components/ui/pagination.d.mts.map +0 -1
- package/dist/components/ui/pagination.mjs.map +0 -1
- package/dist/components/ui/popover.client.d.mts.map +0 -1
- package/dist/components/ui/popover.client.mjs.map +0 -1
- package/dist/components/ui/progress.client.d.mts.map +0 -1
- package/dist/components/ui/progress.client.mjs.map +0 -1
- package/dist/components/ui/radio-group.d.mts.map +0 -1
- package/dist/components/ui/radio-group.mjs.map +0 -1
- package/dist/components/ui/resizable.client.d.mts.map +0 -1
- package/dist/components/ui/resizable.client.mjs.map +0 -1
- package/dist/components/ui/scroll-area.d.mts.map +0 -1
- package/dist/components/ui/scroll-area.mjs.map +0 -1
- package/dist/components/ui/select.client.d.mts.map +0 -1
- package/dist/components/ui/select.client.mjs.map +0 -1
- package/dist/components/ui/separator.d.mts.map +0 -1
- package/dist/components/ui/separator.mjs.map +0 -1
- package/dist/components/ui/sheet.client.d.mts.map +0 -1
- package/dist/components/ui/sheet.client.mjs.map +0 -1
- package/dist/components/ui/sidebar.client.d.mts.map +0 -1
- package/dist/components/ui/sidebar.client.mjs.map +0 -1
- package/dist/components/ui/skeleton.d.mts.map +0 -1
- package/dist/components/ui/skeleton.mjs.map +0 -1
- package/dist/components/ui/slider.d.mts.map +0 -1
- package/dist/components/ui/slider.mjs.map +0 -1
- package/dist/components/ui/sonner.client.d.mts.map +0 -1
- package/dist/components/ui/sonner.client.mjs.map +0 -1
- package/dist/components/ui/spinner.d.mts.map +0 -1
- package/dist/components/ui/spinner.mjs.map +0 -1
- package/dist/components/ui/switch.client.d.mts.map +0 -1
- package/dist/components/ui/switch.client.mjs.map +0 -1
- package/dist/components/ui/tabs.client.d.mts.map +0 -1
- package/dist/components/ui/tabs.client.mjs.map +0 -1
- package/dist/components/ui/textarea.d.mts.map +0 -1
- package/dist/components/ui/textarea.mjs.map +0 -1
- package/dist/components/ui/toggle-group.client.d.mts.map +0 -1
- package/dist/components/ui/toggle-group.client.mjs.map +0 -1
- package/dist/components/ui/toggle.client.d.mts.map +0 -1
- package/dist/components/ui/toggle.client.mjs.map +0 -1
- package/dist/components/ui/tooltip.client.d.mts.map +0 -1
- package/dist/components/ui/tooltip.client.mjs.map +0 -1
- package/dist/lib/hooks/use-action.d.mts.map +0 -1
- package/dist/lib/hooks/use-action.mjs.map +0 -1
- package/dist/lib/hooks/use-indicator.d.mts.map +0 -1
- package/dist/lib/hooks/use-indicator.mjs.map +0 -1
- package/dist/lib/hooks/use-mobile.client.d.mts.map +0 -1
- package/dist/lib/hooks/use-mobile.client.mjs.map +0 -1
- package/dist/lib/types/config.d.mts.map +0 -1
- package/dist/lib/utils/array-move.d.mts.map +0 -1
- package/dist/lib/utils/array-move.mjs.map +0 -1
- package/dist/lib/utils/cn.d.mts.map +0 -1
- package/dist/lib/utils/cn.mjs.map +0 -1
- package/dist/lib/utils/fonts.d.mts.map +0 -1
- package/dist/lib/utils/fonts.mjs.map +0 -1
- package/dist/lib/utils/format.d.mts.map +0 -1
- package/dist/lib/utils/format.mjs.map +0 -1
- package/dist/lib/utils/manifest.d.mts.map +0 -1
- package/dist/lib/utils/manifest.mjs.map +0 -1
- package/dist/lib/utils/markdown.d.mts.map +0 -1
- package/dist/lib/utils/markdown.mjs.map +0 -1
- package/dist/lib/utils/url.d.mts.map +0 -1
- package/dist/lib/utils/url.mjs.map +0 -1
- package/dist/lib/utils/user-agent.mjs.map +0 -1
- package/dist/modules/auth/components/allowed.client.d.mts.map +0 -1
- package/dist/modules/auth/components/allowed.client.mjs.map +0 -1
- package/dist/modules/auth/components/auth-layout.server.d.mts.map +0 -1
- package/dist/modules/auth/components/auth-layout.server.mjs.map +0 -1
- package/dist/modules/auth/components/auth-loading.d.mts.map +0 -1
- package/dist/modules/auth/components/auth-loading.mjs.map +0 -1
- package/dist/modules/auth/components/create-first-user-guard.server.d.mts.map +0 -1
- package/dist/modules/auth/components/create-first-user-guard.server.mjs.map +0 -1
- package/dist/modules/auth/components/create-first-user-page.client.d.mts.map +0 -1
- package/dist/modules/auth/components/create-first-user-page.client.mjs.map +0 -1
- package/dist/modules/auth/components/forget-password-page.client.d.mts.map +0 -1
- package/dist/modules/auth/components/forget-password-page.client.mjs.map +0 -1
- package/dist/modules/auth/components/guard.server.d.mts.map +0 -1
- package/dist/modules/auth/components/guard.server.mjs.map +0 -1
- package/dist/modules/auth/components/login-page.client.d.mts.map +0 -1
- package/dist/modules/auth/components/login-page.client.mjs.map +0 -1
- package/dist/modules/auth/components/reset-password-page.client.d.mts.map +0 -1
- package/dist/modules/auth/components/reset-password-page.client.mjs.map +0 -1
- package/dist/modules/auth/components/update-password-command.d.mts.map +0 -1
- package/dist/modules/auth/components/update-password-command.mjs.map +0 -1
- package/dist/modules/auth/db/schema.d.mts.map +0 -1
- package/dist/modules/auth/db/schema.mjs.map +0 -1
- package/dist/modules/auth/handler/create-client.client.d.mts.map +0 -1
- package/dist/modules/auth/handler/create-client.client.mjs.map +0 -1
- package/dist/modules/auth/handler/proxy.server.d.mts.map +0 -1
- package/dist/modules/auth/handler/proxy.server.mjs.map +0 -1
- package/dist/modules/auth/handler/route.server.d.mts.map +0 -1
- package/dist/modules/auth/handler/route.server.mjs.map +0 -1
- package/dist/modules/auth/handler/service.server.d.mts.map +0 -1
- package/dist/modules/auth/handler/service.server.mjs.map +0 -1
- package/dist/modules/auth/hooks/use-auth-client.d.mts.map +0 -1
- package/dist/modules/auth/hooks/use-auth-client.mjs.map +0 -1
- package/dist/modules/auth/hooks/use-permission.d.mts.map +0 -1
- package/dist/modules/auth/hooks/use-permission.mjs.map +0 -1
- package/dist/modules/auth/hooks/use-session.d.mts.map +0 -1
- package/dist/modules/auth/hooks/use-session.mjs.map +0 -1
- package/dist/modules/auth/lib/helpers.server.d.mts.map +0 -1
- package/dist/modules/auth/lib/helpers.server.mjs.map +0 -1
- package/dist/modules/auth/lib/permissions.d.mts.map +0 -1
- package/dist/modules/auth/lib/permissions.mjs.map +0 -1
- package/dist/modules/auth/lib/validators.d.mts.map +0 -1
- package/dist/modules/auth/lib/validators.mjs.map +0 -1
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +0 -1
- package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +0 -1
- package/dist/modules/commands/components/click-command.client.d.mts.map +0 -1
- package/dist/modules/commands/components/click-command.client.mjs.map +0 -1
- package/dist/modules/commands/components/command-trigger.client.d.mts.map +0 -1
- package/dist/modules/commands/components/command-trigger.client.mjs.map +0 -1
- package/dist/modules/commands/components/dialog-command.client.d.mts.map +0 -1
- package/dist/modules/commands/components/dialog-command.client.mjs.map +0 -1
- package/dist/modules/commands/components/dropdown-command.client.d.mts.map +0 -1
- package/dist/modules/commands/components/dropdown-command.client.mjs.map +0 -1
- package/dist/modules/commands/components/empty-command.client.d.mts.map +0 -1
- package/dist/modules/commands/components/empty-command.client.mjs.map +0 -1
- package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +0 -1
- package/dist/modules/commands/components/form-dialog-command.client.mjs.map +0 -1
- package/dist/modules/commands/components/render-command.mjs.map +0 -1
- package/dist/modules/commands/hooks/context.client.mjs.map +0 -1
- package/dist/modules/commands/hooks/use-command-menu.client.d.mts.map +0 -1
- package/dist/modules/commands/hooks/use-command-menu.client.mjs.map +0 -1
- package/dist/modules/commands/hooks/use-command-mutation.client.d.mts.map +0 -1
- package/dist/modules/commands/hooks/use-command-mutation.client.mjs.map +0 -1
- package/dist/modules/commands/lib/definitions.d.mts.map +0 -1
- package/dist/modules/commands/lib/factory.d.mts.map +0 -1
- package/dist/modules/commands/lib/factory.mjs.map +0 -1
- package/dist/modules/commands/menus/context-menu.client.d.mts.map +0 -1
- package/dist/modules/commands/menus/context-menu.client.mjs.map +0 -1
- package/dist/modules/commands/menus/dropdown-menu.client.d.mts.map +0 -1
- package/dist/modules/commands/menus/dropdown-menu.client.mjs.map +0 -1
- package/dist/modules/commands/menus/floating-menu.client.d.mts.map +0 -1
- package/dist/modules/commands/menus/floating-menu.client.mjs.map +0 -1
- package/dist/modules/commands/menus/inline-menu.client.d.mts.map +0 -1
- package/dist/modules/commands/menus/inline-menu.client.mjs.map +0 -1
- package/dist/modules/commands/menus/responsive-menu.client.d.mts.map +0 -1
- package/dist/modules/commands/menus/responsive-menu.client.mjs.map +0 -1
- package/dist/modules/commands/utils/archive-command.client.d.mts.map +0 -1
- package/dist/modules/commands/utils/archive-command.client.mjs.map +0 -1
- package/dist/modules/commands/utils/delete-command.client.d.mts.map +0 -1
- package/dist/modules/commands/utils/delete-command.client.mjs.map +0 -1
- package/dist/modules/config/lib/config.d.mts.map +0 -1
- package/dist/modules/config/lib/config.mjs.map +0 -1
- package/dist/modules/config/lib/context.d.mts.map +0 -1
- package/dist/modules/config/lib/context.mjs.map +0 -1
- package/dist/modules/config/paths/helpers.d.mts.map +0 -1
- package/dist/modules/config/paths/helpers.mjs.map +0 -1
- package/dist/modules/config/paths/types.d.mts.map +0 -1
- package/dist/modules/data-tables/components/cell/common.client.d.mts.map +0 -1
- package/dist/modules/data-tables/components/cell/common.client.mjs.map +0 -1
- package/dist/modules/data-tables/components/cell/index.client.d.mts.map +0 -1
- package/dist/modules/data-tables/components/cell/index.client.mjs.map +0 -1
- package/dist/modules/data-tables/components/cell/select.client.d.mts.map +0 -1
- package/dist/modules/data-tables/components/cell/select.client.mjs.map +0 -1
- package/dist/modules/data-tables/components/column-header.d.mts.map +0 -1
- package/dist/modules/data-tables/components/column-header.mjs.map +0 -1
- package/dist/modules/data-tables/components/filters/combobox.client.d.mts.map +0 -1
- package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +0 -1
- package/dist/modules/data-tables/components/filters/slider.client.d.mts.map +0 -1
- package/dist/modules/data-tables/components/filters/slider.client.mjs.map +0 -1
- package/dist/modules/data-tables/components/footer.mjs.map +0 -1
- package/dist/modules/data-tables/components/header.d.mts.map +0 -1
- package/dist/modules/data-tables/components/header.mjs.map +0 -1
- package/dist/modules/data-tables/components/layout.d.mts.map +0 -1
- package/dist/modules/data-tables/components/layout.mjs.map +0 -1
- package/dist/modules/data-tables/components/search-input.client.d.mts.map +0 -1
- package/dist/modules/data-tables/components/search-input.client.mjs.map +0 -1
- package/dist/modules/data-tables/components/skeleton.d.mts.map +0 -1
- package/dist/modules/data-tables/components/skeleton.mjs.map +0 -1
- package/dist/modules/data-tables/components/table.d.mts.map +0 -1
- package/dist/modules/data-tables/components/table.mjs.map +0 -1
- package/dist/modules/data-tables/components/toolbar.d.mts.map +0 -1
- package/dist/modules/data-tables/components/toolbar.mjs.map +0 -1
- package/dist/modules/data-tables/hooks/use-context.client.d.mts.map +0 -1
- package/dist/modules/data-tables/hooks/use-context.client.mjs.map +0 -1
- package/dist/modules/data-tables/hooks/use-search.client.mjs.map +0 -1
- package/dist/modules/data-tables/hooks/use-selection.client.mjs.map +0 -1
- package/dist/modules/data-tables/hooks/use-table.client.d.mts.map +0 -1
- package/dist/modules/data-tables/hooks/use-table.client.mjs.map +0 -1
- package/dist/modules/data-tables/lib/converters/cursor.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/converters/cursor.mjs.map +0 -1
- package/dist/modules/data-tables/lib/converters/dto.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/converters/dto.mjs.map +0 -1
- package/dist/modules/data-tables/lib/converters/filter.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/converters/filter.mjs.map +0 -1
- package/dist/modules/data-tables/lib/converters/search.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/converters/search.mjs.map +0 -1
- package/dist/modules/data-tables/lib/converters/sorting.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/converters/sorting.mjs.map +0 -1
- package/dist/modules/data-tables/lib/filters/config.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/filters/config.mjs.map +0 -1
- package/dist/modules/data-tables/lib/filters/helpers.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/filters/helpers.mjs.map +0 -1
- package/dist/modules/data-tables/lib/filters/parsers.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/filters/parsers.mjs.map +0 -1
- package/dist/modules/data-tables/lib/filters/resolvers.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/filters/resolvers.mjs.map +0 -1
- package/dist/modules/data-tables/lib/helpers/create-column.mjs.map +0 -1
- package/dist/modules/data-tables/lib/search-params.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/search-params.mjs.map +0 -1
- package/dist/modules/data-tables/lib/types.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/validators.d.mts.map +0 -1
- package/dist/modules/data-tables/lib/validators.mjs.map +0 -1
- package/dist/modules/data-tables/server/get-data.server.d.mts.map +0 -1
- package/dist/modules/data-tables/server/get-data.server.mjs.map +0 -1
- package/dist/modules/data-tables/strategies/helpers/sorting.mjs.map +0 -1
- package/dist/modules/data-tables/strategies/infinite/components.mjs.map +0 -1
- package/dist/modules/data-tables/strategies/infinite/strategy.d.mts.map +0 -1
- package/dist/modules/data-tables/strategies/infinite/strategy.mjs.map +0 -1
- package/dist/modules/data-tables/strategies/pagination/components.mjs.map +0 -1
- package/dist/modules/data-tables/strategies/pagination/strategy.d.mts.map +0 -1
- package/dist/modules/data-tables/strategies/pagination/strategy.mjs.map +0 -1
- package/dist/modules/data-tables/tables/data-table/components/body.mjs.map +0 -1
- package/dist/modules/data-tables/tables/data-table/components/header.mjs.map +0 -1
- package/dist/modules/data-tables/tables/data-table/components/row.mjs.map +0 -1
- package/dist/modules/data-tables/tables/data-table/components/table.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/data-table/components/table.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/body.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/header.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/row.client.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/table.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/components/table.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/hooks/context.client.mjs.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts.map +0 -1
- package/dist/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs.map +0 -1
- package/dist/modules/database/lib/helpers.d.mts.map +0 -1
- package/dist/modules/database/lib/helpers.mjs.map +0 -1
- package/dist/modules/database/lib/service.server.d.mts.map +0 -1
- package/dist/modules/database/lib/service.server.mjs.map +0 -1
- package/dist/modules/database/lib/types.d.mts.map +0 -1
- package/dist/modules/emails/lib/service.server.d.mts.map +0 -1
- package/dist/modules/emails/lib/service.server.mjs.map +0 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/combobox.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/combobox.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/date-input.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/date-input.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/date-picker.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/date-picker.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/date-time.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/date-time.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/editor.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/editor.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/input-recipient.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/input-toggle.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/input.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/input.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/select.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/select.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/switch.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/switch.client.mjs.map +0 -1
- package/dist/modules/inline-edit/components/toggle.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/components/toggle.client.mjs.map +0 -1
- package/dist/modules/inline-edit/hooks/context.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/hooks/context.client.mjs.map +0 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts.map +0 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +0 -1
- package/dist/modules/inline-edit/lib/validators.d.mts.map +0 -1
- package/dist/modules/inline-edit/lib/validators.mjs.map +0 -1
- package/dist/modules/inline-edit/lib/variants.d.mts.map +0 -1
- package/dist/modules/inline-edit/lib/variants.mjs.map +0 -1
- package/dist/modules/router/handler/caller.client.d.mts.map +0 -1
- package/dist/modules/router/handler/caller.client.mjs.map +0 -1
- package/dist/modules/router/handler/caller.server.d.mts.map +0 -1
- package/dist/modules/router/handler/caller.server.mjs.map +0 -1
- package/dist/modules/router/handler/context.server.d.mts.map +0 -1
- package/dist/modules/router/handler/context.server.mjs.map +0 -1
- package/dist/modules/router/handler/init.server.d.mts.map +0 -1
- package/dist/modules/router/handler/init.server.mjs.map +0 -1
- package/dist/modules/router/handler/register.server.d.mts.map +0 -1
- package/dist/modules/router/handler/register.server.mjs.map +0 -1
- package/dist/modules/router/handler/route.server.d.mts.map +0 -1
- package/dist/modules/router/handler/route.server.mjs.map +0 -1
- package/dist/modules/router/lib/helpers.mjs.map +0 -1
- package/dist/modules/router/lib/query-client.d.mts.map +0 -1
- package/dist/modules/router/lib/query-client.mjs.map +0 -1
- package/dist/modules/router/lib/query-client.server.d.mts.map +0 -1
- package/dist/modules/router/lib/query-client.server.mjs.map +0 -1
- package/dist/modules/router/lib/validators.d.mts.map +0 -1
- package/dist/modules/router/lib/validators.mjs.map +0 -1
- package/dist/modules/storage/components/dropzone-context.client.d.mts.map +0 -1
- package/dist/modules/storage/components/dropzone-context.client.mjs.map +0 -1
- package/dist/modules/storage/components/dropzone.client.d.mts.map +0 -1
- package/dist/modules/storage/components/dropzone.client.mjs.map +0 -1
- package/dist/modules/storage/components/image-grid.client.d.mts.map +0 -1
- package/dist/modules/storage/components/image-grid.client.mjs.map +0 -1
- package/dist/modules/storage/components/image.client.d.mts.map +0 -1
- package/dist/modules/storage/components/image.client.mjs.map +0 -1
- package/dist/modules/storage/components/upload-button.client.d.mts.map +0 -1
- package/dist/modules/storage/components/upload-button.client.mjs.map +0 -1
- package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +0 -1
- package/dist/modules/storage/components/upload-zone-context.client.mjs.map +0 -1
- package/dist/modules/storage/components/upload-zone.client.d.mts.map +0 -1
- package/dist/modules/storage/components/upload-zone.client.mjs.map +0 -1
- package/dist/modules/storage/lib/constants.d.mts.map +0 -1
- package/dist/modules/storage/lib/constants.mjs.map +0 -1
- package/dist/modules/storage/lib/helpers.d.mts.map +0 -1
- package/dist/modules/storage/lib/helpers.mjs.map +0 -1
- package/dist/modules/storage/lib/procedures.server.d.mts.map +0 -1
- package/dist/modules/storage/lib/procedures.server.mjs.map +0 -1
- package/dist/modules/storage/lib/router-handlers.server.d.mts.map +0 -1
- package/dist/modules/storage/lib/router-handlers.server.mjs.map +0 -1
- package/dist/modules/storage/lib/schema.d.mts.map +0 -1
- package/dist/modules/storage/lib/schema.mjs.map +0 -1
- package/dist/modules/storage/lib/service.server.d.mts.map +0 -1
- package/dist/modules/storage/lib/service.server.mjs.map +0 -1
- package/dist/modules/storage/lib/upload.client.d.mts.map +0 -1
- package/dist/modules/storage/lib/upload.client.mjs.map +0 -1
- package/dist/modules/storage/lib/validators.d.mts.map +0 -1
- package/dist/modules/storage/lib/validators.mjs.map +0 -1
- package/dist/modules/storage/providers/adapters/s3.server.d.mts.map +0 -1
- package/dist/modules/storage/providers/adapters/s3.server.mjs.map +0 -1
- package/dist/modules/storage/providers/lib/constants.d.mts.map +0 -1
- package/dist/modules/storage/providers/lib/constants.mjs.map +0 -1
- package/dist/modules/storage/providers/lib/errors.d.mts.map +0 -1
- package/dist/modules/storage/providers/lib/errors.mjs.map +0 -1
- package/dist/modules/storage/providers/lib/types.d.mts.map +0 -1
- package/dist/modules/storage/providers/lib/validators.d.mts.map +0 -1
- package/dist/modules/storage/providers/lib/validators.mjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch.client.d.mts","names":[],"sources":["../../../src/components/ui/switch.client.tsx"],"mappings":";;;;;iBAMS,QAAA,CAAA;EACP,SAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,IAAA;EAC7C,IAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch.client.mjs","names":["Switch","SwitchPrimitive"],"sources":["../../../src/components/ui/switch.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { Switch as SwitchPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Switch({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n \"peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent outline-none transition-all after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 data-[size=default]:h-[18.4px] data-[size=sm]:h-3.5 data-[size=default]:w-8 data-[size=sm]:w-6 data-disabled:cursor-not-allowed data-[state=checked]:bg-primary data-[state=unchecked]:bg-input data-disabled:opacity-50 dark:data-[state=unchecked]:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground\"\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n"],"mappings":";;;;;;;AAMA,SAASA,SAAO,EACd,WACA,OAAO,WACP,GAAG,SAGF;AACD,QACE,oBAACC,OAAgB;EACf,aAAU;EACV,aAAW;EACX,WAAW,GACT,kqBACA,UACD;EACD,GAAI;YAEJ,oBAACA,OAAgB;GACf,aAAU;GACV,WAAU;IACV;GACmB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.client.d.mts","names":[],"sources":["../../../src/components/ui/tabs.client.tsx"],"mappings":";;;;;;;iBAOS,MAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,IAAA,CAAc,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAW5C,gBAAA,GAAgB,KAAA;;IAarB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,QAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,IAAA,CAAc,IAAA,IAAQ,YAAA,QAAoB,gBAAA,IAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAWjF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,IAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgBvF,WAAA,CAAA;EAAc,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,IAAA,CAAc,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.client.mjs","names":["Tabs","TabsPrimitive"],"sources":["../../../src/components/ui/tabs.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\"group/tabs flex gap-2 data-[orientation=horizontal]:flex-col\", className)}\n {...props}\n />\n );\n}\n\nconst tabsListVariants = cva(\n \"rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list inline-flex w-fit items-center justify-center text-muted-foreground group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-1 bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.List> & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 whitespace-nowrap rounded-md border border-transparent px-1.5 py-0.5 font-medium text-foreground/60 text-sm transition-all hover:text-foreground focus-visible:border-ring focus-visible:outline-1 focus-visible:outline-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent\",\n \"data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 text-sm outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants };\n"],"mappings":";;;;;;;;AAOA,SAASA,OAAK,EACZ,WACA,cAAc,cACd,GAAG,SAC+C;AAClD,QACE,oBAACC,KAAc;EACb,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,gEAAgE,UAAU;EACxF,GAAI;GACJ;;AAIN,MAAM,mBAAmB,IACvB,qRACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;EACP,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,SAAS,EAChB,WACA,UAAU,WACV,GAAG,SACuF;AAC1F,QACE,oBAACA,KAAc;EACb,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,iBAAiB,EAAE,SAAS,CAAC,EAAE,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,KAAc;EACb,aAAU;EACV,WAAW,GACT,6wBACA,yRACA,6LACA,oeACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,KAAc;EACb,aAAU;EACV,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.d.mts","names":[],"sources":["../../../src/components/ui/textarea.tsx"],"mappings":";;;;iBAGS,QAAA,CAAA;EAAW,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,eAA0B,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.mjs","names":[],"sources":["../../../src/components/ui/textarea.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"field-sizing-content flex min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 dark:disabled:bg-input/80\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n"],"mappings":";;;;AAGA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA2C;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,0hBACA,UACD;EACD,GAAI;GACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.client.d.mts","names":[],"sources":["../../../src/components/ui/toggle-group.client.tsx"],"mappings":";;;;;;;iBAoBS,aAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EACA,WAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAqB,IAAA,IAClD,YAAA,QAAoB,cAAA;EAClB,OAAA;EACA,WAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAsBM,eAAA,CAAA;EACP,SAAA;EACA,QAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,WAAA,CAAqB,IAAA,IAAQ,YAAA,QAAoB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.client.mjs","names":["React","ToggleGroup","ToggleGroupPrimitive"],"sources":["../../../src/components/ui/toggle-group.client.tsx"],"sourcesContent":["\"use client\";\n\nimport type { VariantProps } from \"class-variance-authority\";\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\";\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\nimport { toggleVariants } from \"./toggle.client\";\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n orientation?: \"horizontal\" | \"vertical\";\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n orientation: \"horizontal\",\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n orientation?: \"horizontal\" | \"vertical\";\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch data-[size=sm]:rounded-[min(var(--radius-md),10px)]\",\n className,\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing, orientation }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 focus:z-10 focus-visible:z-10 group-data-[spacing=0]/toggle-group:rounded-none group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-t-0 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:border-l-0 group-data-[spacing=0]/toggle-group:px-2 group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:last:rounded-b-lg group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-t group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:data-[variant=outline]:first:border-l group-data-[orientation=vertical]/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-[orientation=horizontal]/toggle-group:data-[spacing=0]:first:rounded-l-lg\",\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className,\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n"],"mappings":";;;;;;;;;AAQA,MAAM,qBAAqBA,QAAM,cAK/B;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACT,aAAa;CACd,CAAC;AAEF,SAASC,cAAY,EACnB,WACA,SACA,MACA,UAAU,GACV,cAAc,cACd,UACA,GAAG,SAKA;AACH,QACE,oBAACC,YAAqB;EACpB,aAAU;EACV,gBAAc;EACd,aAAW;EACX,gBAAc;EACd,oBAAkB;EAClB,OAAO,EAAE,SAAS,SAAS;EAC3B,WAAW,GACT,iOACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAmB;GAAS,OAAO;IAAE;IAAS;IAAM;IAAS;IAAa;GACxE;IAC2B;GACJ;;AAIhC,SAAS,gBAAgB,EACvB,WACA,UACA,UAAU,WACV,OAAO,WACP,GAAG,SAC4F;CAC/F,MAAM,UAAUF,QAAM,WAAW,mBAAmB;AAEpD,QACE,oBAACE,YAAqB;EACpB,aAAU;EACV,gBAAc,QAAQ,WAAW;EACjC,aAAW,QAAQ,QAAQ;EAC3B,gBAAc,QAAQ;EACtB,WAAW,GACT,s2BACA,eAAe;GACb,SAAS,QAAQ,WAAW;GAC5B,MAAM,QAAQ,QAAQ;GACvB,CAAC,EACF,UACD;EACD,GAAI;EAEH;GACyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.client.d.mts","names":[],"sources":["../../../src/components/ui/toggle.client.tsx"],"mappings":";;;;;;;cAOM,cAAA,GAAc,KAAA;;;IAmBnB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,QAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,MAAA,CAAgB,IAAA,IAAQ,YAAA,QAAoB,cAAA,IAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.client.mjs","names":["Toggle","TogglePrimitive"],"sources":["../../../src/components/ui/toggle.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Toggle as TogglePrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst toggleVariants = cva(\n \"hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive data-[state=on]:bg-muted gap-1 rounded-lg text-sm font-medium transition-all [&_svg:not([class*='size-'])]:size-4 group/toggle inline-flex items-center justify-center whitespace-nowrap outline-none hover:bg-muted focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline: \"border-input hover:bg-muted border bg-transparent\",\n },\n size: {\n default: \"h-8 min-w-8 px-2\",\n sm: \"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-1.5 text-[0.8rem]\",\n lg: \"h-9 min-w-9 px-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Toggle({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Toggle, toggleVariants };\n"],"mappings":";;;;;;;;AAOA,MAAM,iBAAiB,IACrB,uhBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SAAS;GACV;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAASA,SAAO,EACd,WACA,UAAU,WACV,OAAO,WACP,GAAG,SACuF;AAC1F,QACE,oBAACC,OAAgB;EACf,aAAU;EACV,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.client.d.mts","names":[],"sources":["../../../src/components/ui/tooltip.client.tsx"],"mappings":";;;;;iBAMS,eAAA,CAAA;EACP,aAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,OAAA,CAAiB,QAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUhD,SAAA,CAAA;EAAA,GAAa;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,OAAA,CAAiB,IAAA,IAAK,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIxE,cAAA,CAAA;EAAA,GAAoB;AAAA,GAAS,OAAA,CAAM,cAAA,QAAsB,OAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIlF,cAAA,CAAA;EACP,SAAA;EACA,UAAA;EACA,QAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,OAAA,CAAiB,OAAA,IAAQ,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.client.mjs","names":["TooltipPrimitive","Tooltip"],"sources":["../../../src/components/ui/tooltip.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-background text-xs has-data-[slot=kbd]:pr-1.5 data-[state=closed]:animate-out data-[state=delayed-open]:animate-in data-[state=open]:animate-in **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n"],"mappings":";;;;;;;AAMA,SAAS,gBAAgB,EACvB,gBAAgB,GAChB,GAAG,SACsD;AACzD,QACE,oBAACA,QAAiB;EAChB,aAAU;EACK;EACf,GAAI;GACJ;;AAIN,SAASC,UAAQ,EAAE,GAAG,SAA6D;AACjF,QAAO,oBAACD,QAAiB;EAAK,aAAU;EAAU,GAAI;GAAS;;AAGjE,SAAS,eAAe,EAAE,GAAG,SAAgE;AAC3F,QAAO,oBAACA,QAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,aAAa,GACb,UACA,GAAG,SACqD;AACxD,QACE,oBAACA,QAAiB,oBAChB,qBAACA,QAAiB;EAChB,aAAU;EACE;EACZ,WAAW,GACT,8uBACA,UACD;EACD,GAAI;aAEH,UACD,oBAACA,QAAiB,SAAM,WAAU,uGAAuG;GAChH,GACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-action.d.mts","names":[],"sources":["../../../src/lib/hooks/use-action.ts"],"mappings":";;;;;;;;AAkBA;;;iBAAgB,SAAA,2BAEL,YAAA,gCAEE,uBAAA,CAAA,CACX,OAAA,GAAU,kBAAA,CAAmB,KAAA,EAAO,MAAA,EAAQ,UAAA,EAAY,QAAA;EAAc,UAAA;AAAA,IAAyB,sBAAA,CAAA,iBAAA,CAAA,KAAA,EAAA,MAAA,EAAA,UAAA,EAAA,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-action.mjs","names":[],"sources":["../../../src/lib/hooks/use-action.ts"],"sourcesContent":["import \"client-only\";\n\nimport {\n type DefaultError,\n type MutationFunctionContext,\n type UseMutationOptions,\n useMutation,\n} from \"@tanstack/react-query\";\nimport { isRedirectError } from \"next/dist/client/components/redirect-error\";\nimport { toast } from \"sonner\";\nimport { useIndicator } from \"./use-indicator\";\n\n/**\n * Hook for handling form actions\n * @param {HookSafeActionFn} action\n * @param {HookCallbacks} options\n * @returns\n */\nexport function useAction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = MutationFunctionContext,\n>(options?: UseMutationOptions<TData, TError, TVariables, TContext> & { onRedirect?: () => void }) {\n const indicator = useIndicator();\n\n return useMutation({\n ...options,\n onMutate: (...params) => {\n indicator.setStatus(\"pending\");\n return options?.onMutate?.(...params) as TContext | Promise<TContext>;\n },\n onSuccess: (...params) => {\n indicator.setStatus(\"success\");\n return options?.onSuccess?.(...params);\n },\n onError: (...params) => {\n const [err] = params;\n\n if (isRedirectError(err)) {\n indicator.setStatus(\"success\");\n options?.onRedirect?.();\n throw err;\n }\n\n indicator.setStatus(\"error\");\n toast.error(\"Er ging iets mis\", {\n description: err instanceof Error ? err.message : undefined,\n });\n\n return options?.onError?.(...params);\n },\n });\n}\n"],"mappings":";;;;;;;;;;;;;AAkBA,SAAgB,UAKd,SAAiG;CACjG,MAAM,YAAY,cAAc;AAEhC,QAAO,YAAY;EACjB,GAAG;EACH,WAAW,GAAG,WAAW;AACvB,aAAU,UAAU,UAAU;AAC9B,UAAO,SAAS,WAAW,GAAG,OAAO;;EAEvC,YAAY,GAAG,WAAW;AACxB,aAAU,UAAU,UAAU;AAC9B,UAAO,SAAS,YAAY,GAAG,OAAO;;EAExC,UAAU,GAAG,WAAW;GACtB,MAAM,CAAC,OAAO;AAEd,OAAI,gBAAgB,IAAI,EAAE;AACxB,cAAU,UAAU,UAAU;AAC9B,aAAS,cAAc;AACvB,UAAM;;AAGR,aAAU,UAAU,QAAQ;AAC5B,SAAM,MAAM,oBAAoB,EAC9B,aAAa,eAAe,QAAQ,IAAI,UAAU,QACnD,CAAC;AAEF,UAAO,SAAS,UAAU,GAAG,OAAO;;EAEvC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-indicator.d.mts","names":[],"sources":["../../../src/lib/hooks/use-indicator.tsx"],"mappings":";;;;;;;KAQY,eAAA;;;;iBAKI,iBAAA,CAAA;;;;;;;;KAuCX,oBAAA;EACH,MAAA,EAAQ,eAAA;EACR,SAAA,EAAW,KAAA,CAAM,QAAA,CAAS,KAAA,CAAM,cAAA,CAAe,eAAA;EAC/C,eAAA,EAAiB,KAAA,CAAM,uBAAA;AAAA;AAAA,cAGZ,gBAAA,EAAgB,KAAA,CAAA,OAAA,CAAA,oBAAA;;;;cAKhB,YAAA,QAAY,oBAAA;;;;iBAKT,wBAAA,CAAA;EAA2B;AAAA;EAAc,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA,IAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-indicator.mjs","names":[],"sources":["../../../src/lib/hooks/use-indicator.tsx"],"sourcesContent":["\"use client\";\n\nimport type React from \"react\";\nimport { createContext, useCallback, useContext, useEffect, useState, useTransition } from \"react\";\n\n/**\n * Indicator status\n */\nexport type IndicatorStatus = \"idle\" | \"pending\" | \"success\" | \"error\";\n\n/**\n * Use local indicator\n */\nexport function useLocalIndicator() {\n /**\n * Start transition\n */\n const [, startTransitionBase] = useTransition();\n\n /**\n * Status of the inline edit indicator\n */\n const [status, setStatus] = useState<IndicatorStatus>(\"idle\");\n\n /**\n * Set status to pending when isPending is true\n */\n const startTransition = useCallback<React.TransitionStartFunction>((callback) => {\n setStatus(\"pending\");\n startTransitionBase(callback);\n }, []);\n\n /**\n * Set status back to idle after 1.5 seconds when status is succes\n * Set status back to idle after 3 seconds when status is error\n */\n const resetAfterDelay = useCallback(() => {\n if (status !== \"success\" && status !== \"error\") return undefined;\n\n const timeout = setTimeout(() => setStatus(\"idle\"), status === \"success\" ? 1000 : 2000);\n\n return () => clearTimeout(timeout);\n }, [status]);\n\n useEffect(() => resetAfterDelay(), [resetAfterDelay]);\n\n return { status, setStatus, startTransition };\n}\n\n/**\n * Indicator context\n */\ntype IndicatorContextType = {\n status: IndicatorStatus;\n setStatus: React.Dispatch<React.SetStateAction<IndicatorStatus>>;\n startTransition: React.TransitionStartFunction;\n};\n\nexport const IndicatorContext = createContext<IndicatorContextType>({} as IndicatorContextType);\n\n/**\n * Inline edit indicator context\n */\nexport const useIndicator = () => useContext(IndicatorContext);\n\n/**\n * Indicator context provider\n */\nexport function IndicatorContextProvider({ children }: { children: React.ReactNode }) {\n const { status, setStatus, startTransition } = useLocalIndicator();\n\n return (\n <IndicatorContext.Provider value={{ status, setStatus, startTransition }}>\n {children}\n </IndicatorContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;;AAaA,SAAgB,oBAAoB;;;;CAIlC,MAAM,GAAG,uBAAuB,eAAe;;;;CAK/C,MAAM,CAAC,QAAQ,aAAa,SAA0B,OAAO;;;;CAK7D,MAAM,kBAAkB,aAA4C,aAAa;AAC/E,YAAU,UAAU;AACpB,sBAAoB,SAAS;IAC5B,EAAE,CAAC;;;;;CAMN,MAAM,kBAAkB,kBAAkB;AACxC,MAAI,WAAW,aAAa,WAAW,QAAS,QAAO;EAEvD,MAAM,UAAU,iBAAiB,UAAU,OAAO,EAAE,WAAW,YAAY,MAAO,IAAK;AAEvF,eAAa,aAAa,QAAQ;IACjC,CAAC,OAAO,CAAC;AAEZ,iBAAgB,iBAAiB,EAAE,CAAC,gBAAgB,CAAC;AAErD,QAAO;EAAE;EAAQ;EAAW;EAAiB;;AAY/C,MAAa,mBAAmB,cAAoC,EAAE,CAAyB;;;;AAK/F,MAAa,qBAAqB,WAAW,iBAAiB;;;;AAK9D,SAAgB,yBAAyB,EAAE,YAA2C;CACpF,MAAM,EAAE,QAAQ,WAAW,oBAAoB,mBAAmB;AAElE,QACE,oBAAC,iBAAiB;EAAS,OAAO;GAAE;GAAQ;GAAW;GAAiB;EACrE;GACyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-mobile.client.d.mts","names":[],"sources":["../../../src/lib/hooks/use-mobile.client.tsx"],"mappings":";;;iBAMgB,WAAA,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-mobile.client.mjs","names":["React"],"sources":["../../../src/lib/hooks/use-mobile.client.tsx"],"sourcesContent":["import \"client-only\";\n\nimport * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener(\"change\", onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener(\"change\", onChange);\n }, []);\n\n return isMobile;\n}\n"],"mappings":";;;;AAIA,MAAM,oBAAoB;AAE1B,SAAgB,cAAc;CAC5B,MAAM,CAAC,UAAU,eAAeA,QAAM,SAA8B,OAAU;AAE9E,SAAM,gBAAgB;EACpB,MAAM,MAAM,OAAO,WAAW,eAAe,oBAAoB,EAAE,KAAK;EACxE,MAAM,iBAAiB;AACrB,eAAY,OAAO,aAAa,kBAAkB;;AAEpD,MAAI,iBAAiB,UAAU,SAAS;AACxC,cAAY,OAAO,aAAa,kBAAkB;AAClD,eAAa,IAAI,oBAAoB,UAAU,SAAS;IACvD,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.mts","names":[],"sources":["../../../src/lib/types/config.ts"],"mappings":";;;KAEY,cAAA;EACV,KAAA,EAAO,MAAA;EACP,KAAA;EACA,IAAA,EAAM,UAAA;EACN,SAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array-move.d.mts","names":[],"sources":["../../../src/lib/utils/array-move.ts"],"mappings":";;AAGA;;iBAAgB,SAAA,GAAA,CAAa,KAAA,EAAO,CAAA,IAAK,MAAA;EAAU,SAAA;EAAmB,OAAA;AAAA,IAAoB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"array-move.mjs","names":[],"sources":["../../../src/lib/utils/array-move.ts"],"sourcesContent":["/**\n * Move an array item to a different position. Returns a new array with the item moved to the new position.\n */\nexport function arrayMove<T>(array: T[], params: { fromIndex: number; toIndex: number }): T[] {\n const [item] = array.slice(params.fromIndex, params.fromIndex + 1);\n if (!item) return array;\n return array.toSpliced(params.fromIndex, 1).toSpliced(params.toIndex, 0, item);\n}\n"],"mappings":";;;;AAGA,SAAgB,UAAa,OAAY,QAAqD;CAC5F,MAAM,CAAC,QAAQ,MAAM,MAAM,OAAO,WAAW,OAAO,YAAY,EAAE;AAClE,KAAI,CAAC,KAAM,QAAO;AAClB,QAAO,MAAM,UAAU,OAAO,WAAW,EAAE,CAAC,UAAU,OAAO,SAAS,GAAG,KAAK"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cn.d.mts","names":[],"sources":["../../../src/lib/utils/cn.ts"],"mappings":";;;iBAGgB,EAAA,CAAA,GAAM,MAAA,EAAQ,UAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cn.mjs","names":[],"sources":["../../../src/lib/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n"],"mappings":";;;;AAGA,SAAgB,GAAG,GAAG,QAAsB;AAC1C,QAAO,QAAQ,KAAK,OAAO,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fonts.d.mts","names":[],"sources":["../../../src/lib/utils/fonts.ts"],"mappings":";;;cAEa,QAAA,EAGX,8BAAA,CAHmB,oBAAA;AAAA,cAKR,aAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fonts.mjs","names":[],"sources":["../../../src/lib/utils/fonts.ts"],"sourcesContent":["import { Inter } from \"next/font/google\";\n\nexport const fontSans = Inter({\n subsets: [\"latin\"],\n variable: \"--font-sans\",\n});\n\nexport const registerFonts = () => fontSans.variable;\n"],"mappings":";;;AAEA,MAAa,WAAW,MAAM;CAC5B,SAAS,CAAC,QAAQ;CAClB,UAAU;CACX,CAAC;AAEF,MAAa,sBAAsB,SAAS"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.mts","names":[],"sources":["../../../src/lib/utils/format.ts"],"mappings":";;AAOA;;;;iBAAgB,UAAA,CAAW,IAAA,WAAe,IAAA;AAe1C;;;;;AAAA,iBAAgB,cAAA,CAAe,IAAA,WAAe,IAAA;;;;;AAkC9C;iBAhBgB,cAAA,CAAe,MAAA;;;;AA+B/B;;iBAfgB,UAAA,CAAW,IAAA,WAAe,IAAA;;;AAoC1C;;;iBArBgB,cAAA,CAAe,iBAAA;;AAgC/B;;;;iBAXgB,WAAA,CAAY,KAAA;AAyB5B;;;;;AAAA,iBAdgB,eAAA,CAAgB,IAAA;;;;;;iBAchB,eAAA,CAAgB,EAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.mjs","names":[],"sources":["../../../src/lib/utils/format.ts"],"sourcesContent":["import { detectBrowser, detectDevice, detectOS } from \"./user-agent\";\n\n/**\n * Format date to locale string\n * @param date: string | null | undefined\n * @returns Date in format: 01/01/2021\n */\nexport function formatDate(date: string | Date | null | undefined): string {\n if (!date) return \"\";\n\n return new Date(date).toLocaleDateString(\"nl-BE\", {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n });\n}\n\n/**\n * Format date to locale string\n * @param date: string | null | undefined\n * @returns Date in format: 01/01/2021 01:01:01\n */\nexport function formatDateTime(date: string | Date | null | undefined): string {\n if (!date) return \"\";\n\n return new Date(date).toLocaleDateString(\"nl-BE\", {\n year: \"numeric\",\n month: \"numeric\",\n day: \"numeric\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n}\n\n/**\n * Format currency to locale string\n * @param amount: number | null | undefined\n * @returns Currency in format: € 1.000,00\n */\nexport function formatCurrency(amount: number | string | null | undefined): string {\n if (amount == null) return \"\";\n\n const formatter = new Intl.NumberFormat(\"nl-BE\", {\n style: \"currency\",\n currency: \"EUR\",\n });\n\n return formatter.format(Number(amount.toString()));\n}\n\n/**\n * Format Time to locale string\n * @param date: string | null | undefined\n * @returns Time in format: 01:01:01\n */\nexport function formatTime(date: string | Date | null | undefined): string {\n if (!date) return \"\";\n\n return new Date(date).toLocaleString(\"nl-BE\", {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n });\n}\n\n/**\n * Format duration to locale string\n * @param duration number | null | undefined\n * @returns Duration in format: 01:01:01\n */\nexport function formatDuration(durationInSeconds: number | null | undefined): string {\n if (durationInSeconds == null) return \"\";\n\n const hours = Math.floor(durationInSeconds / 3600);\n const minutes = Math.floor((durationInSeconds % 3600) / 60);\n const seconds = durationInSeconds % 60;\n\n const formatted = [\n hours.toString().padStart(2, \"0\"),\n minutes.toString().padStart(2, \"0\"),\n seconds.toString().padStart(2, \"0\"),\n ];\n\n return formatted.join(\":\");\n}\n\n/**\n * Format phone number\n * @param phone string | null | undefined\n * @returns Phone number in format: +32 000 00 00 00\n */\nexport function formatPhone(phone: string | null | undefined): string {\n if (!phone) return \"\";\n\n return phone.toString().replace(/(\\d{2})(\\d{3})(\\d{2})(\\d{2})(\\d{2})/, \"$1 $2 $3 $4 $5\");\n}\n\n/**\n * Format asset size\n * @param size number | null | undefined\n * @returns Size in format: 1.00 MB\n */\nexport function formatAssetSize(size: number | null | undefined) {\n if (size == null) return \"\";\n\n const units = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\"];\n const index = Math.floor(Math.log(size) / Math.log(1024));\n const newSize = +(size / 1024 ** index).toFixed(2);\n return `${newSize} ${units[index]}`;\n}\n\n/**\n * Format user agent to locale string\n * @param ua: string\n * @returns User agent in format: Chrome · Desktop\n */\nexport function formatUserAgent(ua: string): string {\n const browser = detectBrowser(ua);\n const os = detectOS(ua);\n const device = detectDevice(ua);\n\n return `${browser.name} ${browser.version ?? \"\"} · ${device} · ${os.name} ${os.version ?? \"\"}`;\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,WAAW,MAAgD;AACzE,KAAI,CAAC,KAAM,QAAO;AAElB,QAAO,IAAI,KAAK,KAAK,CAAC,mBAAmB,SAAS;EAChD,MAAM;EACN,OAAO;EACP,KAAK;EACN,CAAC;;;;;;;AAQJ,SAAgB,eAAe,MAAgD;AAC7E,KAAI,CAAC,KAAM,QAAO;AAElB,QAAO,IAAI,KAAK,KAAK,CAAC,mBAAmB,SAAS;EAChD,MAAM;EACN,OAAO;EACP,KAAK;EACL,MAAM;EACN,QAAQ;EACR,QAAQ;EACT,CAAC;;;;;;;AAQJ,SAAgB,eAAe,QAAoD;AACjF,KAAI,UAAU,KAAM,QAAO;AAO3B,QALkB,IAAI,KAAK,aAAa,SAAS;EAC/C,OAAO;EACP,UAAU;EACX,CAAC,CAEe,OAAO,OAAO,OAAO,UAAU,CAAC,CAAC;;;;;;;AAQpD,SAAgB,WAAW,MAAgD;AACzE,KAAI,CAAC,KAAM,QAAO;AAElB,QAAO,IAAI,KAAK,KAAK,CAAC,eAAe,SAAS;EAC5C,MAAM;EACN,QAAQ;EACR,QAAQ;EACT,CAAC;;;;;;;AAQJ,SAAgB,eAAe,mBAAsD;AACnF,KAAI,qBAAqB,KAAM,QAAO;CAEtC,MAAM,QAAQ,KAAK,MAAM,oBAAoB,KAAK;CAClD,MAAM,UAAU,KAAK,MAAO,oBAAoB,OAAQ,GAAG;CAC3D,MAAM,UAAU,oBAAoB;AAQpC,QANkB;EAChB,MAAM,UAAU,CAAC,SAAS,GAAG,IAAI;EACjC,QAAQ,UAAU,CAAC,SAAS,GAAG,IAAI;EACnC,QAAQ,UAAU,CAAC,SAAS,GAAG,IAAI;EACpC,CAEgB,KAAK,IAAI;;;;;;;AAQ5B,SAAgB,YAAY,OAA0C;AACpE,KAAI,CAAC,MAAO,QAAO;AAEnB,QAAO,MAAM,UAAU,CAAC,QAAQ,uCAAuC,iBAAiB;;;;;;;AAQ1F,SAAgB,gBAAgB,MAAiC;AAC/D,KAAI,QAAQ,KAAM,QAAO;CAEzB,MAAM,QAAQ;EAAC;EAAK;EAAM;EAAM;EAAM;EAAK;CAC3C,MAAM,QAAQ,KAAK,MAAM,KAAK,IAAI,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC;AAEzD,QAAO,GADS,EAAE,OAAO,QAAQ,OAAO,QAAQ,EAAE,CAChC,GAAG,MAAM;;;;;;;AAQ7B,SAAgB,gBAAgB,IAAoB;CAClD,MAAM,UAAU,cAAc,GAAG;CACjC,MAAM,KAAK,SAAS,GAAG;CACvB,MAAM,SAAS,aAAa,GAAG;AAE/B,QAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ,WAAW,GAAG,KAAK,OAAO,KAAK,GAAG,KAAK,GAAG,GAAG,WAAW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.mts","names":[],"sources":["../../../src/lib/utils/manifest.ts"],"mappings":";;;;iBAGgB,gBAAA,CAAiB,MAAA,EAAQ,WAAA,SAC5B,aAAA,CAAc,QAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.mjs","names":[],"sources":["../../../src/lib/utils/manifest.ts"],"sourcesContent":["import type { MetadataRoute } from \"next\";\nimport type { TulipConfig } from \"@/modules/config/lib/config\";\n\nexport function generateManifest(config: TulipConfig) {\n return (): MetadataRoute.Manifest => ({\n name: config.general.name,\n short_name: config.general.shortName,\n description: \"Developed by NewCode\",\n theme_color: \"#ffffff\",\n background_color: \"#ffffff\",\n display: \"standalone\",\n // biome-ignore lint/suspicious/noExplicitAny: This value is not yet supported by the type definitions.\n display_override: [\"tabbed\" as any],\n orientation: \"portrait\",\n start_url: \"/\",\n icons: [\n {\n src: \"/icons/icon-x192.png\",\n sizes: \"192x192\",\n type: \"image/png\",\n },\n {\n src: \"/icons/icon-x512.png\",\n sizes: \"512x512\",\n type: \"image/png\",\n },\n {\n src: \"/icons/icon-x512.png\",\n type: \"image/png\",\n sizes: \"512x512\",\n purpose: \"maskable\",\n },\n ],\n });\n}\n"],"mappings":";AAGA,SAAgB,iBAAiB,QAAqB;AACpD,eAAsC;EACpC,MAAM,OAAO,QAAQ;EACrB,YAAY,OAAO,QAAQ;EAC3B,aAAa;EACb,aAAa;EACb,kBAAkB;EAClB,SAAS;EAET,kBAAkB,CAAC,SAAgB;EACnC,aAAa;EACb,WAAW;EACX,OAAO;GACL;IACE,KAAK;IACL,OAAO;IACP,MAAM;IACP;GACD;IACE,KAAK;IACL,OAAO;IACP,MAAM;IACP;GACD;IACE,KAAK;IACL,MAAM;IACN,OAAO;IACP,SAAS;IACV;GACF;EACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.d.mts","names":[],"sources":["../../../src/lib/utils/markdown.ts"],"mappings":";;;;;AAKA;cAAa,cAAA,EAAc,UAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.mjs","names":[],"sources":["../../../src/lib/utils/markdown.ts"],"sourcesContent":["import MarkdownIt from \"markdown-it\";\n\n/**\n * Convert markdown to HTML\n */\nexport const markdownParser = new MarkdownIt({\n html: false, // safer default\n linkify: true,\n breaks: true,\n});\n"],"mappings":";;;;;;AAKA,MAAa,iBAAiB,IAAI,WAAW;CAC3C,MAAM;CACN,SAAS;CACT,QAAQ;CACT,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.d.mts","names":[],"sources":["../../../src/lib/utils/url.ts"],"mappings":";;AAKA;;;;iBAAgB,GAAA,CAAI,IAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"url.mjs","names":[],"sources":["../../../src/lib/utils/url.ts"],"sourcesContent":["/**\n * Get the production url for a path\n * @param {string} path\n * @returns {string}\n */\nexport function url(path: string = \"\"): string {\n const base = process.env.NEXT_PUBLIC_DEPLOYMENT_URL ?? process.env.NEXT_PUBLIC_VERCEL_URL;\n const protocol = process.env.NODE_ENV === \"production\" ? \"https\" : \"http\";\n\n if (base) return `${protocol}://${base}${path}`;\n\n return `http://localhost:${process.env.NEXT_PUBLIC_PORT ?? 3000}${path}`;\n}\n"],"mappings":";;;;;;AAKA,SAAgB,IAAI,OAAe,IAAY;CAC7C,MAAM,OAAO,QAAQ,IAAI,8BAA8B,QAAQ,IAAI;CACnE,MAAM,WAAW,QAAQ,IAAI,aAAa,eAAe,UAAU;AAEnE,KAAI,KAAM,QAAO,GAAG,SAAS,KAAK,OAAO;AAEzC,QAAO,oBAAoB,QAAQ,IAAI,oBAAoB,MAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-agent.mjs","names":[],"sources":["../../../src/lib/utils/user-agent.ts"],"sourcesContent":["/**\n * Detects the browser name and version from a user agent string.\n * @param ua - The user agent string.\n * @returns An object with the browser name and optional version.\n */\nexport function detectBrowser(ua: string): { name: string; version?: string } {\n // Edge\n let m = ua.match(/Edg\\/(\\d+)/);\n if (m) return { name: \"Edge\", version: m[1] };\n\n // Chrome (not Edge/Opera)\n m = ua.match(/Chrome\\/(\\d+)/);\n if (m && !/Edg\\//.test(ua) && !/OPR\\//.test(ua)) {\n return { name: \"Chrome\", version: m[1] };\n }\n\n // Firefox\n m = ua.match(/Firefox\\/(\\d+)/);\n if (m) return { name: \"Firefox\", version: m[1] };\n\n // Safari\n if (/Safari\\/\\d+/.test(ua) && /Version\\/(\\d+)/.test(ua)) {\n m = ua.match(/Version\\/(\\d+)/);\n if (m) return { name: \"Safari\", version: m[1] };\n }\n\n return { name: \"Unknown browser\" };\n}\n\n/**\n * Detects the operating system name and version from a user agent string.\n * @param ua - The user agent string.\n * @returns An object with the OS name and optional version.\n */\nexport function detectOS(ua: string): { name: string; version?: string } {\n // macOS\n let m = ua.match(/Mac OS X ([\\d_]+)/);\n if (m) {\n return { name: \"macOS\", version: m[1]?.replace(/_/g, \".\") };\n }\n\n // Windows\n m = ua.match(/Windows NT ([\\d.]+)/);\n if (m) return { name: \"Windows\", version: m[1] };\n\n // iOS\n m = ua.match(/iPhone OS ([\\d_]+)/) || ua.match(/CPU (?:iPhone )?OS ([\\d_]+)/);\n if (m) {\n return { name: \"iOS\", version: m[1]?.replace(/_/g, \".\") };\n }\n\n // Android\n m = ua.match(/Android ([\\d.]+)/);\n if (m) return { name: \"Android\", version: m[1] };\n\n if (/Linux/.test(ua)) return { name: \"Linux\" };\n\n return { name: \"Unknown OS\" };\n}\n\n/**\n * Detects the device type (Desktop, Mobile, or Tablet) from a user agent string.\n * @param ua - The user agent string.\n * @returns The device type as \"Desktop\", \"Mobile\", or \"Tablet\".\n */\nexport function detectDevice(ua: string): \"Desktop\" | \"Mobile\" | \"Tablet\" {\n const s = ua.toLowerCase();\n\n if (s.includes(\"ipad\") || s.includes(\"tablet\")) return \"Tablet\";\n if (\n s.includes(\"mobi\") ||\n s.includes(\"iphone\") ||\n (s.includes(\"android\") && !s.includes(\"tablet\"))\n ) {\n return \"Mobile\";\n }\n return \"Desktop\";\n}\n"],"mappings":";;;;;;AAKA,SAAgB,cAAc,IAAgD;CAE5E,IAAI,IAAI,GAAG,MAAM,aAAa;AAC9B,KAAI,EAAG,QAAO;EAAE,MAAM;EAAQ,SAAS,EAAE;EAAI;AAG7C,KAAI,GAAG,MAAM,gBAAgB;AAC7B,KAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,GAAG,CAC7C,QAAO;EAAE,MAAM;EAAU,SAAS,EAAE;EAAI;AAI1C,KAAI,GAAG,MAAM,iBAAiB;AAC9B,KAAI,EAAG,QAAO;EAAE,MAAM;EAAW,SAAS,EAAE;EAAI;AAGhD,KAAI,cAAc,KAAK,GAAG,IAAI,iBAAiB,KAAK,GAAG,EAAE;AACvD,MAAI,GAAG,MAAM,iBAAiB;AAC9B,MAAI,EAAG,QAAO;GAAE,MAAM;GAAU,SAAS,EAAE;GAAI;;AAGjD,QAAO,EAAE,MAAM,mBAAmB;;;;;;;AAQpC,SAAgB,SAAS,IAAgD;CAEvE,IAAI,IAAI,GAAG,MAAM,oBAAoB;AACrC,KAAI,EACF,QAAO;EAAE,MAAM;EAAS,SAAS,EAAE,IAAI,QAAQ,MAAM,IAAI;EAAE;AAI7D,KAAI,GAAG,MAAM,sBAAsB;AACnC,KAAI,EAAG,QAAO;EAAE,MAAM;EAAW,SAAS,EAAE;EAAI;AAGhD,KAAI,GAAG,MAAM,qBAAqB,IAAI,GAAG,MAAM,8BAA8B;AAC7E,KAAI,EACF,QAAO;EAAE,MAAM;EAAO,SAAS,EAAE,IAAI,QAAQ,MAAM,IAAI;EAAE;AAI3D,KAAI,GAAG,MAAM,mBAAmB;AAChC,KAAI,EAAG,QAAO;EAAE,MAAM;EAAW,SAAS,EAAE;EAAI;AAEhD,KAAI,QAAQ,KAAK,GAAG,CAAE,QAAO,EAAE,MAAM,SAAS;AAE9C,QAAO,EAAE,MAAM,cAAc;;;;;;;AAQ/B,SAAgB,aAAa,IAA6C;CACxE,MAAM,IAAI,GAAG,aAAa;AAE1B,KAAI,EAAE,SAAS,OAAO,IAAI,EAAE,SAAS,SAAS,CAAE,QAAO;AACvD,KACE,EAAE,SAAS,OAAO,IAClB,EAAE,SAAS,SAAS,IACnB,EAAE,SAAS,UAAU,IAAI,CAAC,EAAE,SAAS,SAAS,CAE/C,QAAO;AAET,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"allowed.client.d.mts","names":[],"sources":["../../../../src/modules/auth/components/allowed.client.tsx"],"mappings":";;;;;;;;KAQY,eAAA;;;;KAKA,YAAA,GAAe,kBAAA;EAAf;;;;EAmBV,QAAA,GAAW,GAAA,CAAI,OAAA;EAKL;;;EAAV,QAAA,EAAU,KAAA,CAAM,SAAA;AAAA;;;;iBAMF,OAAA,CAAA;EAAU,UAAA;EAAY,QAAA;EAAU,QAAA;EAAU;AAAA,GAAY,YAAA,GAAY,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"allowed.client.mjs","names":[],"sources":["../../../../src/modules/auth/components/allowed.client.tsx"],"sourcesContent":["\"use client\";\n\nimport type { JSX } from \"react\";\nimport { type UsePermissionProps, usePermission } from \"../hooks/use-permission\";\n\n/**\n * Allowed types\n */\nexport type AllowedStrategy = \"all\" | \"any\";\n\n/**\n * Allowed props\n */\nexport type AllowedProps = UsePermissionProps & {\n // /**\n // * Permission to check\n // * @example { project: [\"view\", \"create\"] }\n // */\n // permission: Permission;\n\n // /**\n // * Strategy to use when checking multiple permissions\n // * - \"all\": all permissions must be allowed\n // * - \"any\": at least one permission must be allowed\n // * @default \"all\"\n // */\n // strategy?: AllowedStrategy;\n\n /**\n * Fallback component to render if the user doesn't have the permission\n * @default null\n */\n fallback?: JSX.Element | string;\n\n /**\n * Children to render if the user has the permission\n */\n children: React.ReactNode;\n};\n\n/**\n * Allowed\n */\nexport function Allowed({ permission, strategy, fallback, children }: AllowedProps) {\n const data = usePermission({ permission, strategy } as UsePermissionProps);\n\n if (data.success) return <>{children}</>;\n\n return <>{fallback}</>;\n}\n"],"mappings":";;;;;;;;;AA2CA,SAAgB,QAAQ,EAAE,YAAY,UAAU,UAAU,YAA0B;AAGlF,KAFa,cAAc;EAAE;EAAY;EAAU,CAAuB,CAEjE,QAAS,QAAO,gCAAG,WAAY;AAExC,QAAO,0CAAG,WAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-layout.server.d.mts","names":[],"sources":["../../../../src/modules/auth/components/auth-layout.server.tsx"],"mappings":";;;;iBAIsB,UAAA,CAAW,KAAA,EAAO,iBAAA;EAAoB,IAAA;AAAA,KAAe,OAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-layout.server.mjs","names":[],"sources":["../../../../src/modules/auth/components/auth-layout.server.tsx"],"sourcesContent":["import Image from \"next/image\";\nimport Link from \"next/link\";\nimport type { PropsWithChildren } from \"react\";\n\nexport async function AuthLayout(props: PropsWithChildren<{ name: string }>) {\n return (\n <div className=\"container relative mx-auto grid h-dvh flex-col items-center justify-center lg:max-w-none lg:grid-cols-2 lg:px-0\">\n <div className=\"relative hidden h-full flex-col bg-muted p-10 text-white lg:flex dark:border-r\">\n <Image src=\"/images/auth-background.jpeg\" alt=\"Background\" className=\"object-cover\" fill />\n\n <Link href=\"/\" className=\"relative z-20 flex items-center font-bold text-lg\">\n {props.name}\n </Link>\n\n <div className=\"relative z-20 mt-auto\">\n <blockquote className=\"space-y-2 text-sm\">Developed by NewCode</blockquote>\n </div>\n </div>\n\n {props.children}\n </div>\n );\n}\n"],"mappings":";;;;;AAIA,eAAsB,WAAW,OAA4C;AAC3E,QACE,qBAAC;EAAI,WAAU;aACb,qBAAC;GAAI,WAAU;;IACb,oBAAC;KAAM,KAAI;KAA+B,KAAI;KAAa,WAAU;KAAe;MAAO;IAE3F,oBAAC;KAAK,MAAK;KAAI,WAAU;eACtB,MAAM;MACF;IAEP,oBAAC;KAAI,WAAU;eACb,oBAAC;MAAW,WAAU;gBAAoB;OAAiC;MACvE;;IACF,EAEL,MAAM;GACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-loading.d.mts","names":[],"sources":["../../../../src/modules/auth/components/auth-loading.tsx"],"mappings":";;;iBAEgB,WAAA,CAAA,GAAW,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth-loading.mjs","names":[],"sources":["../../../../src/modules/auth/components/auth-loading.tsx"],"sourcesContent":["import { Skeleton } from \"@/components/ui/skeleton\";\n\nexport function AuthLoading() {\n return (\n <div className=\"mx-auto flex w-full flex-col gap-4 sm:w-[350px]\">\n <Skeleton className=\"h-7 w-full\" />\n <Skeleton className=\"h-48 w-full\" />\n <Skeleton className=\"h-12 w-full\" />\n </div>\n );\n}\n"],"mappings":";;;;AAEA,SAAgB,cAAc;AAC5B,QACE,qBAAC;EAAI,WAAU;;GACb,oBAAC,YAAS,WAAU,eAAe;GACnC,oBAAC,YAAS,WAAU,gBAAgB;GACpC,oBAAC,YAAS,WAAU,gBAAgB;;GAChC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-first-user-guard.server.d.mts","names":[],"sources":["../../../../src/modules/auth/components/create-first-user-guard.server.tsx"],"mappings":";;;;;;;;KAQK,uBAAA,iBAAwC,eAAA,IAAmB,iBAAA,CAC9D,IAAA,CAAK,YAAA,CAAa,OAAA;AAAA,iBAGE,wBAAA,iBAAyC,eAAA,CAAA,CAAA;EAC7D,QAAA;EACA;AAAA,GACC,uBAAA,CAAwB,OAAA,IAAQ,OAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-first-user-guard.server.mjs","names":[],"sources":["../../../../src/modules/auth/components/create-first-user-guard.server.tsx"],"sourcesContent":["import \"server-cli-only\";\n\nimport { redirect } from \"next/navigation\";\nimport { connection } from \"next/server\";\nimport type { PropsWithChildren } from \"react\";\nimport type { TDatabaseSchema, TulipContext } from \"@/modules/config/entry\";\nimport { users } from \"../db/schema\";\n\ntype AuthGuardFirstUserProps<TSchema extends TDatabaseSchema> = PropsWithChildren<\n Pick<TulipContext<TSchema>, \"db\">\n>;\n\nexport async function CreateFirstUserPageGuard<TSchema extends TDatabaseSchema>({\n children,\n db,\n}: AuthGuardFirstUserProps<TSchema>) {\n await connection();\n\n const allUsers = await db.select().from(users).limit(1);\n const usersExist = allUsers.length > 0;\n\n if (usersExist) redirect(\"/auth/login\");\n\n return <>{children}</>;\n}\n"],"mappings":";;;;;;;AAYA,eAAsB,yBAA0D,EAC9E,UACA,MACmC;AACnC,OAAM,YAAY;AAKlB,MAHiB,MAAM,GAAG,QAAQ,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,EAC3B,SAAS,EAErB,UAAS,cAAc;AAEvC,QAAO,gCAAG,WAAY"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-first-user-page.client.d.mts","names":[],"sources":["../../../../src/modules/auth/components/create-first-user-page.client.tsx"],"mappings":";;;iBAyBgB,mBAAA,CAAA,GAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-first-user-page.client.mjs","names":["Form"],"sources":["../../../../src/modules/auth/components/create-first-user-page.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { Eye, EyeOff } from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport { parseAsString, useQueryState } from \"nuqs\";\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from \"sonner\";\nimport type * as z from \"zod\";\nimport { Icons } from \"@/components/common/icons\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form.client\";\nimport { Input } from \"@/components/ui/input\";\nimport { useAuthClient } from \"../hooks/use-auth-client\";\nimport { createUserSchema } from \"../lib/validators\";\n\nexport function CreateFirstUserPage() {\n const router = useRouter();\n const authClient = useAuthClient();\n const [callbackURL] = useQueryState(\"callbackURL\", parseAsString);\n const [showPassword, setShowPassword] = useState(false);\n\n const createFirstUserMutation = useMutation({\n mutationFn: async (data: z.infer<typeof createUserSchema>) => {\n const result = await authClient.signUp.email({\n email: data.email,\n password: data.password,\n name: `${data.firstName} ${data.lastName}`,\n firstName: data.firstName,\n lastName: data.lastName,\n callbackURL: callbackURL ?? \"/admin\",\n });\n\n if (result.error) throw result.error;\n\n return result.data;\n },\n onError: (err: Error) => {\n console.error(\"Create First User error: \", err);\n toast.error(\"Er is iets misgegaan\");\n },\n onSuccess: () => {\n router.replace(callbackURL ?? \"/admin\");\n toast.success(\"Account succesvol aangemaakt!\");\n },\n });\n\n const disabled = createFirstUserMutation.isPending;\n\n const form = useForm<z.infer<typeof createUserSchema>>({\n resolver: standardSchemaResolver(createUserSchema),\n defaultValues: { email: \"\", firstName: \"\", lastName: \"\", password: \"\" },\n disabled,\n });\n\n if (Object.keys(form.formState.errors).length > 0) {\n console.error(form.formState.errors);\n }\n\n return (\n <div className=\"mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]\">\n <div className=\"flex flex-col space-y-2 text-center\">\n <h1 className=\"font-semibold text-3xl tracking-tight\">Welkom eerste gebruiker</h1>\n <p className=\"text-muted-foreground text-sm\">Maak eerst een account aan om in te loggen</p>\n </div>\n\n <Form {...form}>\n <form\n className=\"space-y-6\"\n onSubmit={form.handleSubmit((data) => createFirstUserMutation.mutate(data))}\n >\n <div className=\"flex flex-col gap-3\">\n <FormField\n control={form.control}\n name=\"firstName\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Voornaam</FormLabel>\n <FormControl>\n <Input placeholder=\"Voornaam\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n\n <FormField\n control={form.control}\n name=\"lastName\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Achternaam</FormLabel>\n <FormControl>\n <Input placeholder=\"Achternaam\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n\n <FormField\n control={form.control}\n name=\"email\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Email</FormLabel>\n <FormControl>\n <Input placeholder=\"email@example.be\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n\n <FormField\n control={form.control}\n name=\"password\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Wachtwoord</FormLabel>\n <FormControl>\n <div className=\"relative\">\n <Input\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"********\"\n {...field}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-0 right-0 h-full px-3 py-2 hover:bg-transparent\"\n onClick={() => setShowPassword(!showPassword)}\n disabled={disabled}\n >\n {showPassword ? (\n <EyeOff className=\"h-4 w-4 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n )}\n </Button>\n </div>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </div>\n\n <div className=\"space-y-3\">\n <Button disabled={disabled} className=\"w-full\">\n {createFirstUserMutation.isPending && (\n <Icons.spinner className=\"mr-2 h-4 w-4 animate-spin\" />\n )}\n Account aanmaken\n </Button>\n </div>\n </form>\n </Form>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,sBAAsB;CACpC,MAAM,SAAS,WAAW;CAC1B,MAAM,aAAa,eAAe;CAClC,MAAM,CAAC,eAAe,cAAc,eAAe,cAAc;CACjE,MAAM,CAAC,cAAc,mBAAmB,SAAS,MAAM;CAEvD,MAAM,0BAA0B,YAAY;EAC1C,YAAY,OAAO,SAA2C;GAC5D,MAAM,SAAS,MAAM,WAAW,OAAO,MAAM;IAC3C,OAAO,KAAK;IACZ,UAAU,KAAK;IACf,MAAM,GAAG,KAAK,UAAU,GAAG,KAAK;IAChC,WAAW,KAAK;IAChB,UAAU,KAAK;IACf,aAAa,eAAe;IAC7B,CAAC;AAEF,OAAI,OAAO,MAAO,OAAM,OAAO;AAE/B,UAAO,OAAO;;EAEhB,UAAU,QAAe;AACvB,WAAQ,MAAM,6BAA6B,IAAI;AAC/C,SAAM,MAAM,uBAAuB;;EAErC,iBAAiB;AACf,UAAO,QAAQ,eAAe,SAAS;AACvC,SAAM,QAAQ,gCAAgC;;EAEjD,CAAC;CAEF,MAAM,WAAW,wBAAwB;CAEzC,MAAM,OAAO,QAA0C;EACrD,UAAU,uBAAuB,iBAAiB;EAClD,eAAe;GAAE,OAAO;GAAI,WAAW;GAAI,UAAU;GAAI,UAAU;GAAI;EACvE;EACD,CAAC;AAEF,KAAI,OAAO,KAAK,KAAK,UAAU,OAAO,CAAC,SAAS,EAC9C,SAAQ,MAAM,KAAK,UAAU,OAAO;AAGtC,QACE,qBAAC;EAAI,WAAU;aACb,qBAAC;GAAI,WAAU;cACb,oBAAC;IAAG,WAAU;cAAwC;KAA4B,EAClF,oBAAC;IAAE,WAAU;cAAgC;KAA8C;IACvF,EAEN,oBAACA;GAAK,GAAI;aACR,qBAAC;IACC,WAAU;IACV,UAAU,KAAK,cAAc,SAAS,wBAAwB,OAAO,KAAK,CAAC;eAE3E,qBAAC;KAAI,WAAU;;MACb,oBAAC;OACC,SAAS,KAAK;OACd,MAAK;OACL,SAAS,EAAE,YACT,qBAAC;QACC,oBAAC,uBAAU,aAAoB;QAC/B,oBAAC,yBACC,oBAAC;SAAM,aAAY;SAAW,GAAI;UAAS,GAC/B;QACd,oBAAC,gBAAc;WACN;QAEb;MAEF,oBAAC;OACC,SAAS,KAAK;OACd,MAAK;OACL,SAAS,EAAE,YACT,qBAAC;QACC,oBAAC,uBAAU,eAAsB;QACjC,oBAAC,yBACC,oBAAC;SAAM,aAAY;SAAa,GAAI;UAAS,GACjC;QACd,oBAAC,gBAAc;WACN;QAEb;MAEF,oBAAC;OACC,SAAS,KAAK;OACd,MAAK;OACL,SAAS,EAAE,YACT,qBAAC;QACC,oBAAC,uBAAU,UAAiB;QAC5B,oBAAC,yBACC,oBAAC;SAAM,aAAY;SAAmB,GAAI;UAAS,GACvC;QACd,oBAAC,gBAAc;WACN;QAEb;MAEF,oBAAC;OACC,SAAS,KAAK;OACd,MAAK;OACL,SAAS,EAAE,YACT,qBAAC;QACC,oBAAC,uBAAU,eAAsB;QACjC,oBAAC,yBACC,qBAAC;SAAI,WAAU;oBACb,oBAAC;UACC,MAAM,eAAe,SAAS;UAC9B,aAAY;UACZ,GAAI;WACJ,EACF,oBAAC;UACC,MAAK;UACL,SAAQ;UACR,MAAK;UACL,WAAU;UACV,eAAe,gBAAgB,CAAC,aAAa;UACnC;oBAET,eACC,oBAAC,UAAO,WAAU,kCAAkC,GAEpD,oBAAC,OAAI,WAAU,kCAAkC;WAE5C;UACL,GACM;QACd,oBAAC,gBAAc;WACN;QAEb;;MACE,EAEN,oBAAC;KAAI,WAAU;eACb,qBAAC;MAAiB;MAAU,WAAU;iBACnC,wBAAwB,aACvB,oBAAC,MAAM,WAAQ,WAAU,8BAA8B,EACvD;OAEK;MACL;KACD;IACF;GACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forget-password-page.client.d.mts","names":[],"sources":["../../../../src/modules/auth/components/forget-password-page.client.tsx"],"mappings":";;;iBAcgB,kBAAA,CAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"forget-password-page.client.mjs","names":["Form"],"sources":["../../../../src/modules/auth/components/forget-password-page.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from \"sonner\";\nimport type * as z from \"zod\";\nimport { Icons } from \"@/components/common/icons\";\nimport { Button } from \"@/components/ui/button\";\nimport { Form, FormControl, FormField, FormItem, FormMessage } from \"@/components/ui/form.client\";\nimport { Input } from \"@/components/ui/input\";\nimport { useAuthClient } from \"../hooks/use-auth-client\";\nimport { forgotPasswordSchema } from \"../lib/validators\";\n\nexport function ForgetPasswordPage() {\n const authClient = useAuthClient();\n const [isPending, startTransition] = React.useTransition();\n\n const form = useForm<z.infer<typeof forgotPasswordSchema>>({\n resolver: standardSchemaResolver(forgotPasswordSchema),\n defaultValues: { email: \"\" },\n disabled: isPending,\n });\n\n return (\n <div className=\"mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]\">\n <div className=\"flex flex-col space-y-2 text-center\">\n <h1 className=\"font-semibold text-3xl tracking-tight\">Wachtwoord vergeten</h1>\n <p className=\"text-muted-foreground text-sm\">\n Schrijf je email zodat we je een mail kunnen verzenden om je wachtwoord te herstellen.\n </p>\n </div>\n\n <Form {...form}>\n <form\n onSubmit={form.handleSubmit(({ email }) =>\n startTransition(async () => {\n await authClient.emailOtp.sendVerificationOtp({\n type: \"forget-password\",\n email,\n fetchOptions: {\n onSuccess: () => {\n toast.success(\"Succesvol verzonden\", {\n description:\n \"We hebben je een email verzonden om je wachtwoord te herstellen.\",\n });\n },\n onError: ({ error }) => {\n console.error(\"Error: \", error);\n toast.error(\"Er is iets misgegaan\");\n },\n },\n });\n }),\n )}\n className=\"space-y-6\"\n >\n <FormField\n control={form.control}\n name=\"email\"\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <Input placeholder=\"email@example.be\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n\n <Button disabled={form.formState.disabled} className=\"w-full\">\n {isPending && <Icons.spinner className=\"mr-2 h-4 w-4 animate-spin\" />}\n Verzenden\n </Button>\n </form>\n </Form>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;AAcA,SAAgB,qBAAqB;CACnC,MAAM,aAAa,eAAe;CAClC,MAAM,CAAC,WAAW,mBAAmB,MAAM,eAAe;CAE1D,MAAM,OAAO,QAA8C;EACzD,UAAU,uBAAuB,qBAAqB;EACtD,eAAe,EAAE,OAAO,IAAI;EAC5B,UAAU;EACX,CAAC;AAEF,QACE,qBAAC;EAAI,WAAU;aACb,qBAAC;GAAI,WAAU;cACb,oBAAC;IAAG,WAAU;cAAwC;KAAwB,EAC9E,oBAAC;IAAE,WAAU;cAAgC;KAEzC;IACA,EAEN,oBAACA;GAAK,GAAI;aACR,qBAAC;IACC,UAAU,KAAK,cAAc,EAAE,YAC7B,gBAAgB,YAAY;AAC1B,WAAM,WAAW,SAAS,oBAAoB;MAC5C,MAAM;MACN;MACA,cAAc;OACZ,iBAAiB;AACf,cAAM,QAAQ,uBAAuB,EACnC,aACE,oEACH,CAAC;;OAEJ,UAAU,EAAE,YAAY;AACtB,gBAAQ,MAAM,WAAW,MAAM;AAC/B,cAAM,MAAM,uBAAuB;;OAEtC;MACF,CAAC;MACF,CACH;IACD,WAAU;eAEV,oBAAC;KACC,SAAS,KAAK;KACd,MAAK;KACL,SAAS,EAAE,YACT,qBAAC,uBACC,oBAAC,yBACC,oBAAC;MAAM,aAAY;MAAmB,GAAI;OAAS,GACvC,EACd,oBAAC,gBAAc,IACN;MAEb,EAEF,qBAAC;KAAO,UAAU,KAAK,UAAU;KAAU,WAAU;gBAClD,aAAa,oBAAC,MAAM,WAAQ,WAAU,8BAA8B,EAAC;MAE/D;KACJ;IACF;GACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guard.server.d.mts","names":[],"sources":["../../../../src/modules/auth/components/guard.server.tsx"],"mappings":";;;;;;;;iBASsB,SAAA,iBAA0B,eAAA,CAAA,CAAA;EAC9C,QAAA;EACA;AAAA,GACC,iBAAA,CAAkB,IAAA,CAAK,YAAA,CAAa,OAAA,cAAkB,OAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"guard.server.mjs","names":[],"sources":["../../../../src/modules/auth/components/guard.server.tsx"],"sourcesContent":["import \"server-cli-only\";\n\nimport { redirect } from \"next/navigation\";\nimport type { PropsWithChildren } from \"react\";\nimport type { TDatabaseSchema, TulipContext } from \"@/modules/config/entry\";\nimport { getQueryClient } from \"@/modules/router/lib/query-client\";\nimport { HydrateClient } from \"@/modules/router/lib/query-client.server\";\nimport { getSession } from \"../lib/helpers.server\";\n\nexport async function AuthGuard<TSchema extends TDatabaseSchema>({\n children,\n auth,\n}: PropsWithChildren<Pick<TulipContext<TSchema>, \"auth\">>) {\n const session = await getSession({ auth });\n if (!session) redirect(\"/auth/login\");\n\n const queryClient = getQueryClient();\n queryClient.prefetchQuery({\n queryKey: [\"session\"],\n queryFn: async () => session,\n });\n\n return <HydrateClient>{children}</HydrateClient>;\n}\n"],"mappings":";;;;;;;;AASA,eAAsB,UAA2C,EAC/D,UACA,QACyD;CACzD,MAAM,UAAU,MAAM,WAAW,EAAE,MAAM,CAAC;AAC1C,KAAI,CAAC,QAAS,UAAS,cAAc;AAGrC,CADoB,gBAAgB,CACxB,cAAc;EACxB,UAAU,CAAC,UAAU;EACrB,SAAS,YAAY;EACtB,CAAC;AAEF,QAAO,oBAAC,iBAAe,WAAyB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login-page.client.d.mts","names":[],"sources":["../../../../src/modules/auth/components/login-page.client.tsx"],"mappings":";;;KAmBK,cAAA;EACH,OAAA;IACE,aAAA;EAAA;AAAA;AAAA,iBAIY,SAAA,CAAU,KAAA,EAAO,cAAA,GAAc,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"login-page.client.mjs","names":["Form"],"sources":["../../../../src/modules/auth/components/login-page.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { Eye, EyeOff, FingerprintIcon } from \"lucide-react\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/navigation\";\nimport { parseAsString, useQueryState } from \"nuqs\";\nimport { useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from \"sonner\";\nimport type * as z from \"zod\";\nimport { Icons } from \"@/components/common/icons\";\nimport { Button } from \"@/components/ui/button\";\nimport { Form, FormControl, FormField, FormItem, FormMessage } from \"@/components/ui/form.client\";\nimport { Input } from \"@/components/ui/input\";\nimport { useAuthClient } from \"../hooks/use-auth-client\";\nimport { loginSchema } from \"../lib/validators\";\n\ntype LoginPageProps = {\n options?: {\n enablePasskey?: boolean;\n };\n};\n\nexport function LoginPage(props: LoginPageProps) {\n const router = useRouter();\n const authClient = useAuthClient();\n const [callbackURL] = useQueryState(\"callbackURL\", parseAsString);\n const [showPassword, setShowPassword] = useState(false);\n\n const loginWithEmailMutation = useMutation({\n mutationFn: async (data: z.infer<typeof loginSchema>) => {\n const result = await authClient.signIn.email({\n ...data,\n callbackURL: callbackURL ?? \"/admin\",\n });\n if (result.error) throw result.error;\n\n return result.data;\n },\n onError: (err) => {\n console.error(\"Login error: \", err);\n\n if (\"status\" in err) {\n if (err.status === 401) {\n toast.error(\"Ongeldige email of wachtwoord\");\n return;\n }\n\n if (err.status === 403) {\n toast.error(\"Account is geblokkeerd\");\n return;\n }\n\n if (err.status === 429) {\n toast.error(\"Te veel login pogingen\");\n return;\n }\n }\n\n toast.error(\"Er is iets misgegaan\");\n },\n });\n\n const loginWithPasskeyMutation = useMutation({\n mutationFn: async () => {\n const result = await authClient.signIn.passkey();\n if (result.error) throw result.error;\n\n return result.data;\n },\n onSuccess: () => {\n router.replace(callbackURL ?? \"/admin\");\n toast.success(\"Succesvol ingelogd\");\n },\n onError: (err) => {\n console.error(\"Login error: \", err);\n toast.error(\"Er is iets misgegaan\");\n },\n });\n\n const disabled = loginWithEmailMutation.isPending || loginWithPasskeyMutation.isPending;\n\n const form = useForm<z.infer<typeof loginSchema>>({\n resolver: standardSchemaResolver(loginSchema),\n defaultValues: { email: \"\", password: \"\" },\n disabled,\n });\n\n return (\n <div className=\"mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]\">\n <div className=\"flex flex-col space-y-2 text-center\">\n <h1 className=\"font-semibold text-3xl tracking-tight\">Login</h1>\n <p className=\"text-muted-foreground text-sm\">\n Schrijf je email en wachtwoord in om in te loggen.\n </p>\n </div>\n\n <Form {...form}>\n <form\n className=\"space-y-6\"\n onSubmit={form.handleSubmit((data) => loginWithEmailMutation.mutate(data))}\n >\n <div className=\"flex flex-col gap-3\">\n <FormField\n control={form.control}\n name=\"email\"\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <Input placeholder=\"email@example.be\" {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n\n <FormField\n control={form.control}\n name=\"password\"\n render={({ field }) => (\n <FormItem>\n <FormControl>\n <div className=\"relative\">\n <Input\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"********\"\n {...field}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-0 right-0 h-full px-3 py-2 hover:bg-transparent\"\n onClick={() => setShowPassword(!showPassword)}\n disabled={disabled}\n >\n {showPassword ? (\n <EyeOff className=\"h-4 w-4 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n )}\n </Button>\n </div>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </div>\n\n <div className=\"space-y-3\">\n <Button disabled={disabled} className=\"w-full\">\n {loginWithEmailMutation.isPending && (\n <Icons.spinner className=\"mr-2 h-4 w-4 animate-spin\" />\n )}\n Inloggen\n </Button>\n\n {props.options?.enablePasskey && (\n <Button\n className=\"w-full\"\n type=\"button\"\n variant=\"outline\"\n disabled={disabled}\n onClick={() => loginWithPasskeyMutation.mutate()}\n >\n {loginWithPasskeyMutation.isPending ? (\n <Icons.spinner className=\"mr-2 h-4 w-4 animate-spin\" />\n ) : (\n <FingerprintIcon className=\"mr-2 h-4 w-4\" />\n )}\n Inloggen met passkey\n </Button>\n )}\n </div>\n </form>\n </Form>\n\n <p className=\"px-8 text-center text-muted-foreground text-sm\">\n <Link\n href=\"/auth/forget-password\"\n className=\"underline underline-offset-4 hover:text-primary\"\n >\n Wachtwoord vergeten\n </Link>\n </p>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAyBA,SAAgB,UAAU,OAAuB;CAC/C,MAAM,SAAS,WAAW;CAC1B,MAAM,aAAa,eAAe;CAClC,MAAM,CAAC,eAAe,cAAc,eAAe,cAAc;CACjE,MAAM,CAAC,cAAc,mBAAmB,SAAS,MAAM;CAEvD,MAAM,yBAAyB,YAAY;EACzC,YAAY,OAAO,SAAsC;GACvD,MAAM,SAAS,MAAM,WAAW,OAAO,MAAM;IAC3C,GAAG;IACH,aAAa,eAAe;IAC7B,CAAC;AACF,OAAI,OAAO,MAAO,OAAM,OAAO;AAE/B,UAAO,OAAO;;EAEhB,UAAU,QAAQ;AAChB,WAAQ,MAAM,iBAAiB,IAAI;AAEnC,OAAI,YAAY,KAAK;AACnB,QAAI,IAAI,WAAW,KAAK;AACtB,WAAM,MAAM,gCAAgC;AAC5C;;AAGF,QAAI,IAAI,WAAW,KAAK;AACtB,WAAM,MAAM,yBAAyB;AACrC;;AAGF,QAAI,IAAI,WAAW,KAAK;AACtB,WAAM,MAAM,yBAAyB;AACrC;;;AAIJ,SAAM,MAAM,uBAAuB;;EAEtC,CAAC;CAEF,MAAM,2BAA2B,YAAY;EAC3C,YAAY,YAAY;GACtB,MAAM,SAAS,MAAM,WAAW,OAAO,SAAS;AAChD,OAAI,OAAO,MAAO,OAAM,OAAO;AAE/B,UAAO,OAAO;;EAEhB,iBAAiB;AACf,UAAO,QAAQ,eAAe,SAAS;AACvC,SAAM,QAAQ,qBAAqB;;EAErC,UAAU,QAAQ;AAChB,WAAQ,MAAM,iBAAiB,IAAI;AACnC,SAAM,MAAM,uBAAuB;;EAEtC,CAAC;CAEF,MAAM,WAAW,uBAAuB,aAAa,yBAAyB;CAE9E,MAAM,OAAO,QAAqC;EAChD,UAAU,uBAAuB,YAAY;EAC7C,eAAe;GAAE,OAAO;GAAI,UAAU;GAAI;EAC1C;EACD,CAAC;AAEF,QACE,qBAAC;EAAI,WAAU;;GACb,qBAAC;IAAI,WAAU;eACb,oBAAC;KAAG,WAAU;eAAwC;MAAU,EAChE,oBAAC;KAAE,WAAU;eAAgC;MAEzC;KACA;GAEN,oBAACA;IAAK,GAAI;cACR,qBAAC;KACC,WAAU;KACV,UAAU,KAAK,cAAc,SAAS,uBAAuB,OAAO,KAAK,CAAC;gBAE1E,qBAAC;MAAI,WAAU;iBACb,oBAAC;OACC,SAAS,KAAK;OACd,MAAK;OACL,SAAS,EAAE,YACT,qBAAC,uBACC,oBAAC,yBACC,oBAAC;QAAM,aAAY;QAAmB,GAAI;SAAS,GACvC,EACd,oBAAC,gBAAc,IACN;QAEb,EAEF,oBAAC;OACC,SAAS,KAAK;OACd,MAAK;OACL,SAAS,EAAE,YACT,qBAAC,uBACC,oBAAC,yBACC,qBAAC;QAAI,WAAU;mBACb,oBAAC;SACC,MAAM,eAAe,SAAS;SAC9B,aAAY;SACZ,GAAI;UACJ,EACF,oBAAC;SACC,MAAK;SACL,SAAQ;SACR,MAAK;SACL,WAAU;SACV,eAAe,gBAAgB,CAAC,aAAa;SACnC;mBAET,eACC,oBAAC,UAAO,WAAU,kCAAkC,GAEpD,oBAAC,OAAI,WAAU,kCAAkC;UAE5C;SACL,GACM,EACd,oBAAC,gBAAc,IACN;QAEb;OACE,EAEN,qBAAC;MAAI,WAAU;iBACb,qBAAC;OAAiB;OAAU,WAAU;kBACnC,uBAAuB,aACtB,oBAAC,MAAM,WAAQ,WAAU,8BAA8B,EACvD;QAEK,EAER,MAAM,SAAS,iBACd,qBAAC;OACC,WAAU;OACV,MAAK;OACL,SAAQ;OACE;OACV,eAAe,yBAAyB,QAAQ;kBAE/C,yBAAyB,YACxB,oBAAC,MAAM,WAAQ,WAAU,8BAA8B,GAEvD,oBAAC,mBAAgB,WAAU,iBAAiB,EAC5C;QAEK;OAEP;MACD;KACF;GAEP,oBAAC;IAAE,WAAU;cACX,oBAAC;KACC,MAAK;KACL,WAAU;eACX;MAEM;KACL;;GACA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reset-password-page.client.d.mts","names":[],"sources":["../../../../src/modules/auth/components/reset-password-page.client.tsx"],"mappings":";;;iBAuBgB,iBAAA,CAAkB,MAAA;EAChC,YAAA,EAAc,OAAA;IAAU,KAAA;IAAe,GAAA;EAAA;AAAA,IACxC,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reset-password-page.client.mjs","names":["Form"],"sources":["../../../../src/modules/auth/components/reset-password-page.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { Eye, EyeOff } from \"lucide-react\";\nimport { useRouter } from \"next/navigation\";\nimport React, { use, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { toast } from \"sonner\";\nimport type * as z from \"zod\";\nimport { Icons } from \"@/components/common/icons\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form.client\";\nimport { Input } from \"@/components/ui/input\";\nimport { useAuthClient } from \"../hooks/use-auth-client\";\nimport { resetPasswordSchema } from \"../lib/validators\";\n\nexport function ResetPasswordPage(params: {\n searchParams: Promise<{ email: string; otp: string }>;\n}) {\n const { email, otp } = use(params.searchParams);\n\n const router = useRouter();\n const authClient = useAuthClient();\n\n const [showPassword, setShowPassword] = useState(false);\n const [showPasswordConfirm, setShowPasswordConfirm] = useState(false);\n\n const [isPending, startTransition] = React.useTransition();\n\n const form = useForm<z.infer<typeof resetPasswordSchema>>({\n resolver: standardSchemaResolver(resetPasswordSchema),\n disabled: isPending,\n });\n\n return (\n <div className=\"mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]\">\n <div className=\"flex flex-col space-y-2 text-center\">\n <h1 className=\"font-semibold text-3xl tracking-tight\">Wachtwoord herstellen</h1>\n <p className=\"text-muted-foreground text-sm\">Vul je nieuwe wachtwoord in</p>\n </div>\n\n <Form {...form}>\n <form\n onSubmit={form.handleSubmit(({ password }) =>\n startTransition(async () => {\n await authClient.emailOtp.resetPassword({\n email,\n otp,\n password,\n fetchOptions: {\n onSuccess: () => {\n toast.success(\"Wachtwoord succesvol gewijzigd\", {\n description: \"Log nu in met je nieuw wachtwoord.\",\n });\n router.replace(\"/auth/login\");\n },\n onError: ({ error }) => {\n console.error(\"Error: \", error);\n toast.error(\"Er is iets misgegaan\");\n },\n },\n });\n }),\n )}\n className=\"space-y-6\"\n >\n <div className=\"flex flex-col gap-3\">\n <FormField\n control={form.control}\n name=\"password\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Wachtwoord</FormLabel>\n <FormControl>\n <div className=\"relative\">\n <Input\n type={showPassword ? \"text\" : \"password\"}\n placeholder=\"********\"\n {...field}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-0 right-0 h-full px-3 py-2 hover:bg-transparent\"\n onClick={() => setShowPassword(!showPassword)}\n disabled={form.formState.disabled}\n >\n {showPassword ? (\n <EyeOff className=\"h-4 w-4 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n )}\n </Button>\n </div>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n\n <FormField\n control={form.control}\n name=\"passwordConfirmation\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Herhaal Wachtwoord</FormLabel>\n <FormControl>\n <div className=\"relative\">\n <Input\n type={showPasswordConfirm ? \"text\" : \"password\"}\n placeholder=\"********\"\n {...field}\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className=\"absolute top-0 right-0 h-full px-3 py-2 hover:bg-transparent\"\n onClick={() => setShowPasswordConfirm(!showPasswordConfirm)}\n disabled={form.formState.disabled}\n >\n {showPasswordConfirm ? (\n <EyeOff className=\"h-4 w-4 text-muted-foreground\" />\n ) : (\n <Eye className=\"h-4 w-4 text-muted-foreground\" />\n )}\n </Button>\n </div>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </div>\n\n <Button disabled={form.formState.disabled} className=\"w-full\">\n {isPending && <Icons.spinner className=\"mr-2 h-4 w-4 animate-spin\" />}\n Verzenden\n </Button>\n </form>\n </Form>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,SAAgB,kBAAkB,QAE/B;CACD,MAAM,EAAE,OAAO,QAAQ,IAAI,OAAO,aAAa;CAE/C,MAAM,SAAS,WAAW;CAC1B,MAAM,aAAa,eAAe;CAElC,MAAM,CAAC,cAAc,mBAAmB,SAAS,MAAM;CACvD,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,MAAM;CAErE,MAAM,CAAC,WAAW,mBAAmB,MAAM,eAAe;CAE1D,MAAM,OAAO,QAA6C;EACxD,UAAU,uBAAuB,oBAAoB;EACrD,UAAU;EACX,CAAC;AAEF,QACE,qBAAC;EAAI,WAAU;aACb,qBAAC;GAAI,WAAU;cACb,oBAAC;IAAG,WAAU;cAAwC;KAA0B,EAChF,oBAAC;IAAE,WAAU;cAAgC;KAA+B;IACxE,EAEN,oBAACA;GAAK,GAAI;aACR,qBAAC;IACC,UAAU,KAAK,cAAc,EAAE,eAC7B,gBAAgB,YAAY;AAC1B,WAAM,WAAW,SAAS,cAAc;MACtC;MACA;MACA;MACA,cAAc;OACZ,iBAAiB;AACf,cAAM,QAAQ,kCAAkC,EAC9C,aAAa,sCACd,CAAC;AACF,eAAO,QAAQ,cAAc;;OAE/B,UAAU,EAAE,YAAY;AACtB,gBAAQ,MAAM,WAAW,MAAM;AAC/B,cAAM,MAAM,uBAAuB;;OAEtC;MACF,CAAC;MACF,CACH;IACD,WAAU;eAEV,qBAAC;KAAI,WAAU;gBACb,oBAAC;MACC,SAAS,KAAK;MACd,MAAK;MACL,SAAS,EAAE,YACT,qBAAC;OACC,oBAAC,uBAAU,eAAsB;OACjC,oBAAC,yBACC,qBAAC;QAAI,WAAU;mBACb,oBAAC;SACC,MAAM,eAAe,SAAS;SAC9B,aAAY;SACZ,GAAI;UACJ,EACF,oBAAC;SACC,MAAK;SACL,SAAQ;SACR,MAAK;SACL,WAAU;SACV,eAAe,gBAAgB,CAAC,aAAa;SAC7C,UAAU,KAAK,UAAU;mBAExB,eACC,oBAAC,UAAO,WAAU,kCAAkC,GAEpD,oBAAC,OAAI,WAAU,kCAAkC;UAE5C;SACL,GACM;OACd,oBAAC,gBAAc;UACN;OAEb,EAEF,oBAAC;MACC,SAAS,KAAK;MACd,MAAK;MACL,SAAS,EAAE,YACT,qBAAC;OACC,oBAAC,uBAAU,uBAA8B;OACzC,oBAAC,yBACC,qBAAC;QAAI,WAAU;mBACb,oBAAC;SACC,MAAM,sBAAsB,SAAS;SACrC,aAAY;SACZ,GAAI;UACJ,EACF,oBAAC;SACC,MAAK;SACL,SAAQ;SACR,MAAK;SACL,WAAU;SACV,eAAe,uBAAuB,CAAC,oBAAoB;SAC3D,UAAU,KAAK,UAAU;mBAExB,sBACC,oBAAC,UAAO,WAAU,kCAAkC,GAEpD,oBAAC,OAAI,WAAU,kCAAkC;UAE5C;SACL,GACM;OACd,oBAAC,gBAAc;UACN;OAEb;MACE,EAEN,qBAAC;KAAO,UAAU,KAAK,UAAU;KAAU,WAAU;gBAClD,aAAa,oBAAC,MAAM,WAAQ,WAAU,8BAA8B,EAAC;MAE/D;KACJ;IACF;GACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-password-command.d.mts","names":[],"sources":["../../../../src/modules/auth/components/update-password-command.tsx"],"mappings":";;;;;;;KA2BY,0BAAA,2BAED,YAAA;EAIT,SAAA,GAAY,MAAA,EAAQ,oBAAA,KAAyB,UAAA;EAC7C,QAAA,EAAU,eAAA,CAAgB,KAAA,EAAO,MAAA,EAAQ,UAAA,EAAY,eAAA;EACrD,aAAA,GAAgB,OAAA,CAAQ,oBAAA;EACxB,QAAA,GAAW,KAAA,CAAM,SAAA;AAAA;AAAA,iBAGH,qBAAA,2BAEL,YAAA,oDAAA,CAAA;EAIT,SAAA;EACA,QAAA;EACA,aAAA;EACA;AAAA,GACC,0BAAA,CAA2B,KAAA,EAAO,MAAA,EAAQ,UAAA,EAAY,eAAA,IAAgB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cA0C5D,4BAAA,SAA4B,wBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-password-command.mjs","names":["Form"],"sources":["../../../../src/modules/auth/components/update-password-command.tsx"],"sourcesContent":["\"use client\";\n\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport type { DefaultError, MutationOptions } from \"@tanstack/react-query\";\nimport type React from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form.client\";\nimport { Input } from \"@/components/ui/input\";\nimport {\n CommandFormDialog,\n CommandFormDialogCancel,\n CommandFormDialogContent,\n CommandFormDialogFooter,\n CommandFormDialogHeader,\n CommandFormDialogSubmit,\n CommandFormDialogTitle,\n CommandFormDialogTrigger,\n} from \"@/modules/commands/components/form-dialog-command.client\";\nimport { type UpdatePasswordSchema, updatePasswordSchema } from \"../lib/validators\";\n\nexport type UpdatePasswordCommandProps<\n TData = unknown,\n TError = DefaultError,\n TVariables = undefined,\n TOnMutateResult = unknown,\n> = {\n variables: (values: UpdatePasswordSchema) => TVariables;\n mutation: MutationOptions<TData, TError, TVariables, TOnMutateResult>;\n defaultValues?: Partial<UpdatePasswordSchema>;\n children?: React.ReactNode;\n};\n\nexport function UpdatePasswordCommand<\n TData = unknown,\n TError = DefaultError,\n TVariables = undefined,\n TOnMutateResult = unknown,\n>({\n variables,\n mutation,\n defaultValues,\n children,\n}: UpdatePasswordCommandProps<TData, TError, TVariables, TOnMutateResult>) {\n const form = useForm<UpdatePasswordSchema>({\n resolver: standardSchemaResolver(updatePasswordSchema),\n defaultValues,\n });\n\n return (\n <CommandFormDialog>\n {children}\n\n <Form {...form}>\n <CommandFormDialogContent variables={variables} mutation={mutation}>\n <CommandFormDialogHeader>\n <CommandFormDialogTitle>Wachtwoord wijzigen</CommandFormDialogTitle>\n </CommandFormDialogHeader>\n\n <div className=\"space-y-8 py-10\">\n <FormField\n control={form.control}\n name=\"password\"\n render={({ field }) => (\n <FormItem>\n <FormLabel>Wachtwoord</FormLabel>\n <FormControl>\n <Input {...field} type=\"password\" />\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n </div>\n\n <CommandFormDialogFooter>\n <CommandFormDialogCancel>Annuleren</CommandFormDialogCancel>\n <CommandFormDialogSubmit>Opslaan</CommandFormDialogSubmit>\n </CommandFormDialogFooter>\n </CommandFormDialogContent>\n </Form>\n </CommandFormDialog>\n );\n}\n\nexport const UpdatePasswordCommandTrigger = CommandFormDialogTrigger;\n"],"mappings":";;;;;;;;;;;AAuCA,SAAgB,sBAKd,EACA,WACA,UACA,eACA,YACyE;CACzE,MAAM,OAAO,QAA8B;EACzC,UAAU,uBAAuB,qBAAqB;EACtD;EACD,CAAC;AAEF,QACE,qBAAC,gCACE,UAED,oBAACA;EAAK,GAAI;YACR,qBAAC;GAAoC;GAAqB;;IACxD,oBAAC,qCACC,oBAAC,oCAAuB,wBAA4C,GAC5C;IAE1B,oBAAC;KAAI,WAAU;eACb,oBAAC;MACC,SAAS,KAAK;MACd,MAAK;MACL,SAAS,EAAE,YACT,qBAAC;OACC,oBAAC,uBAAU,eAAsB;OACjC,oBAAC,yBACC,oBAAC;QAAM,GAAI;QAAO,MAAK;SAAa,GACxB;OACd,oBAAC,gBAAc;UACN;OAEb;MACE;IAEN,qBAAC,sCACC,oBAAC,qCAAwB,cAAmC,EAC5D,oBAAC,qCAAwB,YAAiC,IAClC;;IACD;GACtB,IACW;;AAIxB,MAAa,+BAA+B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.mts","names":[],"sources":["../../../../src/modules/auth/db/schema.ts"],"mappings":";;;;;;;cAOa,KAAA,uBAAK,kBAAA;;;;UAef,oBAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEU,cAAA,eAAc,SAAA;YAKxB,YAAA,CAAA,IAAA;;;;;;;;cAKU,QAAA,uBAAQ,kBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAaR,iBAAA,EAKV,YAAA,CAL2B,SAAA;QAK3B,YAAA,CAAA,GAAA;AAAA;;;;cAKU,QAAA,uBAAQ,kBAAA;;;;eAelB,oBAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEU,iBAAA,EAKV,YAAA,CAL2B,SAAA;QAK3B,YAAA,CAAA,GAAA;AAAA;;;;cAKU,aAAA,uBAAa,kBAAA;;;;gBAKvB,oBAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEU,sBAAA,EAKV,YAAA,CALgC,SAAA;QAKhC,YAAA,CAAA,GAAA;AAAA;;;;cAKU,QAAA,uBAAQ,kBAAA;;;;UAclB,oBAAA,CAAA,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAEU,iBAAA,EAKV,YAAA,CAL2B,SAAA;QAK3B,YAAA,CAAA,GAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schema.mjs","names":[],"sources":["../../../../src/modules/auth/db/schema.ts"],"sourcesContent":["import { relations, type SQL, sql } from \"drizzle-orm\";\nimport { pgTable } from \"drizzle-orm/pg-core\";\nimport { baseColumns } from \"@/modules/config/entry\";\n\n/**\n * Users\n */\nexport const users = pgTable(\"users\", (t) => ({\n ...baseColumns,\n name: t\n .varchar()\n .notNull()\n .generatedAlwaysAs((): SQL => sql`${users.firstName} || ' ' || ${users.lastName}`),\n firstName: t.varchar().notNull(),\n lastName: t.varchar().notNull(),\n email: t.text().notNull().unique(),\n emailVerified: t.boolean().notNull(),\n image: t.text(),\n role: t.text(),\n banned: t.boolean(),\n banReason: t.text(),\n banExpires: t.timestamp(),\n}));\n\nexport const usersRelations = relations(users, ({ many }) => ({\n sessions: many(sessions),\n accounts: many(accounts),\n verifications: many(verifications),\n passkeys: many(passkeys),\n}));\n\n/**\n * Sessions\n */\nexport const sessions = pgTable(\"sessions\", (t) => ({\n ...baseColumns,\n expiresAt: t.timestamp().notNull(),\n token: t.text().notNull().unique(),\n ipAddress: t.text(),\n userAgent: t.text(),\n impersonatedBy: t.text(),\n userId: t\n .uuid()\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n}));\n\nexport const sessionsRelations = relations(sessions, ({ one }) => ({\n user: one(users, {\n fields: [sessions.userId],\n references: [users.id],\n }),\n}));\n\n/**\n * Accounts\n */\nexport const accounts = pgTable(\"accounts\", (t) => ({\n ...baseColumns,\n accountId: t.text().notNull(),\n providerId: t.text().notNull(),\n accessToken: t.text(),\n refreshToken: t.text(),\n idToken: t.text(),\n accessTokenExpiresAt: t.timestamp(),\n refreshTokenExpiresAt: t.timestamp(),\n scope: t.text(),\n password: t.text(),\n userId: t\n .uuid()\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n}));\n\nexport const accountsRelations = relations(accounts, ({ one }) => ({\n user: one(users, {\n fields: [accounts.userId],\n references: [users.id],\n }),\n}));\n\n/**\n * Verifications\n */\nexport const verifications = pgTable(\"verifications\", (t) => ({\n ...baseColumns,\n identifier: t.text().notNull(),\n value: t.text().notNull(),\n expiresAt: t.timestamp().notNull(),\n}));\n\nexport const verificationsRelations = relations(verifications, ({ one }) => ({\n user: one(users, {\n fields: [verifications.identifier],\n references: [users.id],\n }),\n}));\n\n/**\n * Passkeys\n */\nexport const passkeys = pgTable(\"passkeys\", (t) => ({\n ...baseColumns,\n name: t.text(),\n publicKey: t.text().notNull(),\n credentialID: t.text().notNull(),\n counter: t.integer().notNull(),\n deviceType: t.text().notNull(),\n backedUp: t.boolean().notNull(),\n transports: t.text(),\n aaguid: t.text(),\n userId: t\n .uuid()\n .notNull()\n .references(() => users.id, { onDelete: \"cascade\" }),\n}));\n\nexport const passkeysRelations = relations(passkeys, ({ one }) => ({\n user: one(users, {\n fields: [passkeys.userId],\n references: [users.id],\n }),\n}));\n\n/**\n * Auth schema\n */\n// export const authSchema = {\n// users,\n// sessions,\n// accounts,\n// verifications,\n// };\n\n// export type AuthSchema = typeof authSchema;\n"],"mappings":";;;;;;;;AAOA,MAAa,QAAQ,QAAQ,UAAU,OAAO;CAC5C,GAAG;CACH,MAAM,EACH,SAAS,CACT,SAAS,CACT,wBAA6B,GAAG,GAAG,MAAM,UAAU,aAAa,MAAM,WAAW;CACpF,WAAW,EAAE,SAAS,CAAC,SAAS;CAChC,UAAU,EAAE,SAAS,CAAC,SAAS;CAC/B,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;CAClC,eAAe,EAAE,SAAS,CAAC,SAAS;CACpC,OAAO,EAAE,MAAM;CACf,MAAM,EAAE,MAAM;CACd,QAAQ,EAAE,SAAS;CACnB,WAAW,EAAE,MAAM;CACnB,YAAY,EAAE,WAAW;CAC1B,EAAE;AAEH,MAAa,iBAAiB,UAAU,QAAQ,EAAE,YAAY;CAC5D,UAAU,KAAK,SAAS;CACxB,UAAU,KAAK,SAAS;CACxB,eAAe,KAAK,cAAc;CAClC,UAAU,KAAK,SAAS;CACzB,EAAE;;;;AAKH,MAAa,WAAW,QAAQ,aAAa,OAAO;CAClD,GAAG;CACH,WAAW,EAAE,WAAW,CAAC,SAAS;CAClC,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ;CAClC,WAAW,EAAE,MAAM;CACnB,WAAW,EAAE,MAAM;CACnB,gBAAgB,EAAE,MAAM;CACxB,QAAQ,EACL,MAAM,CACN,SAAS,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,WAAW,CAAC;CACvD,EAAE;AAEH,MAAa,oBAAoB,UAAU,WAAW,EAAE,WAAW,EACjE,MAAM,IAAI,OAAO;CACf,QAAQ,CAAC,SAAS,OAAO;CACzB,YAAY,CAAC,MAAM,GAAG;CACvB,CAAC,EACH,EAAE;;;;AAKH,MAAa,WAAW,QAAQ,aAAa,OAAO;CAClD,GAAG;CACH,WAAW,EAAE,MAAM,CAAC,SAAS;CAC7B,YAAY,EAAE,MAAM,CAAC,SAAS;CAC9B,aAAa,EAAE,MAAM;CACrB,cAAc,EAAE,MAAM;CACtB,SAAS,EAAE,MAAM;CACjB,sBAAsB,EAAE,WAAW;CACnC,uBAAuB,EAAE,WAAW;CACpC,OAAO,EAAE,MAAM;CACf,UAAU,EAAE,MAAM;CAClB,QAAQ,EACL,MAAM,CACN,SAAS,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,WAAW,CAAC;CACvD,EAAE;AAEH,MAAa,oBAAoB,UAAU,WAAW,EAAE,WAAW,EACjE,MAAM,IAAI,OAAO;CACf,QAAQ,CAAC,SAAS,OAAO;CACzB,YAAY,CAAC,MAAM,GAAG;CACvB,CAAC,EACH,EAAE;;;;AAKH,MAAa,gBAAgB,QAAQ,kBAAkB,OAAO;CAC5D,GAAG;CACH,YAAY,EAAE,MAAM,CAAC,SAAS;CAC9B,OAAO,EAAE,MAAM,CAAC,SAAS;CACzB,WAAW,EAAE,WAAW,CAAC,SAAS;CACnC,EAAE;AAEH,MAAa,yBAAyB,UAAU,gBAAgB,EAAE,WAAW,EAC3E,MAAM,IAAI,OAAO;CACf,QAAQ,CAAC,cAAc,WAAW;CAClC,YAAY,CAAC,MAAM,GAAG;CACvB,CAAC,EACH,EAAE;;;;AAKH,MAAa,WAAW,QAAQ,aAAa,OAAO;CAClD,GAAG;CACH,MAAM,EAAE,MAAM;CACd,WAAW,EAAE,MAAM,CAAC,SAAS;CAC7B,cAAc,EAAE,MAAM,CAAC,SAAS;CAChC,SAAS,EAAE,SAAS,CAAC,SAAS;CAC9B,YAAY,EAAE,MAAM,CAAC,SAAS;CAC9B,UAAU,EAAE,SAAS,CAAC,SAAS;CAC/B,YAAY,EAAE,MAAM;CACpB,QAAQ,EAAE,MAAM;CAChB,QAAQ,EACL,MAAM,CACN,SAAS,CACT,iBAAiB,MAAM,IAAI,EAAE,UAAU,WAAW,CAAC;CACvD,EAAE;AAEH,MAAa,oBAAoB,UAAU,WAAW,EAAE,WAAW,EACjE,MAAM,IAAI,OAAO;CACf,QAAQ,CAAC,SAAS,OAAO;CACzB,YAAY,CAAC,MAAM,GAAG;CACvB,CAAC,EACH,EAAE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.client.d.mts","names":[],"sources":["../../../../src/modules/auth/handler/create-client.client.ts"],"mappings":";;;;;;;;;;;;;KAYY,qBAAA,wBACa,aAAA,oCACW,IAAA;;;AAFpC;EAOE,OAAA;EAP+B;;;EAW/B,EAAA,EAAI,cAAA;EACJ,KAAA,EAAO,MAAA;AAAA;AAAA,iBAGO,gBAAA,wBACS,aAAA,oCACW,IAAA,GAAA,CAClC,KAAA,EAAO,qBAAA,CAAsB,cAAA,EAAgB,MAAA;;UAAjB,qBAAA,CAAA,OAAA;;;;;2BAlBjB,kBAAA;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0CAyCwjE,iBAAA;YAAA,yBAAA,YAAA,CAAkD,iBAAA,iBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAAA,YAAA,CAAmmB,iBAAA;;;;uCAAA,YAAA,CAAinB,iBAAA,iBAAA,OAAA;;;;;;;;oBAAA,qBAAA,CAAA,OAAA;;;;;;;;;;;;;qBAAA,qBAAA,CAAA,OAAA;UAAA;QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAAtwC,iBAAA;UAAA,yBAAA,YAAA,CAAkD,iBAAA,iBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAAA,YAAA,CAAmmB,iBAAA;;;;qCAAA,YAAA,CAAinB,iBAAA,iBAAA,OAAA;;;;;;;;kBAAA,qBAAA,CAAA,OAAA;;;;;;;;;;;;;mBAAA,qBAAA,CAAA,OAAA;QAAA;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAAtwC,iBAAA;IAAA,yBAAA,YAAA,CAAkD,iBAAA,iBAAA,OAAA;;;;;;;;;iBAAA,YAAA,CAAA,OAAA;;;;;;;;;;;;;;;;qBAAA,YAAA,CAAmmB,iBAAA;;;;+BAAA,YAAA,CAAinB,iBAAA,iBAAA,OAAA;;;;;;;;YAAA,qBAAA,CAAA,OAAA;;;;;;;;;;;;;aAAA,qBAAA,CAAA,OAAA;EAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAA14F,kBAAA;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAA+wG,mBAAA,CAAA,WAAA;;;;;;;;;;;;;;;;;YAAx5D,YAAA;eAAyC,eAAA;kBAA+C,kBAAA;eAAkC,WAAA,IAAA,WAAA;;;;;;;;WAAwa,WAAA;eAAwC,eAAA;;qBAAqF,cAAA;cAAyC,WAAA;;gBAA+E,QAAA,EAA/E,mBAAA,CAA+E,eAAA,KAAA,OAAA;;;;;qBAAA,mBAAA,CAAA,UAAA;;;;;;;;;;;;;;;;;;;;gCAA27B,YAAA;;cAAA,mBAAA,CAAmG,gBAAA,UAAA,IAAA,UAAA,IAAA;kBAAA,mBAAA,CAAmG,gBAAA;;;;;uBAAuM,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAJ34H,UAAA,wBACa,aAAA,oCACW,IAAA,MAChC,UAAA,QAAkB,gBAAA,CAAiB,cAAA,EAAgB,MAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-client.client.mjs","names":["createAuthClient","createBetterAuthClient"],"sources":["../../../../src/modules/auth/handler/create-client.client.ts"],"sourcesContent":["import \"client-only\";\n\nimport { passkeyClient } from \"@better-auth/passkey/client\";\nimport { adminClient, emailOTPClient, inferAdditionalFields } from \"better-auth/client/plugins\";\nimport type { AccessControl, Role } from \"better-auth/plugins\";\nimport { createAuthClient as createBetterAuthClient } from \"better-auth/react\";\nimport { url } from \"@/lib/utils/url\";\nimport type { Auth } from \"./service.server\";\n\n/**\n * Create auth client\n */\nexport type CreateAuthClientProps<\n TAccessControl extends AccessControl,\n TRoles extends { [key in string]: Role },\n> = {\n /**\n * Base URL for the auth client\n */\n baseURL?: string;\n /**\n * Access control instance\n */\n ac: TAccessControl;\n roles: TRoles;\n};\n\nexport function createAuthClient<\n TAccessControl extends AccessControl,\n TRoles extends { [key in string]: Role },\n>(props: CreateAuthClientProps<TAccessControl, TRoles>) {\n const { ac, roles } = props;\n\n const baseURL = props.baseURL ?? url();\n\n return createBetterAuthClient({\n baseURL,\n plugins: [\n emailOTPClient(),\n passkeyClient(),\n adminClient({ ac, roles }),\n inferAdditionalFields<Auth>(),\n ],\n });\n}\n\n/**\n * Client auth type\n */\nexport type ClientAuth<\n TAccessControl extends AccessControl,\n TRoles extends { [key in string]: Role },\n> = ReturnType<typeof createAuthClient<TAccessControl, TRoles>>;\n"],"mappings":";;;;;;;AA2BA,SAAgBA,mBAGd,OAAsD;CACtD,MAAM,EAAE,IAAI,UAAU;AAItB,QAAOC,iBAAuB;EAC5B,SAHc,MAAM,WAAW,KAAK;EAIpC,SAAS;GACP,gBAAgB;GAChB,eAAe;GACf,YAAY;IAAE;IAAI;IAAO,CAAC;GAC1B,uBAA6B;GAC9B;EACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.server.d.mts","names":[],"sources":["../../../../src/modules/auth/handler/proxy.server.ts"],"mappings":";;;;;AAOA;iBAAgB,eAAA,CAAgB,KAAA;EAAS,YAAA;AAAA,KAC/B,GAAA,EAAK,WAAA,KAAW,YAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.server.mjs","names":[],"sources":["../../../../src/modules/auth/handler/proxy.server.ts"],"sourcesContent":["import { getSessionCookie } from \"better-auth/cookies\";\nimport { type NextRequest, NextResponse } from \"next/server\";\nimport { authCookiePrefix } from \"./service.server\";\n\n/**\n * Create auth proxy\n */\nexport function createAuthProxy(props: { publicRoutes: string[] }) {\n return (req: NextRequest) => {\n // 1. Check if the current route is protected or public\n const pathname = req.nextUrl.pathname;\n\n const isPublicRoute = props.publicRoutes.some((route) =>\n new URLPattern({ pathname: route }).test({ pathname }),\n );\n\n // 2. Check if a session cookie is present\n const sessionCookie = getSessionCookie(req, { cookiePrefix: authCookiePrefix });\n\n // 3. Redirect to /auth/login if the user is not authenticated\n if (!isPublicRoute && !sessionCookie) {\n return NextResponse.redirect(new URL(\"/auth/login\", req.nextUrl));\n }\n\n return NextResponse.next();\n };\n}\n"],"mappings":";;;;;;;;AAOA,SAAgB,gBAAgB,OAAmC;AACjE,SAAQ,QAAqB;EAE3B,MAAM,WAAW,IAAI,QAAQ;EAE7B,MAAM,gBAAgB,MAAM,aAAa,MAAM,UAC7C,IAAI,WAAW,EAAE,UAAU,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CACvD;EAGD,MAAM,gBAAgB,iBAAiB,KAAK,EAAE,cAAc,kBAAkB,CAAC;AAG/E,MAAI,CAAC,iBAAiB,CAAC,cACrB,QAAO,aAAa,SAAS,IAAI,IAAI,eAAe,IAAI,QAAQ,CAAC;AAGnE,SAAO,aAAa,MAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.server.d.mts","names":[],"sources":["../../../../src/modules/auth/handler/route.server.ts"],"mappings":";;;;;;;AAQA;iBAAgB,eAAA,CAAgB,KAAA;EAAS,IAAA,EAAM,IAAA;AAAA;iBAIjB,WAAA,KAAW,OAAA,CAAA,QAAA;kBAQV,WAAA,KAAW,OAAA,CAAA,QAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"route.server.mjs","names":[],"sources":["../../../../src/modules/auth/handler/route.server.ts"],"sourcesContent":["import { toNextJsHandler } from \"better-auth/next-js\";\nimport type { NextRequest } from \"next/server\";\nimport \"server-cli-only\";\nimport type { Auth } from \"./service.server\";\n\n/**\n * Handle the auth routes\n */\nexport function handleAuthRoute(props: { auth: Auth }) {\n /**\n * GET route handler\n */\n async function GET(request: NextRequest) {\n const routes = toNextJsHandler(props.auth.handler);\n return routes.GET(request);\n }\n\n /**\n * POST route handler\n */\n async function POST(request: NextRequest) {\n const routes = toNextJsHandler(props.auth.handler);\n return routes.POST(request);\n }\n\n return { GET, POST };\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,gBAAgB,OAAuB;;;;CAIrD,eAAe,IAAI,SAAsB;AAEvC,SADe,gBAAgB,MAAM,KAAK,QAAQ,CACpC,IAAI,QAAQ;;;;;CAM5B,eAAe,KAAK,SAAsB;AAExC,SADe,gBAAgB,MAAM,KAAK,QAAQ,CACpC,KAAK,QAAQ;;AAG7B,QAAO;EAAE;EAAK;EAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.server.d.mts","names":[],"sources":["../../../../src/modules/auth/handler/service.server.ts"],"mappings":";;;;;;;;;;;;;cAea,gBAAA;AAAA,KAER,aAAA,iBAA8B,eAAA;EACjC,EAAA,EAAI,QAAA,CAAS,OAAA;EACb,KAAA,EAAO,KAAA;EACP,MAAA,EAAQ,WAAA;EACR,EAAA,EAAI,UAAA,QAAkB,mBAAA;EACtB,KAAA,sBACoB,MAAA;EAEpB,YAAA;EACA,WAAA;AAAA;;AAXsC;;iBAiB/B,UAAA,iBAA2B,eAAA,CAAA,CAAiB,KAAA,EAAO,aAAA,CAAc,OAAA,iBAAQ,IAAA;;;;;;;;;;sBAAT,YAAA,CAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyF7D,IAAA,GAAO,UAAA,QAAkB,UAAA;;;;;;;cAQxB,IAAA;eAEZ,UAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.server.mjs","names":[],"sources":["../../../../src/modules/auth/handler/service.server.ts"],"sourcesContent":["import { passkey } from \"@better-auth/passkey\";\nimport { drizzleAdapter } from \"better-auth/adapters/drizzle\";\nimport { createAuthMiddleware } from \"better-auth/api\";\nimport { betterAuth } from \"better-auth/minimal\";\nimport { admin, emailOTP } from \"better-auth/plugins\";\nimport { eq } from \"drizzle-orm\";\nimport ForgetPasswordEmail from \"@/components/emails/forget-password-email\";\nimport { url } from \"@/lib/utils/url\";\nimport type { TDatabaseSchema } from \"@/modules/config/entry\";\nimport type { TulipConfig } from \"@/modules/config/lib/config\";\nimport type { Database } from \"@/modules/database/lib/service.server\";\nimport type { Email } from \"@/modules/emails/lib/service.server\";\nimport { users } from \"../entry\";\nimport type { createAccessControl, Role } from \"../lib/permissions\";\n\nexport const authCookiePrefix = \"tulip\";\n\ntype InitAuthProps<TSchema extends TDatabaseSchema> = {\n db: Database<TSchema>;\n email: Email;\n config: TulipConfig;\n ac: ReturnType<typeof createAccessControl>;\n roles: {\n [key in string]?: Role;\n };\n allowedHosts: string[];\n defaultRole?: string;\n};\n\n/**\n * Create the Better Auth server instance.\n */\nfunction createAuth<TSchema extends TDatabaseSchema>(props: InitAuthProps<TSchema>) {\n return betterAuth({\n advanced: {\n cookiePrefix: authCookiePrefix,\n database: {\n generateId: () => false,\n },\n },\n baseURL: {\n allowedHosts: props.allowedHosts,\n },\n database: drizzleAdapter(props.db, {\n provider: \"pg\",\n usePlural: true,\n }),\n emailAndPassword: {\n enabled: true,\n },\n user: {\n changeEmail: {\n enabled: true,\n },\n additionalFields: {\n firstName: {\n type: \"string\",\n required: true,\n input: true,\n },\n lastName: {\n type: \"string\",\n required: true,\n input: true,\n },\n },\n },\n hooks: {\n after: createAuthMiddleware(async (ctx) => {\n if (!ctx.path.startsWith(\"/sign-up\")) return;\n\n const session = ctx.context.newSession;\n if (!session) return;\n\n const existingUsers = await props.db.select().from(users);\n\n if (existingUsers.length === 1) {\n await props.db\n .update(users)\n .set({ role: \"developer\" })\n .where(eq(users.id, session.user.id));\n }\n }),\n },\n plugins: [\n passkey(),\n admin({\n roles: props.roles,\n ac: props.ac,\n adminRoles: [\"admin\", \"developer\"],\n defaultRole: props.defaultRole ?? \"user\",\n }),\n emailOTP({\n sendVerificationOTP: async ({ email, otp, type }) => {\n /**\n * Send a forget password mail\n */\n if (type === \"forget-password\") {\n const searchParams = new URLSearchParams();\n searchParams.set(\"email\", email);\n searchParams.set(\"otp\", otp);\n\n const resetPasswordHref = url(`/auth/reset-password?${searchParams.toString()}`);\n\n const result = await props.email.emails.send({\n from: props.config.email.defaultFrom,\n to: email,\n subject: \"Wachtwoord herstellen\",\n react: ForgetPasswordEmail({ resetPasswordHref }),\n });\n if (result.error) throw new Error(result.error.message);\n }\n },\n }),\n ],\n });\n}\n\n/**\n * Better Auth instance type returned by `Auth.init()`.\n */\nexport type Auth = ReturnType<typeof createAuth>;\n\n/**\n * Auth service namespace.\n *\n * @example\n * const auth = Auth.init({ db, email, config, ac, roles, allowedHosts });\n */\nexport const Auth = {\n init: createAuth,\n};\n"],"mappings":";;;;;;;;;;;AAeA,MAAa,mBAAmB;;;;AAiBhC,SAAS,WAA4C,OAA+B;AAClF,QAAO,WAAW;EAChB,UAAU;GACR,cAAc;GACd,UAAU,EACR,kBAAkB,OACnB;GACF;EACD,SAAS,EACP,cAAc,MAAM,cACrB;EACD,UAAU,eAAe,MAAM,IAAI;GACjC,UAAU;GACV,WAAW;GACZ,CAAC;EACF,kBAAkB,EAChB,SAAS,MACV;EACD,MAAM;GACJ,aAAa,EACX,SAAS,MACV;GACD,kBAAkB;IAChB,WAAW;KACT,MAAM;KACN,UAAU;KACV,OAAO;KACR;IACD,UAAU;KACR,MAAM;KACN,UAAU;KACV,OAAO;KACR;IACF;GACF;EACD,OAAO,EACL,OAAO,qBAAqB,OAAO,QAAQ;AACzC,OAAI,CAAC,IAAI,KAAK,WAAW,WAAW,CAAE;GAEtC,MAAM,UAAU,IAAI,QAAQ;AAC5B,OAAI,CAAC,QAAS;AAId,QAFsB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,MAAM,EAEvC,WAAW,EAC3B,OAAM,MAAM,GACT,OAAO,MAAM,CACb,IAAI,EAAE,MAAM,aAAa,CAAC,CAC1B,MAAM,GAAG,MAAM,IAAI,QAAQ,KAAK,GAAG,CAAC;IAEzC,EACH;EACD,SAAS;GACP,SAAS;GACT,MAAM;IACJ,OAAO,MAAM;IACb,IAAI,MAAM;IACV,YAAY,CAAC,SAAS,YAAY;IAClC,aAAa,MAAM,eAAe;IACnC,CAAC;GACF,SAAS,EACP,qBAAqB,OAAO,EAAE,OAAO,KAAK,WAAW;;;;AAInD,QAAI,SAAS,mBAAmB;KAC9B,MAAM,eAAe,IAAI,iBAAiB;AAC1C,kBAAa,IAAI,SAAS,MAAM;AAChC,kBAAa,IAAI,OAAO,IAAI;KAE5B,MAAM,oBAAoB,IAAI,wBAAwB,aAAa,UAAU,GAAG;KAEhF,MAAM,SAAS,MAAM,MAAM,MAAM,OAAO,KAAK;MAC3C,MAAM,MAAM,OAAO,MAAM;MACzB,IAAI;MACJ,SAAS;MACT,OAAO,oBAAoB,EAAE,mBAAmB,CAAC;MAClD,CAAC;AACF,SAAI,OAAO,MAAO,OAAM,IAAI,MAAM,OAAO,MAAM,QAAQ;;MAG5D,CAAC;GACH;EACF,CAAC;;;;;;;;AAcJ,MAAa,OAAO,EAClB,MAAM,YACP"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth-client.d.mts","names":[],"sources":["../../../../src/modules/auth/hooks/use-auth-client.tsx"],"mappings":";;;;;;;;;;cAUa,iBAAA,EAAiB,KAAA,CAAA,OAAA,CAAA,UAAA;AAA9B;;;AAAA,iBAKgB,aAAA,wBACS,aAAA,4CACW,IAAA,WAAA,CAAA,GAKhB,UAAA,CAAW,cAAA,EAAgB,MAAA;;;;iBAM/B,YAAA,wBACS,aAAA,oCACW,IAAA,GAAA,CAClC,KAAA,EAAO,iBAAA;EAAoB,UAAA,EAAY,UAAA,CAAW,cAAA,EAAgB,MAAA;AAAA,KAAU,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth-client.mjs","names":[],"sources":["../../../../src/modules/auth/hooks/use-auth-client.tsx"],"sourcesContent":["\"use client\";\n\nimport type { AccessControl, Role } from \"better-auth/plugins\";\nimport { createContext, type PropsWithChildren, use } from \"react\";\nimport type { ClientAuth } from \"../handler/create-client.client\";\n\n/**\n * Auth client context\n */\n\nexport const AuthClientContext = createContext(null as unknown as ClientAuth<never, never>);\n\n/**\n * Use auth client\n */\nexport function useAuthClient<\n TAccessControl extends AccessControl = never,\n TRoles extends { [key in string]: Role } = never,\n>() {\n const context = use(AuthClientContext);\n if (!context) throw new Error(\"Auth client is not provided\");\n\n return context as ClientAuth<TAccessControl, TRoles>;\n}\n\n/**\n * Auth client provider\n */\nexport function AuthProvider<\n TAccessControl extends AccessControl,\n TRoles extends { [key in string]: Role },\n>(props: PropsWithChildren<{ authClient: ClientAuth<TAccessControl, TRoles> }>) {\n return (\n <AuthClientContext value={props.authClient as ClientAuth<never, never>}>\n {props.children}\n </AuthClientContext>\n );\n}\n"],"mappings":";;;;;;;;;AAUA,MAAa,oBAAoB,cAAc,KAA4C;;;;AAK3F,SAAgB,gBAGZ;CACF,MAAM,UAAU,IAAI,kBAAkB;AACtC,KAAI,CAAC,QAAS,OAAM,IAAI,MAAM,8BAA8B;AAE5D,QAAO;;;;;AAMT,SAAgB,aAGd,OAA8E;AAC9E,QACE,oBAAC;EAAkB,OAAO,MAAM;YAC7B,MAAM;GACW"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-permission.d.mts","names":[],"sources":["../../../../src/modules/auth/hooks/use-permission.ts"],"mappings":";;;KAMY,kBAAA;;AAAZ;;;;;EAQM,QAAA;EAMa;;;;EAAb,UAAA,GAAa,UAAA;AAAA;EAqBH;;;;;;EAZV,QAAA;;;;;EAMA,UAAA,GAAa,UAAA;AAAA;;;;iBAMH,aAAA,CAAA;EAAgB,QAAA;EAAkB;AAAA,GAAc,kBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-permission.mjs","names":[],"sources":["../../../../src/modules/auth/hooks/use-permission.ts"],"sourcesContent":["\"use client\";\n\nimport type { Permission } from \"../lib/permissions\";\nimport { useAuthClient } from \"./use-auth-client\";\nimport { useSession } from \"./use-session\";\n\nexport type UsePermissionProps =\n | {\n /**\n * Strategy to use when checking multiple permissions\n * - \"all\": all permissions must be allowed\n * - \"any\": at least one permission must be allowed\n * @default \"all\"\n */\n strategy?: \"all\";\n\n /**\n * Permission to check\n * @example { project: [\"view\", \"create\"] }\n */\n permission?: Permission;\n }\n | {\n /**\n * Strategy to use when checking multiple permissions\n * - \"all\": all permissions must be allowed\n * - \"any\": at least one permission must be allowed\n * @default \"all\"\n */\n strategy?: \"any\";\n\n /**\n * Permission to check\n * @example [{ project: [\"view\", \"create\"] }, { client: [\"view\"] }, { drive: [\"view\"] }]\n */\n permission?: Permission[];\n };\n\n/**\n * UsePermission\n */\nexport function usePermission({ strategy = \"all\", permission }: UsePermissionProps) {\n const authClient = useAuthClient();\n const sessionQuery = useSession(authClient);\n\n /**\n * If no role is found in the session, deny by default\n */\n const role = sessionQuery.data?.user.role;\n if (!role) return { permission, success: false };\n\n /**\n * If no permission is provided, allow by default\n */\n if (!permission) return { permission, success: true };\n\n /**\n * If the strategy is \"any\", check if the user has any of the permissions\n */\n if (strategy === \"any\" && Array.isArray(permission)) {\n const permissions = Array.isArray(permission) ? permission : [permission];\n\n const success = permissions.some((permission) =>\n authClient.admin.checkRolePermission({\n role,\n permissions: permission,\n }),\n );\n\n return { permission, success };\n }\n\n /**\n * If the strategy is \"all\", check if the user has all of the permissions\n */\n if (strategy === \"all\" && !Array.isArray(permission)) {\n const success = authClient.admin.checkRolePermission({\n role,\n permissions: permission,\n });\n\n return { permission, success };\n }\n\n /**\n * If the strategy is not recognized, deny by default\n */\n return { permission, success: false };\n}\n"],"mappings":";;;;;;;;;AAyCA,SAAgB,cAAc,EAAE,WAAW,OAAO,cAAkC;CAClF,MAAM,aAAa,eAAe;;;;CAMlC,MAAM,OALe,WAAW,WAAW,CAKjB,MAAM,KAAK;AACrC,KAAI,CAAC,KAAM,QAAO;EAAE;EAAY,SAAS;EAAO;;;;AAKhD,KAAI,CAAC,WAAY,QAAO;EAAE;EAAY,SAAS;EAAM;;;;AAKrD,KAAI,aAAa,SAAS,MAAM,QAAQ,WAAW,CAUjD,QAAO;EAAE;EAAY,UATD,MAAM,QAAQ,WAAW,GAAG,aAAa,CAAC,WAAW,EAE7C,MAAM,eAChC,WAAW,MAAM,oBAAoB;GACnC;GACA,aAAa;GACd,CAAC,CACH;EAE6B;;;;AAMhC,KAAI,aAAa,SAAS,CAAC,MAAM,QAAQ,WAAW,CAMlD,QAAO;EAAE;EAAY,SALL,WAAW,MAAM,oBAAoB;GACnD;GACA,aAAa;GACd,CAAC;EAE4B;;;;AAMhC,QAAO;EAAE;EAAY,SAAS;EAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-session.d.mts","names":[],"sources":["../../../../src/modules/auth/hooks/use-session.ts"],"mappings":";;;;;;iBAKgB,UAAA,CAAW,UAAA,EAAY,UAAA,wCAAwB,sBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-session.mjs","names":[],"sources":["../../../../src/modules/auth/hooks/use-session.ts"],"sourcesContent":["\"use client\";\n\nimport { useSuspenseQuery } from \"@tanstack/react-query\";\nimport type { ClientAuth } from \"../entry.client\";\n\nexport function useSession(authClient: ClientAuth<never, never>) {\n const session = useSuspenseQuery({\n queryKey: [\"session\"],\n queryFn: async () => {\n const session = await authClient.getSession();\n\n if (session.error) {\n console.error(session.error);\n return null;\n }\n\n return session.data;\n },\n staleTime: 1000 * 60 * 60,\n });\n\n return session;\n}\n"],"mappings":";;;;;AAKA,SAAgB,WAAW,YAAsC;AAgB/D,QAfgB,iBAAiB;EAC/B,UAAU,CAAC,UAAU;EACrB,SAAS,YAAY;GACnB,MAAM,UAAU,MAAM,WAAW,YAAY;AAE7C,OAAI,QAAQ,OAAO;AACjB,YAAQ,MAAM,QAAQ,MAAM;AAC5B,WAAO;;AAGT,UAAO,QAAQ;;EAEjB,WAAW,MAAO,KAAK;EACxB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.server.d.mts","names":[],"sources":["../../../../src/modules/auth/lib/helpers.server.ts"],"mappings":";;;;;;;;;;;iBAasB,UAAA,iBAA2B,eAAA,CAAA,CAAA;EAC/C;AAAA,GACC,IAAA,CAAK,YAAA,CAAa,OAAA,aAAiB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOtB,UAAA,iBAA2B,eAAA,CAAA,CAAA;EACvC,IAAA;EAAM;AAAA,GAAW,YAAA,CAAa,OAAA;EAAa,OAAA,EAAS,OAAA;AAAA;EACpD;AAAA;EAAU,IAAA,EAAM,gBAAA;AAAA,IAAkB,OAAA;QAAF,oBAAA,CAAA,YAAA;AAAA;;;;iBAkBd,UAAA,iBAA2B,eAAA,CAAA,CAAA;EAC7C;AAAA,GAAM,YAAA,CAAa,OAAA;EACnB,MAAA;EAAQ;AAAA;EAAU,MAAA;EAAgB,IAAA,EAAM,OAAA,CAAQ,gBAAA;AAAA,IAAmB,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.server.mjs","names":[],"sources":["../../../../src/modules/auth/lib/helpers.server.ts"],"sourcesContent":["import \"server-cli-only\";\n\nimport { eq } from \"drizzle-orm\";\nimport { headers } from \"next/headers\";\nimport type { TDatabaseSchema } from \"@/modules/config/db/types\";\nimport type { TulipContext } from \"@/modules/config/entry\";\nimport { ServerError } from \"@/modules/router/lib/error.server\";\nimport { users } from \"../entry\";\nimport type { CreateUserSchema, UpdateUserSchema } from \"./validators\";\n\n/**\n * Get the session\n */\nexport async function getSession<TSchema extends TDatabaseSchema>({\n auth,\n}: Pick<TulipContext<TSchema>, \"auth\">) {\n return auth.api.getSession({ headers: await headers() });\n}\n\n/**\n * Create a user\n */\nexport function createUser<TSchema extends TDatabaseSchema>(\n { auth, headers }: TulipContext<TSchema> & { headers: Headers },\n { body }: { body: CreateUserSchema },\n) {\n const { firstName, lastName } = body;\n\n return auth.api.createUser({\n headers,\n body: {\n ...body,\n name: `${firstName} ${lastName}`,\n data: { firstName, lastName },\n },\n });\n}\n\n/**\n * Update a user\n */\n\nexport async function updateUser<TSchema extends TDatabaseSchema>(\n { db }: TulipContext<TSchema>,\n { userId, body }: { userId: string; body: Partial<UpdateUserSchema> },\n) {\n const [result] = await db.update(users).set(body).where(eq(users.id, userId)).returning();\n if (!result) {\n throw new ServerError(\"INTERNAL_SERVER_ERROR\", {\n message: \"Gebruiker kon niet worden aangemaakt\",\n });\n }\n\n return result;\n}\n"],"mappings":";;;;;;;;;;AAaA,eAAsB,WAA4C,EAChE,QACsC;AACtC,QAAO,KAAK,IAAI,WAAW,EAAE,SAAS,MAAM,SAAS,EAAE,CAAC;;;;;AAM1D,SAAgB,WACd,EAAE,MAAM,WACR,EAAE,QACF;CACA,MAAM,EAAE,WAAW,aAAa;AAEhC,QAAO,KAAK,IAAI,WAAW;EACzB;EACA,MAAM;GACJ,GAAG;GACH,MAAM,GAAG,UAAU,GAAG;GACtB,MAAM;IAAE;IAAW;IAAU;GAC9B;EACF,CAAC;;;;;AAOJ,eAAsB,WACpB,EAAE,MACF,EAAE,QAAQ,QACV;CACA,MAAM,CAAC,UAAU,MAAM,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,WAAW;AACzF,KAAI,CAAC,OACH,OAAM,IAAI,YAAY,yBAAyB,EAC7C,SAAS,wCACV,CAAC;AAGJ,QAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.mts","names":[],"sources":["../../../../src/modules/auth/lib/permissions.ts"],"mappings":";;;;KAGY,UAAA,GAAa,MAAA;;AAAzB;;cAKM,gBAAA,uBAAwC,UAAA,QAAkB,mBAAA,MAC9D,UAAA,EAAY,WAAA,KAAW,WAAA;EAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.mjs","names":[],"sources":["../../../../src/modules/auth/lib/permissions.ts"],"sourcesContent":["import { createAccessControl, type Role } from \"better-auth/plugins/access\";\nimport { adminAc, defaultStatements } from \"better-auth/plugins/admin/access\";\n\nexport type Permission = Record<string, string[]>;\n\n/**\n * Create statements\n */\nconst createStatements = <TStatements extends Parameters<typeof createAccessControl>[0]>(\n statements: TStatements,\n) => ({\n ...statements,\n ...defaultStatements,\n});\n\n/**\n * Exports\n */\nexport { adminAc, createAccessControl, createStatements, defaultStatements, type Role };\n"],"mappings":";;;;;;;AAQA,MAAM,oBACJ,gBACI;CACJ,GAAG;CACH,GAAG;CACJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.mts","names":[],"sources":["../../../../src/modules/auth/lib/validators.ts"],"mappings":";;;;;;AAQA;KAAY,IAAA,UAAc,KAAA,CAAM,YAAA;;;;cAKnB,WAAA,EAAW,GAAA,CAAA,SAAA;;;;;;;cAcX,mBAAA,EAAmB,GAAA,CAAA,SAAA;;;;;;;cAmBnB,oBAAA,EAAoB,GAAA,CAAA,SAAA;;;;;;cAUpB,gBAAA,EAAgB,GAAA,CAAA,SAAA;;;;;;;;KAajB,gBAAA,GAAmB,GAAA,CAAE,KAAA,QAAa,gBAAA;;;;cAKjC,gBAAA,EAAgB,GAAA,CAAA,SAAA;;;;;;;;;KAOjB,gBAAA,GAAmB,GAAA,CAAE,KAAA,QAAa,gBAAA;;;AAnC9C;cAwCa,oBAAA,EAAoB,GAAA,CAAA,SAAA;;;KAIrB,oBAAA,GAAuB,GAAA,CAAE,KAAA,QAAa,oBAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validators.mjs","names":["z"],"sources":["../../../../src/modules/auth/lib/validators.ts"],"sourcesContent":["import { userSchema } from \"better-auth/db\";\nimport { createInsertSchema } from \"drizzle-zod\";\nimport { z } from \"zod\";\nimport { users } from \"../db/schema\";\n\n/**\n * User type\n */\nexport type User = typeof users.$inferSelect;\n\n/**\n * Login schema\n */\nexport const loginSchema = z.object({\n email: z\n .email({ message: \"Email moet een geldig email adres zijn\" })\n .min(2, { message: \"Email moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Email mag niet langer zijn dan 50 karakters\" }),\n password: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n});\n\n/**\n * Reset password schema\n */\nexport const resetPasswordSchema = z\n .object({\n password: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n passwordConfirmation: z\n .string()\n .min(2, { message: \"Wachtwoord moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Wachtwoord mag niet langer zijn dan 50 karakters\" }),\n })\n .refine((data) => data.password === data.passwordConfirmation, {\n message: \"Wachtwoorden komen niet overeen\",\n path: [\"passwordConfirmation\"],\n });\n\n/**\n * Forgot password schema\n */\nexport const forgotPasswordSchema = z.object({\n email: z\n .email({ error: \"Email moet een geldig email adres zijn\" })\n .min(2, { message: \"Email moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Email mag niet langer zijn dan 50 karakters\" }),\n});\n\n/**\n * Create user schema\n */\nexport const createUserSchema = userSchema.pick({ email: true, image: true }).extend({\n firstName: z\n .string()\n .min(2, { message: \"Voornaam moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Voornaam mag niet langer zijn dan 50 karakters\" }),\n lastName: z\n .string()\n .min(2, { message: \"Achternaam moet langer zijn dan 2 karakters\" })\n .max(50, { message: \"Achternaam mag niet langer zijn dan 50 karakters\" }),\n password: z.string().min(6, { message: \"Wachtwoord moet minimaal 6 karakters hebben\" }),\n role: z.string().optional(),\n});\n\nexport type CreateUserSchema = z.infer<typeof createUserSchema>;\n\n/**\n * Update user schema\n */\nexport const updateUserSchema = createInsertSchema(users).pick({\n firstName: true,\n lastName: true,\n email: true,\n image: true,\n});\n\nexport type UpdateUserSchema = z.infer<typeof updateUserSchema>;\n\n/**\n * Update password input validation\n */\nexport const updatePasswordSchema = z.object({\n password: z.string().min(6, { message: \"Wachtwoord moet minimaal 6 karakters hebben\" }),\n});\n\nexport type UpdatePasswordSchema = z.infer<typeof updatePasswordSchema>;\n"],"mappings":";;;;;;;;;AAaA,MAAa,cAAcA,IAAE,OAAO;CAClC,OAAOA,IACJ,MAAM,EAAE,SAAS,0CAA0C,CAAC,CAC5D,IAAI,GAAG,EAAE,SAAS,0CAA0C,CAAC,CAC7D,IAAI,IAAI,EAAE,SAAS,+CAA+C,CAAC;CACtE,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC5E,CAAC;;;;AAKF,MAAa,sBAAsBA,IAChC,OAAO;CACN,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC3E,sBAAsBA,IACnB,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC5E,CAAC,CACD,QAAQ,SAAS,KAAK,aAAa,KAAK,sBAAsB;CAC7D,SAAS;CACT,MAAM,CAAC,uBAAuB;CAC/B,CAAC;;;;AAKJ,MAAa,uBAAuBA,IAAE,OAAO,EAC3C,OAAOA,IACJ,MAAM,EAAE,OAAO,0CAA0C,CAAC,CAC1D,IAAI,GAAG,EAAE,SAAS,0CAA0C,CAAC,CAC7D,IAAI,IAAI,EAAE,SAAS,+CAA+C,CAAC,EACvE,CAAC;;;;AAKF,MAAa,mBAAmB,WAAW,KAAK;CAAE,OAAO;CAAM,OAAO;CAAM,CAAC,CAAC,OAAO;CACnF,WAAWA,IACR,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,6CAA6C,CAAC,CAChE,IAAI,IAAI,EAAE,SAAS,kDAAkD,CAAC;CACzE,UAAUA,IACP,QAAQ,CACR,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,CAClE,IAAI,IAAI,EAAE,SAAS,oDAAoD,CAAC;CAC3E,UAAUA,IAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC;CACvF,MAAMA,IAAE,QAAQ,CAAC,UAAU;CAC5B,CAAC;;;;AAOF,MAAa,mBAAmB,mBAAmB,MAAM,CAAC,KAAK;CAC7D,WAAW;CACX,UAAU;CACV,OAAO;CACP,OAAO;CACR,CAAC;;;;AAOF,MAAa,uBAAuBA,IAAE,OAAO,EAC3C,UAAUA,IAAE,QAAQ,CAAC,IAAI,GAAG,EAAE,SAAS,+CAA+C,CAAC,EACxF,CAAC"}
|