@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.
Files changed (372) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/AlfakitRoot.js.map +1 -1
  3. package/dist/AlfakitRoot.vue.d.ts.map +1 -1
  4. package/dist/AlfakitRoot.vue_vue_type_script_setup_true_lang.js +3 -1
  5. package/dist/AlfakitRoot.vue_vue_type_script_setup_true_lang.js.map +1 -1
  6. package/dist/components/actions/ActionButton.js.map +1 -1
  7. package/dist/components/actions/ActionButton.vue.d.ts.map +1 -1
  8. package/dist/components/actions/ActionButton.vue_vue_type_script_setup_true_lang.js +160 -159
  9. package/dist/components/actions/ActionButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  10. package/dist/components/actions/ActionGroupMenu.js.map +1 -1
  11. package/dist/components/actions/ActionGroupMenu.vue.d.ts.map +1 -1
  12. package/dist/components/actions/ActionGroupMenu.vue_vue_type_script_setup_true_lang.js +69 -65
  13. package/dist/components/actions/ActionGroupMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  14. package/dist/components/actions/ActionModal.js.map +1 -1
  15. package/dist/components/actions/ActionModal.vue.d.ts.map +1 -1
  16. package/dist/components/actions/ActionModal.vue_vue_type_script_setup_true_lang.js +221 -219
  17. package/dist/components/actions/ActionModal.vue_vue_type_script_setup_true_lang.js.map +1 -1
  18. package/dist/components/ai/AiCopilot.js.map +1 -1
  19. package/dist/components/ai/AiCopilot.vue.d.ts +2 -0
  20. package/dist/components/ai/AiCopilot.vue.d.ts.map +1 -1
  21. package/dist/components/ai/AiCopilot.vue_vue_type_script_setup_true_lang.js +7 -2
  22. package/dist/components/ai/AiCopilot.vue_vue_type_script_setup_true_lang.js.map +1 -1
  23. package/dist/components/cms/CmsPage.vue_vue_type_script_setup_true_lang.js +19 -19
  24. package/dist/components/cms/CmsPage.vue_vue_type_script_setup_true_lang.js.map +1 -1
  25. package/dist/components/cms/LivePreview.js.map +1 -1
  26. package/dist/components/cms/LivePreview.vue.d.ts.map +1 -1
  27. package/dist/components/cms/LivePreview.vue_vue_type_script_setup_true_lang.js +83 -83
  28. package/dist/components/cms/LivePreview.vue_vue_type_script_setup_true_lang.js.map +1 -1
  29. package/dist/components/fields/BuilderField.js.map +1 -1
  30. package/dist/components/fields/BuilderField.vue.d.ts.map +1 -1
  31. package/dist/components/fields/BuilderField.vue_vue_type_script_setup_true_lang.js +162 -157
  32. package/dist/components/fields/BuilderField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/fields/ColorPickerField.js.map +1 -1
  34. package/dist/components/fields/ColorPickerField.vue.d.ts.map +1 -1
  35. package/dist/components/fields/ColorPickerField.vue_vue_type_script_setup_true_lang.js +1 -0
  36. package/dist/components/fields/ColorPickerField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  37. package/dist/components/fields/ComboboxSelect.js.map +1 -1
  38. package/dist/components/fields/ComboboxSelect.vue.d.ts.map +1 -1
  39. package/dist/components/fields/ComboboxSelect.vue_vue_type_script_setup_true_lang.js +1 -1
  40. package/dist/components/fields/ComboboxSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
  41. package/dist/components/fields/FileUploadField.js.map +1 -1
  42. package/dist/components/fields/FileUploadField.vue.d.ts.map +1 -1
  43. package/dist/components/fields/FileUploadField.vue_vue_type_script_setup_true_lang.js +183 -183
  44. package/dist/components/fields/FileUploadField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/fields/ImageEditorDialog.js.map +1 -1
  46. package/dist/components/fields/ImageEditorDialog.vue.d.ts.map +1 -1
  47. package/dist/components/fields/ImageEditorDialog.vue_vue_type_script_setup_true_lang.js +46 -46
  48. package/dist/components/fields/ImageEditorDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
  49. package/dist/components/fields/KeyValueField.js.map +1 -1
  50. package/dist/components/fields/KeyValueField.vue.d.ts.map +1 -1
  51. package/dist/components/fields/KeyValueField.vue_vue_type_script_setup_true_lang.js +66 -66
  52. package/dist/components/fields/KeyValueField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  53. package/dist/components/fields/ModalTablePicker.js.map +1 -1
  54. package/dist/components/fields/ModalTablePicker.vue.d.ts.map +1 -1
  55. package/dist/components/fields/ModalTablePicker.vue_vue_type_script_setup_true_lang.js +113 -113
  56. package/dist/components/fields/ModalTablePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/components/fields/OneTimeCodeInputField.js.map +1 -1
  58. package/dist/components/fields/OneTimeCodeInputField.vue_vue_type_script_setup_true_lang.js +1 -2
  59. package/dist/components/fields/OneTimeCodeInputField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  60. package/dist/components/fields/RepeaterField.js.map +1 -1
  61. package/dist/components/fields/RepeaterField.vue.d.ts.map +1 -1
  62. package/dist/components/fields/RepeaterField.vue_vue_type_script_setup_true_lang.js +12 -12
  63. package/dist/components/fields/RepeaterField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  64. package/dist/components/fields/RichEditorInput.js.map +1 -1
  65. package/dist/components/fields/RichEditorInput.vue.d.ts.map +1 -1
  66. package/dist/components/fields/RichEditorInput.vue_vue_type_script_setup_true_lang.js +166 -165
  67. package/dist/components/fields/RichEditorInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  68. package/dist/components/fields/SelectField.js.map +1 -1
  69. package/dist/components/fields/SelectField.vue.d.ts.map +1 -1
  70. package/dist/components/fields/SelectField.vue_vue_type_script_setup_true_lang.js +2 -2
  71. package/dist/components/fields/SelectField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  72. package/dist/components/fields/SliderField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  73. package/dist/components/fields/TableColumnHeaders.js.map +1 -1
  74. package/dist/components/fields/TableColumnHeaders.vue.d.ts.map +1 -1
  75. package/dist/components/fields/TableColumnHeaders.vue_vue_type_script_setup_true_lang.js +6 -3
  76. package/dist/components/fields/TableColumnHeaders.vue_vue_type_script_setup_true_lang.js.map +1 -1
  77. package/dist/components/fields/item-actions.d.ts +2 -2
  78. package/dist/components/fields/item-actions.d.ts.map +1 -1
  79. package/dist/components/fields/item-actions.js +31 -31
  80. package/dist/components/fields/item-actions.js.map +1 -1
  81. package/dist/components/file-manager/FileManagerView.js.map +1 -1
  82. package/dist/components/file-manager/FileManagerView.vue_vue_type_script_setup_true_lang.js +1 -1
  83. package/dist/components/file-manager/FileManagerView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/components/form/FormBlock.js.map +1 -1
  85. package/dist/components/form/FormBlock.vue.d.ts.map +1 -1
  86. package/dist/components/form/FormBlock.vue_vue_type_script_setup_true_lang.js +81 -77
  87. package/dist/components/form/FormBlock.vue_vue_type_script_setup_true_lang.js.map +1 -1
  88. package/dist/components/form/form-context.js +25 -25
  89. package/dist/components/form/form-context.js.map +1 -1
  90. package/dist/components/kanban/KanbanBoard.js.map +1 -1
  91. package/dist/components/kanban/KanbanBoard.vue.d.ts.map +1 -1
  92. package/dist/components/kanban/KanbanBoard.vue_vue_type_script_setup_true_lang.js +5 -2
  93. package/dist/components/kanban/KanbanBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
  94. package/dist/components/kanban/KanbanColumnHeader.js.map +1 -1
  95. package/dist/components/kanban/KanbanColumnHeader.vue.d.ts.map +1 -1
  96. package/dist/components/kanban/KanbanColumnHeader.vue_vue_type_script_setup_true_lang.js +64 -64
  97. package/dist/components/kanban/KanbanColumnHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  98. package/dist/components/layout/FusedGroupComponent.js.map +1 -1
  99. package/dist/components/layout/FusedGroupComponent.vue.d.ts.map +1 -1
  100. package/dist/components/layout/FusedGroupComponent.vue_vue_type_script_setup_true_lang.js +1 -0
  101. package/dist/components/layout/FusedGroupComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/layout/SectionComponent.js.map +1 -1
  103. package/dist/components/layout/SectionComponent.vue.d.ts.map +1 -1
  104. package/dist/components/layout/SectionComponent.vue_vue_type_script_setup_true_lang.js +23 -23
  105. package/dist/components/layout/SectionComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  106. package/dist/components/layout/TabsComponent.js.map +1 -1
  107. package/dist/components/layout/TabsComponent.vue.d.ts.map +1 -1
  108. package/dist/components/layout/TabsComponent.vue_vue_type_script_setup_true_lang.js +76 -55
  109. package/dist/components/layout/TabsComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  110. package/dist/components/notifications/NotificationsMenu.js.map +1 -1
  111. package/dist/components/notifications/NotificationsMenu.vue.d.ts.map +1 -1
  112. package/dist/components/notifications/NotificationsMenu.vue_vue_type_script_setup_true_lang.js +44 -42
  113. package/dist/components/notifications/NotificationsMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/panel/DebugPanel.vue_vue_type_script_setup_true_lang.js +8 -8
  115. package/dist/components/panel/DebugPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  116. package/dist/components/panel/GlobalSearch.js.map +1 -1
  117. package/dist/components/panel/GlobalSearch.vue.d.ts.map +1 -1
  118. package/dist/components/panel/GlobalSearch.vue_vue_type_script_setup_true_lang.js +1 -0
  119. package/dist/components/panel/GlobalSearch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/panel/GlobalSearchPalette.js.map +1 -1
  121. package/dist/components/panel/GlobalSearchPalette.vue.d.ts.map +1 -1
  122. package/dist/components/panel/GlobalSearchPalette.vue_vue_type_script_setup_true_lang.js +102 -96
  123. package/dist/components/panel/GlobalSearchPalette.vue_vue_type_script_setup_true_lang.js.map +1 -1
  124. package/dist/components/panel/NavGroup.vue_vue_type_script_setup_true_lang.js +10 -10
  125. package/dist/components/panel/NavGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  126. package/dist/components/panel/NavGroupFlyout.vue_vue_type_script_setup_true_lang.js +9 -9
  127. package/dist/components/panel/NavGroupFlyout.vue_vue_type_script_setup_true_lang.js.map +1 -1
  128. package/dist/components/panel/NavItem.vue_vue_type_script_setup_true_lang.js +16 -16
  129. package/dist/components/panel/NavItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  130. package/dist/components/panel/NavSubItem.vue_vue_type_script_setup_true_lang.js +10 -10
  131. package/dist/components/panel/NavSubItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/panel/ShortcutKeys.js.map +1 -1
  133. package/dist/components/panel/ShortcutKeys.vue.d.ts.map +1 -1
  134. package/dist/components/panel/ShortcutKeys.vue_vue_type_script_setup_true_lang.js +4 -1
  135. package/dist/components/panel/ShortcutKeys.vue_vue_type_script_setup_true_lang.js.map +1 -1
  136. package/dist/components/panel/TenantMenu.js.map +1 -1
  137. package/dist/components/panel/TenantMenu.vue_vue_type_script_setup_true_lang.js +37 -37
  138. package/dist/components/panel/TenantMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  139. package/dist/components/panel/Topbar.vue_vue_type_script_setup_true_lang.js +11 -11
  140. package/dist/components/panel/Topbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/realtime/use-live-updates.d.ts.map +1 -1
  142. package/dist/components/realtime/use-live-updates.js +24 -23
  143. package/dist/components/realtime/use-live-updates.js.map +1 -1
  144. package/dist/components/table/BooleanCell.vue_vue_type_script_setup_true_lang.js +2 -1
  145. package/dist/components/table/BooleanCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  146. package/dist/components/table/ColumnHeader.js.map +1 -1
  147. package/dist/components/table/ColumnHeader.vue.d.ts.map +1 -1
  148. package/dist/components/table/ColumnHeader.vue_vue_type_script_setup_true_lang.js +55 -49
  149. package/dist/components/table/ColumnHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  150. package/dist/components/table/ColumnManager.js.map +1 -1
  151. package/dist/components/table/ColumnManager.vue.d.ts.map +1 -1
  152. package/dist/components/table/ColumnManager.vue_vue_type_script_setup_true_lang.js +5 -4
  153. package/dist/components/table/ColumnManager.vue_vue_type_script_setup_true_lang.js.map +1 -1
  154. package/dist/components/table/ContentLayoutSort.js.map +1 -1
  155. package/dist/components/table/ContentLayoutSort.vue.d.ts.map +1 -1
  156. package/dist/components/table/ContentLayoutSort.vue_vue_type_script_setup_true_lang.js +5 -5
  157. package/dist/components/table/ContentLayoutSort.vue_vue_type_script_setup_true_lang.js.map +1 -1
  158. package/dist/components/table/GroupHeaderRow.js.map +1 -1
  159. package/dist/components/table/GroupHeaderRow.vue.d.ts.map +1 -1
  160. package/dist/components/table/GroupHeaderRow.vue_vue_type_script_setup_true_lang.js +55 -34
  161. package/dist/components/table/GroupHeaderRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/table/SelectCell.js.map +1 -1
  163. package/dist/components/table/SelectCell.vue.d.ts.map +1 -1
  164. package/dist/components/table/SelectCell.vue_vue_type_script_setup_true_lang.js +26 -20
  165. package/dist/components/table/SelectCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  166. package/dist/components/table/SelectComboboxCell.vue_vue_type_script_setup_true_lang.js +2 -1
  167. package/dist/components/table/SelectComboboxCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/components/table/TableCellContent.js.map +1 -1
  169. package/dist/components/table/TableCellContent.vue.d.ts.map +1 -1
  170. package/dist/components/table/TableCellContent.vue_vue_type_script_setup_true_lang.js +4 -3
  171. package/dist/components/table/TableCellContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  172. package/dist/components/table/TablePagination.js.map +1 -1
  173. package/dist/components/table/TablePagination.vue.d.ts.map +1 -1
  174. package/dist/components/table/TablePagination.vue_vue_type_script_setup_true_lang.js +87 -87
  175. package/dist/components/table/TablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  176. package/dist/components/table/TextInputCell.js.map +1 -1
  177. package/dist/components/table/TextInputCell.vue.d.ts.map +1 -1
  178. package/dist/components/table/TextInputCell.vue_vue_type_script_setup_true_lang.js +40 -34
  179. package/dist/components/table/TextInputCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  180. package/dist/components/table/cell-update.d.ts +6 -0
  181. package/dist/components/table/cell-update.d.ts.map +1 -1
  182. package/dist/components/table/cell-update.js.map +1 -1
  183. package/dist/components/translation-manager/TranslationManagerView.vue_vue_type_script_setup_true_lang.js +1 -1
  184. package/dist/components/translation-manager/TranslationManagerView.vue_vue_type_script_setup_true_lang.js.map +1 -1
  185. package/dist/components/ui/CommandAutoHighlight.js +7 -0
  186. package/dist/components/ui/CommandAutoHighlight.js.map +1 -0
  187. package/dist/components/ui/CommandAutoHighlight.vue.d.ts +21 -0
  188. package/dist/components/ui/CommandAutoHighlight.vue.d.ts.map +1 -0
  189. package/dist/components/ui/CommandAutoHighlight.vue_vue_type_script_setup_true_lang.js +18 -0
  190. package/dist/components/ui/CommandAutoHighlight.vue_vue_type_script_setup_true_lang.js.map +1 -0
  191. package/dist/components/ui/DialogContent.js.map +1 -1
  192. package/dist/components/ui/DialogContent.vue.d.ts.map +1 -1
  193. package/dist/components/ui/DialogContent.vue_vue_type_script_setup_true_lang.js +13 -12
  194. package/dist/components/ui/DialogContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/components/ui/PopoverContent.js.map +1 -1
  196. package/dist/components/ui/PopoverContent.vue.d.ts.map +1 -1
  197. package/dist/components/ui/PopoverContent.vue_vue_type_script_setup_true_lang.js +9 -8
  198. package/dist/components/ui/PopoverContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  199. package/dist/components/ui/SheetContent.js.map +1 -1
  200. package/dist/components/ui/SheetContent.vue.d.ts.map +1 -1
  201. package/dist/components/ui/SheetContent.vue_vue_type_script_setup_true_lang.js +13 -12
  202. package/dist/components/ui/SheetContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  203. package/dist/components/ui/TooltipContent.js.map +1 -1
  204. package/dist/components/ui/TooltipContent.vue.d.ts.map +1 -1
  205. package/dist/components/ui/TooltipContent.vue_vue_type_script_setup_true_lang.js +9 -8
  206. package/dist/components/ui/TooltipContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  207. package/dist/components.css +347 -0
  208. package/dist/context.d.ts +7 -0
  209. package/dist/context.d.ts.map +1 -1
  210. package/dist/context.js +29 -26
  211. package/dist/context.js.map +1 -1
  212. package/dist/create-alfakit.d.ts.map +1 -1
  213. package/dist/create-alfakit.js +33 -31
  214. package/dist/create-alfakit.js.map +1 -1
  215. package/dist/eject-manifest.json +11 -2
  216. package/dist/index.d.ts +1 -0
  217. package/dist/index.d.ts.map +1 -1
  218. package/dist/index.js +219 -217
  219. package/dist/layouts/AppLayout.vue_vue_type_script_setup_true_lang.js +8 -8
  220. package/dist/layouts/AppLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
  221. package/dist/layouts/AuthLayout.vue_vue_type_script_setup_true_lang.js +9 -9
  222. package/dist/layouts/FullscreenLayout.vue_vue_type_script_setup_true_lang.js +8 -8
  223. package/dist/layouts/FullscreenLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
  224. package/dist/layouts/TopNavLayout.vue_vue_type_script_setup_true_lang.js +15 -15
  225. package/dist/layouts/TopNavLayout.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/layouts/lazy-layouts.d.ts +10 -0
  227. package/dist/layouts/lazy-layouts.d.ts.map +1 -0
  228. package/dist/layouts/lazy-layouts.js +8 -0
  229. package/dist/layouts/lazy-layouts.js.map +1 -0
  230. package/dist/layouts/panel-layouts.d.ts +8 -0
  231. package/dist/layouts/panel-layouts.d.ts.map +1 -0
  232. package/dist/layouts/panel-layouts.js +15 -0
  233. package/dist/layouts/panel-layouts.js.map +1 -0
  234. package/dist/lib/lazy.d.ts.map +1 -1
  235. package/dist/lib/lazy.js +2 -2
  236. package/dist/lib/lazy.js.map +1 -1
  237. package/dist/pages/PageShell.js.map +1 -1
  238. package/dist/pages/PageShell.vue.d.ts.map +1 -1
  239. package/dist/pages/PageShell.vue_vue_type_script_setup_true_lang.js +39 -42
  240. package/dist/pages/PageShell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/standalone/AlfakitComponent.js.map +1 -1
  242. package/dist/standalone/AlfakitComponent.vue.d.ts.map +1 -1
  243. package/dist/standalone/AlfakitComponent.vue_vue_type_script_setup_true_lang.js +56 -52
  244. package/dist/standalone/AlfakitComponent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  245. package/dist/standalone/AlfakitToaster.js.map +1 -1
  246. package/dist/standalone/AlfakitToaster.vue.d.ts.map +1 -1
  247. package/dist/standalone/AlfakitToaster.vue_vue_type_script_setup_true_lang.js +23 -15
  248. package/dist/standalone/AlfakitToaster.vue_vue_type_script_setup_true_lang.js.map +1 -1
  249. package/dist/standalone.css +54 -0
  250. package/dist/starter-kit/AlfakitStarterKitRoot.js.map +1 -1
  251. package/dist/starter-kit/AlfakitStarterKitRoot.vue.d.ts +2 -2
  252. package/dist/starter-kit/AlfakitStarterKitRoot.vue.d.ts.map +1 -1
  253. package/dist/starter-kit/AlfakitStarterKitRoot.vue_vue_type_script_setup_true_lang.js +17 -12
  254. package/dist/starter-kit/AlfakitStarterKitRoot.vue_vue_type_script_setup_true_lang.js.map +1 -1
  255. package/dist/starter-kit/dashboard-widgets.d.ts +54 -0
  256. package/dist/starter-kit/dashboard-widgets.d.ts.map +1 -0
  257. package/dist/starter-kit/dashboard-widgets.js +54 -0
  258. package/dist/starter-kit/dashboard-widgets.js.map +1 -0
  259. package/dist/starter-kit/index.d.ts +2 -1
  260. package/dist/starter-kit/index.d.ts.map +1 -1
  261. package/dist/starter-kit/index.js +5 -4
  262. package/dist/starter-kit/runtime.d.ts +6 -0
  263. package/dist/starter-kit/runtime.d.ts.map +1 -1
  264. package/dist/starter-kit/runtime.js +19 -15
  265. package/dist/starter-kit/runtime.js.map +1 -1
  266. package/dist/starter-kit/starter-kit.d.ts.map +1 -1
  267. package/dist/starter-kit/starter-kit.js +8 -8
  268. package/dist/starter-kit/starter-kit.js.map +1 -1
  269. package/dist/starter-kit/widgets/CopilotTrigger.js +7 -0
  270. package/dist/starter-kit/widgets/CopilotTrigger.js.map +1 -0
  271. package/dist/starter-kit/widgets/CopilotTrigger.vue.d.ts +12 -0
  272. package/dist/starter-kit/widgets/CopilotTrigger.vue.d.ts.map +1 -0
  273. package/dist/starter-kit/widgets/CopilotTrigger.vue_vue_type_script_setup_true_lang.js +23 -0
  274. package/dist/starter-kit/widgets/CopilotTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -0
  275. package/dist/starter-kit/widgets/LoadedCopilot.js +7 -0
  276. package/dist/starter-kit/widgets/LoadedCopilot.js.map +1 -0
  277. package/dist/starter-kit/widgets/LoadedCopilot.vue.d.ts +8 -0
  278. package/dist/starter-kit/widgets/LoadedCopilot.vue.d.ts.map +1 -0
  279. package/dist/starter-kit/widgets/LoadedCopilot.vue_vue_type_script_setup_true_lang.js +31 -0
  280. package/dist/starter-kit/widgets/LoadedCopilot.vue_vue_type_script_setup_true_lang.js.map +1 -0
  281. package/dist/starter-kit/widgets/SearchTrigger.js.map +1 -1
  282. package/dist/starter-kit/widgets/SearchTrigger.vue.d.ts.map +1 -1
  283. package/dist/starter-kit/widgets/SearchTrigger.vue_vue_type_script_setup_true_lang.js +1 -0
  284. package/dist/starter-kit/widgets/SearchTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  285. package/dist/starter-kit/widgets/StarterKitImpersonationBanner.js +7 -0
  286. package/dist/starter-kit/widgets/StarterKitImpersonationBanner.js.map +1 -0
  287. package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue.d.ts +8 -0
  288. package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue.d.ts.map +1 -0
  289. package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue_vue_type_script_setup_true_lang.js +34 -0
  290. package/dist/starter-kit/widgets/StarterKitImpersonationBanner.vue_vue_type_script_setup_true_lang.js.map +1 -0
  291. package/dist/starter-kit/widgets/TenantChooser.js.map +1 -1
  292. package/dist/starter-kit/widgets/TenantChooser.vue_vue_type_script_setup_true_lang.js +1 -1
  293. package/dist/starter-kit/widgets/TenantChooser.vue_vue_type_script_setup_true_lang.js.map +1 -1
  294. package/dist/starter-kit/widgets/index.d.ts +40 -9
  295. package/dist/starter-kit/widgets/index.d.ts.map +1 -1
  296. package/dist/starter-kit/widgets/index.js +21 -18
  297. package/dist/starter-kit/widgets/index.js.map +1 -1
  298. package/dist/starter-kit/widgets/loaded.d.ts +10 -0
  299. package/dist/starter-kit/widgets/loaded.d.ts.map +1 -0
  300. package/dist/starter-kit/widgets/loaded.js +5 -0
  301. package/dist/styles.css +9 -2
  302. package/dist/themes.css +8 -335
  303. package/package.json +3 -3
  304. package/src/AlfakitRoot.vue +9 -1
  305. package/src/components/actions/ActionButton.vue +14 -6
  306. package/src/components/actions/ActionGroupMenu.vue +13 -1
  307. package/src/components/actions/ActionModal.vue +12 -1
  308. package/src/components/ai/AiCopilot.vue +7 -1
  309. package/src/components/cms/LivePreview.vue +8 -2
  310. package/src/components/fields/BuilderField.vue +15 -2
  311. package/src/components/fields/ColorPickerField.vue +1 -0
  312. package/src/components/fields/ComboboxSelect.vue +1 -1
  313. package/src/components/fields/FileUploadField.vue +14 -11
  314. package/src/components/fields/ImageEditorDialog.vue +7 -3
  315. package/src/components/fields/KeyValueField.vue +3 -2
  316. package/src/components/fields/ModalTablePicker.vue +7 -2
  317. package/src/components/fields/OneTimeCodeInputField.vue +1 -1
  318. package/src/components/fields/RepeaterField.vue +2 -3
  319. package/src/components/fields/RichEditorInput.vue +3 -0
  320. package/src/components/fields/SelectField.vue +4 -2
  321. package/src/components/fields/TableColumnHeaders.vue +6 -1
  322. package/src/components/fields/item-actions.ts +31 -10
  323. package/src/components/file-manager/FileManagerView.vue +1 -1
  324. package/src/components/form/FormBlock.vue +26 -1
  325. package/src/components/form/form-context.ts +3 -3
  326. package/src/components/kanban/KanbanBoard.vue +15 -3
  327. package/src/components/kanban/KanbanColumnHeader.vue +6 -4
  328. package/src/components/layout/FusedGroupComponent.vue +1 -0
  329. package/src/components/layout/SectionComponent.vue +10 -4
  330. package/src/components/layout/TabsComponent.vue +61 -5
  331. package/src/components/notifications/NotificationsMenu.vue +11 -0
  332. package/src/components/panel/GlobalSearch.vue +1 -0
  333. package/src/components/panel/GlobalSearchPalette.vue +2 -0
  334. package/src/components/panel/ShortcutKeys.vue +1 -0
  335. package/src/components/panel/TenantMenu.vue +2 -2
  336. package/src/components/realtime/use-live-updates.ts +3 -1
  337. package/src/components/table/ColumnHeader.vue +23 -12
  338. package/src/components/table/ColumnManager.vue +12 -8
  339. package/src/components/table/ContentLayoutSort.vue +7 -1
  340. package/src/components/table/GroupHeaderRow.vue +27 -0
  341. package/src/components/table/SelectCell.vue +5 -2
  342. package/src/components/table/TableCellContent.vue +4 -2
  343. package/src/components/table/TablePagination.vue +12 -7
  344. package/src/components/table/TextInputCell.vue +11 -5
  345. package/src/components/table/cell-update.ts +6 -0
  346. package/src/components/ui/CommandAutoHighlight.vue +27 -0
  347. package/src/components/ui/DialogContent.vue +5 -1
  348. package/src/components/ui/PopoverContent.vue +5 -1
  349. package/src/components/ui/SheetContent.vue +5 -1
  350. package/src/components/ui/TooltipContent.vue +5 -1
  351. package/src/context.ts +10 -0
  352. package/src/create-alfakit.ts +5 -0
  353. package/src/index.ts +2 -0
  354. package/src/layouts/lazy-layouts.ts +14 -0
  355. package/src/layouts/panel-layouts.ts +17 -0
  356. package/src/lib/lazy.ts +11 -1
  357. package/src/pages/PageShell.vue +5 -6
  358. package/src/standalone/AlfakitComponent.vue +17 -6
  359. package/src/standalone/AlfakitToaster.vue +12 -2
  360. package/src/starter-kit/AlfakitStarterKitRoot.vue +12 -3
  361. package/src/starter-kit/dashboard-widgets.ts +93 -0
  362. package/src/starter-kit/index.ts +7 -1
  363. package/src/starter-kit/runtime.ts +17 -1
  364. package/src/starter-kit/starter-kit.ts +2 -1
  365. package/src/starter-kit/widgets/CopilotTrigger.vue +58 -0
  366. package/src/starter-kit/widgets/LoadedCopilot.vue +29 -0
  367. package/src/starter-kit/widgets/SearchTrigger.vue +1 -0
  368. package/src/starter-kit/widgets/StarterKitImpersonationBanner.vue +57 -0
  369. package/src/starter-kit/widgets/TenantChooser.vue +1 -1
  370. package/src/starter-kit/widgets/index.ts +56 -11
  371. package/src/starter-kit/widgets/loaded.ts +9 -0
  372. 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","SidebarMenu_default","Collapsible_default","CollapsibleContent_default","CollapsibleTrigger_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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"}
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 "../ui/SidebarMenu.js";
13
- import p from "../ui/SidebarMenuButton.js";
14
- import m from "../ui/SidebarMenuItem.js";
15
- import h from "./NavLabel.js";
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(f, {
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(m, null, {
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(p, { "is-active": B.value }, {
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(h, {
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(h, {
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","NavLabel_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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"}
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 "../ui/SidebarMenuButton.js";
8
- import c from "../ui/SidebarMenuItem.js";
9
- import l from "../ui/Collapsible.js";
10
- import u from "../ui/CollapsibleContent.js";
11
- import d from "../ui/CollapsibleTrigger.js";
12
- import f from "./NavLabel.js";
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(l, {
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(c, null, {
32
- default: j(() => [C(d, { "as-child": "" }, {
33
- default: j(() => [C(s, T(L.item.extraAttributes ?? {}, {
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(f, {
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(u, null, {
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(c, { key: 1 }, {
80
- default: j(() => [C(s, {
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(f, {
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(f, {
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","SidebarMenuButton_default","SidebarMenuItem_default","Collapsible_default","CollapsibleContent_default","CollapsibleTrigger_default","NavLabel_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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"}
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 "../ui/Collapsible.js";
8
- import c from "../ui/CollapsibleContent.js";
9
- import l from "../ui/CollapsibleTrigger.js";
10
- import u from "./NavLabel.js";
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(s, {
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(l, { "as-child": "" }, {
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(u, {
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(c, null, {
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(u, {
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(u, {
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","NavLabel_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":";;;;;;;;;;;;;;;;;;;;;;;EAqBA,IAAMwC,IAAQC,GACRC,IAAIC,EAAK,GACTC,IAAWC,QAAeL,EAAM,KAAK,UAAU,KAAA,KAAaA,EAAM,KAAK,UAAU,IAAI,GACrFM,IAAaD,QACjBE,EAAG,uBAAuBC,EAAWC,GAAmBT,EAAM,KAAK,YAAY,MAAM,CAAC,CACxF;oBAIExC,EAAA,GAAAC,EA4FqBC,GAAA,MAAA;GA3FnB,SAAAC,QAuCc,CAtCNqC,EAAM,KAAK,YAAYA,EAAM,KAAK,SAAS,SAAM,KADzDxC,EAAA,GAAAC,EAuCcG,GAAA;;IArCX,gBAAcoC,EAAM,KAAK;IAC1B,OAAM;;IAEN,SAAArC,QA4BqB,CA5BrBE,EA4BqBC,GAAA,EA5BD,YAAA,GAAQ,GAAA;KAC1B,SAAAH,QA0BuB,CA1BvBE,EA0BuBE,GA1BvBC,EACUgC,EAAM,KAAK,mBAAe,CAAA,GAAA;MAClC,IAAG;MACH,MAAK;MACL,OAAM;MACL,aAAWA,EAAM,KAAK;;MAEvB,SAAArC,QAAuD;OAA3CqC,EAAM,KAAK,QAAvBxC,EAAA,GAAAC,EAAuDQ,EAAAC,CAAA,GAAA;;QAAzB,MAAM8B,EAAM,KAAK;;OAC/CnC,EAAkEO,GAAA;QAAvD,MAAM4B,EAAM,KAAK;QAAQ,MAAMA,EAAM,KAAK;;OAE7CI,EAAA,SADR5C,EAAA,GAAAC,EAMCY,GAAA;;QAJC,SAAQ;QACP,OAAKC,EAAEgC,EAAA,KAAU;QACjB,OAAON,EAAM,KAAK;;QAClB,SAAArC,QAAsB,CAAnBY,EAAAC,EAAAwB,EAAM,KAAK,KAAK,GAAA,CAAA,CAAA,CAAA;;OAGT,GAAA,GAAA,CAAA,SAAA,OAAA,CAAA,KAAAA,EAAM,KAAK,gBADxBxC,EAAA,GAAAiB,EAME,QAAA;;QAJA,aAAU;QACV,aAAU;QACT,cAAYR,EAAAiC,CAAA,CAAC,CAAA,WAAA,CAAA,GAAA,SAAA;QACd,OAAM;;OAERrC,EAEEI,EAAAoD,CAAA,GAAA,EADA,OAAM,mJAAkJ,CAAA;;;;;IAI9JxD,CAAAA,GAAAA,EAIqBa,GAAA,MAAA;KAHnB,SAAAf,QAEiB,CAFjBE,EAEiBc,GAAA,MAAA;MADH,SAAAhB,QAAoC,EAAhDH,EAAA,EAAA,GAAAiB,EAAoFG,GAAA,MAAAC,EAAxDmB,EAAM,KAAK,WAApB,OAAnBxC,EAAA,GAAAC,EAAoFqB,GAAA;OAAlC,KAAK0C,EAAM;OAAQ,MAAMA;;;;;;;GAIjFhE,GAAAA,GAAAA,CAAAA,cAAAA,CAAAA,MAAAA,EAAA,GAAAC,EAkDuBM,GAAA;;IAlDM,YAAA;IAAU,aAAWiC,EAAM,KAAK;;IAC3D,SAAArC,QAwBI,CAvBIqC,EAAM,KAAK,gBADnBxC,EAAA,GAAAiB,EAwBI,KAxBJT,EAwBI,EAAA,KAAA,EAAA,GAtBMgC,EAAM,KAAK,mBAAe,CAAA,GAAA;KACjC,MAAMA,EAAM,KAAK;KAClB,QAAO;KACP,KAAI;;KAEQA,EAAM,KAAK,QAAvBxC,EAAA,GAAAC,EAAuDQ,EAAAC,CAAA,GAAA;;MAAzB,MAAM8B,EAAM,KAAK;;KAC/CnC,EAAkEO,GAAA;MAAvD,MAAM4B,EAAM,KAAK;MAAQ,MAAMA,EAAM,KAAK;;KACrDnC,EAAckB,CAAA;KAENqB,EAAA,SADR5C,EAAA,GAAAC,EAMCY,GAAA;;MAJC,SAAQ;MACP,OAAKC,EAAEgC,EAAA,KAAU;MACjB,OAAON,EAAM,KAAK;;MAClB,SAAArC,QAAsB,CAAnBY,EAAAC,EAAAwB,EAAM,KAAK,KAAK,GAAA,CAAA,CAAA,CAAA;;KAGT,GAAA,GAAA,CAAA,SAAA,OAAA,CAAA,KAAAA,EAAM,KAAK,gBADxBxC,EAAA,GAAAiB,EAME,QAAA;;MAJA,aAAU;MACV,aAAU;MACT,cAAYR,EAAAiC,CAAA,CAAC,CAAA,WAAA,CAAA,GAAA,SAAA;MACd,OAAM;;IAGV1C,GAAAA,IAAAA,CAAAA,MAAAA,EAAA,GAAAC,EAuBOQ,EAAAwD,CAAA,GAvBPzD,EAuBO,EAAA,KAAA,EAAA,GArBGgC,EAAM,KAAK,mBAAe,CAAA,GAAA;KACjC,MAAMA,EAAM,KAAK,OAAG;KACrB,UAAA;KACC,aAAW/B,EAAAyD,CAAA;;KAEZ,SAAA/D,QAAuD;MAA3CqC,EAAM,KAAK,QAAvBxC,EAAA,GAAAC,EAAuDQ,EAAAC,CAAA,GAAA;;OAAzB,MAAM8B,EAAM,KAAK;;MAC/CnC,EAAkEO,GAAA;OAAvD,MAAM4B,EAAM,KAAK;OAAQ,MAAMA,EAAM,KAAK;;MAE7CI,EAAA,SADR5C,EAAA,GAAAC,EAMCY,GAAA;;OAJC,SAAQ;OACP,OAAKC,EAAEgC,EAAA,KAAU;OACjB,OAAON,EAAM,KAAK;;OAClB,SAAArC,QAAsB,CAAnBY,EAAAC,EAAAwB,EAAM,KAAK,KAAK,GAAA,CAAA,CAAA,CAAA;;MAGT,GAAA,GAAA,CAAA,SAAA,OAAA,CAAA,KAAAA,EAAM,KAAK,gBADxBxC,EAAA,GAAAiB,EAME,QAAA;;OAJA,aAAU;OACV,aAAU;OACT,cAAYR,EAAAiC,CAAA,CAAC,CAAA,WAAA,CAAA,GAAA,SAAA;OACd,OAAM"}
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":"AA0CA;;;GAGG;AACH,KAAK,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;;AA0EvD,wBAMG"}
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 = { class: "bg-muted text-muted-foreground rounded border px-1.5 font-mono text-[10px] leading-5" }, _ = /*@__PURE__*/ l({
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":";;;;;;;;;;;;;;;;EAWA,IAAMY,IAAQC,GACRC,IAAIC,EAAK,GACTC,IAAWC,EAAY,GACvBC,IAAQC,QAAeC,EAAcR,EAAM,OAAO,CAAC;mBAK/CZ,EAAAgB,CAAA,KADRf,EAAA,GAAAC,EAcO,QAAA;;GAZL,aAAU;GACT,OAAKC,EAAEH,EAAAyB,CAAA,CAAE,CAAA,kCAAmCb,EAAM,KAAK,CAAA;EAExDX,GAAAA,EAAAA,EAAA,EAAA,GAAAC,EAQOE,GAAA,MAAAC,EARuBa,EAAA,QAAhB,GAAM,OAApBjB,EAAA,GAAAC,EAQO,QAAA;GAR+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,EAGC,OAHDE,GAGCJ,EADK0B,CAAI,GAAA,CAAA,CAAA,CAAA"}
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":""}