@tulip-systems/core 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +662 -0
- package/dist/commands/client.d.mts +2 -1
- package/dist/commands/client.mjs +2 -1
- package/dist/components/client.d.mts +19 -3
- package/dist/components/client.mjs +18 -2
- package/dist/components/editor/components/menu-nodes.client.mjs +3 -3
- package/dist/components/editor/components/menu-nodes.client.mjs.map +1 -1
- package/dist/components/editor/components/menu.client.mjs +3 -3
- package/dist/components/editor/components/menu.client.mjs.map +1 -1
- package/dist/components/emails/forget-password-email.mjs +6 -6
- package/dist/components/emails/forget-password-email.mjs.map +1 -1
- package/dist/components/header/back-button.client.mjs +2 -2
- package/dist/components/header/back-button.client.mjs.map +1 -1
- package/dist/components/header/bottom-bar.client.mjs +2 -2
- package/dist/components/header/bottom-bar.client.mjs.map +1 -1
- package/dist/components/header/breadcrumbs.client.mjs +1 -1
- package/dist/components/header/breadcrumbs.client.mjs.map +1 -1
- package/dist/components/header/header.client.mjs +1 -1
- package/dist/components/header/header.client.mjs.map +1 -1
- package/dist/components/layouts/empty-page.mjs +2 -2
- package/dist/components/layouts/empty-page.mjs.map +1 -1
- package/dist/components/layouts/error-page.mjs +3 -3
- package/dist/components/layouts/error-page.mjs.map +1 -1
- package/dist/components/layouts/providers.client.d.mts.map +1 -1
- package/dist/components/layouts/providers.client.mjs +3 -2
- package/dist/components/layouts/providers.client.mjs.map +1 -1
- package/dist/components/layouts/root-loading.mjs +2 -2
- package/dist/components/layouts/root-loading.mjs.map +1 -1
- package/dist/components/layouts/tab-layout.mjs +1 -1
- package/dist/components/layouts/tab-layout.mjs.map +1 -1
- package/dist/components/lists/data-list.mjs +1 -1
- package/dist/components/lists/data-list.mjs.map +1 -1
- package/dist/components/lists/data-stack.mjs +1 -1
- package/dist/components/lists/data-stack.mjs.map +1 -1
- package/dist/components/navigation/admin-sidebar-header.client.mjs +3 -3
- package/dist/components/navigation/admin-sidebar-header.client.mjs.map +1 -1
- package/dist/components/navigation/admin-sidebar-skeleton.mjs +1 -1
- package/dist/components/navigation/admin-sidebar-skeleton.mjs.map +1 -1
- package/dist/components/ui/accordion.client.d.mts +26 -0
- package/dist/components/ui/accordion.client.d.mts.map +1 -0
- package/dist/components/ui/accordion.client.mjs +58 -0
- package/dist/components/ui/accordion.client.mjs.map +1 -0
- package/dist/components/ui/alert-dialog.client.d.mts +61 -0
- package/dist/components/ui/alert-dialog.client.d.mts.map +1 -0
- package/dist/components/ui/alert-dialog.client.mjs +104 -0
- package/dist/components/ui/alert-dialog.client.mjs.map +1 -0
- package/dist/components/ui/alert.d.mts +5 -1
- package/dist/components/ui/alert.d.mts.map +1 -1
- package/dist/components/ui/alert.mjs +13 -6
- package/dist/components/ui/alert.mjs.map +1 -1
- package/dist/components/ui/aspect-ratio.client.d.mts +10 -0
- package/dist/components/ui/aspect-ratio.client.d.mts.map +1 -0
- package/dist/components/ui/aspect-ratio.client.mjs +16 -0
- package/dist/components/ui/aspect-ratio.client.mjs.map +1 -0
- package/dist/components/ui/avatar.client.d.mts +21 -6
- package/dist/components/ui/avatar.client.d.mts.map +1 -1
- package/dist/components/ui/avatar.client.mjs +31 -9
- package/dist/components/ui/avatar.client.mjs.map +1 -1
- package/dist/components/ui/badge.d.mts +1 -1
- package/dist/components/ui/badge.d.mts.map +1 -1
- package/dist/components/ui/badge.mjs +11 -8
- package/dist/components/ui/badge.mjs.map +1 -1
- package/dist/components/ui/breadcrumb.d.mts +3 -1
- package/dist/components/ui/breadcrumb.d.mts.map +1 -1
- package/dist/components/ui/breadcrumb.mjs +7 -7
- package/dist/components/ui/breadcrumb.mjs.map +1 -1
- package/dist/components/ui/button-group.d.mts +29 -0
- package/dist/components/ui/button-group.d.mts.map +1 -0
- package/dist/components/ui/button-group.mjs +41 -0
- package/dist/components/ui/button-group.mjs.map +1 -0
- package/dist/components/ui/button.d.mts +1 -1
- package/dist/components/ui/button.d.mts.map +1 -1
- package/dist/components/ui/button.mjs +19 -13
- package/dist/components/ui/button.mjs.map +1 -1
- package/dist/components/ui/{calendar.d.mts → calendar.client.d.mts} +7 -4
- package/dist/components/ui/calendar.client.d.mts.map +1 -0
- package/dist/components/ui/{calendar.mjs → calendar.client.mjs} +22 -19
- package/dist/components/ui/calendar.client.mjs.map +1 -0
- package/dist/components/ui/card.d.mts +9 -2
- package/dist/components/ui/card.d.mts.map +1 -1
- package/dist/components/ui/card.mjs +15 -7
- package/dist/components/ui/card.mjs.map +1 -1
- package/dist/components/ui/{carousel.d.mts → carousel.client.d.mts} +12 -3
- package/dist/components/ui/carousel.client.d.mts.map +1 -0
- package/dist/components/ui/{carousel.mjs → carousel.client.mjs} +10 -10
- package/dist/components/ui/carousel.client.mjs.map +1 -0
- package/dist/components/ui/chart.client.d.mts.map +1 -1
- package/dist/components/ui/chart.client.mjs +11 -11
- package/dist/components/ui/chart.client.mjs.map +1 -1
- package/dist/components/ui/checkbox.client.d.mts +12 -0
- package/dist/components/ui/checkbox.client.d.mts.map +1 -0
- package/dist/components/ui/checkbox.client.mjs +24 -0
- package/dist/components/ui/checkbox.client.mjs.map +1 -0
- package/dist/components/ui/collapsible.client.d.mts +6 -6
- package/dist/components/ui/collapsible.client.d.mts.map +1 -1
- package/dist/components/ui/collapsible.client.mjs +6 -6
- package/dist/components/ui/collapsible.client.mjs.map +1 -1
- package/dist/components/ui/combobox-dropdown.client.d.mts +1 -1
- package/dist/components/ui/combobox-dropdown.client.mjs +2 -2
- package/dist/components/ui/combobox-dropdown.client.mjs.map +1 -1
- package/dist/components/ui/combobox.client.mjs +4 -4
- package/dist/components/ui/combobox.client.mjs.map +1 -1
- package/dist/components/ui/{command.d.mts → command.client.d.mts} +8 -2
- package/dist/components/ui/command.client.d.mts.map +1 -0
- package/dist/components/ui/command.client.mjs +91 -0
- package/dist/components/ui/command.client.mjs.map +1 -0
- package/dist/components/ui/context-menu.client.d.mts +86 -0
- package/dist/components/ui/context-menu.client.d.mts.map +1 -0
- package/dist/components/ui/context-menu.client.mjs +128 -0
- package/dist/components/ui/context-menu.client.mjs.map +1 -0
- package/dist/components/ui/date-picker.client.mjs +2 -2
- package/dist/components/ui/date-picker.client.mjs.map +1 -1
- package/dist/components/ui/dialog.client.d.mts +19 -12
- package/dist/components/ui/dialog.client.d.mts.map +1 -1
- package/dist/components/ui/dialog.client.mjs +40 -29
- package/dist/components/ui/dialog.client.mjs.map +1 -1
- package/dist/components/ui/drawer.client.d.mts.map +1 -1
- package/dist/components/ui/drawer.client.mjs +5 -5
- package/dist/components/ui/drawer.client.mjs.map +1 -1
- package/dist/components/ui/dropdown-menu.client.d.mts +85 -0
- package/dist/components/ui/dropdown-menu.client.d.mts.map +1 -0
- package/dist/components/ui/dropdown-menu.client.mjs +131 -0
- package/dist/components/ui/dropdown-menu.client.mjs.map +1 -0
- package/dist/components/ui/empty.d.mts +36 -0
- package/dist/components/ui/empty.d.mts.map +1 -0
- package/dist/components/ui/empty.mjs +62 -0
- package/dist/components/ui/empty.mjs.map +1 -0
- package/dist/components/ui/field.client.d.mts +65 -0
- package/dist/components/ui/field.client.d.mts.map +1 -0
- package/dist/components/ui/field.client.mjs +114 -0
- package/dist/components/ui/field.client.mjs.map +1 -0
- package/dist/components/ui/form.client.d.mts +3 -4
- package/dist/components/ui/form.client.d.mts.map +1 -1
- package/dist/components/ui/form.client.mjs +4 -4
- package/dist/components/ui/form.client.mjs.map +1 -1
- package/dist/components/ui/hover-card.client.d.mts +6 -6
- package/dist/components/ui/hover-card.client.d.mts.map +1 -1
- package/dist/components/ui/hover-card.client.mjs +14 -11
- package/dist/components/ui/hover-card.client.mjs.map +1 -1
- package/dist/components/ui/{input-date-time.d.mts → input-date-time.client.d.mts} +7 -7
- package/dist/components/ui/input-date-time.client.d.mts.map +1 -0
- package/dist/components/ui/{input-date-time.mjs → input-date-time.client.mjs} +8 -8
- package/dist/components/ui/input-date-time.client.mjs.map +1 -0
- package/dist/components/ui/input-date.d.mts +1 -1
- package/dist/components/ui/input-date.d.mts.map +1 -1
- package/dist/components/ui/input-date.mjs.map +1 -1
- package/dist/components/ui/input-group.client.d.mts +59 -0
- package/dist/components/ui/input-group.client.d.mts.map +1 -0
- package/dist/components/ui/input-group.client.mjs +106 -0
- package/dist/components/ui/input-group.client.mjs.map +1 -0
- package/dist/components/ui/input-recipient.mjs +11 -11
- package/dist/components/ui/input-recipient.mjs.map +1 -1
- package/dist/components/ui/input-time.d.mts +1 -1
- package/dist/components/ui/input-time.d.mts.map +1 -1
- package/dist/components/ui/input-time.mjs.map +1 -1
- package/dist/components/ui/input.d.mts.map +1 -1
- package/dist/components/ui/input.mjs +1 -1
- package/dist/components/ui/input.mjs.map +1 -1
- package/dist/components/ui/item.d.mts +63 -0
- package/dist/components/ui/item.d.mts.map +1 -0
- package/dist/components/ui/item.mjs +119 -0
- package/dist/components/ui/item.mjs.map +1 -0
- package/dist/components/ui/kbd.d.mts +14 -0
- package/dist/components/ui/kbd.d.mts.map +1 -0
- package/dist/components/ui/kbd.mjs +22 -0
- package/dist/components/ui/kbd.mjs.map +1 -0
- package/dist/components/ui/label.d.mts +4 -4
- package/dist/components/ui/label.d.mts.map +1 -1
- package/dist/components/ui/label.mjs +5 -5
- package/dist/components/ui/label.mjs.map +1 -1
- package/dist/components/ui/loader.d.mts +7 -0
- package/dist/components/ui/loader.d.mts.map +1 -0
- package/dist/components/ui/loader.mjs +63 -0
- package/dist/components/ui/loader.mjs.map +1 -0
- package/dist/components/ui/navigation-menu.d.mts +11 -11
- package/dist/components/ui/navigation-menu.d.mts.map +1 -1
- package/dist/components/ui/navigation-menu.mjs +18 -20
- package/dist/components/ui/navigation-menu.mjs.map +1 -1
- package/dist/components/ui/pagination.d.mts +8 -2
- package/dist/components/ui/pagination.d.mts.map +1 -1
- package/dist/components/ui/pagination.mjs +29 -21
- package/dist/components/ui/pagination.mjs.map +1 -1
- package/dist/components/ui/popover.client.d.mts +35 -0
- package/dist/components/ui/popover.client.d.mts.map +1 -0
- package/dist/components/ui/popover.client.mjs +59 -0
- package/dist/components/ui/popover.client.mjs.map +1 -0
- package/dist/components/ui/progress.client.d.mts +4 -4
- package/dist/components/ui/progress.client.d.mts.map +1 -1
- package/dist/components/ui/progress.client.mjs +7 -7
- package/dist/components/ui/progress.client.mjs.map +1 -1
- package/dist/components/ui/radio-group.d.mts +5 -5
- package/dist/components/ui/radio-group.d.mts.map +1 -1
- package/dist/components/ui/radio-group.mjs +10 -11
- package/dist/components/ui/radio-group.mjs.map +1 -1
- package/dist/components/ui/resizable.client.d.mts +3 -4
- package/dist/components/ui/resizable.client.d.mts.map +1 -1
- package/dist/components/ui/resizable.client.mjs +5 -9
- package/dist/components/ui/resizable.client.mjs.map +1 -1
- package/dist/components/ui/scroll-area.d.mts +5 -5
- package/dist/components/ui/scroll-area.d.mts.map +1 -1
- package/dist/components/ui/scroll-area.mjs +12 -11
- package/dist/components/ui/scroll-area.mjs.map +1 -1
- package/dist/components/ui/select.client.d.mts +18 -13
- package/dist/components/ui/select.client.d.mts.map +1 -1
- package/dist/components/ui/select.client.mjs +37 -32
- package/dist/components/ui/select.client.mjs.map +1 -1
- package/dist/components/ui/separator.d.mts +4 -4
- package/dist/components/ui/separator.d.mts.map +1 -1
- package/dist/components/ui/separator.mjs +6 -6
- package/dist/components/ui/separator.mjs.map +1 -1
- package/dist/components/ui/sheet.client.d.mts +9 -7
- package/dist/components/ui/sheet.client.d.mts.map +1 -1
- package/dist/components/ui/sheet.client.mjs +30 -20
- package/dist/components/ui/sheet.client.mjs.map +1 -1
- package/dist/components/ui/sidebar.client.mjs +28 -28
- package/dist/components/ui/sidebar.client.mjs.map +1 -1
- package/dist/components/ui/skeleton.mjs +1 -1
- package/dist/components/ui/skeleton.mjs.map +1 -1
- package/dist/components/ui/slider.d.mts +4 -4
- package/dist/components/ui/slider.d.mts.map +1 -1
- package/dist/components/ui/slider.mjs +11 -11
- package/dist/components/ui/slider.mjs.map +1 -1
- package/dist/components/ui/spinner.d.mts +10 -0
- package/dist/components/ui/spinner.d.mts.map +1 -0
- package/dist/components/ui/spinner.mjs +9 -55
- package/dist/components/ui/spinner.mjs.map +1 -1
- package/dist/components/ui/switch.client.d.mts +15 -0
- package/dist/components/ui/switch.client.d.mts.map +1 -0
- package/dist/components/ui/switch.client.mjs +23 -0
- package/dist/components/ui/switch.client.mjs.map +1 -0
- package/dist/components/ui/tabs.client.d.mts +31 -0
- package/dist/components/ui/tabs.client.d.mts.map +1 -0
- package/dist/components/ui/tabs.client.mjs +49 -0
- package/dist/components/ui/tabs.client.mjs.map +1 -0
- package/dist/components/ui/textarea.d.mts.map +1 -1
- package/dist/components/ui/textarea.mjs +1 -1
- package/dist/components/ui/textarea.mjs.map +1 -1
- package/dist/components/ui/toggle-group.client.d.mts +11 -6
- package/dist/components/ui/toggle-group.client.d.mts.map +1 -1
- package/dist/components/ui/toggle-group.client.mjs +20 -12
- package/dist/components/ui/toggle-group.client.mjs.map +1 -1
- package/dist/components/ui/{toggle.d.mts → toggle.client.d.mts} +6 -6
- package/dist/components/ui/toggle.client.d.mts.map +1 -0
- package/dist/components/ui/toggle.client.mjs +40 -0
- package/dist/components/ui/toggle.client.mjs.map +1 -0
- package/dist/components/ui/tooltip.client.d.mts +7 -7
- package/dist/components/ui/tooltip.client.d.mts.map +1 -1
- package/dist/components/ui/tooltip.client.mjs +10 -10
- package/dist/components/ui/tooltip.client.mjs.map +1 -1
- package/dist/components.d.mts +12 -20
- package/dist/components.mjs +12 -20
- package/dist/inline-edit/client.d.mts +3 -3
- package/dist/lib/hooks/use-indicator.d.mts.map +1 -1
- package/dist/lib/hooks/use-indicator.mjs +11 -8
- package/dist/lib/hooks/use-indicator.mjs.map +1 -1
- package/dist/modules/auth/components/auth-layout.server.mjs +3 -3
- package/dist/modules/auth/components/auth-layout.server.mjs.map +1 -1
- package/dist/modules/auth/components/create-first-user-page.client.mjs +3 -3
- package/dist/modules/auth/components/create-first-user-page.client.mjs.map +1 -1
- package/dist/modules/auth/components/forget-password-page.client.mjs +1 -1
- package/dist/modules/auth/components/forget-password-page.client.mjs.map +1 -1
- package/dist/modules/auth/components/login-page.client.mjs +5 -5
- package/dist/modules/auth/components/login-page.client.mjs.map +1 -1
- package/dist/modules/auth/components/reset-password-page.client.mjs +5 -5
- package/dist/modules/auth/components/reset-password-page.client.mjs.map +1 -1
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts +9 -9
- package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/alert-dialog-command.client.mjs +3 -3
- package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/click-command.client.mjs +2 -2
- package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/dialog-command.client.d.mts +8 -8
- package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/dialog-command.client.mjs +2 -2
- package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/dropdown-command.client.mjs +2 -2
- package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/empty-command.client.mjs +2 -2
- package/dist/modules/commands/components/empty-command.client.mjs.map +1 -1
- package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -9
- package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +1 -1
- package/dist/modules/commands/components/form-dialog-command.client.mjs +8 -6
- package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
- package/dist/modules/commands/hooks/use-command-menu.client.d.mts +8 -1
- package/dist/modules/commands/hooks/use-command-menu.client.d.mts.map +1 -1
- package/dist/modules/commands/hooks/use-command-menu.client.mjs.map +1 -1
- package/dist/modules/commands/menus/context-menu.client.d.mts +3 -3
- package/dist/modules/commands/menus/context-menu.client.d.mts.map +1 -1
- package/dist/modules/commands/menus/context-menu.client.mjs +1 -1
- package/dist/modules/commands/menus/context-menu.client.mjs.map +1 -1
- package/dist/modules/commands/menus/dropdown-menu.client.mjs +2 -2
- package/dist/modules/commands/menus/dropdown-menu.client.mjs.map +1 -1
- package/dist/modules/commands/menus/floating-menu.client.d.mts +19 -0
- package/dist/modules/commands/menus/floating-menu.client.d.mts.map +1 -0
- package/dist/modules/commands/menus/{data-table-menu.client.mjs → floating-menu.client.mjs} +11 -11
- package/dist/modules/commands/menus/floating-menu.client.mjs.map +1 -0
- package/dist/modules/commands/utils/archive-command.client.mjs +1 -1
- package/dist/modules/commands/utils/archive-command.client.mjs.map +1 -1
- package/dist/modules/commands/utils/delete-command.client.mjs +1 -1
- package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
- package/dist/modules/data-tables/components/cell/select.client.mjs +1 -1
- package/dist/modules/data-tables/components/cell/select.client.mjs.map +1 -1
- package/dist/modules/data-tables/components/column-header.mjs +5 -5
- package/dist/modules/data-tables/components/column-header.mjs.map +1 -1
- package/dist/modules/data-tables/components/filters/combobox.client.mjs +6 -6
- package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
- package/dist/modules/data-tables/components/filters/slider.client.mjs +2 -2
- package/dist/modules/data-tables/components/filters/slider.client.mjs.map +1 -1
- package/dist/modules/data-tables/components/header.mjs +1 -1
- package/dist/modules/data-tables/components/header.mjs.map +1 -1
- package/dist/modules/data-tables/components/skeleton.mjs +2 -2
- package/dist/modules/data-tables/components/skeleton.mjs.map +1 -1
- package/dist/modules/data-tables/components/table.mjs +3 -3
- package/dist/modules/data-tables/components/table.mjs.map +1 -1
- package/dist/modules/data-tables/components/toolbar.mjs +1 -1
- package/dist/modules/data-tables/components/toolbar.mjs.map +1 -1
- package/dist/modules/data-tables/strategies/pagination/components.mjs +3 -3
- package/dist/modules/data-tables/strategies/pagination/components.mjs.map +1 -1
- package/dist/modules/data-tables/tables/data-table/components/table.mjs +8 -2
- package/dist/modules/data-tables/tables/data-table/components/table.mjs.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs.map +1 -1
- package/dist/modules/data-tables/tables/inline-table/components/table.mjs +8 -2
- package/dist/modules/data-tables/tables/inline-table/components/table.mjs.map +1 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs +5 -1
- package/dist/modules/inline-edit/components/combobox-dropdown.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/combobox.client.mjs +5 -1
- package/dist/modules/inline-edit/components/combobox.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-input.client.mjs +8 -4
- package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-picker.client.mjs +7 -3
- package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/date-time.client.d.mts +1 -1
- package/dist/modules/inline-edit/components/date-time.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/date-time.client.mjs +7 -2
- package/dist/modules/inline-edit/components/date-time.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/editor.client.mjs +5 -1
- package/dist/modules/inline-edit/components/editor.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input-recipient.client.mjs +5 -1
- package/dist/modules/inline-edit/components/input-recipient.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input-toggle.client.mjs +7 -3
- package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/input.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/input.client.mjs +18 -6
- package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/select.client.d.mts +8 -11
- package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/select.client.mjs +5 -1
- package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/switch.client.d.mts +3 -2
- package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/components/switch.client.mjs +6 -2
- package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
- package/dist/modules/inline-edit/components/toggle.client.mjs +6 -2
- package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts +20 -5
- package/dist/modules/inline-edit/hooks/use-inline.client.d.mts.map +1 -1
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs +11 -8
- package/dist/modules/inline-edit/hooks/use-inline.client.mjs.map +1 -1
- package/dist/modules/inline-edit/lib/variants.mjs +1 -1
- package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
- package/dist/modules/storage/components/dropzone.client.d.mts +2 -2
- package/dist/modules/storage/components/dropzone.client.d.mts.map +1 -1
- package/dist/modules/storage/components/dropzone.client.mjs +8 -8
- package/dist/modules/storage/components/dropzone.client.mjs.map +1 -1
- package/dist/modules/storage/components/image-grid.client.mjs +5 -5
- package/dist/modules/storage/components/image-grid.client.mjs.map +1 -1
- package/dist/modules/storage/components/upload-zone-context.client.d.mts +1 -0
- package/dist/modules/storage/components/upload-zone-context.client.d.mts.map +1 -1
- package/dist/modules/storage/components/upload-zone-context.client.mjs.map +1 -1
- package/dist/modules/storage/components/upload-zone.client.d.mts +2 -1
- package/dist/modules/storage/components/upload-zone.client.d.mts.map +1 -1
- package/dist/modules/storage/components/upload-zone.client.mjs +6 -4
- package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -1
- package/package.json +6 -31
- package/src/components/editor/components/menu-nodes.client.tsx +3 -3
- package/src/components/editor/components/menu.client.tsx +3 -3
- package/src/components/emails/forget-password-email.tsx +6 -6
- package/src/components/entry.client.ts +16 -0
- package/src/components/entry.ts +6 -14
- package/src/components/header/back-button.client.tsx +2 -2
- package/src/components/header/bottom-bar.client.tsx +2 -2
- package/src/components/header/breadcrumbs.client.tsx +1 -1
- package/src/components/header/header.client.tsx +1 -1
- package/src/components/layouts/empty-page.tsx +2 -2
- package/src/components/layouts/error-page.tsx +3 -3
- package/src/components/layouts/providers.client.tsx +8 -5
- package/src/components/layouts/root-loading.tsx +2 -2
- package/src/components/layouts/tab-layout.tsx +1 -1
- package/src/components/lists/data-list.tsx +1 -1
- package/src/components/lists/data-stack.tsx +1 -1
- package/src/components/navigation/admin-sidebar-header.client.tsx +3 -3
- package/src/components/navigation/admin-sidebar-skeleton.tsx +1 -1
- package/src/components/navigation/admin-sidebar.client.tsx +1 -0
- package/src/components/ui/accordion.client.tsx +83 -0
- package/src/components/ui/alert-dialog.client.tsx +181 -0
- package/src/components/ui/alert.tsx +15 -7
- package/src/components/ui/aspect-ratio.client.tsx +9 -0
- package/src/components/ui/avatar.client.tsx +61 -6
- package/src/components/ui/badge.tsx +17 -11
- package/src/components/ui/breadcrumb.tsx +9 -10
- package/src/components/ui/button-group.tsx +78 -0
- package/src/components/ui/button.tsx +26 -16
- package/src/components/ui/{calendar.tsx → calendar.client.tsx} +27 -20
- package/src/components/ui/card.tsx +41 -8
- package/src/components/ui/{carousel.tsx → carousel.client.tsx} +12 -12
- package/src/components/ui/chart.client.tsx +105 -103
- package/src/components/ui/checkbox.client.tsx +28 -0
- package/src/components/ui/collapsible.client.tsx +2 -2
- package/src/components/ui/combobox-dropdown.client.tsx +2 -2
- package/src/components/ui/combobox.client.tsx +6 -6
- package/src/components/ui/command.client.tsx +179 -0
- package/src/components/ui/{context-menu.tsx → context-menu.client.tsx} +86 -64
- package/src/components/ui/date-picker.client.tsx +2 -2
- package/src/components/ui/dialog.client.tsx +43 -20
- package/src/components/ui/drawer.client.tsx +13 -15
- package/src/components/ui/{dropdown-menu.tsx → dropdown-menu.client.tsx} +45 -24
- package/src/components/ui/empty.tsx +93 -0
- package/src/components/ui/field.client.tsx +224 -0
- package/src/components/ui/form.client.tsx +4 -4
- package/src/components/ui/hover-card.client.tsx +14 -13
- package/src/components/ui/{input-date-time.tsx → input-date-time.client.tsx} +18 -11
- package/src/components/ui/input-date.tsx +1 -1
- package/src/components/ui/input-group.client.tsx +191 -0
- package/src/components/ui/input-recipient.tsx +12 -12
- package/src/components/ui/input-time.tsx +1 -1
- package/src/components/ui/input.tsx +2 -4
- package/src/components/ui/item.tsx +182 -0
- package/src/components/ui/kbd.tsx +26 -0
- package/src/components/ui/label.tsx +2 -3
- package/src/components/ui/loader.tsx +51 -0
- package/src/components/ui/navigation-menu.tsx +14 -17
- package/src/components/ui/pagination.tsx +31 -26
- package/src/components/ui/popover.client.tsx +73 -0
- package/src/components/ui/progress.client.tsx +6 -4
- package/src/components/ui/radio-group.tsx +5 -7
- package/src/components/ui/resizable.client.tsx +9 -19
- package/src/components/ui/scroll-area.tsx +5 -7
- package/src/components/ui/select.client.tsx +40 -22
- package/src/components/ui/separator.tsx +3 -4
- package/src/components/ui/sheet.client.tsx +19 -18
- package/src/components/ui/sidebar.client.tsx +27 -27
- package/src/components/ui/skeleton.tsx +1 -1
- package/src/components/ui/slider.tsx +5 -10
- package/src/components/ui/spinner.tsx +12 -48
- package/src/components/ui/switch.client.tsx +32 -0
- package/src/components/ui/tabs.client.tsx +79 -0
- package/src/components/ui/textarea.tsx +1 -2
- package/src/components/ui/toggle-group.client.tsx +26 -10
- package/src/components/ui/toggle.client.tsx +44 -0
- package/src/components/ui/tooltip.client.tsx +4 -9
- package/src/lib/hooks/use-indicator.tsx +14 -8
- package/src/modules/auth/components/auth-layout.server.tsx +3 -3
- package/src/modules/auth/components/create-first-user-page.client.tsx +4 -4
- package/src/modules/auth/components/forget-password-page.client.tsx +1 -1
- package/src/modules/auth/components/login-page.client.tsx +6 -6
- package/src/modules/auth/components/reset-password-page.client.tsx +7 -7
- package/src/modules/commands/components/alert-dialog-command.client.tsx +20 -16
- package/src/modules/commands/components/click-command.client.tsx +2 -2
- package/src/modules/commands/components/dialog-command.client.tsx +11 -10
- package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
- package/src/modules/commands/components/empty-command.client.tsx +2 -2
- package/src/modules/commands/components/form-dialog-command.client.tsx +29 -13
- package/src/modules/commands/entry.client.ts +16 -0
- package/src/modules/commands/hooks/use-command-menu.client.tsx +2 -0
- package/src/modules/commands/menus/context-menu.client.tsx +3 -4
- package/src/modules/commands/menus/dropdown-menu.client.tsx +2 -2
- package/src/modules/commands/menus/floating-menu.client.tsx +54 -0
- package/src/modules/commands/utils/archive-command.client.tsx +1 -1
- package/src/modules/commands/utils/delete-command.client.tsx +1 -1
- package/src/modules/data-tables/components/cell/select.client.tsx +1 -1
- package/src/modules/data-tables/components/column-header.tsx +5 -5
- package/src/modules/data-tables/components/filters/combobox.client.tsx +6 -6
- package/src/modules/data-tables/components/filters/slider.client.tsx +2 -2
- package/src/modules/data-tables/components/header.tsx +1 -1
- package/src/modules/data-tables/components/skeleton.tsx +2 -2
- package/src/modules/data-tables/components/table.tsx +3 -3
- package/src/modules/data-tables/components/toolbar.tsx +1 -1
- package/src/modules/data-tables/strategies/pagination/components.tsx +3 -3
- package/src/modules/data-tables/tables/data-table/components/table.tsx +11 -2
- package/src/modules/data-tables/tables/inline-table/components/cells/common.tsx +1 -1
- package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +1 -1
- package/src/modules/data-tables/tables/inline-table/components/cells/read-only.tsx +1 -1
- package/src/modules/data-tables/tables/inline-table/components/table.tsx +11 -2
- package/src/modules/inline-edit/components/combobox-dropdown.client.tsx +4 -0
- package/src/modules/inline-edit/components/combobox.client.tsx +4 -0
- package/src/modules/inline-edit/components/date-input.client.tsx +7 -3
- package/src/modules/inline-edit/components/date-picker.client.tsx +6 -2
- package/src/modules/inline-edit/components/date-time.client.tsx +16 -2
- package/src/modules/inline-edit/components/editor.client.tsx +4 -0
- package/src/modules/inline-edit/components/input-recipient.client.tsx +4 -0
- package/src/modules/inline-edit/components/input-toggle.client.tsx +6 -2
- package/src/modules/inline-edit/components/input.client.tsx +15 -3
- package/src/modules/inline-edit/components/select.client.tsx +10 -20
- package/src/modules/inline-edit/components/switch.client.tsx +7 -3
- package/src/modules/inline-edit/components/toggle.client.tsx +5 -1
- package/src/modules/inline-edit/hooks/use-inline.client.tsx +37 -13
- package/src/modules/inline-edit/lib/parsers.ts +9 -0
- package/src/modules/inline-edit/lib/variants.ts +1 -1
- package/src/modules/storage/components/dropzone.client.tsx +8 -8
- package/src/modules/storage/components/image-grid.client.tsx +5 -5
- package/src/modules/storage/components/upload-zone-context.client.tsx +1 -0
- package/src/modules/storage/components/upload-zone.client.tsx +9 -3
- package/src/styles.css +1 -3
- package/dist/components/ui/accordion.d.mts +0 -25
- package/dist/components/ui/accordion.d.mts.map +0 -1
- package/dist/components/ui/accordion.mjs +0 -46
- package/dist/components/ui/accordion.mjs.map +0 -1
- package/dist/components/ui/alert-dialog.d.mts +0 -43
- package/dist/components/ui/alert-dialog.d.mts.map +0 -1
- package/dist/components/ui/alert-dialog.mjs +0 -84
- package/dist/components/ui/alert-dialog.mjs.map +0 -1
- package/dist/components/ui/aspect-ratio.d.mts +0 -8
- package/dist/components/ui/aspect-ratio.d.mts.map +0 -1
- package/dist/components/ui/aspect-ratio.mjs +0 -16
- package/dist/components/ui/aspect-ratio.mjs.map +0 -1
- package/dist/components/ui/calendar.d.mts.map +0 -1
- package/dist/components/ui/calendar.mjs.map +0 -1
- package/dist/components/ui/carousel.d.mts.map +0 -1
- package/dist/components/ui/carousel.mjs.map +0 -1
- package/dist/components/ui/checkbox.d.mts +0 -12
- package/dist/components/ui/checkbox.d.mts.map +0 -1
- package/dist/components/ui/checkbox.mjs +0 -24
- package/dist/components/ui/checkbox.mjs.map +0 -1
- package/dist/components/ui/command.d.mts.map +0 -1
- package/dist/components/ui/command.mjs +0 -88
- package/dist/components/ui/command.mjs.map +0 -1
- package/dist/components/ui/context-menu.d.mts +0 -77
- package/dist/components/ui/context-menu.d.mts.map +0 -1
- package/dist/components/ui/context-menu.mjs +0 -125
- package/dist/components/ui/context-menu.mjs.map +0 -1
- package/dist/components/ui/dropdown-menu.d.mts +0 -78
- package/dist/components/ui/dropdown-menu.d.mts.map +0 -1
- package/dist/components/ui/dropdown-menu.mjs +0 -126
- package/dist/components/ui/dropdown-menu.mjs.map +0 -1
- package/dist/components/ui/input-date-time.d.mts.map +0 -1
- package/dist/components/ui/input-date-time.mjs.map +0 -1
- package/dist/components/ui/popover.d.mts +0 -23
- package/dist/components/ui/popover.d.mts.map +0 -1
- package/dist/components/ui/popover.mjs +0 -38
- package/dist/components/ui/popover.mjs.map +0 -1
- package/dist/components/ui/switch.d.mts +0 -12
- package/dist/components/ui/switch.d.mts.map +0 -1
- package/dist/components/ui/switch.mjs +0 -22
- package/dist/components/ui/switch.mjs.map +0 -1
- package/dist/components/ui/tabs.d.mts +0 -24
- package/dist/components/ui/tabs.d.mts.map +0 -1
- package/dist/components/ui/tabs.mjs +0 -39
- package/dist/components/ui/tabs.mjs.map +0 -1
- package/dist/components/ui/toggle.d.mts.map +0 -1
- package/dist/components/ui/toggle.mjs +0 -40
- package/dist/components/ui/toggle.mjs.map +0 -1
- package/dist/modules/commands/menus/data-table-menu.client.mjs.map +0 -1
- package/src/components/ui/accordion.tsx +0 -63
- package/src/components/ui/alert-dialog.tsx +0 -133
- package/src/components/ui/aspect-ratio.tsx +0 -9
- package/src/components/ui/checkbox.tsx +0 -29
- package/src/components/ui/command.tsx +0 -154
- package/src/components/ui/popover.tsx +0 -42
- package/src/components/ui/switch.tsx +0 -28
- package/src/components/ui/tabs.tsx +0 -54
- package/src/components/ui/toggle.tsx +0 -46
- package/src/modules/commands/menus/data-table-menu.client.tsx +0 -46
|
@@ -5,7 +5,7 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
|
5
5
|
import { ComponentProps } from "react";
|
|
6
6
|
|
|
7
7
|
//#region src/modules/storage/components/upload-zone.client.d.ts
|
|
8
|
-
type UploadZoneProps = ComponentProps<"div"> & Pick<UploadZoneContextValue, "optimistic" | "uploadClient"> & {
|
|
8
|
+
type UploadZoneProps = ComponentProps<"div"> & Pick<UploadZoneContextValue, "optimistic" | "uploadClient" | "disabled"> & {
|
|
9
9
|
variables: Pick<UploadFileSchema, "namespace" | "parentId" | "mode" | "hidden" | "readonly">;
|
|
10
10
|
uploadHooks?: UploadHooks;
|
|
11
11
|
onUploadCompleted?: (node: Node) => Promise<void> | void;
|
|
@@ -18,6 +18,7 @@ declare function UploadZone({
|
|
|
18
18
|
uploadHooks,
|
|
19
19
|
onUploadCompleted,
|
|
20
20
|
onUploadFailed,
|
|
21
|
+
disabled,
|
|
21
22
|
children,
|
|
22
23
|
className,
|
|
23
24
|
...props
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-zone.client.d.mts","names":[],"sources":["../../../../src/modules/storage/components/upload-zone.client.tsx"],"mappings":";;;;;;;KAWY,eAAA,GAAkB,cAAA,UAC5B,IAAA,CAAK,sBAAA;EACH,SAAA,EAAW,IAAA,CAAK,gBAAA;EAChB,WAAA,GAAc,WAAA;EAEd,iBAAA,IAAqB,IAAA,EAAM,IAAA,KAAS,OAAA;EACpC,cAAA,IAAkB,KAAA,cAAmB,OAAA;AAAA;AAAA,iBAGzB,UAAA,CAAA;EACd,SAAA;EACA,UAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;EACA,cAAA;EACA,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
1
|
+
{"version":3,"file":"upload-zone.client.d.mts","names":[],"sources":["../../../../src/modules/storage/components/upload-zone.client.tsx"],"mappings":";;;;;;;KAWY,eAAA,GAAkB,cAAA,UAC5B,IAAA,CAAK,sBAAA;EACH,SAAA,EAAW,IAAA,CAAK,gBAAA;EAChB,WAAA,GAAc,WAAA;EAEd,iBAAA,IAAqB,IAAA,EAAM,IAAA,KAAS,OAAA;EACpC,cAAA,IAAkB,KAAA,cAAmB,OAAA;AAAA;AAAA,iBAGzB,UAAA,CAAA;EACd,SAAA;EACA,UAAA;EACA,YAAA;EACA,WAAA;EACA,iBAAA;EACA,cAAA;EACA,QAAA;EACA,QAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -9,7 +9,7 @@ import { useCallback } from "react";
|
|
|
9
9
|
import { useDropzone } from "react-dropzone";
|
|
10
10
|
|
|
11
11
|
//#region src/modules/storage/components/upload-zone.client.tsx
|
|
12
|
-
function UploadZone({ variables, optimistic, uploadClient, uploadHooks, onUploadCompleted, onUploadFailed, children, className, ...props }) {
|
|
12
|
+
function UploadZone({ variables, optimistic, uploadClient, uploadHooks, onUploadCompleted, onUploadFailed, disabled = false, children, className, ...props }) {
|
|
13
13
|
/**
|
|
14
14
|
* Delete mutation
|
|
15
15
|
*/
|
|
@@ -76,7 +76,8 @@ function UploadZone({ variables, optimistic, uploadClient, uploadHooks, onUpload
|
|
|
76
76
|
if (acceptedFiles.length === 0) return;
|
|
77
77
|
await Promise.allSettled(acceptedFiles.map(onUpload));
|
|
78
78
|
}, [onUpload]),
|
|
79
|
-
noClick: true
|
|
79
|
+
noClick: true,
|
|
80
|
+
disabled
|
|
80
81
|
});
|
|
81
82
|
return /* @__PURE__ */ jsxs("div", {
|
|
82
83
|
...props,
|
|
@@ -84,13 +85,14 @@ function UploadZone({ variables, optimistic, uploadClient, uploadHooks, onUpload
|
|
|
84
85
|
className: cn("relative z-0", className),
|
|
85
86
|
children: [
|
|
86
87
|
/* @__PURE__ */ jsx("input", { ...getInputProps() }),
|
|
87
|
-
isDragActive && /* @__PURE__ */ jsx("div", { className: "
|
|
88
|
+
isDragActive && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 z-10 rounded-md bg-primary/20 opacity-70 backdrop-blur-3xl" }),
|
|
88
89
|
/* @__PURE__ */ jsx(UploadZoneContext, {
|
|
89
90
|
value: {
|
|
90
91
|
uploadClient,
|
|
91
92
|
onUpload,
|
|
92
93
|
onRemove: deleteMutation.mutateAsync,
|
|
93
|
-
optimistic
|
|
94
|
+
optimistic,
|
|
95
|
+
disabled
|
|
94
96
|
},
|
|
95
97
|
children
|
|
96
98
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-zone.client.mjs","names":[],"sources":["../../../../src/modules/storage/components/upload-zone.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ComponentProps, useCallback } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { toast } from \"@/components/ui/sonner.client\";\nimport { useAction } from \"@/lib/hooks/use-action\";\nimport { cn } from \"@/lib/utils/cn\";\nimport type { UploadFileRequest, UploadHooks } from \"../lib/create-upload.client\";\nimport type { FileNode, Node, UploadFileSchema } from \"../lib/validators\";\nimport { UploadZoneContext, type UploadZoneContextValue } from \"./upload-zone-context.client\";\n\nexport type UploadZoneProps = ComponentProps<\"div\"> &\n Pick<UploadZoneContextValue, \"optimistic\" | \"uploadClient\"> & {\n variables: Pick<UploadFileSchema, \"namespace\" | \"parentId\" | \"mode\" | \"hidden\" | \"readonly\">;\n uploadHooks?: UploadHooks;\n\n onUploadCompleted?: (node: Node) => Promise<void> | void;\n onUploadFailed?: (error: unknown) => Promise<void> | void;\n };\n\nexport function UploadZone({\n variables,\n optimistic,\n uploadClient,\n uploadHooks,\n onUploadCompleted,\n onUploadFailed,\n children,\n className,\n ...props\n}: UploadZoneProps) {\n /**\n * Delete mutation\n */\n const deleteMutation = useAction({\n mutationFn: async (ids: string[]) => uploadClient.deleteFiles(ids),\n onMutate: async (ids) => {\n await optimistic?.cancel?.();\n await optimistic?.remove?.(ids);\n },\n onError: async (error) => {\n console.error(\"Delete failed upload error: \", error);\n await onUploadFailed?.(error);\n },\n onSettled: () => {\n optimistic?.invalidate?.();\n },\n });\n\n /**\n * Upload mutation\n */\n const uploadMutation = useAction({\n mutationFn: async (params: UploadFileRequest) => uploadClient.upload(params, uploadHooks),\n onMutate: async (variables) => {\n // Generate a new node\n const newNode = {\n ...variables,\n type: \"file\",\n isPending: true,\n } as FileNode;\n\n await optimistic?.cancel?.();\n await optimistic?.add?.(newNode);\n },\n onSuccess: async (data) => {\n await onUploadCompleted?.(data);\n toast.success(`Succesvol geupload: ${data.name}`);\n },\n onError: async (error, variables) => {\n await onUploadFailed?.(error);\n\n console.error(\"Upload error: \", error);\n toast.error(\"Bestand uploaden mislukt\", {\n description: error instanceof Error ? error.message : undefined,\n });\n\n console.info(\"Deleting failed upload\");\n await deleteMutation.mutateAsync([variables.id]);\n },\n onSettled: () => {\n optimistic?.invalidate?.();\n },\n });\n\n /**\n * Upload file handler\n */\n const onUpload = useCallback(\n async (file: File) => {\n console.info(\"Uploading file\", file);\n const req = uploadClient.prepareUpload({ ...variables, file });\n return await uploadMutation.mutateAsync(req);\n },\n [uploadClient, variables, uploadMutation],\n );\n\n /**\n * Drop handler\n */\n const onDrop = useCallback(\n async (acceptedFiles: File[]) => {\n if (acceptedFiles.length === 0) return;\n await Promise.allSettled(acceptedFiles.map(onUpload));\n },\n [onUpload],\n );\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({
|
|
1
|
+
{"version":3,"file":"upload-zone.client.mjs","names":[],"sources":["../../../../src/modules/storage/components/upload-zone.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { type ComponentProps, useCallback } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { toast } from \"@/components/ui/sonner.client\";\nimport { useAction } from \"@/lib/hooks/use-action\";\nimport { cn } from \"@/lib/utils/cn\";\nimport type { UploadFileRequest, UploadHooks } from \"../lib/create-upload.client\";\nimport type { FileNode, Node, UploadFileSchema } from \"../lib/validators\";\nimport { UploadZoneContext, type UploadZoneContextValue } from \"./upload-zone-context.client\";\n\nexport type UploadZoneProps = ComponentProps<\"div\"> &\n Pick<UploadZoneContextValue, \"optimistic\" | \"uploadClient\" | \"disabled\"> & {\n variables: Pick<UploadFileSchema, \"namespace\" | \"parentId\" | \"mode\" | \"hidden\" | \"readonly\">;\n uploadHooks?: UploadHooks;\n\n onUploadCompleted?: (node: Node) => Promise<void> | void;\n onUploadFailed?: (error: unknown) => Promise<void> | void;\n };\n\nexport function UploadZone({\n variables,\n optimistic,\n uploadClient,\n uploadHooks,\n onUploadCompleted,\n onUploadFailed,\n disabled = false,\n children,\n className,\n ...props\n}: UploadZoneProps) {\n /**\n * Delete mutation\n */\n const deleteMutation = useAction({\n mutationFn: async (ids: string[]) => uploadClient.deleteFiles(ids),\n onMutate: async (ids) => {\n await optimistic?.cancel?.();\n await optimistic?.remove?.(ids);\n },\n onError: async (error) => {\n console.error(\"Delete failed upload error: \", error);\n await onUploadFailed?.(error);\n },\n onSettled: () => {\n optimistic?.invalidate?.();\n },\n });\n\n /**\n * Upload mutation\n */\n const uploadMutation = useAction({\n mutationFn: async (params: UploadFileRequest) => uploadClient.upload(params, uploadHooks),\n onMutate: async (variables) => {\n // Generate a new node\n const newNode = {\n ...variables,\n type: \"file\",\n isPending: true,\n } as FileNode;\n\n await optimistic?.cancel?.();\n await optimistic?.add?.(newNode);\n },\n onSuccess: async (data) => {\n await onUploadCompleted?.(data);\n toast.success(`Succesvol geupload: ${data.name}`);\n },\n onError: async (error, variables) => {\n await onUploadFailed?.(error);\n\n console.error(\"Upload error: \", error);\n toast.error(\"Bestand uploaden mislukt\", {\n description: error instanceof Error ? error.message : undefined,\n });\n\n console.info(\"Deleting failed upload\");\n await deleteMutation.mutateAsync([variables.id]);\n },\n onSettled: () => {\n optimistic?.invalidate?.();\n },\n });\n\n /**\n * Upload file handler\n */\n const onUpload = useCallback(\n async (file: File) => {\n console.info(\"Uploading file\", file);\n const req = uploadClient.prepareUpload({ ...variables, file });\n return await uploadMutation.mutateAsync(req);\n },\n [uploadClient, variables, uploadMutation],\n );\n\n /**\n * Drop handler\n */\n const onDrop = useCallback(\n async (acceptedFiles: File[]) => {\n if (acceptedFiles.length === 0) return;\n await Promise.allSettled(acceptedFiles.map(onUpload));\n },\n [onUpload],\n );\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n noClick: true,\n disabled,\n });\n\n return (\n <div {...props} {...getRootProps()} className={cn(\"relative z-0\", className)}>\n <input {...getInputProps()} />\n\n {/* Show drag overlay when drag is active */}\n {isDragActive && (\n <div className=\"absolute inset-0 z-10 rounded-md bg-primary/20 opacity-70 backdrop-blur-3xl\" />\n )}\n\n <UploadZoneContext\n value={{\n uploadClient,\n onUpload,\n onRemove: deleteMutation.mutateAsync,\n optimistic,\n disabled,\n }}\n >\n {children}\n </UploadZoneContext>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;AAoBA,SAAgB,WAAW,EACzB,WACA,YACA,cACA,aACA,mBACA,gBACA,WAAW,OACX,UACA,WACA,GAAG,SACe;;;;CAIlB,MAAM,iBAAiB,UAAU;EAC/B,YAAY,OAAO,QAAkB,aAAa,YAAY,IAAI;EAClE,UAAU,OAAO,QAAQ;AACvB,SAAM,YAAY,UAAU;AAC5B,SAAM,YAAY,SAAS,IAAI;;EAEjC,SAAS,OAAO,UAAU;AACxB,WAAQ,MAAM,gCAAgC,MAAM;AACpD,SAAM,iBAAiB,MAAM;;EAE/B,iBAAiB;AACf,eAAY,cAAc;;EAE7B,CAAC;;;;CAKF,MAAM,iBAAiB,UAAU;EAC/B,YAAY,OAAO,WAA8B,aAAa,OAAO,QAAQ,YAAY;EACzF,UAAU,OAAO,cAAc;GAE7B,MAAM,UAAU;IACd,GAAG;IACH,MAAM;IACN,WAAW;IACZ;AAED,SAAM,YAAY,UAAU;AAC5B,SAAM,YAAY,MAAM,QAAQ;;EAElC,WAAW,OAAO,SAAS;AACzB,SAAM,oBAAoB,KAAK;AAC/B,SAAM,QAAQ,uBAAuB,KAAK,OAAO;;EAEnD,SAAS,OAAO,OAAO,cAAc;AACnC,SAAM,iBAAiB,MAAM;AAE7B,WAAQ,MAAM,kBAAkB,MAAM;AACtC,SAAM,MAAM,4BAA4B,EACtC,aAAa,iBAAiB,QAAQ,MAAM,UAAU,QACvD,CAAC;AAEF,WAAQ,KAAK,yBAAyB;AACtC,SAAM,eAAe,YAAY,CAAC,UAAU,GAAG,CAAC;;EAElD,iBAAiB;AACf,eAAY,cAAc;;EAE7B,CAAC;;;;CAKF,MAAM,WAAW,YACf,OAAO,SAAe;AACpB,UAAQ,KAAK,kBAAkB,KAAK;EACpC,MAAM,MAAM,aAAa,cAAc;GAAE,GAAG;GAAW;GAAM,CAAC;AAC9D,SAAO,MAAM,eAAe,YAAY,IAAI;IAE9C;EAAC;EAAc;EAAW;EAAe,CAC1C;CAaD,MAAM,EAAE,cAAc,eAAe,iBAAiB,YAAY;EAChE,QATa,YACb,OAAO,kBAA0B;AAC/B,OAAI,cAAc,WAAW,EAAG;AAChC,SAAM,QAAQ,WAAW,cAAc,IAAI,SAAS,CAAC;KAEvD,CAAC,SAAS,CACX;EAIC,SAAS;EACT;EACD,CAAC;AAEF,QACE,qBAAC;EAAI,GAAI;EAAO,GAAI,cAAc;EAAE,WAAW,GAAG,gBAAgB,UAAU;;GAC1E,oBAAC,WAAM,GAAI,eAAe,GAAI;GAG7B,gBACC,oBAAC,SAAI,WAAU,gFAAgF;GAGjG,oBAAC;IACC,OAAO;KACL;KACA;KACA,UAAU,eAAe;KACzB;KACA;KACD;IAEA;KACiB;;GAChB"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tulip-systems/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": false,
|
|
6
|
-
"license": "
|
|
6
|
+
"license": "AGPL-3.0",
|
|
7
7
|
"devDependencies": {
|
|
8
8
|
"@types/pg": "^8.16.0",
|
|
9
9
|
"@types/react": "19.2.14",
|
|
@@ -27,34 +27,7 @@
|
|
|
27
27
|
"@orpc/contract": "^1.13.5",
|
|
28
28
|
"@orpc/server": "^1.13.5",
|
|
29
29
|
"@orpc/tanstack-query": "^1.13.5",
|
|
30
|
-
"@radix-ui/react-accordion": "^1.2.12",
|
|
31
|
-
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
32
|
-
"@radix-ui/react-aspect-ratio": "^1.1.8",
|
|
33
|
-
"@radix-ui/react-avatar": "^1.1.11",
|
|
34
|
-
"@radix-ui/react-checkbox": "^1.3.3",
|
|
35
|
-
"@radix-ui/react-collapsible": "^1.1.12",
|
|
36
|
-
"@radix-ui/react-context-menu": "^2.2.16",
|
|
37
|
-
"@radix-ui/react-dialog": "^1.1.15",
|
|
38
|
-
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
39
|
-
"@radix-ui/react-hover-card": "^1.1.15",
|
|
40
|
-
"@radix-ui/react-label": "^2.1.8",
|
|
41
|
-
"@radix-ui/react-menubar": "^1.1.16",
|
|
42
|
-
"@radix-ui/react-navigation-menu": "^1.2.14",
|
|
43
|
-
"@radix-ui/react-popover": "^1.1.15",
|
|
44
|
-
"@radix-ui/react-progress": "^1.1.8",
|
|
45
|
-
"@radix-ui/react-radio-group": "^1.3.8",
|
|
46
|
-
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
47
|
-
"@radix-ui/react-select": "^2.2.6",
|
|
48
|
-
"@radix-ui/react-separator": "^1.1.8",
|
|
49
|
-
"@radix-ui/react-slider": "^1.3.6",
|
|
50
|
-
"@radix-ui/react-slot": "^1.2.4",
|
|
51
|
-
"@radix-ui/react-switch": "^1.2.6",
|
|
52
|
-
"@radix-ui/react-tabs": "^1.1.13",
|
|
53
|
-
"@radix-ui/react-toggle": "^1.1.10",
|
|
54
|
-
"@radix-ui/react-toggle-group": "^1.1.11",
|
|
55
|
-
"@radix-ui/react-tooltip": "^1.2.8",
|
|
56
30
|
"@react-email/components": "^1.0.8",
|
|
57
|
-
"@tailwindcss/typography": "^0.5.19",
|
|
58
31
|
"@tanstack/react-query": "^5.90.21",
|
|
59
32
|
"@tanstack/react-query-devtools": "^5.91.3",
|
|
60
33
|
"@tanstack/react-table": "^8.21.3",
|
|
@@ -94,6 +67,7 @@
|
|
|
94
67
|
"lucide-react": "^0.575.0",
|
|
95
68
|
"motion": "^12.34.3",
|
|
96
69
|
"next-themes": "^0.4.6",
|
|
70
|
+
"radix-ui": "^1.4.3",
|
|
97
71
|
"react-colorful": "^5.6.1",
|
|
98
72
|
"react-day-picker": "9.13.2",
|
|
99
73
|
"react-dropzone": "^15.0.0",
|
|
@@ -119,8 +93,9 @@
|
|
|
119
93
|
"pg": "8.18.0",
|
|
120
94
|
"react": "19.2.4",
|
|
121
95
|
"react-dom": "19.2.4",
|
|
122
|
-
"recharts": "
|
|
123
|
-
"sharp": "^0.34.5"
|
|
96
|
+
"recharts": "2.15.4",
|
|
97
|
+
"sharp": "^0.34.5",
|
|
98
|
+
"@tailwindcss/typography": "^0.5.19"
|
|
124
99
|
},
|
|
125
100
|
"publishConfig": {
|
|
126
101
|
"access": "public"
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
DropdownMenuContent,
|
|
18
18
|
DropdownMenuItem,
|
|
19
19
|
DropdownMenuTrigger,
|
|
20
|
-
} from "@/components/ui/dropdown-menu";
|
|
20
|
+
} from "@/components/ui/dropdown-menu.client";
|
|
21
21
|
import type { EditorExtensionsConfigResult } from "../lib/extensions";
|
|
22
22
|
import { EditorContext } from "./editor.client";
|
|
23
23
|
|
|
@@ -104,9 +104,9 @@ export function EditorMenuNodes() {
|
|
|
104
104
|
</DropdownMenuTrigger>
|
|
105
105
|
|
|
106
106
|
<DropdownMenuContent>
|
|
107
|
-
{filteredBlocks.map(({ label, icon: Icon, handler }
|
|
107
|
+
{filteredBlocks.map(({ label, icon: Icon, handler }) => (
|
|
108
108
|
<DropdownMenuItem
|
|
109
|
-
key={
|
|
109
|
+
key={label}
|
|
110
110
|
onClick={() => handler(editor)}
|
|
111
111
|
className="flex items-center gap-2"
|
|
112
112
|
>
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import { type ComponentProps, type PropsWithChildren, useContext } from "react";
|
|
14
14
|
import { Button } from "@/components/ui/button";
|
|
15
15
|
import { ColorPicker } from "@/components/ui/color-picker.client";
|
|
16
|
-
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
|
|
16
|
+
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover.client";
|
|
17
17
|
import { cn } from "@/lib/entry";
|
|
18
18
|
import { EditorContext } from "./editor.client";
|
|
19
19
|
import { EditorMenuNodes } from "./menu-nodes.client";
|
|
@@ -22,7 +22,7 @@ export function EditorMenuFixed(props: React.ComponentProps<"div">) {
|
|
|
22
22
|
return (
|
|
23
23
|
<div
|
|
24
24
|
{...props}
|
|
25
|
-
className={cn("
|
|
25
|
+
className={cn("z-10 overflow-auto border-input border-b bg-muted/30 p-2", props.className)}
|
|
26
26
|
>
|
|
27
27
|
<EditorMenuContent>
|
|
28
28
|
<EditorMenuUndoRedo />
|
|
@@ -42,7 +42,7 @@ export function EditorMenuBubble(props: ComponentProps<typeof BubbleMenu>) {
|
|
|
42
42
|
{...props}
|
|
43
43
|
editor={editor}
|
|
44
44
|
options={{ ...props.options, strategy: "fixed" }}
|
|
45
|
-
className={cn("
|
|
45
|
+
className={cn("z-10 rounded-lg border border-input bg-muted p-2", props.className)}
|
|
46
46
|
>
|
|
47
47
|
<EditorMenuContent>
|
|
48
48
|
<EditorMenuMarks />
|
|
@@ -25,21 +25,21 @@ export function ForgetPasswordEmail({ resetPasswordHref }: ForgetPasswordEmailPr
|
|
|
25
25
|
|
|
26
26
|
<Tailwind>
|
|
27
27
|
<Body className="mx-auto my-auto bg-white px-2 font-sans">
|
|
28
|
-
<Container className="mx-auto my-[40px] max-w-[465px] rounded border border-
|
|
28
|
+
<Container className="mx-auto my-[40px] max-w-[465px] rounded border border-[#eaeaea] border-solid p-[20px]">
|
|
29
29
|
<Icons.logo className="w-8" />
|
|
30
30
|
|
|
31
31
|
<Section className="my-[15px]">
|
|
32
|
-
<Heading className="mx-0 my-[20px] p-0 text-[24px]
|
|
32
|
+
<Heading className="mx-0 my-[20px] p-0 font-bold text-[24px] text-black">
|
|
33
33
|
Herstel uw wachtwoord
|
|
34
34
|
</Heading>
|
|
35
35
|
|
|
36
|
-
<Text className="text-[14px] leading-[24px]
|
|
36
|
+
<Text className="text-[14px] text-black leading-[24px]">
|
|
37
37
|
Iemand heeft onlangs een wachtwoordwijziging voor uw account gevraagd. Als u dit
|
|
38
38
|
was, kunt u hier een nieuw wachtwoord instellen:
|
|
39
39
|
</Text>
|
|
40
40
|
|
|
41
41
|
<Button
|
|
42
|
-
className="rounded bg-[#000000] px-5 py-3 text-center text-[12px]
|
|
42
|
+
className="rounded bg-[#000000] px-5 py-3 text-center font-semibold text-[12px] text-white no-underline"
|
|
43
43
|
href={resetPasswordHref}
|
|
44
44
|
>
|
|
45
45
|
Reset password
|
|
@@ -47,12 +47,12 @@ export function ForgetPasswordEmail({ resetPasswordHref }: ForgetPasswordEmailPr
|
|
|
47
47
|
</Section>
|
|
48
48
|
|
|
49
49
|
<Section>
|
|
50
|
-
<Text className="text-[12px] leading-[20px]
|
|
50
|
+
<Text className="text-[12px] text-black leading-[20px]">
|
|
51
51
|
Als u uw wachtwoord niet wilt wijzigen of dit niet heeft gevraagd, negeer en
|
|
52
52
|
verwijder dit bericht gewoon en verwijdert u.
|
|
53
53
|
</Text>
|
|
54
54
|
|
|
55
|
-
<Text className="text-[12px] leading-[20px]
|
|
55
|
+
<Text className="text-[12px] text-black leading-[20px]">
|
|
56
56
|
Stuur deze e-mail niet door om uw account veilig te houden.
|
|
57
57
|
</Text>
|
|
58
58
|
</Section>
|
|
@@ -29,22 +29,38 @@ export * from "./navigation/admin-sidebar-paths.client";
|
|
|
29
29
|
/**
|
|
30
30
|
* Components UI
|
|
31
31
|
*/
|
|
32
|
+
export * from "./ui/accordion.client";
|
|
33
|
+
export * from "./ui/alert-dialog.client";
|
|
34
|
+
export * from "./ui/aspect-ratio.client";
|
|
32
35
|
export * from "./ui/avatar.client";
|
|
36
|
+
export * from "./ui/calendar.client";
|
|
37
|
+
export * from "./ui/carousel.client";
|
|
33
38
|
export * from "./ui/chart.client";
|
|
39
|
+
export * from "./ui/checkbox.client";
|
|
34
40
|
export * from "./ui/collapsible.client";
|
|
35
41
|
export * from "./ui/color-picker.client";
|
|
36
42
|
export * from "./ui/combobox.client";
|
|
37
43
|
export * from "./ui/combobox-dropdown.client";
|
|
44
|
+
export * from "./ui/command.client";
|
|
45
|
+
export * from "./ui/context-menu.client";
|
|
38
46
|
export * from "./ui/date-picker.client";
|
|
39
47
|
export * from "./ui/dialog.client";
|
|
40
48
|
export * from "./ui/drawer.client";
|
|
49
|
+
export * from "./ui/dropdown-menu.client";
|
|
50
|
+
export * from "./ui/field.client";
|
|
41
51
|
export * from "./ui/form.client";
|
|
42
52
|
export * from "./ui/hover-card.client";
|
|
53
|
+
export * from "./ui/input-date-time.client";
|
|
54
|
+
export * from "./ui/input-group.client";
|
|
55
|
+
export * from "./ui/popover.client";
|
|
43
56
|
export * from "./ui/progress.client";
|
|
44
57
|
export * from "./ui/resizable.client";
|
|
45
58
|
export * from "./ui/select.client";
|
|
46
59
|
export * from "./ui/sheet.client";
|
|
47
60
|
export * from "./ui/sidebar.client";
|
|
48
61
|
export * from "./ui/sonner.client";
|
|
62
|
+
export * from "./ui/switch.client";
|
|
63
|
+
export * from "./ui/tabs.client";
|
|
64
|
+
export * from "./ui/toggle.client";
|
|
49
65
|
export * from "./ui/toggle-group.client";
|
|
50
66
|
export * from "./ui/tooltip.client";
|
package/src/components/entry.ts
CHANGED
|
@@ -29,34 +29,26 @@ export * from "./lists/data-stack";
|
|
|
29
29
|
/**
|
|
30
30
|
* Components UI
|
|
31
31
|
*/
|
|
32
|
-
export * from "./ui/accordion";
|
|
33
32
|
export * from "./ui/alert";
|
|
34
|
-
export * from "./ui/alert-dialog";
|
|
35
|
-
export * from "./ui/aspect-ratio";
|
|
36
33
|
export * from "./ui/badge";
|
|
37
34
|
export * from "./ui/breadcrumb";
|
|
38
35
|
export * from "./ui/button";
|
|
39
|
-
export * from "./ui/
|
|
36
|
+
export * from "./ui/button-group";
|
|
40
37
|
export * from "./ui/card";
|
|
41
|
-
export * from "./ui/
|
|
42
|
-
export * from "./ui/checkbox";
|
|
43
|
-
export * from "./ui/command";
|
|
44
|
-
export * from "./ui/context-menu";
|
|
45
|
-
export * from "./ui/dropdown-menu";
|
|
38
|
+
export * from "./ui/empty";
|
|
46
39
|
export * from "./ui/input";
|
|
47
40
|
export * from "./ui/input-date";
|
|
48
|
-
export * from "./ui/input-date-time";
|
|
49
41
|
export * from "./ui/input-time";
|
|
42
|
+
export * from "./ui/item";
|
|
43
|
+
export * from "./ui/kbd";
|
|
50
44
|
export * from "./ui/label";
|
|
45
|
+
export * from "./ui/loader";
|
|
51
46
|
export * from "./ui/navigation-menu";
|
|
52
47
|
export * from "./ui/pagination";
|
|
53
|
-
export * from "./ui/popover";
|
|
54
48
|
export * from "./ui/radio-group";
|
|
55
49
|
export * from "./ui/scroll-area";
|
|
56
50
|
export * from "./ui/separator";
|
|
57
51
|
export * from "./ui/skeleton";
|
|
58
52
|
export * from "./ui/slider";
|
|
59
|
-
export * from "./ui/
|
|
60
|
-
export * from "./ui/tabs";
|
|
53
|
+
export * from "./ui/spinner";
|
|
61
54
|
export * from "./ui/textarea";
|
|
62
|
-
export * from "./ui/toggle";
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
ContextMenuContent,
|
|
9
9
|
ContextMenuItem,
|
|
10
10
|
ContextMenuTrigger,
|
|
11
|
-
} from "@/components/ui/context-menu";
|
|
11
|
+
} from "@/components/ui/context-menu.client";
|
|
12
12
|
import { cn } from "@/lib/utils/cn";
|
|
13
13
|
|
|
14
14
|
export function HeaderTopbarBackButton({
|
|
@@ -25,7 +25,7 @@ export function HeaderTopbarBackButton({
|
|
|
25
25
|
variant="ghost"
|
|
26
26
|
onClick={() => router.back()}
|
|
27
27
|
className={cn(
|
|
28
|
-
"
|
|
28
|
+
"h-full w-content rounded-none border-r border-r-border p-0 text-muted-foreground hover:text-foreground",
|
|
29
29
|
className,
|
|
30
30
|
)}
|
|
31
31
|
>
|
|
@@ -37,7 +37,7 @@ export function BottomBarLinks({ paths, className, ...props }: BottomBarLinksPro
|
|
|
37
37
|
return (
|
|
38
38
|
<ul
|
|
39
39
|
{...props}
|
|
40
|
-
className={cn("
|
|
40
|
+
className={cn("flex flex-row items-center gap-6 px-content font-medium text-sm", className)}
|
|
41
41
|
>
|
|
42
42
|
{paths.map(({ href, name, segment, permission }) => {
|
|
43
43
|
const children = (
|
|
@@ -45,7 +45,7 @@ export function BottomBarLinks({ paths, className, ...props }: BottomBarLinksPro
|
|
|
45
45
|
key={href}
|
|
46
46
|
href={href}
|
|
47
47
|
className={cn(
|
|
48
|
-
"
|
|
48
|
+
"w-fit text-nowrap break-keep text-muted-foreground transition-colors hover:text-foreground",
|
|
49
49
|
currentSegment === segment && "text-primary",
|
|
50
50
|
)}
|
|
51
51
|
>
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
DropdownMenuContent,
|
|
15
15
|
DropdownMenuItem,
|
|
16
16
|
DropdownMenuTrigger,
|
|
17
|
-
} from "@/components/ui/dropdown-menu";
|
|
17
|
+
} from "@/components/ui/dropdown-menu.client";
|
|
18
18
|
import { ScrollArea } from "@/components/ui/scroll-area";
|
|
19
19
|
|
|
20
20
|
export type HeaderBreadcrumb = {
|
|
@@ -3,7 +3,7 @@ import { cn } from "@/lib/utils/cn";
|
|
|
3
3
|
|
|
4
4
|
export function Header({ children, className, ...props }: ComponentProps<"header">) {
|
|
5
5
|
return (
|
|
6
|
-
<header className={cn("
|
|
6
|
+
<header className={cn("sticky top-0 z-30 bg-sidebar backdrop-blur-3xl", className)} {...props}>
|
|
7
7
|
{children}
|
|
8
8
|
</header>
|
|
9
9
|
);
|
|
@@ -27,7 +27,7 @@ export function EmptyPage({ className, children, ...props }: ComponentProps<"div
|
|
|
27
27
|
|
|
28
28
|
export function EmptyPageTitle({ className, children, ...props }: ComponentProps<"h2">) {
|
|
29
29
|
return (
|
|
30
|
-
<h2 className={cn("text-lg
|
|
30
|
+
<h2 className={cn("font-bold text-lg tracking-tight", className)} {...props}>
|
|
31
31
|
{children}
|
|
32
32
|
</h2>
|
|
33
33
|
);
|
|
@@ -35,7 +35,7 @@ export function EmptyPageTitle({ className, children, ...props }: ComponentProps
|
|
|
35
35
|
|
|
36
36
|
export function EmptyPageDescription({ className, children, ...props }: ComponentProps<"p">) {
|
|
37
37
|
return (
|
|
38
|
-
<p className={cn("
|
|
38
|
+
<p className={cn("max-w-[40ch] text-muted-foreground text-sm", className)} {...props}>
|
|
39
39
|
{children}
|
|
40
40
|
</p>
|
|
41
41
|
);
|
|
@@ -10,7 +10,7 @@ export function ErrorPage({ className, children, ...props }: ComponentProps<"div
|
|
|
10
10
|
<div
|
|
11
11
|
{...props}
|
|
12
12
|
className={cn(
|
|
13
|
-
"min-h-120
|
|
13
|
+
"flex h-full min-h-120 w-full flex-col items-center justify-center gap-y-3 border border-dashed text-center",
|
|
14
14
|
className,
|
|
15
15
|
)}
|
|
16
16
|
>
|
|
@@ -24,7 +24,7 @@ export function ErrorPage({ className, children, ...props }: ComponentProps<"div
|
|
|
24
24
|
*/
|
|
25
25
|
export function ErrorPageCode({ className, children, ...props }: ComponentProps<"h2">) {
|
|
26
26
|
return (
|
|
27
|
-
<h2 className={cn("text-9xl
|
|
27
|
+
<h2 className={cn("font-bold text-9xl leading-none", className)} {...props}>
|
|
28
28
|
{children}
|
|
29
29
|
</h2>
|
|
30
30
|
);
|
|
@@ -55,7 +55,7 @@ export function ErrorPageIcon({
|
|
|
55
55
|
*/
|
|
56
56
|
export function ErrorPageDescription({ className, children, ...props }: ComponentProps<"p">) {
|
|
57
57
|
return (
|
|
58
|
-
<p className={cn("text-2xl
|
|
58
|
+
<p className={cn("font-bold text-2xl lg:text-3xl", className)} {...props}>
|
|
59
59
|
{children}
|
|
60
60
|
</p>
|
|
61
61
|
);
|
|
@@ -8,6 +8,7 @@ import type { PropsWithChildren } from "react";
|
|
|
8
8
|
import { Toaster } from "@/components/ui/sonner.client";
|
|
9
9
|
import { IndicatorContextProvider } from "@/lib/hooks/use-indicator";
|
|
10
10
|
import { getQueryClient } from "@/modules/router/lib/query-client";
|
|
11
|
+
import { TooltipProvider } from "../ui/tooltip.client";
|
|
11
12
|
|
|
12
13
|
export function Providers({ children }: PropsWithChildren) {
|
|
13
14
|
const queryClient = getQueryClient();
|
|
@@ -16,12 +17,14 @@ export function Providers({ children }: PropsWithChildren) {
|
|
|
16
17
|
<QueryClientProvider client={queryClient}>
|
|
17
18
|
<NuqsAdapter>
|
|
18
19
|
<IndicatorContextProvider>
|
|
19
|
-
<
|
|
20
|
-
|
|
20
|
+
<TooltipProvider>
|
|
21
|
+
<ThemeProvider attribute="class" defaultTheme="system" enableSystem>
|
|
22
|
+
{children}
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
<Toaster />
|
|
25
|
+
<ReactQueryDevtools />
|
|
26
|
+
</ThemeProvider>
|
|
27
|
+
</TooltipProvider>
|
|
25
28
|
</IndicatorContextProvider>
|
|
26
29
|
</NuqsAdapter>
|
|
27
30
|
</QueryClientProvider>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import type { Route } from "next";
|
|
4
4
|
import { useRouter, useSelectedLayoutSegment } from "next/navigation";
|
|
5
5
|
import { useState } from "react";
|
|
6
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
|
|
6
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs.client";
|
|
7
7
|
import { Allowed } from "@/modules/auth/components/allowed.client";
|
|
8
8
|
import type { Permission } from "@/modules/auth/lib/permissions";
|
|
9
9
|
import { ListLayout } from "./list-layout";
|
|
@@ -31,7 +31,7 @@ export type DataListTitleProps = React.HTMLAttributes<HTMLElement>;
|
|
|
31
31
|
|
|
32
32
|
export function DataListTitle({ children, className, ...props }: DataListTitleProps) {
|
|
33
33
|
return (
|
|
34
|
-
<dt {...props} className={cn("text-sm
|
|
34
|
+
<dt {...props} className={cn("font-semibold text-sm leading-6", className)}>
|
|
35
35
|
{children}
|
|
36
36
|
</dt>
|
|
37
37
|
);
|
|
@@ -54,7 +54,7 @@ export type DataStackTitleProps = React.HTMLAttributes<HTMLElement>;
|
|
|
54
54
|
|
|
55
55
|
export function DataStackTitle({ children, className, ...props }: DataStackTitleProps) {
|
|
56
56
|
return (
|
|
57
|
-
<dt {...props} className={cn("text-sm
|
|
57
|
+
<dt {...props} className={cn("font-medium text-sm leading-none", className)}>
|
|
58
58
|
{children}
|
|
59
59
|
</dt>
|
|
60
60
|
);
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
DropdownMenuSubContent,
|
|
25
25
|
DropdownMenuSubTrigger,
|
|
26
26
|
DropdownMenuTrigger,
|
|
27
|
-
} from "@/components/ui/dropdown-menu";
|
|
27
|
+
} from "@/components/ui/dropdown-menu.client";
|
|
28
28
|
import { cn } from "@/lib/utils/cn";
|
|
29
29
|
import { useAuthClient } from "@/modules/auth/hooks/use-auth-client";
|
|
30
30
|
import { useSession } from "@/modules/auth/hooks/use-session";
|
|
@@ -54,12 +54,12 @@ export function AdminSidebarHeader() {
|
|
|
54
54
|
/>
|
|
55
55
|
<AvatarFallback>{sessionQuery.data?.user.name?.[0] ?? ""}</AvatarFallback>
|
|
56
56
|
</Avatar>
|
|
57
|
-
<span className="text-md text-muted-foreground
|
|
57
|
+
<span className="font-bold text-md text-muted-foreground">
|
|
58
58
|
{sessionQuery.data?.user.name}
|
|
59
59
|
</span>
|
|
60
60
|
</div>
|
|
61
61
|
|
|
62
|
-
<ChevronsUpDownIcon className="
|
|
62
|
+
<ChevronsUpDownIcon className="h-4 w-4 text-muted-foreground" />
|
|
63
63
|
</Button>
|
|
64
64
|
</DropdownMenuTrigger>
|
|
65
65
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
2
|
import { Button } from "@/components/ui/button";
|
|
3
|
-
import { DropdownMenu, DropdownMenuTrigger } from "@/components/ui/dropdown-menu";
|
|
3
|
+
import { DropdownMenu, DropdownMenuTrigger } from "@/components/ui/dropdown-menu.client";
|
|
4
4
|
import {
|
|
5
5
|
SidebarHeader,
|
|
6
6
|
SidebarMenu,
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
4
|
+
import { Accordion as AccordionPrimitive } from "radix-ui";
|
|
5
|
+
import type * as React from "react";
|
|
6
|
+
import { cn } from "@/lib/utils/cn";
|
|
7
|
+
|
|
8
|
+
function Accordion({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
|
|
9
|
+
return (
|
|
10
|
+
<AccordionPrimitive.Root
|
|
11
|
+
data-slot="accordion"
|
|
12
|
+
className={cn("flex w-full flex-col", className)}
|
|
13
|
+
{...props}
|
|
14
|
+
/>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function AccordionItem({
|
|
19
|
+
className,
|
|
20
|
+
...props
|
|
21
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Item>) {
|
|
22
|
+
return (
|
|
23
|
+
<AccordionPrimitive.Item
|
|
24
|
+
data-slot="accordion-item"
|
|
25
|
+
className={cn("not-last:border-b", className)}
|
|
26
|
+
{...props}
|
|
27
|
+
/>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function AccordionTrigger({
|
|
32
|
+
className,
|
|
33
|
+
children,
|
|
34
|
+
...props
|
|
35
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
|
|
36
|
+
return (
|
|
37
|
+
<AccordionPrimitive.Header className="flex">
|
|
38
|
+
<AccordionPrimitive.Trigger
|
|
39
|
+
data-slot="accordion-trigger"
|
|
40
|
+
className={cn(
|
|
41
|
+
"group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",
|
|
42
|
+
className,
|
|
43
|
+
)}
|
|
44
|
+
{...props}
|
|
45
|
+
>
|
|
46
|
+
{children}
|
|
47
|
+
<ChevronDownIcon
|
|
48
|
+
data-slot="accordion-trigger-icon"
|
|
49
|
+
className="pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
|
|
50
|
+
/>
|
|
51
|
+
<ChevronUpIcon
|
|
52
|
+
data-slot="accordion-trigger-icon"
|
|
53
|
+
className="pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
|
|
54
|
+
/>
|
|
55
|
+
</AccordionPrimitive.Trigger>
|
|
56
|
+
</AccordionPrimitive.Header>
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function AccordionContent({
|
|
61
|
+
className,
|
|
62
|
+
children,
|
|
63
|
+
...props
|
|
64
|
+
}: React.ComponentProps<typeof AccordionPrimitive.Content>) {
|
|
65
|
+
return (
|
|
66
|
+
<AccordionPrimitive.Content
|
|
67
|
+
data-slot="accordion-content"
|
|
68
|
+
className="overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
|
|
69
|
+
{...props}
|
|
70
|
+
>
|
|
71
|
+
<div
|
|
72
|
+
className={cn(
|
|
73
|
+
"pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
|
|
74
|
+
className,
|
|
75
|
+
)}
|
|
76
|
+
>
|
|
77
|
+
{children}
|
|
78
|
+
</div>
|
|
79
|
+
</AccordionPrimitive.Content>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
|