@alfakit/vue 0.1.1 → 0.1.6
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/CHANGELOG.md +16 -0
- package/dist/AlfakitRoot.js.map +1 -1
- package/dist/AlfakitRoot.vue.d.ts.map +1 -1
- package/dist/AlfakitRoot.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/AlfakitRoot.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/actions/ActionButton.js.map +1 -1
- package/dist/components/actions/ActionButton.vue.d.ts.map +1 -1
- package/dist/components/actions/ActionButton.vue_vue_type_script_setup_true_lang.js +160 -159
- package/dist/components/actions/ActionButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/actions/ActionGroupMenu.js.map +1 -1
- package/dist/components/actions/ActionGroupMenu.vue.d.ts.map +1 -1
- package/dist/components/actions/ActionGroupMenu.vue_vue_type_script_setup_true_lang.js +69 -65
- package/dist/components/actions/ActionGroupMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/actions/ActionModal.js.map +1 -1
- package/dist/components/actions/ActionModal.vue.d.ts.map +1 -1
- package/dist/components/actions/ActionModal.vue_vue_type_script_setup_true_lang.js +221 -219
- package/dist/components/actions/ActionModal.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ai/AiCopilot.js.map +1 -1
- package/dist/components/ai/AiCopilot.vue.d.ts +2 -0
- package/dist/components/ai/AiCopilot.vue.d.ts.map +1 -1
- package/dist/components/ai/AiCopilot.vue_vue_type_script_setup_true_lang.js +7 -2
- package/dist/components/ai/AiCopilot.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cms/CmsPage.vue_vue_type_script_setup_true_lang.js +19 -19
- package/dist/components/cms/CmsPage.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cms/LivePreview.js.map +1 -1
- package/dist/components/cms/LivePreview.vue.d.ts.map +1 -1
- package/dist/components/cms/LivePreview.vue_vue_type_script_setup_true_lang.js +83 -83
- package/dist/components/cms/LivePreview.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/BuilderField.js.map +1 -1
- package/dist/components/fields/BuilderField.vue.d.ts.map +1 -1
- package/dist/components/fields/BuilderField.vue_vue_type_script_setup_true_lang.js +162 -157
- package/dist/components/fields/BuilderField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/ColorPickerField.js.map +1 -1
- package/dist/components/fields/ColorPickerField.vue.d.ts.map +1 -1
- package/dist/components/fields/ColorPickerField.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/components/fields/ColorPickerField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/ComboboxSelect.js.map +1 -1
- package/dist/components/fields/ComboboxSelect.vue.d.ts.map +1 -1
- package/dist/components/fields/ComboboxSelect.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/fields/ComboboxSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/FileUploadField.js.map +1 -1
- package/dist/components/fields/FileUploadField.vue.d.ts.map +1 -1
- package/dist/components/fields/FileUploadField.vue_vue_type_script_setup_true_lang.js +183 -183
- package/dist/components/fields/FileUploadField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/ImageEditorDialog.js.map +1 -1
- package/dist/components/fields/ImageEditorDialog.vue.d.ts.map +1 -1
- package/dist/components/fields/ImageEditorDialog.vue_vue_type_script_setup_true_lang.js +46 -46
- package/dist/components/fields/ImageEditorDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/KeyValueField.js.map +1 -1
- package/dist/components/fields/KeyValueField.vue.d.ts.map +1 -1
- package/dist/components/fields/KeyValueField.vue_vue_type_script_setup_true_lang.js +66 -66
- package/dist/components/fields/KeyValueField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/ModalTablePicker.js.map +1 -1
- package/dist/components/fields/ModalTablePicker.vue.d.ts.map +1 -1
- package/dist/components/fields/ModalTablePicker.vue_vue_type_script_setup_true_lang.js +113 -113
- package/dist/components/fields/ModalTablePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/OneTimeCodeInputField.js.map +1 -1
- package/dist/components/fields/OneTimeCodeInputField.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/fields/OneTimeCodeInputField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/RepeaterField.js.map +1 -1
- package/dist/components/fields/RepeaterField.vue.d.ts.map +1 -1
- package/dist/components/fields/RepeaterField.vue_vue_type_script_setup_true_lang.js +12 -12
- package/dist/components/fields/RepeaterField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/RichEditorInput.js.map +1 -1
- package/dist/components/fields/RichEditorInput.vue.d.ts.map +1 -1
- package/dist/components/fields/RichEditorInput.vue_vue_type_script_setup_true_lang.js +166 -165
- package/dist/components/fields/RichEditorInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/SelectField.js.map +1 -1
- package/dist/components/fields/SelectField.vue.d.ts.map +1 -1
- package/dist/components/fields/SelectField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/fields/SelectField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/SliderField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/TableColumnHeaders.js.map +1 -1
- package/dist/components/fields/TableColumnHeaders.vue.d.ts.map +1 -1
- package/dist/components/fields/TableColumnHeaders.vue_vue_type_script_setup_true_lang.js +6 -3
- package/dist/components/fields/TableColumnHeaders.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/fields/item-actions.d.ts +2 -2
- package/dist/components/fields/item-actions.d.ts.map +1 -1
- package/dist/components/fields/item-actions.js +31 -31
- package/dist/components/fields/item-actions.js.map +1 -1
- package/dist/components/file-manager/FileManagerView.js.map +1 -1
- package/dist/components/file-manager/FileManagerView.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/file-manager/FileManagerView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/form/FormBlock.js.map +1 -1
- package/dist/components/form/FormBlock.vue.d.ts.map +1 -1
- package/dist/components/form/FormBlock.vue_vue_type_script_setup_true_lang.js +81 -77
- package/dist/components/form/FormBlock.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/form/form-context.js +25 -25
- package/dist/components/form/form-context.js.map +1 -1
- package/dist/components/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/kanban/KanbanBoard.vue.d.ts.map +1 -1
- package/dist/components/kanban/KanbanBoard.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/kanban/KanbanBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/kanban/KanbanColumnHeader.js.map +1 -1
- package/dist/components/kanban/KanbanColumnHeader.vue.d.ts.map +1 -1
- package/dist/components/kanban/KanbanColumnHeader.vue_vue_type_script_setup_true_lang.js +64 -64
- package/dist/components/kanban/KanbanColumnHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/layout/FusedGroupComponent.js.map +1 -1
- package/dist/components/layout/FusedGroupComponent.vue.d.ts.map +1 -1
- package/dist/components/layout/FusedGroupComponent.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/components/layout/FusedGroupComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/layout/SectionComponent.js.map +1 -1
- package/dist/components/layout/SectionComponent.vue.d.ts.map +1 -1
- package/dist/components/layout/SectionComponent.vue_vue_type_script_setup_true_lang.js +23 -23
- package/dist/components/layout/SectionComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/layout/TabsComponent.js.map +1 -1
- package/dist/components/layout/TabsComponent.vue.d.ts.map +1 -1
- package/dist/components/layout/TabsComponent.vue_vue_type_script_setup_true_lang.js +76 -55
- package/dist/components/layout/TabsComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/notifications/NotificationsMenu.js.map +1 -1
- package/dist/components/notifications/NotificationsMenu.vue.d.ts.map +1 -1
- package/dist/components/notifications/NotificationsMenu.vue_vue_type_script_setup_true_lang.js +44 -42
- package/dist/components/notifications/NotificationsMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/DebugPanel.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/panel/DebugPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/GlobalSearch.js.map +1 -1
- package/dist/components/panel/GlobalSearch.vue.d.ts.map +1 -1
- package/dist/components/panel/GlobalSearch.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/components/panel/GlobalSearch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/GlobalSearchPalette.js.map +1 -1
- package/dist/components/panel/GlobalSearchPalette.vue.d.ts.map +1 -1
- package/dist/components/panel/GlobalSearchPalette.vue_vue_type_script_setup_true_lang.js +102 -96
- package/dist/components/panel/GlobalSearchPalette.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/NavGroup.vue_vue_type_script_setup_true_lang.js +10 -10
- package/dist/components/panel/NavGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/NavGroupFlyout.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/components/panel/NavGroupFlyout.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/NavItem.vue_vue_type_script_setup_true_lang.js +16 -16
- package/dist/components/panel/NavItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/NavSubItem.vue_vue_type_script_setup_true_lang.js +10 -10
- package/dist/components/panel/NavSubItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/ShortcutKeys.js.map +1 -1
- package/dist/components/panel/ShortcutKeys.vue.d.ts.map +1 -1
- package/dist/components/panel/ShortcutKeys.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/components/panel/ShortcutKeys.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/TenantMenu.js.map +1 -1
- package/dist/components/panel/TenantMenu.vue_vue_type_script_setup_true_lang.js +37 -37
- package/dist/components/panel/TenantMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/panel/Topbar.vue_vue_type_script_setup_true_lang.js +11 -11
- package/dist/components/panel/Topbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/realtime/use-live-updates.d.ts.map +1 -1
- package/dist/components/realtime/use-live-updates.js +24 -23
- package/dist/components/realtime/use-live-updates.js.map +1 -1
- package/dist/components/table/BooleanCell.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/components/table/BooleanCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/ColumnHeader.js.map +1 -1
- package/dist/components/table/ColumnHeader.vue.d.ts.map +1 -1
- package/dist/components/table/ColumnHeader.vue_vue_type_script_setup_true_lang.js +55 -49
- package/dist/components/table/ColumnHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/ColumnManager.js.map +1 -1
- package/dist/components/table/ColumnManager.vue.d.ts.map +1 -1
- package/dist/components/table/ColumnManager.vue_vue_type_script_setup_true_lang.js +5 -4
- package/dist/components/table/ColumnManager.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/ContentLayoutSort.js.map +1 -1
- package/dist/components/table/ContentLayoutSort.vue.d.ts.map +1 -1
- package/dist/components/table/ContentLayoutSort.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/table/ContentLayoutSort.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/GroupHeaderRow.js.map +1 -1
- package/dist/components/table/GroupHeaderRow.vue.d.ts.map +1 -1
- package/dist/components/table/GroupHeaderRow.vue_vue_type_script_setup_true_lang.js +55 -34
- package/dist/components/table/GroupHeaderRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/SelectCell.js.map +1 -1
- package/dist/components/table/SelectCell.vue.d.ts.map +1 -1
- package/dist/components/table/SelectCell.vue_vue_type_script_setup_true_lang.js +26 -20
- package/dist/components/table/SelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/SelectComboboxCell.vue_vue_type_script_setup_true_lang.js +2 -1
- package/dist/components/table/SelectComboboxCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/TableCellContent.js.map +1 -1
- package/dist/components/table/TableCellContent.vue.d.ts.map +1 -1
- package/dist/components/table/TableCellContent.vue_vue_type_script_setup_true_lang.js +4 -3
- package/dist/components/table/TableCellContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/TablePagination.js.map +1 -1
- package/dist/components/table/TablePagination.vue.d.ts.map +1 -1
- package/dist/components/table/TablePagination.vue_vue_type_script_setup_true_lang.js +87 -87
- package/dist/components/table/TablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/TextInputCell.js.map +1 -1
- package/dist/components/table/TextInputCell.vue.d.ts.map +1 -1
- package/dist/components/table/TextInputCell.vue_vue_type_script_setup_true_lang.js +40 -34
- package/dist/components/table/TextInputCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/table/cell-update.d.ts +6 -0
- package/dist/components/table/cell-update.d.ts.map +1 -1
- package/dist/components/table/cell-update.js.map +1 -1
- package/dist/components/translation-manager/TranslationManagerView.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/translation-manager/TranslationManagerView.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ui/CommandAutoHighlight.js +7 -0
- package/dist/components/ui/CommandAutoHighlight.js.map +1 -0
- package/dist/components/ui/CommandAutoHighlight.vue.d.ts +21 -0
- package/dist/components/ui/CommandAutoHighlight.vue.d.ts.map +1 -0
- package/dist/components/ui/CommandAutoHighlight.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/components/ui/CommandAutoHighlight.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/ui/DialogContent.js.map +1 -1
- package/dist/components/ui/DialogContent.vue.d.ts.map +1 -1
- package/dist/components/ui/DialogContent.vue_vue_type_script_setup_true_lang.js +13 -12
- package/dist/components/ui/DialogContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ui/PopoverContent.js.map +1 -1
- package/dist/components/ui/PopoverContent.vue.d.ts.map +1 -1
- package/dist/components/ui/PopoverContent.vue_vue_type_script_setup_true_lang.js +9 -8
- package/dist/components/ui/PopoverContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ui/SheetContent.js.map +1 -1
- package/dist/components/ui/SheetContent.vue.d.ts.map +1 -1
- package/dist/components/ui/SheetContent.vue_vue_type_script_setup_true_lang.js +13 -12
- package/dist/components/ui/SheetContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/ui/TooltipContent.js.map +1 -1
- package/dist/components/ui/TooltipContent.vue.d.ts.map +1 -1
- package/dist/components/ui/TooltipContent.vue_vue_type_script_setup_true_lang.js +9 -8
- package/dist/components/ui/TooltipContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components.css +347 -0
- package/dist/context.d.ts +7 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +29 -26
- package/dist/context.js.map +1 -1
- package/dist/create-alfakit.d.ts.map +1 -1
- package/dist/create-alfakit.js +33 -31
- package/dist/create-alfakit.js.map +1 -1
- package/dist/eject-manifest.json +11 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +219 -217
- package/dist/layouts/AppLayout.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/layouts/AppLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/layouts/AuthLayout.vue_vue_type_script_setup_true_lang.js +9 -9
- package/dist/layouts/FullscreenLayout.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/layouts/FullscreenLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/layouts/TopNavLayout.vue_vue_type_script_setup_true_lang.js +15 -15
- package/dist/layouts/TopNavLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/layouts/lazy-layouts.d.ts +10 -0
- package/dist/layouts/lazy-layouts.d.ts.map +1 -0
- package/dist/layouts/lazy-layouts.js +8 -0
- package/dist/layouts/lazy-layouts.js.map +1 -0
- package/dist/layouts/panel-layouts.d.ts +8 -0
- package/dist/layouts/panel-layouts.d.ts.map +1 -0
- package/dist/layouts/panel-layouts.js +15 -0
- package/dist/layouts/panel-layouts.js.map +1 -0
- package/dist/lib/lazy.d.ts.map +1 -1
- package/dist/lib/lazy.js +2 -2
- package/dist/lib/lazy.js.map +1 -1
- package/dist/pages/PageShell.js.map +1 -1
- package/dist/pages/PageShell.vue.d.ts.map +1 -1
- package/dist/pages/PageShell.vue_vue_type_script_setup_true_lang.js +39 -42
- package/dist/pages/PageShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/standalone/AlfakitComponent.js.map +1 -1
- package/dist/standalone/AlfakitComponent.vue.d.ts.map +1 -1
- package/dist/standalone/AlfakitComponent.vue_vue_type_script_setup_true_lang.js +56 -52
- package/dist/standalone/AlfakitComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/standalone/AlfakitToaster.js.map +1 -1
- package/dist/standalone/AlfakitToaster.vue.d.ts.map +1 -1
- package/dist/standalone/AlfakitToaster.vue_vue_type_script_setup_true_lang.js +23 -15
- package/dist/standalone/AlfakitToaster.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/standalone.css +54 -0
- package/dist/starter-kit/AlfakitStarterKitRoot.js.map +1 -1
- package/dist/starter-kit/AlfakitStarterKitRoot.vue.d.ts +2 -2
- package/dist/starter-kit/AlfakitStarterKitRoot.vue.d.ts.map +1 -1
- package/dist/starter-kit/AlfakitStarterKitRoot.vue_vue_type_script_setup_true_lang.js +17 -12
- package/dist/starter-kit/AlfakitStarterKitRoot.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/starter-kit/dashboard-widgets.d.ts +54 -0
- package/dist/starter-kit/dashboard-widgets.d.ts.map +1 -0
- package/dist/starter-kit/dashboard-widgets.js +54 -0
- package/dist/starter-kit/dashboard-widgets.js.map +1 -0
- package/dist/starter-kit/index.d.ts +2 -1
- package/dist/starter-kit/index.d.ts.map +1 -1
- package/dist/starter-kit/index.js +5 -4
- package/dist/starter-kit/runtime.d.ts +6 -0
- package/dist/starter-kit/runtime.d.ts.map +1 -1
- package/dist/starter-kit/runtime.js +19 -15
- package/dist/starter-kit/runtime.js.map +1 -1
- package/dist/starter-kit/starter-kit.d.ts.map +1 -1
- package/dist/starter-kit/starter-kit.js +8 -8
- package/dist/starter-kit/starter-kit.js.map +1 -1
- package/dist/starter-kit/widgets/CopilotTrigger.js +7 -0
- package/dist/starter-kit/widgets/CopilotTrigger.js.map +1 -0
- package/dist/starter-kit/widgets/CopilotTrigger.vue.d.ts +12 -0
- package/dist/starter-kit/widgets/CopilotTrigger.vue.d.ts.map +1 -0
- package/dist/starter-kit/widgets/CopilotTrigger.vue_vue_type_script_setup_true_lang.js +23 -0
- package/dist/starter-kit/widgets/CopilotTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/starter-kit/widgets/LoadedCopilot.js +7 -0
- package/dist/starter-kit/widgets/LoadedCopilot.js.map +1 -0
- package/dist/starter-kit/widgets/LoadedCopilot.vue.d.ts +8 -0
- package/dist/starter-kit/widgets/LoadedCopilot.vue.d.ts.map +1 -0
- package/dist/starter-kit/widgets/LoadedCopilot.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/starter-kit/widgets/LoadedCopilot.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/starter-kit/widgets/SearchTrigger.js.map +1 -1
- package/dist/starter-kit/widgets/SearchTrigger.vue.d.ts.map +1 -1
- package/dist/starter-kit/widgets/SearchTrigger.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/starter-kit/widgets/SearchTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/starter-kit/widgets/StarterKitImpersonationBanner.js +7 -0
- package/dist/starter-kit/widgets/StarterKitImpersonationBanner.js.map +1 -0
- package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue.d.ts +8 -0
- package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue.d.ts.map +1 -0
- package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue_vue_type_script_setup_true_lang.js +34 -0
- package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/starter-kit/widgets/TenantChooser.js.map +1 -1
- package/dist/starter-kit/widgets/TenantChooser.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/starter-kit/widgets/TenantChooser.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/starter-kit/widgets/index.d.ts +40 -9
- package/dist/starter-kit/widgets/index.d.ts.map +1 -1
- package/dist/starter-kit/widgets/index.js +21 -18
- package/dist/starter-kit/widgets/index.js.map +1 -1
- package/dist/starter-kit/widgets/loaded.d.ts +10 -0
- package/dist/starter-kit/widgets/loaded.d.ts.map +1 -0
- package/dist/starter-kit/widgets/loaded.js +5 -0
- package/dist/styles.css +9 -2
- package/dist/themes.css +8 -335
- package/package.json +3 -3
- package/src/AlfakitRoot.vue +9 -1
- package/src/components/actions/ActionButton.vue +14 -6
- package/src/components/actions/ActionGroupMenu.vue +13 -1
- package/src/components/actions/ActionModal.vue +12 -1
- package/src/components/ai/AiCopilot.vue +7 -1
- package/src/components/cms/LivePreview.vue +8 -2
- package/src/components/fields/BuilderField.vue +15 -2
- package/src/components/fields/ColorPickerField.vue +1 -0
- package/src/components/fields/ComboboxSelect.vue +1 -1
- package/src/components/fields/FileUploadField.vue +14 -11
- package/src/components/fields/ImageEditorDialog.vue +7 -3
- package/src/components/fields/KeyValueField.vue +3 -2
- package/src/components/fields/ModalTablePicker.vue +7 -2
- package/src/components/fields/OneTimeCodeInputField.vue +1 -1
- package/src/components/fields/RepeaterField.vue +2 -3
- package/src/components/fields/RichEditorInput.vue +3 -0
- package/src/components/fields/SelectField.vue +4 -2
- package/src/components/fields/TableColumnHeaders.vue +6 -1
- package/src/components/fields/item-actions.ts +31 -10
- package/src/components/file-manager/FileManagerView.vue +1 -1
- package/src/components/form/FormBlock.vue +26 -1
- package/src/components/form/form-context.ts +3 -3
- package/src/components/kanban/KanbanBoard.vue +15 -3
- package/src/components/kanban/KanbanColumnHeader.vue +6 -4
- package/src/components/layout/FusedGroupComponent.vue +1 -0
- package/src/components/layout/SectionComponent.vue +10 -4
- package/src/components/layout/TabsComponent.vue +61 -5
- package/src/components/notifications/NotificationsMenu.vue +11 -0
- package/src/components/panel/GlobalSearch.vue +1 -0
- package/src/components/panel/GlobalSearchPalette.vue +2 -0
- package/src/components/panel/ShortcutKeys.vue +1 -0
- package/src/components/panel/TenantMenu.vue +2 -2
- package/src/components/realtime/use-live-updates.ts +3 -1
- package/src/components/table/ColumnHeader.vue +23 -12
- package/src/components/table/ColumnManager.vue +12 -8
- package/src/components/table/ContentLayoutSort.vue +7 -1
- package/src/components/table/GroupHeaderRow.vue +27 -0
- package/src/components/table/SelectCell.vue +5 -2
- package/src/components/table/TableCellContent.vue +4 -2
- package/src/components/table/TablePagination.vue +12 -7
- package/src/components/table/TextInputCell.vue +11 -5
- package/src/components/table/cell-update.ts +6 -0
- package/src/components/ui/CommandAutoHighlight.vue +27 -0
- package/src/components/ui/DialogContent.vue +5 -1
- package/src/components/ui/PopoverContent.vue +5 -1
- package/src/components/ui/SheetContent.vue +5 -1
- package/src/components/ui/TooltipContent.vue +5 -1
- package/src/context.ts +10 -0
- package/src/create-alfakit.ts +5 -0
- package/src/index.ts +2 -0
- package/src/layouts/lazy-layouts.ts +14 -0
- package/src/layouts/panel-layouts.ts +17 -0
- package/src/lib/lazy.ts +11 -1
- package/src/pages/PageShell.vue +5 -6
- package/src/standalone/AlfakitComponent.vue +17 -6
- package/src/standalone/AlfakitToaster.vue +12 -2
- package/src/starter-kit/AlfakitStarterKitRoot.vue +12 -3
- package/src/starter-kit/dashboard-widgets.ts +93 -0
- package/src/starter-kit/index.ts +7 -1
- package/src/starter-kit/runtime.ts +17 -1
- package/src/starter-kit/starter-kit.ts +2 -1
- package/src/starter-kit/widgets/CopilotTrigger.vue +58 -0
- package/src/starter-kit/widgets/LoadedCopilot.vue +29 -0
- package/src/starter-kit/widgets/SearchTrigger.vue +1 -0
- package/src/starter-kit/widgets/StarterKitImpersonationBanner.vue +57 -0
- package/src/starter-kit/widgets/TenantChooser.vue +1 -1
- package/src/starter-kit/widgets/index.ts +56 -11
- package/src/starter-kit/widgets/loaded.ts +9 -0
- package/src/styles.css +9 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavGroup.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","SidebarGroup","_normalizeProps","_mergeProps","_withCtx","_createVNode","SidebarGroupContent","SidebarMenu","_createElementBlock","_Fragment","_renderList","NavItem","SidebarGroupLabel","_unref","Icon","_createCommentVNode","_createTextVNode","_toDisplayString","_normalizeClass","NavGroupFlyout","Collapsible","_guardReactiveProps","CollapsibleTrigger","_createElementVNode","CollapsibleContent","Icon_default","
|
|
1
|
+
{"version":3,"file":"NavGroup.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","SidebarGroup","_normalizeProps","_mergeProps","_withCtx","_createVNode","SidebarGroupContent","SidebarMenu","_createElementBlock","_Fragment","_renderList","NavItem","SidebarGroupLabel","_unref","Icon","_createCommentVNode","_createTextVNode","_toDisplayString","_normalizeClass","NavGroupFlyout","Collapsible","_guardReactiveProps","CollapsibleTrigger","_createElementVNode","CollapsibleContent","Icon_default","Collapsible_default","CollapsibleContent_default","CollapsibleTrigger_default","SidebarMenu_default","SidebarGroup_default","SidebarGroupContent_default","SidebarGroupLabel_default","NavGroupFlyout_default","NavItem_default","_hoisted_1","NavGroup_vue_vue_type_script_setup_true_lang_default","props","__props","attributes","flyout","contentClass","cn","openBlock","createBlock","item","withCtx","createVNode","normalizeProps","guardReactiveProps","createElementVNode","unref","createCommentVNode","createTextVNode","toDisplayString","ChevronRightIcon","normalizeClass","createElementBlock","Fragment","renderList","mergeProps"],"sources":["../../../src/components/panel/NavGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { NavigationGroupSchema } from '@alfakit/core'\nimport { ChevronRightIcon } from '@lucide/vue'\nimport { Icon } from '../../lib/icons'\nimport Collapsible from '../ui/Collapsible.vue'\nimport CollapsibleContent from '../ui/CollapsibleContent.vue'\nimport CollapsibleTrigger from '../ui/CollapsibleTrigger.vue'\nimport SidebarGroup from '../ui/SidebarGroup.vue'\nimport SidebarGroupContent from '../ui/SidebarGroupContent.vue'\nimport SidebarGroupLabel from '../ui/SidebarGroupLabel.vue'\nimport SidebarMenu from '../ui/SidebarMenu.vue'\nimport { cn } from '../../lib/utils'\nimport NavGroupFlyout from './NavGroupFlyout.vue'\nimport NavItem from './NavItem.vue'\n\nconst props = defineProps<{ group: NavigationGroupSchema }>()\n// `NavigationGroup::extraSidebarAttributes()`; Vue merges `class` with the group's own.\nconst attributes = () => props.group.extraSidebarAttributes ?? {}\n// A labelled group with an icon collapses into a flyout in the icon-only sidebar.\nconst flyout = () => Boolean(props.group.label && props.group.icon)\nconst contentClass = () => cn(flyout() && 'group-data-[collapsible=icon]:hidden')\n</script>\n\n<template>\n <SidebarGroup v-if=\"!props.group.label\" v-bind=\"attributes()\">\n <SidebarGroupContent>\n <SidebarMenu>\n <NavItem v-for=\"item in props.group.items\" :key=\"item.label\" :item=\"item\" />\n </SidebarMenu>\n </SidebarGroupContent>\n </SidebarGroup>\n <SidebarGroup v-else-if=\"!props.group.collapsible\" v-bind=\"attributes()\">\n <SidebarGroupLabel>\n <Icon v-if=\"props.group.icon\" :name=\"props.group.icon\" class=\"me-1.5\" />\n {{ props.group.label }}\n </SidebarGroupLabel>\n <SidebarGroupContent :class=\"contentClass()\">\n <SidebarMenu>\n <NavItem v-for=\"item in props.group.items\" :key=\"item.label\" :item=\"item\" />\n </SidebarMenu>\n </SidebarGroupContent>\n <NavGroupFlyout v-if=\"flyout()\" :group=\"props.group\" />\n </SidebarGroup>\n <Collapsible\n v-else\n :default-open=\"!props.group.collapsed || props.group.items.some((item) => item.active)\"\n class=\"group/nav-group\"\n >\n <SidebarGroup v-bind=\"attributes()\">\n <CollapsibleTrigger as-child>\n <SidebarGroupLabel\n as=\"button\"\n type=\"button\"\n class=\"hover:bg-sidebar-accent w-full cursor-pointer justify-between\"\n >\n <span class=\"flex items-center gap-1.5\">\n <Icon v-if=\"props.group.icon\" :name=\"props.group.icon\" />\n {{ props.group.label }}\n </span>\n <Icon\n name=\"alfakit::panels.sidebar.group.collapse-button\"\n :fallback=\"ChevronRightIcon\"\n class=\"size-3.5 transition-transform group-data-[state=open]/nav-group:rotate-90 rtl:rotate-180 rtl:group-data-[state=open]/nav-group:rotate-90\"\n />\n </SidebarGroupLabel>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarGroupContent :class=\"contentClass()\">\n <SidebarMenu>\n <NavItem v-for=\"item in props.group.items\" :key=\"item.label\" :item=\"item\" />\n </SidebarMenu>\n </SidebarGroupContent>\n </CollapsibleContent>\n <NavGroupFlyout v-if=\"flyout()\" :group=\"props.group\" />\n </SidebarGroup>\n </Collapsible>\n</template>\n"],"mappings":"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"}
|
|
@@ -9,10 +9,10 @@ import c from "../ui/DropdownMenuItem.js";
|
|
|
9
9
|
import l from "../ui/DropdownMenuTrigger.js";
|
|
10
10
|
import u from "../../lib/NewTabHint.js";
|
|
11
11
|
import d from "../ui/DropdownMenuLabel.js";
|
|
12
|
-
import f from "
|
|
13
|
-
import p from "../ui/
|
|
14
|
-
import m from "../ui/
|
|
15
|
-
import h from "
|
|
12
|
+
import f from "./NavLabel.js";
|
|
13
|
+
import p from "../ui/SidebarMenu.js";
|
|
14
|
+
import m from "../ui/SidebarMenuButton.js";
|
|
15
|
+
import h from "../ui/SidebarMenuItem.js";
|
|
16
16
|
import { flattenNavigationItems as g, hasActiveNavigationItem as _ } from "@alfakit/core";
|
|
17
17
|
import { Link as v } from "@inertiajs/vue3";
|
|
18
18
|
import { Fragment as y, computed as b, createBlock as x, createCommentVNode as S, createElementBlock as C, createElementVNode as w, createTextVNode as T, createVNode as E, defineComponent as D, mergeProps as O, normalizeClass as k, openBlock as A, renderList as j, toDisplayString as M, unref as N, withCtx as P } from "vue";
|
|
@@ -27,14 +27,14 @@ var F = ["href"], I = {
|
|
|
27
27
|
props: { group: {} },
|
|
28
28
|
setup(D) {
|
|
29
29
|
let L = D, R = e(), z = b(() => g(L.group.items)), B = b(() => _(L.group.items)), V = (e) => t("data-[active=true]:bg-accent data-[active=true]:font-medium", e === 1 && "ps-6", e > 1 && "ps-9"), H = (e) => t("ms-auto px-1.5 py-0", r(n, e, "gray"));
|
|
30
|
-
return (e, t) => (A(), x(
|
|
30
|
+
return (e, t) => (A(), x(p, {
|
|
31
31
|
class: "hidden group-data-[collapsible=icon]:flex",
|
|
32
32
|
"data-nav-flyout": ""
|
|
33
33
|
}, {
|
|
34
|
-
default: P(() => [E(
|
|
34
|
+
default: P(() => [E(h, null, {
|
|
35
35
|
default: P(() => [E(o, { dir: N(R) }, {
|
|
36
36
|
default: P(() => [E(l, { "as-child": "" }, {
|
|
37
|
-
default: P(() => [E(
|
|
37
|
+
default: P(() => [E(m, { "is-active": B.value }, {
|
|
38
38
|
default: P(() => [E(N(i), { name: L.group.icon }, null, 8, ["name"]), w("span", null, M(L.group.label), 1)]),
|
|
39
39
|
_: 1
|
|
40
40
|
}, 8, ["is-active"])]),
|
|
@@ -65,7 +65,7 @@ var F = ["href"], I = {
|
|
|
65
65
|
key: 0,
|
|
66
66
|
name: e.icon
|
|
67
67
|
}, null, 8, ["name"])) : S("", !0),
|
|
68
|
-
E(
|
|
68
|
+
E(f, {
|
|
69
69
|
class: "truncate",
|
|
70
70
|
text: e.label,
|
|
71
71
|
html: e.labelHtml
|
|
@@ -84,7 +84,7 @@ var F = ["href"], I = {
|
|
|
84
84
|
key: 0,
|
|
85
85
|
name: e.icon
|
|
86
86
|
}, null, 8, ["name"])) : S("", !0),
|
|
87
|
-
E(
|
|
87
|
+
E(f, {
|
|
88
88
|
class: "truncate",
|
|
89
89
|
text: e.label,
|
|
90
90
|
html: e.labelHtml
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavGroupFlyout.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","SidebarMenu","_withCtx","_createVNode","SidebarMenuItem","DropdownMenu","_unref","DropdownMenuTrigger","SidebarMenuButton","Icon","_createElementVNode","_toDisplayString","DropdownMenuContent","DropdownMenuLabel","_createTextVNode","_createElementBlock","_Fragment","_renderList","DropdownMenuItem","_mergeProps","_createCommentVNode","NavLabel","NewTabHint","Badge","_normalizeClass","Icon_default","Badge_default","DropdownMenu_default","DropdownMenuContent_default","DropdownMenuItem_default","DropdownMenuTrigger_default","NewTabHint_default","DropdownMenuLabel_default","SidebarMenu_default","SidebarMenuButton_default","SidebarMenuItem_default","
|
|
1
|
+
{"version":3,"file":"NavGroupFlyout.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","SidebarMenu","_withCtx","_createVNode","SidebarMenuItem","DropdownMenu","_unref","DropdownMenuTrigger","SidebarMenuButton","Icon","_createElementVNode","_toDisplayString","DropdownMenuContent","DropdownMenuLabel","_createTextVNode","_createElementBlock","_Fragment","_renderList","DropdownMenuItem","_mergeProps","_createCommentVNode","NavLabel","NewTabHint","Badge","_normalizeClass","Icon_default","Badge_default","DropdownMenu_default","DropdownMenuContent_default","DropdownMenuItem_default","DropdownMenuTrigger_default","NewTabHint_default","DropdownMenuLabel_default","NavLabel_default","SidebarMenu_default","SidebarMenuButton_default","SidebarMenuItem_default","_hoisted_1","_hoisted_2","NavGroupFlyout_vue_vue_type_script_setup_true_lang_default","props","__props","direction","useDirection","items","computed","flattenNavigationItems","active","hasActiveNavigationItem","itemClass","cn","depth","badgeClass","colorClass","badgeColorClasses","color","openBlock","createBlock","withCtx","createVNode","unref","createElementVNode","toDisplayString","createTextVNode","createElementBlock","Fragment","renderList","item","index","mergeProps","createCommentVNode","Link","normalizeClass"],"sources":["../../../src/components/panel/NavGroupFlyout.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport NavLabel from './NavLabel.vue'\nimport type { NavigationGroupSchema } from '@alfakit/core'\nimport { flattenNavigationItems, hasActiveNavigationItem } from '@alfakit/core'\nimport { Link } from '@inertiajs/vue3'\nimport { computed } from 'vue'\nimport { useDirection } from '../../context'\nimport { badgeColorClasses, colorClass } from '../../lib/colors'\nimport { Icon } from '../../lib/icons'\nimport NewTabHint from '../../lib/NewTabHint.vue'\nimport { cn } from '../../lib/utils'\nimport Badge from '../ui/Badge.vue'\nimport DropdownMenu from '../ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../ui/DropdownMenuLabel.vue'\nimport DropdownMenuTrigger from '../ui/DropdownMenuTrigger.vue'\nimport SidebarMenu from '../ui/SidebarMenu.vue'\nimport SidebarMenuButton from '../ui/SidebarMenuButton.vue'\nimport SidebarMenuItem from '../ui/SidebarMenuItem.vue'\n\n/**\n * In the icon-only (collapsed) sidebar, a group with an icon is one button that opens its\n * items in a flyout menu, like Filament. Hidden while the sidebar is expanded.\n */\nconst props = defineProps<{ group: NavigationGroupSchema }>()\nconst direction = useDirection()\nconst items = computed(() => flattenNavigationItems(props.group.items))\nconst active = computed(() => hasActiveNavigationItem(props.group.items))\nconst itemClass = (depth: number) =>\n cn(\n 'data-[active=true]:bg-accent data-[active=true]:font-medium',\n depth === 1 && 'ps-6',\n depth > 1 && 'ps-9',\n )\nconst badgeClass = (color: string | undefined) =>\n cn('ms-auto px-1.5 py-0', colorClass(badgeColorClasses, color, 'gray'))\n</script>\n\n<template>\n <SidebarMenu class=\"hidden group-data-[collapsible=icon]:flex\" data-nav-flyout=\"\">\n <SidebarMenuItem>\n <DropdownMenu :dir=\"direction\">\n <DropdownMenuTrigger as-child>\n <SidebarMenuButton :is-active=\"active\">\n <Icon :name=\"props.group.icon!\" />\n <span>{{ props.group.label }}</span>\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n :side=\"direction === 'rtl' ? 'left' : 'right'\"\n align=\"start\"\n class=\"min-w-56\"\n >\n <DropdownMenuLabel>{{ props.group.label }}</DropdownMenuLabel>\n <DropdownMenuItem\n v-for=\"({ item, depth }, index) in items\"\n :key=\"`${depth}-${item.label}-${index}`\"\n as-child\n :data-active=\"item.active ? 'true' : undefined\"\n >\n <a\n v-if=\"item.openInNewTab\"\n v-bind=\"item.extraAttributes ?? {}\"\n :href=\"item.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n :class=\"itemClass(depth)\"\n >\n <Icon v-if=\"item.icon\" :name=\"item.icon\" />\n <NavLabel class=\"truncate\" :text=\"item.label\" :html=\"item.labelHtml\" />\n <NewTabHint />\n </a>\n <Link\n v-else\n v-bind=\"item.extraAttributes ?? {}\"\n :href=\"item.url ?? '#'\"\n :aria-current=\"item.active ? 'page' : undefined\"\n :class=\"itemClass(depth)\"\n >\n <Icon v-if=\"item.icon\" :name=\"item.icon\" />\n <NavLabel class=\"truncate\" :text=\"item.label\" :html=\"item.labelHtml\" />\n <Badge\n v-if=\"item.badge !== undefined && item.badge !== null\"\n variant=\"outline\"\n :class=\"badgeClass(item.badgeColor)\"\n :title=\"item.badgeTooltip\"\n >{{ item.badge }}</Badge\n >\n <span\n v-else-if=\"item.badgePending\"\n data-slot=\"badge\"\n aria-hidden=\"true\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n </Link>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n</template>\n"],"mappings":"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"}
|
|
@@ -4,12 +4,12 @@ import { badgeColorClasses as n, colorClass as r } from "../../lib/colors.js";
|
|
|
4
4
|
import i from "../../lib/Icon.js";
|
|
5
5
|
import a from "../ui/Badge2.js";
|
|
6
6
|
import o from "../../lib/NewTabHint.js";
|
|
7
|
-
import s from "
|
|
8
|
-
import c from "../ui/
|
|
9
|
-
import l from "../ui/
|
|
10
|
-
import u from "../ui/
|
|
11
|
-
import d from "../ui/
|
|
12
|
-
import f from "
|
|
7
|
+
import s from "./NavLabel.js";
|
|
8
|
+
import c from "../ui/Collapsible.js";
|
|
9
|
+
import l from "../ui/CollapsibleContent.js";
|
|
10
|
+
import u from "../ui/CollapsibleTrigger.js";
|
|
11
|
+
import d from "../ui/SidebarMenuButton.js";
|
|
12
|
+
import f from "../ui/SidebarMenuItem.js";
|
|
13
13
|
import p from "../ui/SidebarMenuSub.js";
|
|
14
14
|
import m from "./NavSubItem.js";
|
|
15
15
|
import { PREFETCH_CACHE_FOR as h, navigationItemText as g } from "@alfakit/core";
|
|
@@ -22,15 +22,15 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
22
22
|
props: { item: {} },
|
|
23
23
|
setup(w) {
|
|
24
24
|
let L = w, R = e();
|
|
25
|
-
return (e, w) => L.item.children && L.item.children.length > 0 ? (D(), y(
|
|
25
|
+
return (e, w) => L.item.children && L.item.children.length > 0 ? (D(), y(c, {
|
|
26
26
|
key: 0,
|
|
27
27
|
"as-child": "",
|
|
28
28
|
"default-open": L.item.active,
|
|
29
29
|
class: "group/collapsible"
|
|
30
30
|
}, {
|
|
31
|
-
default: j(() => [C(
|
|
32
|
-
default: j(() => [C(
|
|
33
|
-
default: j(() => [C(
|
|
31
|
+
default: j(() => [C(f, null, {
|
|
32
|
+
default: j(() => [C(u, { "as-child": "" }, {
|
|
33
|
+
default: j(() => [C(d, T(L.item.extraAttributes ?? {}, {
|
|
34
34
|
tooltip: A(g)(L.item),
|
|
35
35
|
"is-active": L.item.active
|
|
36
36
|
}), {
|
|
@@ -39,7 +39,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
39
39
|
key: 0,
|
|
40
40
|
name: L.item.icon
|
|
41
41
|
}, null, 8, ["name"])) : b("", !0),
|
|
42
|
-
C(
|
|
42
|
+
C(s, {
|
|
43
43
|
text: L.item.label,
|
|
44
44
|
html: L.item.labelHtml
|
|
45
45
|
}, null, 8, ["text", "html"]),
|
|
@@ -63,7 +63,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
63
63
|
_: 1
|
|
64
64
|
}, 16, ["tooltip", "is-active"])]),
|
|
65
65
|
_: 1
|
|
66
|
-
}), C(
|
|
66
|
+
}), C(l, null, {
|
|
67
67
|
default: j(() => [C(p, null, {
|
|
68
68
|
default: j(() => [(D(!0), x(v, null, O(L.item.children, (e) => (D(), y(m, {
|
|
69
69
|
key: e.label,
|
|
@@ -76,8 +76,8 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
76
76
|
_: 1
|
|
77
77
|
})]),
|
|
78
78
|
_: 1
|
|
79
|
-
}, 8, ["default-open"])) : (D(), y(
|
|
80
|
-
default: j(() => [C(
|
|
79
|
+
}, 8, ["default-open"])) : (D(), y(f, { key: 1 }, {
|
|
80
|
+
default: j(() => [C(d, {
|
|
81
81
|
"as-child": "",
|
|
82
82
|
"is-active": L.item.active,
|
|
83
83
|
tooltip: A(g)(L.item)
|
|
@@ -91,7 +91,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
91
91
|
key: 0,
|
|
92
92
|
name: L.item.icon
|
|
93
93
|
}, null, 8, ["name"])) : b("", !0),
|
|
94
|
-
C(
|
|
94
|
+
C(s, {
|
|
95
95
|
text: L.item.label,
|
|
96
96
|
html: L.item.labelHtml
|
|
97
97
|
}, null, 8, ["text", "html"]),
|
|
@@ -121,7 +121,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
121
121
|
key: 0,
|
|
122
122
|
name: L.item.icon
|
|
123
123
|
}, null, 8, ["name"])) : b("", !0),
|
|
124
|
-
C(
|
|
124
|
+
C(s, {
|
|
125
125
|
text: L.item.label,
|
|
126
126
|
html: L.item.labelHtml
|
|
127
127
|
}, null, 8, ["text", "html"]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavItem.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","Collapsible","_withCtx","_createVNode","SidebarMenuItem","CollapsibleTrigger","SidebarMenuButton","_mergeProps","_unref","Icon","_createCommentVNode","NavLabel","Badge","_normalizeClass","_createTextVNode","_toDisplayString","_createElementBlock","CollapsibleContent","SidebarMenuSub","_Fragment","_renderList","NavSubItem","NewTabHint","Icon_default","Badge_default","NewTabHint_default","
|
|
1
|
+
{"version":3,"file":"NavItem.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","Collapsible","_withCtx","_createVNode","SidebarMenuItem","CollapsibleTrigger","SidebarMenuButton","_mergeProps","_unref","Icon","_createCommentVNode","NavLabel","Badge","_normalizeClass","_createTextVNode","_toDisplayString","_createElementBlock","CollapsibleContent","SidebarMenuSub","_Fragment","_renderList","NavSubItem","NewTabHint","Icon_default","Badge_default","NewTabHint_default","NavLabel_default","Collapsible_default","CollapsibleContent_default","CollapsibleTrigger_default","SidebarMenuButton_default","SidebarMenuItem_default","SidebarMenuSub_default","NavSubItem_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","NavItem_vue_vue_type_script_setup_true_lang_default","props","__props","t","useT","openBlock","createBlock","withCtx","createVNode","mergeProps","unref","navigationItemText","createCommentVNode","normalizeClass","cn","colorClass","badgeColorClasses","createTextVNode","toDisplayString","createElementBlock","ChevronRightIcon","Fragment","renderList","child","Link","PREFETCH_CACHE_FOR"],"sources":["../../../src/components/panel/NavItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { navigationItemText, PREFETCH_CACHE_FOR, type NavigationItemSchema } from '@alfakit/core'\nimport { Link } from '@inertiajs/vue3'\nimport { ChevronRightIcon } from '@lucide/vue'\nimport { badgeColorClasses, colorClass } from '../../lib/colors'\nimport { Icon } from '../../lib/icons'\nimport { cn } from '../../lib/utils'\nimport Badge from '../ui/Badge.vue'\nimport Collapsible from '../ui/Collapsible.vue'\nimport CollapsibleContent from '../ui/CollapsibleContent.vue'\nimport CollapsibleTrigger from '../ui/CollapsibleTrigger.vue'\nimport SidebarMenuButton from '../ui/SidebarMenuButton.vue'\nimport SidebarMenuItem from '../ui/SidebarMenuItem.vue'\nimport SidebarMenuSub from '../ui/SidebarMenuSub.vue'\nimport NavSubItem from './NavSubItem.vue'\nimport NewTabHint from '../../lib/NewTabHint.vue'\nimport NavLabel from './NavLabel.vue'\nimport { useT } from '../../context'\n\nconst props = defineProps<{ item: NavigationItemSchema }>()\nconst t = useT()\n</script>\n\n<template>\n <Collapsible\n v-if=\"props.item.children && props.item.children.length > 0\"\n as-child\n :default-open=\"props.item.active\"\n class=\"group/collapsible\"\n >\n <SidebarMenuItem>\n <CollapsibleTrigger as-child>\n <SidebarMenuButton\n v-bind=\"props.item.extraAttributes ?? {}\"\n :tooltip=\"navigationItemText(props.item)\"\n :is-active=\"props.item.active\"\n >\n <Icon v-if=\"props.item.icon\" :name=\"props.item.icon\" />\n <NavLabel :text=\"props.item.label\" :html=\"props.item.labelHtml\" />\n <Badge\n v-if=\"props.item.badge !== undefined && props.item.badge !== null\"\n variant=\"outline\"\n :class=\"\n cn(\n 'ms-auto px-1.5 py-0',\n colorClass(badgeColorClasses, props.item.badgeColor, 'gray'),\n )\n \"\n :title=\"props.item.badgeTooltip\"\n >{{ props.item.badge }}</Badge\n >\n <span\n v-else-if=\"props.item.badgePending\"\n data-slot=\"badge\"\n aria-busy=\"true\"\n :aria-label=\"t('loading', {}, 'Loading')\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n <ChevronRightIcon\n class=\"ms-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90 rtl:rotate-180 rtl:group-data-[state=open]/collapsible:rotate-90\"\n />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n <NavSubItem v-for=\"child in props.item.children\" :key=\"child.label\" :item=\"child\" />\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n <SidebarMenuItem v-else>\n <SidebarMenuButton\n as-child\n :is-active=\"props.item.active\"\n :tooltip=\"navigationItemText(props.item)\"\n >\n <a\n v-if=\"props.item.openInNewTab\"\n v-bind=\"props.item.extraAttributes ?? {}\"\n :href=\"props.item.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <Icon v-if=\"props.item.icon\" :name=\"props.item.icon\" />\n <NavLabel :text=\"props.item.label\" :html=\"props.item.labelHtml\" />\n <NewTabHint />\n <Badge\n v-if=\"props.item.badge !== undefined && props.item.badge !== null\"\n variant=\"outline\"\n :class=\"\n cn('ms-auto px-1.5 py-0', colorClass(badgeColorClasses, props.item.badgeColor, 'gray'))\n \"\n :title=\"props.item.badgeTooltip\"\n >{{ props.item.badge }}</Badge\n >\n <span\n v-else-if=\"props.item.badgePending\"\n data-slot=\"badge\"\n aria-busy=\"true\"\n :aria-label=\"t('loading', {}, 'Loading')\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n </a>\n <Link\n v-else\n v-bind=\"props.item.extraAttributes ?? {}\"\n :href=\"props.item.url ?? '#'\"\n prefetch\n :cache-for=\"PREFETCH_CACHE_FOR\"\n >\n <Icon v-if=\"props.item.icon\" :name=\"props.item.icon\" />\n <NavLabel :text=\"props.item.label\" :html=\"props.item.labelHtml\" />\n <Badge\n v-if=\"props.item.badge !== undefined && props.item.badge !== null\"\n variant=\"outline\"\n :class=\"\n cn('ms-auto px-1.5 py-0', colorClass(badgeColorClasses, props.item.badgeColor, 'gray'))\n \"\n :title=\"props.item.badgeTooltip\"\n >{{ props.item.badge }}</Badge\n >\n <span\n v-else-if=\"props.item.badgePending\"\n data-slot=\"badge\"\n aria-busy=\"true\"\n :aria-label=\"t('loading', {}, 'Loading')\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n </Link>\n </SidebarMenuButton>\n </SidebarMenuItem>\n</template>\n"],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@ import { badgeColorClasses as n, colorClass as r } from "../../lib/colors.js";
|
|
|
4
4
|
import i from "../../lib/Icon.js";
|
|
5
5
|
import a from "../ui/Badge2.js";
|
|
6
6
|
import o from "../../lib/NewTabHint.js";
|
|
7
|
-
import s from "
|
|
8
|
-
import c from "../ui/
|
|
9
|
-
import l from "../ui/
|
|
10
|
-
import u from "
|
|
7
|
+
import s from "./NavLabel.js";
|
|
8
|
+
import c from "../ui/Collapsible.js";
|
|
9
|
+
import l from "../ui/CollapsibleContent.js";
|
|
10
|
+
import u from "../ui/CollapsibleTrigger.js";
|
|
11
11
|
import d from "../ui/SidebarMenuSub.js";
|
|
12
12
|
import f from "../ui/SidebarMenuSubButton.js";
|
|
13
13
|
import p from "../ui/SidebarMenuSubItem.js";
|
|
@@ -23,12 +23,12 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
23
23
|
setup(w) {
|
|
24
24
|
let L = w, R = e(), z = v(() => L.item.badge !== void 0 && L.item.badge !== null), B = v(() => t("ms-auto px-1.5 py-0", r(n, L.item.badgeColor, "gray")));
|
|
25
25
|
return (e, t) => (D(), y(p, null, {
|
|
26
|
-
default: j(() => [L.item.children && L.item.children.length > 0 ? (D(), y(
|
|
26
|
+
default: j(() => [L.item.children && L.item.children.length > 0 ? (D(), y(c, {
|
|
27
27
|
key: 0,
|
|
28
28
|
"default-open": L.item.active,
|
|
29
29
|
class: "group/nav-sub"
|
|
30
30
|
}, {
|
|
31
|
-
default: j(() => [C(
|
|
31
|
+
default: j(() => [C(u, { "as-child": "" }, {
|
|
32
32
|
default: j(() => [C(f, T(L.item.extraAttributes ?? {}, {
|
|
33
33
|
as: "button",
|
|
34
34
|
type: "button",
|
|
@@ -40,7 +40,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
40
40
|
key: 0,
|
|
41
41
|
name: L.item.icon
|
|
42
42
|
}, null, 8, ["name"])) : b("", !0),
|
|
43
|
-
C(
|
|
43
|
+
C(s, {
|
|
44
44
|
text: L.item.label,
|
|
45
45
|
html: L.item.labelHtml
|
|
46
46
|
}, null, 8, ["text", "html"]),
|
|
@@ -64,7 +64,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
64
64
|
_: 1
|
|
65
65
|
}, 16, ["is-active"])]),
|
|
66
66
|
_: 1
|
|
67
|
-
}), C(
|
|
67
|
+
}), C(l, null, {
|
|
68
68
|
default: j(() => [C(d, null, {
|
|
69
69
|
default: j(() => [(D(!0), x(_, null, O(L.item.children, (e) => (D(), y(m, {
|
|
70
70
|
key: e.label,
|
|
@@ -89,7 +89,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
89
89
|
key: 0,
|
|
90
90
|
name: L.item.icon
|
|
91
91
|
}, null, 8, ["name"])) : b("", !0),
|
|
92
|
-
C(
|
|
92
|
+
C(s, {
|
|
93
93
|
text: L.item.label,
|
|
94
94
|
html: L.item.labelHtml
|
|
95
95
|
}, null, 8, ["text", "html"]),
|
|
@@ -119,7 +119,7 @@ var N = ["aria-label"], P = ["href"], F = ["aria-label"], I = ["aria-label"], L
|
|
|
119
119
|
key: 0,
|
|
120
120
|
name: L.item.icon
|
|
121
121
|
}, null, 8, ["name"])) : b("", !0),
|
|
122
|
-
C(
|
|
122
|
+
C(s, {
|
|
123
123
|
text: L.item.label,
|
|
124
124
|
html: L.item.labelHtml
|
|
125
125
|
}, null, 8, ["text", "html"]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavSubItem.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","SidebarMenuSubItem","_withCtx","Collapsible","_createVNode","CollapsibleTrigger","SidebarMenuSubButton","_mergeProps","_unref","Icon","_createCommentVNode","NavLabel","Badge","_normalizeClass","_createTextVNode","_toDisplayString","_createElementBlock","CollapsibleContent","SidebarMenuSub","_Fragment","_renderList","NavSubItem","NewTabHint","Icon_default","Badge_default","NewTabHint_default","Collapsible_default","CollapsibleContent_default","CollapsibleTrigger_default","
|
|
1
|
+
{"version":3,"file":"NavSubItem.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","SidebarMenuSubItem","_withCtx","Collapsible","_createVNode","CollapsibleTrigger","SidebarMenuSubButton","_mergeProps","_unref","Icon","_createCommentVNode","NavLabel","Badge","_normalizeClass","_createTextVNode","_toDisplayString","_createElementBlock","CollapsibleContent","SidebarMenuSub","_Fragment","_renderList","NavSubItem","NewTabHint","Icon_default","Badge_default","NewTabHint_default","NavLabel_default","Collapsible_default","CollapsibleContent_default","CollapsibleTrigger_default","SidebarMenuSub_default","SidebarMenuSubButton_default","SidebarMenuSubItem_default","NavSubItem_default","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","NavSubItem_vue_vue_type_script_setup_true_lang_default","props","__props","t","useT","hasBadge","computed","badgeClass","cn","colorClass","badgeColorClasses","openBlock","createBlock","withCtx","createVNode","mergeProps","unref","createCommentVNode","normalizeClass","createTextVNode","toDisplayString","createElementBlock","ChevronRightIcon","Fragment","renderList","child","Link","PREFETCH_CACHE_FOR"],"sources":["../../../src/components/panel/NavSubItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PREFETCH_CACHE_FOR, type NavigationItemSchema } from '@alfakit/core'\nimport { Link } from '@inertiajs/vue3'\nimport { ChevronRightIcon } from '@lucide/vue'\nimport { computed } from 'vue'\nimport { badgeColorClasses, colorClass } from '../../lib/colors'\nimport { Icon } from '../../lib/icons'\nimport { cn } from '../../lib/utils'\nimport Badge from '../ui/Badge.vue'\nimport Collapsible from '../ui/Collapsible.vue'\nimport CollapsibleContent from '../ui/CollapsibleContent.vue'\nimport CollapsibleTrigger from '../ui/CollapsibleTrigger.vue'\nimport SidebarMenuSub from '../ui/SidebarMenuSub.vue'\nimport SidebarMenuSubButton from '../ui/SidebarMenuSubButton.vue'\nimport SidebarMenuSubItem from '../ui/SidebarMenuSubItem.vue'\nimport NavSubItem from './NavSubItem.vue'\nimport NewTabHint from '../../lib/NewTabHint.vue'\nimport NavLabel from './NavLabel.vue'\nimport { useT } from '../../context'\n\n/** A child navigation item (any depth): badge, new-tab link and nested children. */\nconst props = defineProps<{ item: NavigationItemSchema }>()\nconst t = useT()\nconst hasBadge = computed(() => props.item.badge !== undefined && props.item.badge !== null)\nconst badgeClass = computed(() =>\n cn('ms-auto px-1.5 py-0', colorClass(badgeColorClasses, props.item.badgeColor, 'gray')),\n)\n</script>\n\n<template>\n <SidebarMenuSubItem>\n <Collapsible\n v-if=\"props.item.children && props.item.children.length > 0\"\n :default-open=\"props.item.active\"\n class=\"group/nav-sub\"\n >\n <CollapsibleTrigger as-child>\n <SidebarMenuSubButton\n v-bind=\"props.item.extraAttributes ?? {}\"\n as=\"button\"\n type=\"button\"\n class=\"w-full\"\n :is-active=\"props.item.active\"\n >\n <Icon v-if=\"props.item.icon\" :name=\"props.item.icon\" />\n <NavLabel :text=\"props.item.label\" :html=\"props.item.labelHtml\" />\n <Badge\n v-if=\"hasBadge\"\n variant=\"outline\"\n :class=\"badgeClass\"\n :title=\"props.item.badgeTooltip\"\n >{{ props.item.badge }}</Badge\n >\n <span\n v-else-if=\"props.item.badgePending\"\n data-slot=\"badge\"\n aria-busy=\"true\"\n :aria-label=\"t('loading', {}, 'Loading')\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n <ChevronRightIcon\n class=\"ms-auto transition-transform duration-200 group-data-[state=open]/nav-sub:rotate-90 rtl:rotate-180 rtl:group-data-[state=open]/nav-sub:rotate-90\"\n />\n </SidebarMenuSubButton>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <SidebarMenuSub>\n <NavSubItem v-for=\"child in props.item.children\" :key=\"child.label\" :item=\"child\" />\n </SidebarMenuSub>\n </CollapsibleContent>\n </Collapsible>\n <SidebarMenuSubButton v-else as-child :is-active=\"props.item.active\">\n <a\n v-if=\"props.item.openInNewTab\"\n v-bind=\"props.item.extraAttributes ?? {}\"\n :href=\"props.item.url\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <Icon v-if=\"props.item.icon\" :name=\"props.item.icon\" />\n <NavLabel :text=\"props.item.label\" :html=\"props.item.labelHtml\" />\n <NewTabHint />\n <Badge\n v-if=\"hasBadge\"\n variant=\"outline\"\n :class=\"badgeClass\"\n :title=\"props.item.badgeTooltip\"\n >{{ props.item.badge }}</Badge\n >\n <span\n v-else-if=\"props.item.badgePending\"\n data-slot=\"badge\"\n aria-busy=\"true\"\n :aria-label=\"t('loading', {}, 'Loading')\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n </a>\n <Link\n v-else\n v-bind=\"props.item.extraAttributes ?? {}\"\n :href=\"props.item.url ?? '#'\"\n prefetch\n :cache-for=\"PREFETCH_CACHE_FOR\"\n >\n <Icon v-if=\"props.item.icon\" :name=\"props.item.icon\" />\n <NavLabel :text=\"props.item.label\" :html=\"props.item.labelHtml\" />\n <Badge\n v-if=\"hasBadge\"\n variant=\"outline\"\n :class=\"badgeClass\"\n :title=\"props.item.badgeTooltip\"\n >{{ props.item.badge }}</Badge\n >\n <span\n v-else-if=\"props.item.badgePending\"\n data-slot=\"badge\"\n aria-busy=\"true\"\n :aria-label=\"t('loading', {}, 'Loading')\"\n class=\"bg-muted-foreground/20 ms-auto inline-block h-4 w-5 animate-pulse rounded-md\"\n />\n </Link>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortcutKeys.js","names":["_sfc_main","ShortcutKeys_vue_vue_type_script_setup_true_lang_default","ShortcutKeys_default"],"sources":["../../../src/components/panel/ShortcutKeys.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { shortcutSteps } from '@alfakit/core'\nimport { computed } from 'vue'\nimport { useHydrated } from '../../composables/use-hydrated'\nimport { useT } from '../../context'\nimport { cn } from '../../lib/utils'\n\n/**\n * A key binding as `<kbd>` keys (`G` then `D`, `⌘K`). The keys depend on the visitor's\n * platform (⌘ or Ctrl), so they render after hydration.\n */\nconst props = defineProps<{ binding: string; class?: string }>()\nconst t = useT()\nconst hydrated = useHydrated()\nconst steps = computed(() => shortcutSteps(props.binding))\n</script>\n\n<template>\n <span\n v-if=\"hydrated\"\n data-slot=\"shortcut-keys\"\n :class=\"cn('inline-flex items-center gap-1', props.class)\"\n >\n <span v-for=\"(step, index) in steps\" :key=\"index\" class=\"inline-flex items-center gap-1\">\n <span v-if=\"index > 0\" class=\"text-muted-foreground text-[10px]\">{{\n t('shortcuts.then', {}, 'then')\n }}</span>\n <kbd\n class=\"bg-muted text-muted-foreground rounded border px-1.5 font-mono text-[10px] leading-5\"\n >{{ step }}</kbd\n >\n </span>\n </span>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"ShortcutKeys.js","names":["_sfc_main","ShortcutKeys_vue_vue_type_script_setup_true_lang_default","ShortcutKeys_default"],"sources":["../../../src/components/panel/ShortcutKeys.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { shortcutSteps } from '@alfakit/core'\nimport { computed } from 'vue'\nimport { useHydrated } from '../../composables/use-hydrated'\nimport { useT } from '../../context'\nimport { cn } from '../../lib/utils'\n\n/**\n * A key binding as `<kbd>` keys (`G` then `D`, `⌘K`). The keys depend on the visitor's\n * platform (⌘ or Ctrl), so they render after hydration.\n */\nconst props = defineProps<{ binding: string; class?: string }>()\nconst t = useT()\nconst hydrated = useHydrated()\nconst steps = computed(() => shortcutSteps(props.binding))\n</script>\n\n<template>\n <span\n v-if=\"hydrated\"\n data-slot=\"shortcut-keys\"\n :class=\"cn('inline-flex items-center gap-1', props.class)\"\n >\n <span v-for=\"(step, index) in steps\" :key=\"index\" class=\"inline-flex items-center gap-1\">\n <span v-if=\"index > 0\" class=\"text-muted-foreground text-[10px]\">{{\n t('shortcuts.then', {}, 'then')\n }}</span>\n <kbd\n dir=\"ltr\"\n class=\"bg-muted text-muted-foreground rounded border px-1.5 font-mono text-[10px] leading-5\"\n >{{ step }}</kbd\n >\n </span>\n </span>\n</template>\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortcutKeys.vue.d.ts","sourceRoot":"","sources":["../../../src/components/panel/ShortcutKeys.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShortcutKeys.vue.d.ts","sourceRoot":"","sources":["../../../src/components/panel/ShortcutKeys.vue"],"names":[],"mappings":"AA2CA;;;GAGG;AACH,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;;AA2EvD,wBAMG"}
|
|
@@ -7,7 +7,10 @@ import { Fragment as i, computed as a, createCommentVNode as o, createElementBlo
|
|
|
7
7
|
var h = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "text-muted-foreground text-[10px]"
|
|
10
|
-
}, g = {
|
|
10
|
+
}, g = {
|
|
11
|
+
dir: "ltr",
|
|
12
|
+
class: "bg-muted text-muted-foreground rounded border px-1.5 font-mono text-[10px] leading-5"
|
|
13
|
+
}, _ = /*@__PURE__*/ l({
|
|
11
14
|
__name: "ShortcutKeys",
|
|
12
15
|
props: {
|
|
13
16
|
binding: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShortcutKeys.vue_vue_type_script_setup_true_lang.js","names":["_unref","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_toDisplayString","_createCommentVNode","_createElementVNode","_hoisted_1","_hoisted_2","ShortcutKeys_vue_vue_type_script_setup_true_lang_default","props","__props","t","useT","hydrated","useHydrated","steps","computed","shortcutSteps","unref","openBlock","createElementBlock","normalizeClass","cn","Fragment","renderList","index","toDisplayString","createCommentVNode","createElementVNode","step"],"sources":["../../../src/components/panel/ShortcutKeys.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { shortcutSteps } from '@alfakit/core'\nimport { computed } from 'vue'\nimport { useHydrated } from '../../composables/use-hydrated'\nimport { useT } from '../../context'\nimport { cn } from '../../lib/utils'\n\n/**\n * A key binding as `<kbd>` keys (`G` then `D`, `⌘K`). The keys depend on the visitor's\n * platform (⌘ or Ctrl), so they render after hydration.\n */\nconst props = defineProps<{ binding: string; class?: string }>()\nconst t = useT()\nconst hydrated = useHydrated()\nconst steps = computed(() => shortcutSteps(props.binding))\n</script>\n\n<template>\n <span\n v-if=\"hydrated\"\n data-slot=\"shortcut-keys\"\n :class=\"cn('inline-flex items-center gap-1', props.class)\"\n >\n <span v-for=\"(step, index) in steps\" :key=\"index\" class=\"inline-flex items-center gap-1\">\n <span v-if=\"index > 0\" class=\"text-muted-foreground text-[10px]\">{{\n t('shortcuts.then', {}, 'then')\n }}</span>\n <kbd\n class=\"bg-muted text-muted-foreground rounded border px-1.5 font-mono text-[10px] leading-5\"\n >{{ step }}</kbd\n >\n </span>\n </span>\n</template>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShortcutKeys.vue_vue_type_script_setup_true_lang.js","names":["_unref","_openBlock","_createElementBlock","_normalizeClass","_Fragment","_renderList","_toDisplayString","_createCommentVNode","_createElementVNode","_hoisted_1","_hoisted_2","ShortcutKeys_vue_vue_type_script_setup_true_lang_default","props","__props","t","useT","hydrated","useHydrated","steps","computed","shortcutSteps","unref","openBlock","createElementBlock","normalizeClass","cn","Fragment","renderList","index","toDisplayString","createCommentVNode","createElementVNode","step"],"sources":["../../../src/components/panel/ShortcutKeys.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { shortcutSteps } from '@alfakit/core'\nimport { computed } from 'vue'\nimport { useHydrated } from '../../composables/use-hydrated'\nimport { useT } from '../../context'\nimport { cn } from '../../lib/utils'\n\n/**\n * A key binding as `<kbd>` keys (`G` then `D`, `⌘K`). The keys depend on the visitor's\n * platform (⌘ or Ctrl), so they render after hydration.\n */\nconst props = defineProps<{ binding: string; class?: string }>()\nconst t = useT()\nconst hydrated = useHydrated()\nconst steps = computed(() => shortcutSteps(props.binding))\n</script>\n\n<template>\n <span\n v-if=\"hydrated\"\n data-slot=\"shortcut-keys\"\n :class=\"cn('inline-flex items-center gap-1', props.class)\"\n >\n <span v-for=\"(step, index) in steps\" :key=\"index\" class=\"inline-flex items-center gap-1\">\n <span v-if=\"index > 0\" class=\"text-muted-foreground text-[10px]\">{{\n t('shortcuts.then', {}, 'then')\n }}</span>\n <kbd\n dir=\"ltr\"\n class=\"bg-muted text-muted-foreground rounded border px-1.5 font-mono text-[10px] leading-5\"\n >{{ step }}</kbd\n >\n </span>\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAWA,IAAMY,IAAQC,GACRC,IAAIC,EAAK,GACTC,IAAWC,EAAY,GACvBC,IAAQC,QAAeC,EAAcR,EAAM,OAAO,CAAC;mBAK/CZ,EAAAgB,CAAA,KADRf,EAAA,GAAAC,EAeO,QAAA;;GAbL,aAAU;GACT,OAAKC,EAAEH,EAAAyB,CAAA,CAAE,CAAA,kCAAmCb,EAAM,KAAK,CAAA;EAExDX,GAAAA,EAAAA,EAAA,EAAA,GAAAC,EASOE,GAAA,MAAAC,EATuBa,EAAA,QAAhB,GAAM,OAApBjB,EAAA,GAAAC,EASO,QAAA;GAT+B,KAAK0B;GAAO,OAAM;EAC1C,GAAA,CAAAA,IAAK,KAAjB3B,EAAA,GAAAC,EAES,QAFTO,GAESH,EADPN,EAAAc,CAAA,CAAC,CAAA,kBAAA,CAAA,GAAA,MAAA,CAAA,GAAA,CAAA,KAAAgB,EAAA,IAAA,EAAA,GAEHtB,EAIC,OAJDE,GAICJ,EADK0B,CAAI,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantMenu.js","names":["_sfc_main","TenantMenu_vue_vue_type_script_setup_true_lang_default","TenantMenu_default"],"sources":["../../../src/components/panel/TenantMenu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { filterTenants, initials, tenantNameText } from '@alfakit/core'\nimport { Link, router } from '@inertiajs/vue3'\nimport { CheckIcon, ChevronsUpDownIcon, PlusIcon, SearchIcon, SettingsIcon } from '@lucide/vue'\nimport { computed, ref } from 'vue'\nimport { usePanel, useT } from '../../context'\nimport { Icon } from '../../lib/icons'\nimport Avatar from '../ui/Avatar.vue'\nimport AvatarFallback from '../ui/AvatarFallback.vue'\nimport AvatarImage from '../ui/AvatarImage.vue'\nimport DropdownMenu from '../ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../ui/DropdownMenuLabel.vue'\nimport DropdownMenuSeparator from '../ui/DropdownMenuSeparator.vue'\nimport DropdownMenuTrigger from '../ui/DropdownMenuTrigger.vue'\nimport SidebarMenuButton from '../ui/SidebarMenuButton.vue'\nimport MenuItemEntries from './MenuItemEntries.vue'\nimport MenuItemEntry from './MenuItemEntry.vue'\nimport NavLabel from './NavLabel.vue'\n\n/**\n * The tenant switcher: a sidebar header button, or a compact button in the top bar of the\n * `topbar` layout (`variant=\"topbar\"`), where the store name shows from `lg` up.\n */\nconst props = withDefaults(defineProps<{ variant?: 'sidebar' | 'topbar' }>(), {\n variant: 'sidebar',\n})\n\nconst t = useT()\nconst panel = usePanel()\nconst tenancy = computed(() => panel.value.tenancy)\nconst current = computed(() => tenancy.value?.current)\nconst search = ref('')\n// `tenantSwitcher(false)` sends no tenants; `searchableTenantMenu()` adds a search field.\nconst hasSwitcher = computed(\n () => tenancy.value?.switcher !== false && (tenancy.value?.tenants.length ?? 0) > 0,\n)\nconst tenants = computed(() =>\n tenancy.value?.searchable\n ? filterTenants(tenancy.value.tenants, search.value)\n : (tenancy.value?.tenants ?? []),\n)\n</script>\n\n<template>\n <DropdownMenu v-if=\"tenancy && current\">\n <DropdownMenuTrigger as-child>\n <button\n v-if=\"props.variant === 'topbar'\"\n type=\"button\"\n data-slot=\"tenant-menu\"\n class=\"hover:bg-accent data-[state=open]:bg-accent inline-flex h-9 max-w-60 shrink-0 items-center gap-2 rounded-md px-2 text-sm font-medium\"\n >\n <Avatar class=\"size-6 rounded-md\">\n <AvatarImage v-if=\"current.avatar\" :src=\"current.avatar\" alt=\"\" />\n <AvatarFallback class=\"rounded-md text-[10px]\">{{\n initials(tenantNameText(current))\n }}</AvatarFallback>\n </Avatar>\n <span\n class=\"sr-only min-w-0 truncate lg:not-sr-only lg:grid lg:text-start lg:leading-tight\"\n >\n <span\n v-if=\"current.label\"\n data-slot=\"tenant-menu-label\"\n class=\"text-muted-foreground text-[10px]\"\n >{{ current.label }}\n </span>\n <NavLabel class=\"truncate\" :text=\"current.name\" :html=\"current.nameHtml\" />\n </span>\n <Icon\n name=\"alfakit::panels.tenant-menu.toggle-button\"\n :fallback=\"ChevronsUpDownIcon\"\n class=\"text-muted-foreground size-4 shrink-0\"\n />\n </button>\n <SidebarMenuButton v-else size=\"lg\" class=\"data-[state=open]:bg-sidebar-accent\">\n <Avatar class=\"size-8 rounded-lg\">\n <AvatarImage v-if=\"current.avatar\" :src=\"current.avatar\" :alt=\"tenantNameText(current)\" />\n <AvatarFallback class=\"rounded-lg\">{{\n initials(tenantNameText(current))\n }}</AvatarFallback>\n </Avatar>\n <div class=\"grid flex-1 text-start text-sm leading-tight\">\n <!-- `HasCurrentTenantLabel`: a caption above the name instead of the brand. -->\n <span\n v-if=\"current.label\"\n data-slot=\"tenant-menu-label\"\n class=\"text-muted-foreground truncate text-xs\"\n >{{ current.label }}</span\n >\n <NavLabel class=\"truncate font-medium\" :text=\"current.name\" :html=\"current.nameHtml\" />\n <span v-if=\"!current.label\" class=\"text-muted-foreground truncate text-xs\">{{\n panel.brandName\n }}</span>\n </div>\n <Icon\n name=\"alfakit::panels.tenant-menu.toggle-button\"\n :fallback=\"ChevronsUpDownIcon\"\n class=\"ms-auto size-4\"\n />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent class=\"min-w-56 rounded-lg\" side=\"bottom\" align=\"start\" :side-offset=\"4\">\n <DropdownMenuLabel v-if=\"hasSwitcher\" class=\"text-muted-foreground text-xs\">{{\n t('tenancy.switch', {}, 'Switch')\n }}</DropdownMenuLabel>\n <div\n v-if=\"hasSwitcher && tenancy.searchable\"\n data-slot=\"tenant-menu-search\"\n class=\"relative px-1 pb-1\"\n >\n <SearchIcon\n class=\"text-muted-foreground pointer-events-none absolute start-3 top-1/2 size-3.5 -translate-y-1/2\"\n aria-hidden=\"true\"\n />\n <!-- Keep the menu's type-ahead from taking the keys. -->\n <input\n v-model=\"search\"\n type=\"search\"\n :placeholder=\"t('tenancy.search', {}, 'Search')\"\n :aria-label=\"t('tenancy.search', {}, 'Search')\"\n class=\"border-input focus-visible:ring-ring/50 h-8 w-full rounded-md border bg-transparent ps-7 pe-2 text-sm outline-none focus-visible:ring-[3px]\"\n @keydown.stop\n />\n </div>\n <p\n v-if=\"hasSwitcher && tenancy.searchable && tenants.length === 0\"\n class=\"text-muted-foreground px-2 py-1.5 text-sm\"\n >\n {{ t('no_results', {}, 'No results.') }}\n </p>\n <DropdownMenuItem\n v-for=\"tenant in tenants\"\n :key=\"String(tenant.id)\"\n @select=\"router.visit(tenant.url)\"\n >\n <Avatar class=\"size-6 rounded-sm\">\n <AvatarImage v-if=\"tenant.avatar\" :src=\"tenant.avatar\" :alt=\"tenantNameText(tenant)\" />\n <AvatarFallback class=\"rounded-sm text-[10px]\">{{\n initials(tenantNameText(tenant))\n }}</AvatarFallback>\n </Avatar>\n <NavLabel class=\"flex-1 truncate\" :text=\"tenant.name\" :html=\"tenant.nameHtml\" />\n <CheckIcon v-if=\"String(tenant.id) === String(current.id)\" class=\"size-4\" />\n </DropdownMenuItem>\n <DropdownMenuSeparator\n v-if=\"\n hasSwitcher && (tenancy.registrationUrl || tenancy.profileUrl || tenancy.menu?.length)\n \"\n />\n <MenuItemEntry v-if=\"tenancy.profile\" :item=\"tenancy.profile\" menu=\"tenantMenu\" />\n <DropdownMenuItem v-else-if=\"tenancy.profileUrl\" as-child>\n <Link :href=\"tenancy.profileUrl\" class=\"w-full\"\n ><Icon name=\"alfakit::panels.tenant-menu.profile-button\" :fallback=\"SettingsIcon\" />\n {{ t('tenancy.profile', {}, 'Settings') }}</Link\n >\n </DropdownMenuItem>\n <MenuItemEntries v-if=\"tenancy.menu\" :items=\"tenancy.menu\" menu=\"tenantMenu\" />\n <MenuItemEntry v-if=\"tenancy.registration\" :item=\"tenancy.registration\" menu=\"tenantMenu\" />\n <DropdownMenuItem v-else-if=\"tenancy.registrationUrl\" as-child>\n <Link :href=\"tenancy.registrationUrl\" class=\"w-full\"\n ><Icon name=\"alfakit::panels.tenant-menu.registration-button\" :fallback=\"PlusIcon\" />\n {{ t('tenancy.register', {}, 'New') }}</Link\n >\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"TenantMenu.js","names":["_sfc_main","TenantMenu_vue_vue_type_script_setup_true_lang_default","TenantMenu_default"],"sources":["../../../src/components/panel/TenantMenu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { filterTenants, initials, tenantNameText } from '@alfakit/core'\nimport { Link, router } from '@inertiajs/vue3'\nimport { CheckIcon, ChevronsUpDownIcon, PlusIcon, SearchIcon, SettingsIcon } from '@lucide/vue'\nimport { computed, ref } from 'vue'\nimport { usePanel, useT } from '../../context'\nimport { Icon } from '../../lib/icons'\nimport Avatar from '../ui/Avatar.vue'\nimport AvatarFallback from '../ui/AvatarFallback.vue'\nimport AvatarImage from '../ui/AvatarImage.vue'\nimport DropdownMenu from '../ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../ui/DropdownMenuLabel.vue'\nimport DropdownMenuSeparator from '../ui/DropdownMenuSeparator.vue'\nimport DropdownMenuTrigger from '../ui/DropdownMenuTrigger.vue'\nimport SidebarMenuButton from '../ui/SidebarMenuButton.vue'\nimport MenuItemEntries from './MenuItemEntries.vue'\nimport MenuItemEntry from './MenuItemEntry.vue'\nimport NavLabel from './NavLabel.vue'\n\n/**\n * The tenant switcher: a sidebar header button, or a compact button in the top bar of the\n * `topbar` layout (`variant=\"topbar\"`), where the store name shows from `lg` up.\n */\nconst props = withDefaults(defineProps<{ variant?: 'sidebar' | 'topbar' }>(), {\n variant: 'sidebar',\n})\n\nconst t = useT()\nconst panel = usePanel()\nconst tenancy = computed(() => panel.value.tenancy)\nconst current = computed(() => tenancy.value?.current)\nconst search = ref('')\n// `tenantSwitcher(false)` sends no tenants; `searchableTenantMenu()` adds a search field.\nconst hasSwitcher = computed(\n () => tenancy.value?.switcher !== false && (tenancy.value?.tenants.length ?? 0) > 0,\n)\nconst tenants = computed(() =>\n tenancy.value?.searchable\n ? filterTenants(tenancy.value.tenants, search.value)\n : (tenancy.value?.tenants ?? []),\n)\n</script>\n\n<template>\n <DropdownMenu v-if=\"tenancy && current\">\n <DropdownMenuTrigger as-child>\n <button\n v-if=\"props.variant === 'topbar'\"\n type=\"button\"\n data-slot=\"tenant-menu\"\n class=\"hover:bg-accent data-[state=open]:bg-accent inline-flex h-9 max-w-60 shrink-0 items-center gap-2 rounded-md px-2 text-sm font-medium\"\n >\n <Avatar class=\"size-6 rounded-md\">\n <AvatarImage v-if=\"current.avatar\" :src=\"current.avatar\" alt=\"\" />\n <AvatarFallback class=\"rounded-md text-[10px]\">{{\n initials(tenantNameText(current))\n }}</AvatarFallback>\n </Avatar>\n <span\n class=\"sr-only min-w-0 truncate lg:not-sr-only lg:grid lg:text-start lg:leading-tight\"\n >\n <span\n v-if=\"current.label\"\n data-slot=\"tenant-menu-label\"\n class=\"text-muted-foreground text-[10px]\"\n >{{ current.label }}\n </span>\n <NavLabel class=\"truncate\" :text=\"current.name\" :html=\"current.nameHtml\" />\n </span>\n <Icon\n name=\"alfakit::panels.tenant-menu.toggle-button\"\n :fallback=\"ChevronsUpDownIcon\"\n class=\"text-muted-foreground size-4 shrink-0\"\n />\n </button>\n <SidebarMenuButton v-else size=\"lg\" class=\"data-[state=open]:bg-sidebar-accent\">\n <Avatar class=\"size-8 rounded-lg\">\n <AvatarImage v-if=\"current.avatar\" :src=\"current.avatar\" :alt=\"tenantNameText(current)\" />\n <AvatarFallback class=\"rounded-lg\">{{\n initials(tenantNameText(current))\n }}</AvatarFallback>\n </Avatar>\n <div class=\"grid flex-1 text-start text-sm leading-tight\">\n <!-- `HasCurrentTenantLabel`: a caption above the name instead of the brand. -->\n <span\n v-if=\"current.label\"\n data-slot=\"tenant-menu-label\"\n class=\"text-muted-foreground truncate text-xs\"\n >{{ current.label }}</span\n >\n <NavLabel class=\"truncate font-medium\" :text=\"current.name\" :html=\"current.nameHtml\" />\n <span v-if=\"!current.label\" class=\"text-muted-foreground truncate text-xs\">{{\n panel.brandName\n }}</span>\n </div>\n <Icon\n name=\"alfakit::panels.tenant-menu.toggle-button\"\n :fallback=\"ChevronsUpDownIcon\"\n class=\"ms-auto size-4\"\n />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent class=\"min-w-56 rounded-lg\" side=\"bottom\" align=\"start\" :side-offset=\"4\">\n <DropdownMenuLabel v-if=\"hasSwitcher\" class=\"text-muted-foreground text-xs\">{{\n t('tenancy.switch', {}, 'Switch')\n }}</DropdownMenuLabel>\n <div\n v-if=\"hasSwitcher && tenancy.searchable\"\n data-slot=\"tenant-menu-search\"\n class=\"relative px-1 pb-1\"\n >\n <SearchIcon\n class=\"text-muted-foreground pointer-events-none absolute start-3 top-1/2 size-3.5 -translate-y-1/2\"\n aria-hidden=\"true\"\n />\n <!-- Keep the menu's type-ahead from taking the keys. -->\n <input\n v-model=\"search\"\n type=\"search\"\n :placeholder=\"t('tenancy.search', {}, 'Search')\"\n :aria-label=\"t('tenancy.search', {}, 'Search')\"\n class=\"border-input focus-visible:ring-ring/50 h-8 w-full rounded-md border bg-transparent ps-7 pe-2 text-sm outline-none focus-visible:ring-[3px]\"\n @keydown.stop\n />\n </div>\n <p\n v-if=\"hasSwitcher && tenancy.searchable && tenants.length === 0\"\n class=\"text-muted-foreground px-2 py-1.5 text-sm\"\n >\n {{ t('no_results', {}, 'No results.') }}\n </p>\n <DropdownMenuItem\n v-for=\"tenant in tenants\"\n :key=\"String(tenant.id)\"\n @select=\"router.visit(tenant.url)\"\n >\n <Avatar class=\"size-6 rounded-sm\">\n <AvatarImage v-if=\"tenant.avatar\" :src=\"tenant.avatar\" :alt=\"tenantNameText(tenant)\" />\n <AvatarFallback class=\"rounded-sm text-[10px]\">{{\n initials(tenantNameText(tenant))\n }}</AvatarFallback>\n </Avatar>\n <NavLabel class=\"flex-1 truncate\" :text=\"tenant.name\" :html=\"tenant.nameHtml\" />\n <CheckIcon v-if=\"String(tenant.id) === String(current.id)\" class=\"size-4\" />\n </DropdownMenuItem>\n <DropdownMenuSeparator\n v-if=\"\n hasSwitcher && (tenancy.registrationUrl || tenancy.profileUrl || tenancy.menu?.length)\n \"\n />\n <MenuItemEntry v-if=\"tenancy.profile\" :item=\"tenancy.profile\" menu=\"tenantMenu\" />\n <DropdownMenuItem v-else-if=\"tenancy.profileUrl\" as-child>\n <Link :href=\"tenancy.profileUrl\" class=\"w-full\"\n ><Icon name=\"alfakit::panels.tenant-menu.profile-button\" :fallback=\"SettingsIcon\" />\n {{ tenancy.profileLabel ?? t('tenancy.profile', {}, 'Settings') }}</Link\n >\n </DropdownMenuItem>\n <MenuItemEntries v-if=\"tenancy.menu\" :items=\"tenancy.menu\" menu=\"tenantMenu\" />\n <MenuItemEntry v-if=\"tenancy.registration\" :item=\"tenancy.registration\" menu=\"tenantMenu\" />\n <DropdownMenuItem v-else-if=\"tenancy.registrationUrl\" as-child>\n <Link :href=\"tenancy.registrationUrl\" class=\"w-full\"\n ><Icon name=\"alfakit::panels.tenant-menu.registration-button\" :fallback=\"PlusIcon\" />\n {{ tenancy.registrationLabel ?? t('tenancy.register', {}, 'New') }}</Link\n >\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n</template>\n"],"mappings":""}
|