@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":"TenantChooser.js","names":["_sfc_main","TenantChooser_vue_vue_type_script_setup_true_lang_default","TenantChooser_default"],"sources":["../../../src/starter-kit/widgets/TenantChooser.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { initials, tenantNameText } from '@alfakit/core'\nimport { router } from '@inertiajs/vue3'\nimport { ChevronsUpDownIcon, PlusIcon } from '@lucide/vue'\nimport { computed } from 'vue'\nimport NavLabel from '../../components/panel/NavLabel.vue'\nimport Avatar from '../../components/ui/Avatar.vue'\nimport AvatarFallback from '../../components/ui/AvatarFallback.vue'\nimport AvatarImage from '../../components/ui/AvatarImage.vue'\nimport DropdownMenu from '../../components/ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../../components/ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../../components/ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../../components/ui/DropdownMenuLabel.vue'\nimport DropdownMenuSeparator from '../../components/ui/DropdownMenuSeparator.vue'\nimport DropdownMenuTrigger from '../../components/ui/DropdownMenuTrigger.vue'\nimport { usePanel, useT } from '../../context'\nimport { Icon } from '../../lib/icons'\n\n/** The user's tenants on a page outside the panel (no current tenant). */\nconst t = useT()\nconst panel = usePanel()\nconst tenancy = computed(() => panel.value.tenancy)\nconst label = computed(() => t('starter_kit.choose_tenant', {}, 'Choose a tenant'))\nconst visible = computed(\n () => !!tenancy.value && (tenancy.value.tenants.length > 0 || !!tenancy.value.registrationUrl),\n)\n</script>\n\n<template>\n <DropdownMenu v-if=\"tenancy && visible\">\n <DropdownMenuTrigger as-child>\n <button\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 <span class=\"sr-only lg:not-sr-only lg:truncate\">{{ label }}</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 </DropdownMenuTrigger>\n <DropdownMenuContent class=\"min-w-56 rounded-lg\" side=\"bottom\" align=\"end\" :side-offset=\"4\">\n <DropdownMenuLabel v-if=\"tenancy.tenants.length > 0\" class=\"text-muted-foreground text-xs\">{{\n label\n }}</DropdownMenuLabel>\n <DropdownMenuItem\n v-for=\"tenant in tenancy.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=\"\" />\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 </DropdownMenuItem>\n <template v-if=\"tenancy.registrationUrl\">\n <DropdownMenuSeparator v-if=\"tenancy.tenants.length > 0\" />\n <DropdownMenuItem @select=\"router.visit(tenancy.registrationUrl!)\">\n <Icon name=\"alfakit::panels.tenant-menu.registration-button\" :fallback=\"PlusIcon\" />\n {{ t('tenancy.register', {}, 'New') }}\n </DropdownMenuItem>\n </template>\n </DropdownMenuContent>\n </DropdownMenu>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"TenantChooser.js","names":["_sfc_main","TenantChooser_vue_vue_type_script_setup_true_lang_default","TenantChooser_default"],"sources":["../../../src/starter-kit/widgets/TenantChooser.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { initials, tenantNameText } from '@alfakit/core'\nimport { router } from '@inertiajs/vue3'\nimport { ChevronsUpDownIcon, PlusIcon } from '@lucide/vue'\nimport { computed } from 'vue'\nimport NavLabel from '../../components/panel/NavLabel.vue'\nimport Avatar from '../../components/ui/Avatar.vue'\nimport AvatarFallback from '../../components/ui/AvatarFallback.vue'\nimport AvatarImage from '../../components/ui/AvatarImage.vue'\nimport DropdownMenu from '../../components/ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../../components/ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../../components/ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../../components/ui/DropdownMenuLabel.vue'\nimport DropdownMenuSeparator from '../../components/ui/DropdownMenuSeparator.vue'\nimport DropdownMenuTrigger from '../../components/ui/DropdownMenuTrigger.vue'\nimport { usePanel, useT } from '../../context'\nimport { Icon } from '../../lib/icons'\n\n/** The user's tenants on a page outside the panel (no current tenant). */\nconst t = useT()\nconst panel = usePanel()\nconst tenancy = computed(() => panel.value.tenancy)\nconst label = computed(() => t('starter_kit.choose_tenant', {}, 'Choose a tenant'))\nconst visible = computed(\n () => !!tenancy.value && (tenancy.value.tenants.length > 0 || !!tenancy.value.registrationUrl),\n)\n</script>\n\n<template>\n <DropdownMenu v-if=\"tenancy && visible\">\n <DropdownMenuTrigger as-child>\n <button\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 <span class=\"sr-only lg:not-sr-only lg:truncate\">{{ label }}</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 </DropdownMenuTrigger>\n <DropdownMenuContent class=\"min-w-56 rounded-lg\" side=\"bottom\" align=\"end\" :side-offset=\"4\">\n <DropdownMenuLabel v-if=\"tenancy.tenants.length > 0\" class=\"text-muted-foreground text-xs\">{{\n label\n }}</DropdownMenuLabel>\n <DropdownMenuItem\n v-for=\"tenant in tenancy.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=\"\" />\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 </DropdownMenuItem>\n <template v-if=\"tenancy.registrationUrl\">\n <DropdownMenuSeparator v-if=\"tenancy.tenants.length > 0\" />\n <DropdownMenuItem @select=\"router.visit(tenancy.registrationUrl!)\">\n <Icon name=\"alfakit::panels.tenant-menu.registration-button\" :fallback=\"PlusIcon\" />\n {{ tenancy.registrationLabel ?? t('tenancy.register', {}, 'New') }}\n </DropdownMenuItem>\n </template>\n </DropdownMenuContent>\n </DropdownMenu>\n</template>\n"],"mappings":""}
@@ -70,7 +70,7 @@ var M = {
70
70
  default: k(() => [C(O(n), {
71
71
  name: "alfakit::panels.tenant-menu.registration-button",
72
72
  fallback: O(j)
73
- }, null, 8, ["fallback"]), S(" " + D(O(P)("tenancy.register", {}, "New")), 1)]),
73
+ }, null, 8, ["fallback"]), S(" " + D(I.value.registrationLabel ?? O(P)("tenancy.register", {}, "New")), 1)]),
74
74
  _: 1
75
75
  })], 64)) : y("", !0)
76
76
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"TenantChooser.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","DropdownMenu","_withCtx","_createVNode","DropdownMenuTrigger","_createElementVNode","_toDisplayString","_unref","Icon","DropdownMenuContent","DropdownMenuLabel","_createTextVNode","_createCommentVNode","_createElementBlock","_Fragment","_renderList","DropdownMenuItem","Avatar","AvatarImage","AvatarFallback","NavLabel","DropdownMenuSeparator","Icon_default","DropdownMenu_default","DropdownMenuContent_default","DropdownMenuItem_default","DropdownMenuSeparator_default","DropdownMenuTrigger_default","DropdownMenuLabel_default","NavLabel_default","Avatar_default","AvatarFallback_default","AvatarImage_default","_hoisted_1","_hoisted_2","TenantChooser_vue_vue_type_script_setup_true_lang_default","t","useT","panel","usePanel","tenancy","computed","label","visible","openBlock","createBlock","withCtx","createVNode","createElementVNode","toDisplayString","unref","ChevronsUpDownIcon","createTextVNode","createCommentVNode","createElementBlock","Fragment","renderList","tenant","router","initials","tenantNameText","_cache","PlusIcon"],"sources":["../../../src/starter-kit/widgets/TenantChooser.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { initials, tenantNameText } from '@alfakit/core'\nimport { router } from '@inertiajs/vue3'\nimport { ChevronsUpDownIcon, PlusIcon } from '@lucide/vue'\nimport { computed } from 'vue'\nimport NavLabel from '../../components/panel/NavLabel.vue'\nimport Avatar from '../../components/ui/Avatar.vue'\nimport AvatarFallback from '../../components/ui/AvatarFallback.vue'\nimport AvatarImage from '../../components/ui/AvatarImage.vue'\nimport DropdownMenu from '../../components/ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../../components/ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../../components/ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../../components/ui/DropdownMenuLabel.vue'\nimport DropdownMenuSeparator from '../../components/ui/DropdownMenuSeparator.vue'\nimport DropdownMenuTrigger from '../../components/ui/DropdownMenuTrigger.vue'\nimport { usePanel, useT } from '../../context'\nimport { Icon } from '../../lib/icons'\n\n/** The user's tenants on a page outside the panel (no current tenant). */\nconst t = useT()\nconst panel = usePanel()\nconst tenancy = computed(() => panel.value.tenancy)\nconst label = computed(() => t('starter_kit.choose_tenant', {}, 'Choose a tenant'))\nconst visible = computed(\n () => !!tenancy.value && (tenancy.value.tenants.length > 0 || !!tenancy.value.registrationUrl),\n)\n</script>\n\n<template>\n <DropdownMenu v-if=\"tenancy && visible\">\n <DropdownMenuTrigger as-child>\n <button\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 <span class=\"sr-only lg:not-sr-only lg:truncate\">{{ label }}</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 </DropdownMenuTrigger>\n <DropdownMenuContent class=\"min-w-56 rounded-lg\" side=\"bottom\" align=\"end\" :side-offset=\"4\">\n <DropdownMenuLabel v-if=\"tenancy.tenants.length > 0\" class=\"text-muted-foreground text-xs\">{{\n label\n }}</DropdownMenuLabel>\n <DropdownMenuItem\n v-for=\"tenant in tenancy.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=\"\" />\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 </DropdownMenuItem>\n <template v-if=\"tenancy.registrationUrl\">\n <DropdownMenuSeparator v-if=\"tenancy.tenants.length > 0\" />\n <DropdownMenuItem @select=\"router.visit(tenancy.registrationUrl!)\">\n <Icon name=\"alfakit::panels.tenant-menu.registration-button\" :fallback=\"PlusIcon\" />\n {{ t('tenancy.register', {}, 'New') }}\n </DropdownMenuItem>\n </template>\n </DropdownMenuContent>\n </DropdownMenu>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAmBA,IAAMqC,IAAIC,EAAK,GACTC,IAAQC,EAAS,GACjBC,IAAUC,QAAeH,EAAM,MAAM,OAAO,GAC5CI,IAAQD,QAAeL,EAAE,6BAA6B,CAAC,GAAG,iBAAiB,CAAC,GAC5EO,IAAUF,QACR,CAAC,CAACD,EAAQ,UAAUA,EAAQ,MAAM,QAAQ,SAAS,KAAK,CAAC,CAACA,EAAQ,MAAM,gBAChF;mBAIsBA,EAAA,SAAWG,EAAA,SAA/B5C,EAAA,GAAAC,EAwCeC,GAAA,EAAA,KAAA,EAAA,GAAA;GAvCb,SAAAC,QAasB,CAbtBC,EAasBC,GAAA,EAbD,YAAA,GAAQ,GAAA;IAC3B,SAAAF,QAWS,CAXTG,EAWS,UAXT4B,GAWS,CANP5B,EAAmE,QAAnE6B,GAAmE5B,EAAfoC,EAAA,KAAK,GAAA,CAAA,GACzDvC,EAIEI,EAAAC,CAAA,GAAA;KAHA,MAAK;KACJ,UAAUD,EAAA4C,CAAA;KACX,OAAM;;;GAIZhD,CAAAA,GAAAA,EAwBsBM,GAAA;IAxBD,OAAM;IAAsB,MAAK;IAAS,OAAM;IAAO,eAAa;;IACvF,SAAAP,QAEsB;KAFGsC,EAAA,MAAQ,QAAQ,SAAM,KAA/CzC,EAAA,GAAAC,EAEsBU,GAAA;;MAF+B,OAAM;;MAAgC,SAAAR,QAEzF,CADAS,EAAAL,EAAAoC,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA;;;MAEP3C,EAAA,EAAA,GAAAc,EAYmBC,GAAA,MAAAC,EAXAyB,EAAA,MAAQ,UAAlB,OADTzC,EAAA,GAAAC,EAYmBgB,GAAA;MAVhB,KAAK,OAAOyC,EAAO,EAAE;MACrB,WAAM,MAAElD,EAAAmD,CAAA,CAAM,CAAC,MAAMD,EAAO,GAAG;;MAEhC,SAAAvD,QAKS,CALTC,EAKSc,GAAA,EALD,OAAM,oBAAmB,GAAA;OAC/B,SAAAf,QAAgE,CAA7CuD,EAAO,UAA1B1D,EAAA,GAAAC,EAAgEkB,GAAA;;QAA7B,KAAKuC,EAAO;QAAQ,KAAI;OAC3DtD,GAAAA,MAAAA,GAAAA,CAAAA,KAAAA,CAAAA,KAAAA,EAAAA,IAAAA,EAAAA,GAAAA,EAEmBgB,GAAA,EAFH,OAAM,yBAAwB,GAAA;QAAC,SAAAjB,QAE7C,CADAS,EAAAL,EAAAC,EAAAoD,CAAA,CAAQ,CAACpD,EAAAqD,CAAA,CAAc,CAACH,CAAM,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;MAGlCtD,GAAAA,IAAAA,GAAAA,EAAgFiB,GAAA;OAAtE,OAAM;OAAmB,MAAMqC,EAAO;OAAO,MAAMA,EAAO;;;;KAEtDjB,EAAA,MAAQ,mBAAxBzC,EAAA,GAAAc,EAMWC,GAAA,EAAA,KAAA,EAAA,GAAA,CALoB0B,EAAA,MAAQ,QAAQ,SAAM,KAAnDzC,EAAA,GAAAC,EAA2DqB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAAgC,EAAA,IAAA,EAAA,GAC3DlD,EAGmBa,GAAA,EAHA,UAAM,AAAA6C,EAAA,QAAA,MAAEtD,EAAAmD,CAAA,CAAM,CAAC,MAAMlB,EAAA,MAAQ,eAAe,EAAA,GAAA;MAC7D,SAAAtC,QAAoF,CAApFC,EAAoFI,EAAAC,CAAA,GAAA;OAA9E,MAAK;OAAmD,UAAUD,EAAAuD,CAAA;MAAYnD,GAAAA,MAAAA,GAAAA,CAAAA,UAAAA,CAAAA,GAAAA,EAAA,MACpFL,EAAGC,EAAA6B,CAAA,CAAC,CAAA,oBAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"TenantChooser.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","DropdownMenu","_withCtx","_createVNode","DropdownMenuTrigger","_createElementVNode","_toDisplayString","_unref","Icon","DropdownMenuContent","DropdownMenuLabel","_createTextVNode","_createCommentVNode","_createElementBlock","_Fragment","_renderList","DropdownMenuItem","Avatar","AvatarImage","AvatarFallback","NavLabel","DropdownMenuSeparator","Icon_default","DropdownMenu_default","DropdownMenuContent_default","DropdownMenuItem_default","DropdownMenuSeparator_default","DropdownMenuTrigger_default","DropdownMenuLabel_default","NavLabel_default","Avatar_default","AvatarFallback_default","AvatarImage_default","_hoisted_1","_hoisted_2","TenantChooser_vue_vue_type_script_setup_true_lang_default","t","useT","panel","usePanel","tenancy","computed","label","visible","openBlock","createBlock","withCtx","createVNode","createElementVNode","toDisplayString","unref","ChevronsUpDownIcon","createTextVNode","createCommentVNode","createElementBlock","Fragment","renderList","tenant","router","initials","tenantNameText","_cache","PlusIcon"],"sources":["../../../src/starter-kit/widgets/TenantChooser.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { initials, tenantNameText } from '@alfakit/core'\nimport { router } from '@inertiajs/vue3'\nimport { ChevronsUpDownIcon, PlusIcon } from '@lucide/vue'\nimport { computed } from 'vue'\nimport NavLabel from '../../components/panel/NavLabel.vue'\nimport Avatar from '../../components/ui/Avatar.vue'\nimport AvatarFallback from '../../components/ui/AvatarFallback.vue'\nimport AvatarImage from '../../components/ui/AvatarImage.vue'\nimport DropdownMenu from '../../components/ui/DropdownMenu.vue'\nimport DropdownMenuContent from '../../components/ui/DropdownMenuContent.vue'\nimport DropdownMenuItem from '../../components/ui/DropdownMenuItem.vue'\nimport DropdownMenuLabel from '../../components/ui/DropdownMenuLabel.vue'\nimport DropdownMenuSeparator from '../../components/ui/DropdownMenuSeparator.vue'\nimport DropdownMenuTrigger from '../../components/ui/DropdownMenuTrigger.vue'\nimport { usePanel, useT } from '../../context'\nimport { Icon } from '../../lib/icons'\n\n/** The user's tenants on a page outside the panel (no current tenant). */\nconst t = useT()\nconst panel = usePanel()\nconst tenancy = computed(() => panel.value.tenancy)\nconst label = computed(() => t('starter_kit.choose_tenant', {}, 'Choose a tenant'))\nconst visible = computed(\n () => !!tenancy.value && (tenancy.value.tenants.length > 0 || !!tenancy.value.registrationUrl),\n)\n</script>\n\n<template>\n <DropdownMenu v-if=\"tenancy && visible\">\n <DropdownMenuTrigger as-child>\n <button\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 <span class=\"sr-only lg:not-sr-only lg:truncate\">{{ label }}</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 </DropdownMenuTrigger>\n <DropdownMenuContent class=\"min-w-56 rounded-lg\" side=\"bottom\" align=\"end\" :side-offset=\"4\">\n <DropdownMenuLabel v-if=\"tenancy.tenants.length > 0\" class=\"text-muted-foreground text-xs\">{{\n label\n }}</DropdownMenuLabel>\n <DropdownMenuItem\n v-for=\"tenant in tenancy.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=\"\" />\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 </DropdownMenuItem>\n <template v-if=\"tenancy.registrationUrl\">\n <DropdownMenuSeparator v-if=\"tenancy.tenants.length > 0\" />\n <DropdownMenuItem @select=\"router.visit(tenancy.registrationUrl!)\">\n <Icon name=\"alfakit::panels.tenant-menu.registration-button\" :fallback=\"PlusIcon\" />\n {{ tenancy.registrationLabel ?? t('tenancy.register', {}, 'New') }}\n </DropdownMenuItem>\n </template>\n </DropdownMenuContent>\n </DropdownMenu>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAmBA,IAAMqC,IAAIC,EAAK,GACTC,IAAQC,EAAS,GACjBC,IAAUC,QAAeH,EAAM,MAAM,OAAO,GAC5CI,IAAQD,QAAeL,EAAE,6BAA6B,CAAC,GAAG,iBAAiB,CAAC,GAC5EO,IAAUF,QACR,CAAC,CAACD,EAAQ,UAAUA,EAAQ,MAAM,QAAQ,SAAS,KAAK,CAAC,CAACA,EAAQ,MAAM,gBAChF;mBAIsBA,EAAA,SAAWG,EAAA,SAA/B5C,EAAA,GAAAC,EAwCeC,GAAA,EAAA,KAAA,EAAA,GAAA;GAvCb,SAAAC,QAasB,CAbtBC,EAasBC,GAAA,EAbD,YAAA,GAAQ,GAAA;IAC3B,SAAAF,QAWS,CAXTG,EAWS,UAXT4B,GAWS,CANP5B,EAAmE,QAAnE6B,GAAmE5B,EAAfoC,EAAA,KAAK,GAAA,CAAA,GACzDvC,EAIEI,EAAAC,CAAA,GAAA;KAHA,MAAK;KACJ,UAAUD,EAAA4C,CAAA;KACX,OAAM;;;GAIZhD,CAAAA,GAAAA,EAwBsBM,GAAA;IAxBD,OAAM;IAAsB,MAAK;IAAS,OAAM;IAAO,eAAa;;IACvF,SAAAP,QAEsB;KAFGsC,EAAA,MAAQ,QAAQ,SAAM,KAA/CzC,EAAA,GAAAC,EAEsBU,GAAA;;MAF+B,OAAM;;MAAgC,SAAAR,QAEzF,CADAS,EAAAL,EAAAoC,EAAA,KAAK,GAAA,CAAA,CAAA,CAAA;;;MAEP3C,EAAA,EAAA,GAAAc,EAYmBC,GAAA,MAAAC,EAXAyB,EAAA,MAAQ,UAAlB,OADTzC,EAAA,GAAAC,EAYmBgB,GAAA;MAVhB,KAAK,OAAOyC,EAAO,EAAE;MACrB,WAAM,MAAElD,EAAAmD,CAAA,CAAM,CAAC,MAAMD,EAAO,GAAG;;MAEhC,SAAAvD,QAKS,CALTC,EAKSc,GAAA,EALD,OAAM,oBAAmB,GAAA;OAC/B,SAAAf,QAAgE,CAA7CuD,EAAO,UAA1B1D,EAAA,GAAAC,EAAgEkB,GAAA;;QAA7B,KAAKuC,EAAO;QAAQ,KAAI;OAC3DtD,GAAAA,MAAAA,GAAAA,CAAAA,KAAAA,CAAAA,KAAAA,EAAAA,IAAAA,EAAAA,GAAAA,EAEmBgB,GAAA,EAFH,OAAM,yBAAwB,GAAA;QAAC,SAAAjB,QAE7C,CADAS,EAAAL,EAAAC,EAAAoD,CAAA,CAAQ,CAACpD,EAAAqD,CAAA,CAAc,CAACH,CAAM,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA;;;;MAGlCtD,GAAAA,IAAAA,GAAAA,EAAgFiB,GAAA;OAAtE,OAAM;OAAmB,MAAMqC,EAAO;OAAO,MAAMA,EAAO;;;;KAEtDjB,EAAA,MAAQ,mBAAxBzC,EAAA,GAAAc,EAMWC,GAAA,EAAA,KAAA,EAAA,GAAA,CALoB0B,EAAA,MAAQ,QAAQ,SAAM,KAAnDzC,EAAA,GAAAC,EAA2DqB,GAAA,EAAA,KAAA,EAAA,CAAA,KAAAgC,EAAA,IAAA,EAAA,GAC3DlD,EAGmBa,GAAA,EAHA,UAAM,AAAA6C,EAAA,QAAA,MAAEtD,EAAAmD,CAAA,CAAM,CAAC,MAAMlB,EAAA,MAAQ,eAAe,EAAA,GAAA;MAC7D,SAAAtC,QAAoF,CAApFC,EAAoFI,EAAAC,CAAA,GAAA;OAA9E,MAAK;OAAmD,UAAUD,EAAAuD,CAAA;MAAYnD,GAAAA,MAAAA,GAAAA,CAAAA,UAAAA,CAAAA,GAAAA,EAAA,MACpFL,EAAGkC,EAAA,MAAQ,qBAAqBjC,EAAA6B,CAAA,CAAC,CAAA,oBAAA,CAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAA,CAAA"}
@@ -5,15 +5,17 @@ import { type PropType } from 'vue';
5
5
  * nothing for guests or without global search and a command palette.
6
6
  */
7
7
  export declare const AlfakitSearch: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
- /** The `starterKit()` panel to use (the first one by default). */
8
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
9
9
  panel: {
10
10
  type: PropType<string | undefined>;
11
11
  default: undefined;
12
12
  };
13
13
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
14
14
  [key: string]: any;
15
- }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
16
- /** The `starterKit()` panel to use (the first one by default). */
15
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
16
+ [key: string]: any;
17
+ }>[] | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
18
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
17
19
  panel: {
18
20
  type: PropType<string | undefined>;
19
21
  default: undefined;
@@ -26,15 +28,17 @@ export declare const AlfakitSearch: import("vue").DefineComponent<import("vue").
26
28
  * realtime updates as in the panel. Renders nothing for guests or without them.
27
29
  */
28
30
  export declare const AlfakitNotifications: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
29
- /** The `starterKit()` panel to use (the first one by default). */
31
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
30
32
  panel: {
31
33
  type: PropType<string | undefined>;
32
34
  default: undefined;
33
35
  };
34
36
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
35
37
  [key: string]: any;
36
- }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
37
- /** The `starterKit()` panel to use (the first one by default). */
38
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
39
+ [key: string]: any;
40
+ }>[] | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
38
42
  panel: {
39
43
  type: PropType<string | undefined>;
40
44
  default: undefined;
@@ -47,15 +51,42 @@ export declare const AlfakitNotifications: import("vue").DefineComponent<import(
47
51
  * to choose one on the host's own pages. Renders nothing for guests or other panels.
48
52
  */
49
53
  export declare const AlfakitTenantSwitcher: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
50
- /** The `starterKit()` panel to use (the first one by default). */
54
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
51
55
  panel: {
52
56
  type: PropType<string | undefined>;
53
57
  default: undefined;
54
58
  };
55
59
  }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
56
60
  [key: string]: any;
57
- }> | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
58
- /** The `starterKit()` panel to use (the first one by default). */
61
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
62
+ [key: string]: any;
63
+ }>[] | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
64
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
65
+ panel: {
66
+ type: PropType<string | undefined>;
67
+ default: undefined;
68
+ };
69
+ }>> & Readonly<{}>, {
70
+ panel: string | undefined;
71
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
72
+ /**
73
+ * The AI copilot of alfasix/alfakit-ai (`AiPlugin::copilot()`): its button and chat
74
+ * slide-over, opened with its key bindings (`mod+j`) from any page. Renders nothing for
75
+ * guests, without the plugin's copilot, for users who may not use it and (tenancy panels)
76
+ * outside a tenant.
77
+ */
78
+ export declare const AlfakitCopilot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
79
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
80
+ panel: {
81
+ type: PropType<string | undefined>;
82
+ default: undefined;
83
+ };
84
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
85
+ [key: string]: any;
86
+ }> | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
87
+ [key: string]: any;
88
+ }>[] | null, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
89
+ /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */
59
90
  panel: {
60
91
  type: PropType<string | undefined>;
61
92
  default: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/starter-kit/widgets/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkE,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAA;AA6EnG;;;;GAIG;AACH,eAAO,MAAM,aAAa;IAtBpB,kEAAkE;;cACzC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;IADrD,kEAAkE;;cACzC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EA0B1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IAjC3B,kEAAkE;;cACzC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;IADrD,kEAAkE;;cACzC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EAqC1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IA5C5B,kEAAkE;;cACzC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;IADrD,kEAAkE;;cACzC,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EAgD1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/starter-kit/widgets/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,KAAK,CAAA;AAqGZ;;;;GAIG;AACH,eAAO,MAAM,aAAa;IAhCpB,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;IADrD,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EAoC1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB;IA3C3B,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;IADrD,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EA+C1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IAtD5B,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;IADrD,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EA0D1D,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;IAnErB,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;;;;IADrD,8HAA8H;;cACrG,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC;;;;;4EAuE1D,CAAA"}
@@ -1,37 +1,40 @@
1
1
  import { lazyComponent as e } from "../../lib/lazy.js";
2
- import t from "./NotificationsTrigger.js";
3
- import n from "./SearchTrigger.js";
4
- import r from "./TenantSwitcherTrigger.js";
5
- import { starterKitWidgets as i } from "@alfakit/core";
6
- import { usePage as a } from "@inertiajs/vue3";
7
- import { computed as o, defineComponent as s, h as c } from "vue";
2
+ import t from "./CopilotTrigger.js";
3
+ import n from "./NotificationsTrigger.js";
4
+ import r from "./SearchTrigger.js";
5
+ import i from "./TenantSwitcherTrigger.js";
6
+ import { starterKitWidgets as a } from "@alfakit/core";
7
+ import { usePage as o } from "@inertiajs/vue3";
8
+ import { computed as s, defineAsyncComponent as c, defineComponent as l, h as u } from "vue";
8
9
  //#region src/starter-kit/widgets/index.ts
9
- function l(e) {
10
- let t = a();
11
- return o(() => i(t.props, e()));
10
+ function d(e, t) {
11
+ let n = o();
12
+ return s(() => a(n.props, e(), t));
12
13
  }
13
- var u = e("AlfakitLoadedSearch", () => import("./LoadedSearch.js").then((e) => e.default), n), d = e("AlfakitLoadedNotifications", () => import("./LoadedNotifications.js").then((e) => e.default), t), f = e("AlfakitLoadedTenantSwitcher", () => import("./LoadedTenantSwitcher.js").then((e) => e.default), r);
14
- function p(e, t, n, r) {
15
- return s({
14
+ var f = e("AlfakitLoadedSearch", () => import("./loaded.js").then((e) => e.LoadedSearch), r), p = e("AlfakitLoadedNotifications", () => import("./loaded.js").then((e) => e.LoadedNotifications), n), m = e("AlfakitLoadedTenantSwitcher", () => import("./loaded.js").then((e) => e.LoadedTenantSwitcher), i), h = e("AlfakitLoadedCopilot", () => import("./loaded.js").then((e) => e.LoadedCopilot), t), g = c(() => import("./StarterKitImpersonationBanner.js"));
15
+ function _(e, t, n, r) {
16
+ return l({
16
17
  name: e,
17
18
  props: { panel: {
18
19
  type: String,
19
20
  default: void 0
20
21
  } },
21
22
  setup(e) {
22
- let i = l(() => e.panel);
23
+ let i = d(() => e.panel, n);
23
24
  return () => {
24
- let e = i.value;
25
- return e?.widgets[n] ? c("span", {
25
+ let e = i.value, a = e?.widgets.impersonation ? u(g, { source: e }) : null;
26
+ if (!e?.widgets[n]) return a;
27
+ let o = u("span", {
26
28
  "data-slot": t,
27
29
  class: "inline-flex"
28
- }, [c(r, { source: e })]) : null;
30
+ }, [u(r, { source: e })]);
31
+ return a ? [a, o] : o;
29
32
  };
30
33
  }
31
34
  });
32
35
  }
33
- var m = p("AlfakitSearch", "starter-kit-search", "search", u), h = p("AlfakitNotifications", "starter-kit-notifications", "notifications", d), g = p("AlfakitTenantSwitcher", "starter-kit-tenant-switcher", "tenancy", f);
36
+ var v = _("AlfakitSearch", "starter-kit-search", "search", f), y = _("AlfakitNotifications", "starter-kit-notifications", "notifications", p), b = _("AlfakitTenantSwitcher", "starter-kit-tenant-switcher", "tenancy", m), x = _("AlfakitCopilot", "starter-kit-copilot", "copilot", h);
34
37
  //#endregion
35
- export { h as AlfakitNotifications, m as AlfakitSearch, g as AlfakitTenantSwitcher };
38
+ export { x as AlfakitCopilot, y as AlfakitNotifications, v as AlfakitSearch, b as AlfakitTenantSwitcher };
36
39
 
37
40
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["SearchTrigger","NotificationsTrigger","TenantSwitcherTrigger","NotificationsTrigger_default","SearchTrigger_default","TenantSwitcherTrigger_default","useStarterKitWidgets","page","usePage","computed","starterKitWidgets","panelId","LoadedSearch","lazyComponent","module","LoadedNotifications","LoadedTenantSwitcher","headerWidget","defineComponent","source","props","value","part","h","slot","loaded","AlfakitSearch","AlfakitNotifications","AlfakitTenantSwitcher"],"sources":["../../../src/starter-kit/widgets/index.ts"],"sourcesContent":["import {\n starterKitWidgets,\n type StarterKitWidgets,\n type StarterKitWidgetsSchema,\n} from '@alfakit/core'\nimport { usePage } from '@inertiajs/vue3'\nimport { computed, defineComponent, h, type Component, type ComputedRef, type PropType } from 'vue'\nimport { lazyComponent } from '../../lib/lazy'\nimport NotificationsTrigger from './NotificationsTrigger.vue'\nimport SearchTrigger from './SearchTrigger.vue'\nimport TenantSwitcherTrigger from './TenantSwitcherTrigger.vue'\n\n/**\n * Drop-in header components of starter kit mode (`Panel::starterKit()`): AlfaKit's search,\n * notifications bell and tenant switcher in the host's own header, on every page of the\n * application. They read the shared `alfakitNavigation` prop, render a lightweight trigger\n * straight away, and load their code and the panel data once mounted (never during SSR).\n *\n * ```vue\n * <script setup lang=\"ts\">\n * import { AlfakitNotifications, AlfakitSearch } from '@alfakit/vue'\n * </script>\n *\n * <template>\n * <AlfakitSearch />\n * <AlfakitNotifications />\n * </template>\n * ```\n */\n\n/** The header components' data of a `starterKit()` panel from the shared prop, or null. */\nfunction useStarterKitWidgets(\n panelId: () => string | undefined,\n): ComputedRef<StarterKitWidgets | null> {\n const page = usePage()\n\n return computed(() => starterKitWidgets(page.props, panelId()))\n}\n\nconst LoadedSearch = lazyComponent(\n 'AlfakitLoadedSearch',\n () => import('./LoadedSearch.vue').then((module) => module.default),\n SearchTrigger,\n)\n\nconst LoadedNotifications = lazyComponent(\n 'AlfakitLoadedNotifications',\n () => import('./LoadedNotifications.vue').then((module) => module.default),\n NotificationsTrigger,\n)\n\nconst LoadedTenantSwitcher = lazyComponent(\n 'AlfakitLoadedTenantSwitcher',\n () => import('./LoadedTenantSwitcher.vue').then((module) => module.default),\n TenantSwitcherTrigger,\n)\n\nfunction headerWidget(\n name: string,\n slot: string,\n part: keyof Omit<StarterKitWidgetsSchema, 'endpoint'>,\n loaded: Component,\n) {\n return defineComponent({\n name,\n props: {\n /** The `starterKit()` panel to use (the first one by default). */\n panel: { type: String as PropType<string | undefined>, default: undefined },\n },\n setup(props) {\n const source = useStarterKitWidgets(() => props.panel)\n\n return () => {\n const value: StarterKitWidgets | null = source.value\n\n return value?.widgets[part]\n ? h('span', { 'data-slot': slot, class: 'inline-flex' }, [h(loaded, { source: value })])\n : null\n }\n },\n })\n}\n\n/**\n * AlfaKit's command palette and global search: the search field opens it, and so do the\n * panel's key bindings (⌘K / Ctrl+K by default), registered once for the page. Renders\n * nothing for guests or without global search and a command palette.\n */\nexport const AlfakitSearch = headerWidget(\n 'AlfakitSearch',\n 'starter-kit-search',\n 'search',\n LoadedSearch,\n)\n\n/**\n * The bell with the user's database notifications (`databaseNotifications()`), polling and\n * realtime updates as in the panel. Renders nothing for guests or without them.\n */\nexport const AlfakitNotifications = headerWidget(\n 'AlfakitNotifications',\n 'starter-kit-notifications',\n 'notifications',\n LoadedNotifications,\n)\n\n/**\n * The tenant switcher of a tenancy panel: the current tenant inside the panel, or a menu\n * to choose one on the host's own pages. Renders nothing for guests or other panels.\n */\nexport const AlfakitTenantSwitcher = headerWidget(\n 'AlfakitTenantSwitcher',\n 'starter-kit-tenant-switcher',\n 'tenancy',\n LoadedTenantSwitcher,\n)\n"],"mappings":";;;;;;;;AA+BA,SAASM,EACP,GACuC;CACvC,IAAMC,IAAOC,EAAQ;CAErB,OAAOC,QAAeC,EAAkBH,EAAK,OAAOI,EAAQ,CAAC,CAAC;AAChE;AAEA,IAAMC,IAAeC,EACnB,6BACM,OAAO,oBAAqB,CAAC,MAAM,MAAWC,EAAO,OAAO,GAClEd,CACF,GAEMe,IAAsBF,EAC1B,oCACM,OAAO,2BAA4B,CAAC,MAAM,MAAWC,EAAO,OAAO,GACzEb,CACF,GAEMe,IAAuBH,EAC3B,qCACM,OAAO,4BAA6B,CAAC,MAAM,MAAWC,EAAO,OAAO,GAC1EZ,CACF;AAEA,SAASe,EACP,GACA,GACA,GACA,GACA;CACA,OAAOC,EAAgB;EACrB;EACA,OAAO,EAEL,OAAO;GAAE,MAAM;GAAwC,SAAS,KAAA;EAAU,EAC5E;EACA,MAAM,GAAO;GACX,IAAMC,IAASb,QAA2Bc,EAAM,KAAK;GAErD,aAAa;IACX,IAAMC,IAAkCF,EAAO;IAE/C,OAAOE,GAAO,QAAQC,KAClBC,EAAE,QAAQ;KAAE,aAAaC;KAAM,OAAO;IAAc,GAAG,CAACD,EAAEE,GAAQ,EAAE,QAAQJ,EAAM,CAAC,CAAC,CAAC,IACrF;GACN;EACF;CACF,CAAC;AACH;AAOA,IAAaK,IAAgBT,EAC3B,iBACA,sBACA,UACAL,CACF,GAMae,IAAuBV,EAClC,wBACA,6BACA,iBACAF,CACF,GAMaa,IAAwBX,EACnC,yBACA,+BACA,WACAD,CACF"}
1
+ {"version":3,"file":"index.js","names":["SearchTrigger","NotificationsTrigger","TenantSwitcherTrigger","CopilotTrigger","CopilotTrigger_default","NotificationsTrigger_default","SearchTrigger_default","TenantSwitcherTrigger_default","useStarterKitWidgets","page","usePage","computed","starterKitWidgets","panelId","part","LoadedSearch","lazyComponent","module","LoadedNotifications","LoadedTenantSwitcher","LoadedCopilot","StarterKitImpersonationBanner","defineAsyncComponent","headerWidget","defineComponent","source","props","value","banner","h","widget","slot","loaded","AlfakitSearch","AlfakitNotifications","AlfakitTenantSwitcher","AlfakitCopilot"],"sources":["../../../src/starter-kit/widgets/index.ts"],"sourcesContent":["import {\n starterKitWidgets,\n type StarterKitWidgets,\n type StarterKitWidgetsSchema,\n} from '@alfakit/core'\nimport { usePage } from '@inertiajs/vue3'\nimport {\n computed,\n defineAsyncComponent,\n defineComponent,\n h,\n type Component,\n type ComputedRef,\n type PropType,\n} from 'vue'\nimport { lazyComponent } from '../../lib/lazy'\nimport CopilotTrigger from './CopilotTrigger.vue'\nimport NotificationsTrigger from './NotificationsTrigger.vue'\nimport SearchTrigger from './SearchTrigger.vue'\nimport TenantSwitcherTrigger from './TenantSwitcherTrigger.vue'\n\n/**\n * Drop-in header components of starter kit mode (`Panel::starterKit()`): AlfaKit's search,\n * notifications bell and tenant switcher in the host's own header, on every page of the\n * application. They read the shared `alfakitNavigation` prop, render a lightweight trigger\n * straight away, and load their code and the panel data once mounted (never during SSR).\n *\n * ```vue\n * <script setup lang=\"ts\">\n * import { AlfakitCopilot, AlfakitNotifications, AlfakitSearch } from '@alfakit/vue'\n * </script>\n *\n * <template>\n * <AlfakitSearch />\n * <AlfakitNotifications />\n * <AlfakitCopilot />\n * </template>\n * ```\n */\n\n/** The header components' data of a `starterKit()` panel from the shared prop, or null. */\nfunction useStarterKitWidgets(\n panelId: () => string | undefined,\n part: keyof StarterKitWidgetsSchema,\n): ComputedRef<StarterKitWidgets | null> {\n const page = usePage()\n\n return computed(() => starterKitWidgets(page.props, panelId(), part))\n}\n\nconst LoadedSearch = lazyComponent(\n 'AlfakitLoadedSearch',\n () => import('./loaded').then((module) => module.LoadedSearch),\n SearchTrigger,\n)\n\nconst LoadedNotifications = lazyComponent(\n 'AlfakitLoadedNotifications',\n () => import('./loaded').then((module) => module.LoadedNotifications),\n NotificationsTrigger,\n)\n\nconst LoadedTenantSwitcher = lazyComponent(\n 'AlfakitLoadedTenantSwitcher',\n () => import('./loaded').then((module) => module.LoadedTenantSwitcher),\n TenantSwitcherTrigger,\n)\n\nconst LoadedCopilot = lazyComponent(\n 'AlfakitLoadedCopilot',\n () => import('./loaded').then((module) => module.LoadedCopilot),\n CopilotTrigger,\n)\n\n// Only needed while impersonating: its code loads then.\nconst StarterKitImpersonationBanner = defineAsyncComponent(\n () => import('./StarterKitImpersonationBanner.vue'),\n)\n\nfunction headerWidget(\n name: string,\n slot: string,\n part: keyof Omit<StarterKitWidgetsSchema, 'endpoint' | 'impersonation'>,\n loaded: Component,\n) {\n return defineComponent({\n name,\n props: {\n /** The `starterKit()` panel to use (by default the open AlfaKit page's panel, else the first one that has this component). */\n panel: { type: String as PropType<string | undefined>, default: undefined },\n },\n setup(props) {\n const source = useStarterKitWidgets(() => props.panel, part)\n\n return () => {\n const value: StarterKitWidgets | null = source.value\n\n // While impersonating, the first header component shows the banner on host pages.\n const banner = value?.widgets.impersonation\n ? h(StarterKitImpersonationBanner, { source: value })\n : null\n\n if (!value?.widgets[part]) return banner\n\n const widget = h('span', { 'data-slot': slot, class: 'inline-flex' }, [\n h(loaded, { source: value }),\n ])\n\n // A single root unless the banner shows, so attributes from the app still fall through.\n return banner ? [banner, widget] : widget\n }\n },\n })\n}\n\n/**\n * AlfaKit's command palette and global search: the search field opens it, and so do the\n * panel's key bindings (⌘K / Ctrl+K by default), registered once for the page. Renders\n * nothing for guests or without global search and a command palette.\n */\nexport const AlfakitSearch = headerWidget(\n 'AlfakitSearch',\n 'starter-kit-search',\n 'search',\n LoadedSearch,\n)\n\n/**\n * The bell with the user's database notifications (`databaseNotifications()`), polling and\n * realtime updates as in the panel. Renders nothing for guests or without them.\n */\nexport const AlfakitNotifications = headerWidget(\n 'AlfakitNotifications',\n 'starter-kit-notifications',\n 'notifications',\n LoadedNotifications,\n)\n\n/**\n * The tenant switcher of a tenancy panel: the current tenant inside the panel, or a menu\n * to choose one on the host's own pages. Renders nothing for guests or other panels.\n */\nexport const AlfakitTenantSwitcher = headerWidget(\n 'AlfakitTenantSwitcher',\n 'starter-kit-tenant-switcher',\n 'tenancy',\n LoadedTenantSwitcher,\n)\n\n/**\n * The AI copilot of alfasix/alfakit-ai (`AiPlugin::copilot()`): its button and chat\n * slide-over, opened with its key bindings (`mod+j`) from any page. Renders nothing for\n * guests, without the plugin's copilot, for users who may not use it and (tenancy panels)\n * outside a tenant.\n */\nexport const AlfakitCopilot = headerWidget(\n 'AlfakitCopilot',\n 'starter-kit-copilot',\n 'copilot',\n LoadedCopilot,\n)\n"],"mappings":";;;;;;;;;AAyCA,SAASQ,EACP,GACA,GACuC;CACvC,IAAMC,IAAOC,EAAQ;CAErB,OAAOC,QAAeC,EAAkBH,EAAK,OAAOI,EAAQ,GAAGC,CAAI,CAAC;AACtE;AAEA,IAAMC,IAAeC,EACnB,6BACM,OAAO,cAAW,CAAC,MAAM,MAAWC,EAAO,YAAY,GAC7DjB,CACF,GAEMkB,IAAsBF,EAC1B,oCACM,OAAO,cAAW,CAAC,MAAM,MAAWC,EAAO,mBAAmB,GACpEhB,CACF,GAEMkB,IAAuBH,EAC3B,qCACM,OAAO,cAAW,CAAC,MAAM,MAAWC,EAAO,oBAAoB,GACrEf,CACF,GAEMkB,IAAgBJ,EACpB,8BACM,OAAO,cAAW,CAAC,MAAM,MAAWC,EAAO,aAAa,GAC9Dd,CACF,GAGMkB,IAAgCC,QAC9B,OAAO,qCACf;AAEA,SAASC,EACP,GACA,GACA,GACA,GACA;CACA,OAAOC,EAAgB;EACrB;EACA,OAAO,EAEL,OAAO;GAAE,MAAM;GAAwC,SAAS,KAAA;EAAU,EAC5E;EACA,MAAM,GAAO;GACX,IAAMC,IAASjB,QAA2BkB,EAAM,OAAOZ,CAAI;GAE3D,aAAa;IACX,IAAMa,IAAkCF,EAAO,OAGzCG,IAASD,GAAO,QAAQ,gBAC1BE,EAAER,GAA+B,EAAE,QAAQM,EAAM,CAAC,IAClD;IAEJ,IAAI,CAACA,GAAO,QAAQb,IAAO,OAAOc;IAElC,IAAME,IAASD,EAAE,QAAQ;KAAE,aAAaE;KAAM,OAAO;IAAc,GAAG,CACpEF,EAAEG,GAAQ,EAAE,QAAQL,EAAM,CAAC,CAC7B,CAAC;IAGD,OAAOC,IAAS,CAACA,GAAQE,CAAM,IAAIA;GACrC;EACF;CACF,CAAC;AACH;AAOA,IAAaG,IAAgBV,EAC3B,iBACA,sBACA,UACAR,CACF,GAMamB,IAAuBX,EAClC,wBACA,6BACA,iBACAL,CACF,GAMaiB,IAAwBZ,EACnC,yBACA,+BACA,WACAJ,CACF,GAQaiB,IAAiBb,EAC5B,kBACA,uBACA,WACAH,CACF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The loaded header components, in one module: they mount together in the host's header,
3
+ * so one request brings them all, and a host bundle doesn't pay for a chunk per component.
4
+ * Only loaded in the browser (`import('./loaded')`).
5
+ */
6
+ export { default as LoadedCopilot } from './LoadedCopilot.vue';
7
+ export { default as LoadedNotifications } from './LoadedNotifications.vue';
8
+ export { default as LoadedSearch } from './LoadedSearch.vue';
9
+ export { default as LoadedTenantSwitcher } from './LoadedTenantSwitcher.vue';
10
+ //# sourceMappingURL=loaded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loaded.d.ts","sourceRoot":"","sources":["../../../src/starter-kit/widgets/loaded.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC1E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,5 @@
1
+ import e from "./LoadedCopilot.js";
2
+ import t from "./LoadedNotifications.js";
3
+ import n from "./LoadedSearch.js";
4
+ import r from "./LoadedTenantSwitcher.js";
5
+ export { e as LoadedCopilot, t as LoadedNotifications, n as LoadedSearch, r as LoadedTenantSwitcher };
package/dist/styles.css CHANGED
@@ -19,6 +19,13 @@
19
19
 
20
20
  @custom-variant dark (&:is(.dark *));
21
21
 
22
+ /*
23
+ * Class lists that live in @alfakit/core (stacked-on-mobile tables, filter and column manager
24
+ * widths in `table.ts`, …): scan core's build too. Relative to this file in
25
+ * node_modules/@alfakit/<renderer>/dist, next to node_modules/@alfakit/core.
26
+ */
27
+ @source '../../core/dist';
28
+
22
29
  /*
23
30
  * Grid classes are composed at runtime from schema breakpoints (`columns`, `columnSpan`),
24
31
  * so force Tailwind to generate every variant the renderers can produce.
@@ -122,10 +129,10 @@
122
129
  --secondary: oklch(0.97 0 0);
123
130
  --secondary-foreground: oklch(0.205 0 0);
124
131
  --muted: oklch(0.97 0 0);
125
- --muted-foreground: oklch(0.556 0 0);
132
+ --muted-foreground: oklch(0.54 0 0);
126
133
  --accent: oklch(0.97 0 0);
127
134
  --accent-foreground: oklch(0.205 0 0);
128
- --destructive: var(--alfakit-danger, oklch(0.55 0.245 27.325));
135
+ --destructive: var(--alfakit-danger, oklch(0.5 0.245 27.325));
129
136
  --destructive-foreground: var(--alfakit-danger-foreground, oklch(0.985 0 0));
130
137
  --border: oklch(0.922 0 0);
131
138
  --input: oklch(0.64 0 0);