@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,26 +1,26 @@
1
- import { useChoice as e, usePanel as t, useT as n } from "../../context.js";
2
- import { cn as r } from "../../lib/utils.js";
3
- import { useStore as i } from "../../composables/use-store.js";
4
- import a from "../ui/Button2.js";
5
- import o from "../ui/Spinner.js";
6
- import { useField as s, useFormStore as c } from "../form/form-context.js";
7
- import { lazyComponent as ee } from "../../lib/lazy.js";
8
- import te from "../schema/FieldWrapper.js";
9
- import { canEditImage as ne, concurrencyLimiter as re, cssAspectRatio as ie, editableImageName as l, fetchEditableImage as ae, fieldMemory as u, fileUploadAccept as oe, fileUploadPaths as se, filesFromClipboard as ce, formatBytes as le, insertUploadedFile as ue, moveRepeaterItem as de, panelUploadOptions as fe, requestJson as pe, transformImage as me, uploadTemporaryFile as he, uploadedFileLinks as d } from "@alfakit/core";
10
- import { Fragment as f, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createVNode as v, defineComponent as y, normalizeClass as b, normalizeStyle as ge, openBlock as x, ref as S, renderList as _e, shallowRef as ve, toDisplayString as C, unref as w, watch as ye, withCtx as T, withKeys as be, withModifiers as E } from "vue";
11
- import { ChevronDownIcon as xe, ChevronUpIcon as Se, DownloadIcon as Ce, ExternalLinkIcon as we, FileIcon as Te, PencilIcon as Ee, UploadCloudIcon as De, XIcon as D } from "@lucide/vue";
1
+ import { useChoice as e, useFormatter as t, usePanel as n, useT as r } from "../../context.js";
2
+ import { cn as i } from "../../lib/utils.js";
3
+ import { useStore as a } from "../../composables/use-store.js";
4
+ import o from "../ui/Button2.js";
5
+ import s from "../ui/Spinner.js";
6
+ import { useField as c, useFormStore as ee } from "../form/form-context.js";
7
+ import { lazyComponent as te } from "../../lib/lazy.js";
8
+ import ne from "../schema/FieldWrapper.js";
9
+ import { canEditImage as re, concurrencyLimiter as ie, cssAspectRatio as ae, editableImageName as oe, fetchEditableImage as se, fieldMemory as l, fileManagerSize as u, fileUploadAccept as ce, fileUploadPaths as le, filesFromClipboard as ue, insertUploadedFile as de, moveRepeaterItem as fe, panelUploadOptions as pe, requestJson as me, transformImage as he, uploadTemporaryFile as ge, uploadedFileLinks as d } from "@alfakit/core";
10
+ import { Fragment as _e, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createVNode as _, defineComponent as v, normalizeClass as y, normalizeStyle as ve, openBlock as b, ref as x, renderList as ye, shallowRef as be, toDisplayString as S, unref as C, watch as xe, withCtx as w, withKeys as T, withModifiers as E } from "vue";
11
+ import { ChevronDownIcon as Se, ChevronUpIcon as Ce, DownloadIcon as we, ExternalLinkIcon as Te, FileIcon as Ee, PencilIcon as De, UploadCloudIcon as Oe, XIcon as ke } from "@lucide/vue";
12
12
  //#region src/components/fields/FileUploadField.vue?vue&type=script&setup=true&lang.ts
13
- var Oe = ["data-layout"], ke = [
13
+ var Ae = ["data-layout"], je = [
14
14
  "draggable",
15
15
  "onDragstart",
16
16
  "onDrop"
17
- ], Ae = ["src", "onError"], je = {
17
+ ], Me = ["src", "onError"], Ne = {
18
18
  key: 4,
19
19
  class: "min-w-0 flex-1"
20
- }, Me = { class: "truncate font-medium" }, Ne = ["href", "aria-label"], Pe = ["href", "aria-label"], Fe = ["data-align", "aria-describedby"], Ie = { key: 0 }, Le = {
20
+ }, Pe = { class: "truncate font-medium" }, Fe = ["href", "aria-label"], Ie = ["href", "aria-label"], Le = ["data-align", "aria-describedby"], Re = { key: 0 }, ze = {
21
21
  key: 1,
22
22
  class: "text-muted-foreground text-xs"
23
- }, Re = [
23
+ }, Be = [
24
24
  "id",
25
25
  "aria-invalid",
26
26
  "aria-describedby",
@@ -28,70 +28,70 @@ var Oe = ["data-layout"], ke = [
28
28
  "multiple",
29
29
  "accept",
30
30
  "disabled"
31
- ], ze = ee("ImageEditorDialog", () => import("./ImageEditorDialog.js").then((e) => e.default), y({
31
+ ], Ve = te("ImageEditorDialog", () => import("./ImageEditorDialog.js").then((e) => e.default), v({
32
32
  name: "ImageEditorDialogLoading",
33
33
  render: () => null
34
- })), O = /*@__PURE__*/ y({
34
+ })), D = /*@__PURE__*/ v({
35
35
  __name: "FileUploadField",
36
36
  props: { component: {} },
37
- setup(ee) {
38
- let y = ee, O = n(), Be = e(), k = t(), { value: Ve, setValue: He, error: Ue, id: A, disabled: We, readOnly: Ge, aria: j } = s(() => y.component), M = p(() => We.value || Ge.value), N = c(), P = u(N, `${y.component.statePath}:uploading`, () => []), F = u(N, `${y.component.statePath}:uploaded`, () => []), Ke = i(P), qe = i(F), I = p({
39
- get: () => Ke.value,
37
+ setup(te) {
38
+ let v = te, D = r(), O = t(), He = e(), k = n(), { value: Ue, setValue: We, error: Ge, id: Ke, disabled: qe, readOnly: Je, aria: A } = c(() => v.component), j = f(() => qe.value || Je.value), M = ee(), N = l(M, `${v.component.statePath}:uploading`, () => []), P = l(M, `${v.component.statePath}:uploaded`, () => []), Ye = a(N), Xe = a(P), F = f({
39
+ get: () => Ye.value,
40
+ set: (e) => N.set(e)
41
+ }), I = f({
42
+ get: () => Xe.value,
40
43
  set: (e) => P.set(e)
41
- }), L = p({
42
- get: () => qe.value,
43
- set: (e) => F.set(e)
44
- }), R = S(!1), z = S(null), B = S(null), V = ve(null), Je = S(!1);
45
- ye(V, (e) => {
46
- e && (Je.value = !0);
44
+ }), L = x(!1), R = x(null), z = x(null), B = be(null), Ze = x(!1);
45
+ xe(B, (e) => {
46
+ e && (Ze.value = !0);
47
47
  });
48
- let Ye = (e) => new Promise((t) => {
49
- V.value = {
48
+ let V = (e) => new Promise((t) => {
49
+ B.value = {
50
50
  file: e,
51
51
  resolve: (e) => {
52
- V.value = null, t(e);
52
+ B.value = null, t(e);
53
53
  }
54
54
  };
55
- }), Xe = u(N, `${y.component.statePath}:previews`, () => /* @__PURE__ */ new Set()).get(), Ze = (e) => {
56
- e && Xe.delete(e) && URL.revokeObjectURL(e);
57
- }, H = p(() => se(Ve.value)), U = p(() => H.value.map((e) => [...y.component.files, ...L.value].find((t) => t.path === e) ?? {
55
+ }), H = l(M, `${v.component.statePath}:previews`, () => /* @__PURE__ */ new Set()).get(), U = (e) => {
56
+ e && H.delete(e) && URL.revokeObjectURL(e);
57
+ }, W = f(() => le(Ue.value)), G = f(() => W.value.map((e) => [...v.component.files, ...I.value].find((t) => t.path === e) ?? {
58
58
  path: e,
59
59
  name: e.replace(/^tmp:/, "")
60
- })), W = p(() => y.component.multiple ? y.component.maxFiles ?? Infinity : 1), Qe = p(() => U.value.length + I.value.length < W.value), G = p(() => y.component.panelLayout === "circle" || y.component.avatar), $e = p(() => y.component.panelLayout === "integrated" && !G.value), et = p(() => y.component.positions?.removeButton === "start"), tt = p(() => y.component.positions?.progressIndicator === "start"), K = p(() => y.component.positions?.uploadButton ?? "center"), q = (e) => He(y.component.multiple ? e : e[0] ?? null), J = async (e) => {
60
+ })), K = f(() => v.component.multiple ? v.component.maxFiles ?? Infinity : 1), Qe = f(() => G.value.length + F.value.length < K.value), q = f(() => v.component.panelLayout === "circle" || v.component.avatar), $e = f(() => v.component.panelLayout === "integrated" && !q.value), et = f(() => v.component.positions?.removeButton === "start"), tt = f(() => v.component.positions?.progressIndicator === "start"), J = f(() => v.component.positions?.uploadButton ?? "center"), Y = (e) => We(v.component.multiple ? e : e[0] ?? null), X = async (e) => {
61
61
  let t = k.value.endpoints.upload;
62
62
  if (!t) return;
63
- let n = Array.from(e).slice(0, Math.max(0, W.value - U.value.length - I.value.length)), r = re(y.component.maxParallelUploads ?? 1), i = [];
63
+ let n = Array.from(e).slice(0, Math.max(0, K.value - G.value.length - F.value.length)), r = ie(v.component.maxParallelUploads ?? 1), i = [];
64
64
  for (let [e, a] of n.entries()) {
65
- let n = a, o = !!(y.component.imageEditor && ne(a));
65
+ let n = a, o = !!(v.component.imageEditor && re(a));
66
66
  if (o) {
67
- let e = await Ye(a);
67
+ let e = await V(a);
68
68
  if (!e) continue;
69
69
  n = e;
70
70
  }
71
71
  let s = await nt(n, o);
72
72
  if (!s) continue;
73
73
  let c = rt(s, e);
74
- I.value = [...I.value, c], i.push(r(() => Y(t, s, c)));
74
+ F.value = [...F.value, c], i.push(r(() => ot(t, s, c)));
75
75
  }
76
76
  await Promise.all(i);
77
77
  }, nt = async (e, t) => {
78
- let n = y.component.imageCropAspectRatio || y.component.imageResizeTargetWidth || y.component.imageResizeTargetHeight || y.component.orientImagesFromExif ? await me(e, {
79
- aspectRatio: t ? null : y.component.imageCropAspectRatio,
80
- mode: y.component.imageResizeMode,
81
- width: y.component.imageResizeTargetWidth,
82
- height: y.component.imageResizeTargetHeight,
83
- orient: y.component.orientImagesFromExif
78
+ let n = v.component.imageCropAspectRatio || v.component.imageResizeTargetWidth || v.component.imageResizeTargetHeight || v.component.orientImagesFromExif ? await he(e, {
79
+ aspectRatio: t ? null : v.component.imageCropAspectRatio,
80
+ mode: v.component.imageResizeMode,
81
+ width: v.component.imageResizeTargetWidth,
82
+ height: v.component.imageResizeTargetHeight,
83
+ orient: v.component.orientImagesFromExif
84
84
  }) : e;
85
- return y.component.minSize && n.size < y.component.minSize * 1024 ? (I.value = [...I.value, {
85
+ return v.component.minSize && n.size < v.component.minSize * 1024 ? (F.value = [...F.value, {
86
86
  path: n.name,
87
87
  name: n.name,
88
88
  size: n.size,
89
- error: O("form.file_too_small", {}, "This file is too small.")
90
- }], null) : y.component.maxSize && n.size > y.component.maxSize * 1024 ? (I.value = [...I.value, {
89
+ error: D("form.file_too_small", {}, "This file is too small.")
90
+ }], null) : v.component.maxSize && n.size > v.component.maxSize * 1024 ? (F.value = [...F.value, {
91
91
  path: n.name,
92
92
  name: n.name,
93
93
  size: n.size,
94
- error: O("form.file_too_large", {}, "This file is too large.")
94
+ error: D("form.file_too_large", {}, "This file is too large.")
95
95
  }], null) : n;
96
96
  }, rt = (e, t) => {
97
97
  let n = {
@@ -101,177 +101,177 @@ var Oe = ["data-layout"], ke = [
101
101
  progress: 0,
102
102
  preview: e.type.startsWith("image/") ? URL.createObjectURL(e) : void 0
103
103
  };
104
- return n.preview && Xe.add(n.preview), n;
105
- }, it = (e, t) => !!y.component.imageEditor && !M.value && t < U.value.length && !e.missing && !!(e.url ?? e.preview) && l(e) !== null, at = async (e) => {
106
- let t = k.value.endpoints.upload, n = e.url ?? e.preview, r = l(e);
104
+ return n.preview && H.add(n.preview), n;
105
+ }, it = (e, t) => !!v.component.imageEditor && !j.value && t < G.value.length && !e.missing && !!(e.url ?? e.preview) && oe(e) !== null, at = async (e) => {
106
+ let t = k.value.endpoints.upload, n = e.url ?? e.preview, r = oe(e);
107
107
  if (!t || !n || !r) return;
108
- let i = await ae(n, r);
108
+ let i = await se(n, r);
109
109
  if (!i) {
110
- I.value = [...I.value, {
110
+ F.value = [...F.value, {
111
111
  path: `failed:${e.path}`,
112
112
  name: e.name,
113
- error: O("image_editor.load_failed", {}, "The image could not be opened.")
113
+ error: D("image_editor.load_failed", {}, "The image could not be opened.")
114
114
  }];
115
115
  return;
116
116
  }
117
- let a = await Ye(i);
117
+ let a = await V(i);
118
118
  if (!a || a === i) return;
119
119
  let o = await nt(a, !0);
120
120
  if (!o) return;
121
121
  let s = rt(o, `edit:${e.path}`);
122
- I.value = [...I.value, s], await Y(t, o, s, e.path);
123
- }, Y = async (e, t, n, r) => {
122
+ F.value = [...F.value, s], await ot(t, o, s, e.path);
123
+ }, ot = async (e, t, n, r) => {
124
124
  try {
125
- let i = await he(e, t, {
126
- ...fe(k.value, y.component.uploadPolicy),
125
+ let i = await ge(e, t, {
126
+ ...pe(k.value, v.component.uploadPolicy),
127
127
  onProgress: (e) => {
128
- I.value = I.value.map((t) => t.path === n.path ? {
128
+ F.value = F.value.map((t) => t.path === n.path ? {
129
129
  ...t,
130
130
  progress: e
131
131
  } : t);
132
132
  }
133
133
  });
134
- L.value = [...L.value, {
134
+ I.value = [...I.value, {
135
135
  path: i.key,
136
136
  name: i.name,
137
137
  size: i.size,
138
138
  temporary: !0,
139
139
  url: n.preview
140
- }], I.value = I.value.filter((e) => e.path !== n.path);
141
- let a = se(N.getValue(y.component.statePath, null));
142
- r !== void 0 && a.includes(r) ? (q(a.map((e) => e === r ? i.key : e)), st(r)) : q(ue(a, i.key, y.component, W.value));
140
+ }], F.value = F.value.filter((e) => e.path !== n.path);
141
+ let a = le(M.getValue(v.component.statePath, null));
142
+ r !== void 0 && a.includes(r) ? (Y(a.map((e) => e === r ? i.key : e)), ct(r)) : Y(de(a, i.key, v.component, K.value));
143
143
  } catch (e) {
144
144
  let t = e.errors?.file?.[0] ?? e.message;
145
- I.value = I.value.map((e) => e.path === n.path ? {
145
+ F.value = F.value.map((e) => e.path === n.path ? {
146
146
  ...e,
147
147
  error: t,
148
148
  progress: void 0
149
149
  } : e);
150
150
  }
151
- }, ot = (e) => {
152
- q(H.value.filter((t) => t !== e)), st(e);
153
151
  }, st = (e) => {
154
- Ze(F.get().find((t) => t.path === e)?.url), e.startsWith("tmp:") && k.value.endpoints.uploadDestroy && pe(k.value.endpoints.uploadDestroy, {
152
+ Y(W.value.filter((t) => t !== e)), ct(e);
153
+ }, ct = (e) => {
154
+ U(P.get().find((t) => t.path === e)?.url), e.startsWith("tmp:") && k.value.endpoints.uploadDestroy && me(k.value.endpoints.uploadDestroy, {
155
155
  method: "DELETE",
156
156
  body: { key: e }
157
157
  }).catch(() => void 0);
158
- }, ct = (e) => {
159
- e.error || e.progress !== void 0 ? (Ze(e.preview), I.value = I.value.filter((t) => t.path !== e.path)) : ot(e.path);
160
158
  }, lt = (e) => {
161
- e.preventDefault(), R.value = !1, !M.value && e.dataTransfer && e.dataTransfer.files.length > 0 && J(e.dataTransfer.files);
159
+ e.error || e.progress !== void 0 ? (U(e.preview), F.value = F.value.filter((t) => t.path !== e.path)) : st(e.path);
162
160
  }, ut = (e) => {
163
- if (M.value || y.component.pasteable === !1) return;
164
- let t = ce(e.clipboardData);
165
- t.length > 0 && (e.preventDefault(), J(t));
161
+ e.preventDefault(), L.value = !1, !j.value && e.dataTransfer && e.dataTransfer.files.length > 0 && X(e.dataTransfer.files);
166
162
  }, dt = (e) => {
163
+ if (j.value || v.component.pasteable === !1) return;
164
+ let t = ue(e.clipboardData);
165
+ t.length > 0 && (e.preventDefault(), X(t));
166
+ }, ft = (e) => {
167
167
  let t = e.target, n = t.files ? Array.from(t.files) : [];
168
- t.value = "", J(n);
169
- }, X = (e, t) => q(de(H.value, e, t)), Z = p(() => !!(y.component.reorderable && y.component.multiple && !M.value)), ft = (e, t) => {
170
- if (!Z.value || B.value === null) return;
168
+ t.value = "", X(n);
169
+ }, Z = (e, t) => Y(fe(W.value, e, t)), Q = f(() => !!(v.component.reorderable && v.component.multiple && !j.value)), pt = (e, t) => {
170
+ if (!Q.value || z.value === null) return;
171
171
  e.preventDefault(), e.stopPropagation();
172
- let n = H.value.indexOf(B.value);
173
- n !== -1 && t < U.value.length && X(n, t), B.value = null;
174
- }, Q = p(() => [
175
- y.component.acceptedFileTypes?.join(", "),
176
- y.component.maxSize ? `≤ ${le(y.component.maxSize * 1024, 0)}` : null,
177
- y.component.minFiles ? Be("form.min_files", y.component.minFiles, {}, "At least :count file|At least :count files") : null
178
- ].filter(Boolean).join(" · ")), pt = (e) => y.component.previewable !== !1 && (y.component.image || /\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e.name)), $ = S(/* @__PURE__ */ new Set());
179
- function mt(e) {
172
+ let n = W.value.indexOf(z.value);
173
+ n !== -1 && t < G.value.length && Z(n, t), z.value = null;
174
+ }, mt = f(() => [
175
+ v.component.acceptedFileTypes?.join(", "),
176
+ v.component.maxSize ? `≤ ${u(v.component.maxSize * 1024, O.value)}` : null,
177
+ v.component.minFiles ? He("form.min_files", v.component.minFiles, {}, "At least :count file|At least :count files") : null
178
+ ].filter(Boolean).join(" · ")), ht = (e) => v.component.previewable !== !1 && (v.component.image || /\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e.name)), $ = x(/* @__PURE__ */ new Set());
179
+ function gt(e) {
180
180
  return typeof e == "number" || /^\d+(\.\d+)?$/.test(e) ? `${e}px` : e;
181
181
  }
182
- return (e, t) => (x(), m(te, {
183
- field: y.component,
184
- "html-for": w(A),
185
- error: w(Ue)
182
+ return (e, t) => (b(), p(ne, {
183
+ field: v.component,
184
+ "html-for": C(Ke),
185
+ error: C(Ge)
186
186
  }, {
187
- default: T(() => [_("div", {
187
+ default: w(() => [g("div", {
188
188
  "data-slot": "file-upload",
189
- "data-layout": y.component.panelLayout,
190
- class: b(w(r)("flex flex-col gap-3", $e.value && "rounded-md border p-2"))
189
+ "data-layout": v.component.panelLayout,
190
+ class: y(C(i)("flex flex-col gap-3", $e.value && "rounded-md border p-2"))
191
191
  }, [
192
- U.value.length > 0 || I.value.length > 0 ? (x(), g("ul", {
192
+ G.value.length > 0 || F.value.length > 0 ? (b(), h("ul", {
193
193
  key: 0,
194
- class: b(w(r)("grid gap-2", y.component.panelLayout === "grid" && "grid-cols-2 sm:grid-cols-3 md:grid-cols-4", G.value && "justify-items-center"))
195
- }, [(x(!0), g(f, null, _e([...U.value, ...I.value], (e, n) => (x(), g("li", {
194
+ class: y(C(i)("grid gap-2", v.component.panelLayout === "grid" && "grid-cols-2 sm:grid-cols-3 md:grid-cols-4", q.value && "justify-items-center"))
195
+ }, [(b(!0), h(_e, null, ye([...G.value, ...F.value], (e, n) => (b(), h("li", {
196
196
  key: e.path,
197
- draggable: Z.value && n < U.value.length,
198
- class: b(w(r)(B.value === e.path && "opacity-50", "bg-muted/30 relative flex min-w-0 items-center gap-3 overflow-hidden rounded-md border p-2 text-sm", G.value && "size-28 justify-center rounded-full border-0 p-0", e.error && "border-destructive")),
199
- onDragstart: (t) => B.value = e.path,
200
- onDragover: t[0] ||= (e) => Z.value && e.preventDefault(),
201
- onDrop: (e) => ft(e, n),
202
- onDragend: t[1] ||= (e) => B.value = null
197
+ draggable: Q.value && n < G.value.length,
198
+ class: y(C(i)(z.value === e.path && "opacity-50", "bg-muted/30 relative flex min-w-0 items-center gap-3 overflow-hidden rounded-md border p-2 text-sm", q.value && "size-28 justify-center rounded-full border-0 p-0", e.error && "border-destructive")),
199
+ onDragstart: (t) => z.value = e.path,
200
+ onDragover: t[0] ||= (e) => Q.value && e.preventDefault(),
201
+ onDrop: (e) => pt(e, n),
202
+ onDragend: t[1] ||= (e) => z.value = null
203
203
  }, [
204
- !G.value && et.value && y.component.deletable && !M.value ? (x(), m(a, {
204
+ !q.value && et.value && v.component.deletable && !j.value ? (b(), p(o, {
205
205
  key: 0,
206
206
  type: "button",
207
207
  variant: "ghost",
208
208
  size: "icon-xs",
209
- "aria-label": w(O)("remove", {}, "Remove"),
210
- onClick: (t) => ct(e)
209
+ "aria-label": C(D)("file_upload.remove", { name: e.name }, "Remove :name"),
210
+ onClick: (t) => lt(e)
211
211
  }, {
212
- default: T(() => [v(w(D))]),
212
+ default: w(() => [_(C(ke))]),
213
213
  _: 1
214
- }, 8, ["aria-label", "onClick"])) : h("", !0),
215
- !G.value && tt.value && e.progress !== void 0 && !e.error ? (x(), m(o, { key: 1 })) : h("", !0),
216
- pt(e) && (e.url || e.preview) && !$.value.has(e.path) ? (x(), g("img", {
214
+ }, 8, ["aria-label", "onClick"])) : m("", !0),
215
+ !q.value && tt.value && e.progress !== void 0 && !e.error ? (b(), p(s, { key: 1 })) : m("", !0),
216
+ ht(e) && (e.url || e.preview) && !$.value.has(e.path) ? (b(), h("img", {
217
217
  key: 2,
218
218
  src: e.url ?? e.preview,
219
219
  alt: "",
220
- class: b(w(r)("size-12 shrink-0 rounded object-cover", G.value && "size-28 rounded-full")),
221
- style: ge(!G.value && y.component.imagePreviewHeight ? {
222
- height: mt(y.component.imagePreviewHeight),
220
+ class: y(C(i)("size-12 shrink-0 rounded object-cover", q.value && "size-28 rounded-full")),
221
+ style: ve(!q.value && v.component.imagePreviewHeight ? {
222
+ height: gt(v.component.imagePreviewHeight),
223
223
  width: "auto",
224
224
  maxWidth: "50%"
225
225
  } : void 0),
226
226
  onError: (t) => $.value = new Set($.value).add(e.path)
227
- }, null, 46, Ae)) : G.value ? h("", !0) : (x(), m(w(Te), {
227
+ }, null, 46, Me)) : q.value ? m("", !0) : (b(), p(C(Ee), {
228
228
  key: 3,
229
229
  class: "text-muted-foreground size-6 shrink-0"
230
230
  })),
231
- G.value ? h("", !0) : (x(), g("div", je, [_("p", Me, C(e.name), 1), _("p", { class: b(w(r)("text-muted-foreground text-xs", e.missing && "text-destructive")) }, C(e.error ?? (e.missing ? w(O)("form.file_missing", {}, "This file no longer exists.") : e.progress !== void 0 && !e.error ? y.component.uploadingMessage ?? w(O)("form.uploading", {}, "Uploading…") : e.size ? w(le)(e.size) : e.temporary ? w(O)("form.uploading", {}, "Pending") : "")), 3)])),
232
- _("div", { class: b(w(r)("flex items-center gap-1", G.value && "absolute -end-1 -bottom-1")) }, [
233
- (G.value || !tt.value) && e.progress !== void 0 && !e.error ? (x(), m(o, { key: 0 })) : h("", !0),
234
- Z.value && n < U.value.length ? (x(), g(f, { key: 1 }, [v(a, {
231
+ q.value ? m("", !0) : (b(), h("div", Ne, [g("p", Pe, S(e.name), 1), g("p", { class: y(C(i)("text-muted-foreground text-xs", e.missing && "text-destructive")) }, S(e.error ?? (e.missing ? C(D)("form.file_missing", {}, "This file no longer exists.") : e.progress !== void 0 && !e.error ? v.component.uploadingMessage ?? C(D)("form.uploading", {}, "Uploading…") : e.size ? C(u)(e.size, C(O)) : e.temporary ? C(D)("form.uploading", {}, "Pending") : "")), 3)])),
232
+ g("div", { class: y(C(i)("flex items-center gap-1", q.value && "absolute -end-1 -bottom-1")) }, [
233
+ (q.value || !tt.value) && e.progress !== void 0 && !e.error ? (b(), p(s, { key: 0 })) : m("", !0),
234
+ Q.value && n < G.value.length ? (b(), h(_e, { key: 1 }, [_(o, {
235
235
  type: "button",
236
236
  variant: "ghost",
237
237
  size: "icon-xs",
238
- "aria-label": w(O)("form.move_up", {}, "Move up"),
238
+ "aria-label": C(D)("file_upload.move_up", { name: e.name }, "Move :name up"),
239
239
  disabled: n === 0,
240
- onClick: (e) => X(n, n - 1)
240
+ onClick: (e) => Z(n, n - 1)
241
241
  }, {
242
- default: T(() => [v(w(Se))]),
242
+ default: w(() => [_(C(Ce))]),
243
243
  _: 1
244
244
  }, 8, [
245
245
  "aria-label",
246
246
  "disabled",
247
247
  "onClick"
248
- ]), v(a, {
248
+ ]), _(o, {
249
249
  type: "button",
250
250
  variant: "ghost",
251
251
  size: "icon-xs",
252
- "aria-label": w(O)("form.move_down", {}, "Move down"),
253
- disabled: n === U.value.length - 1,
254
- onClick: (e) => X(n, n + 1)
252
+ "aria-label": C(D)("file_upload.move_down", { name: e.name }, "Move :name down"),
253
+ disabled: n === G.value.length - 1,
254
+ onClick: (e) => Z(n, n + 1)
255
255
  }, {
256
- default: T(() => [v(w(xe))]),
256
+ default: w(() => [_(C(Se))]),
257
257
  _: 1
258
258
  }, 8, [
259
259
  "aria-label",
260
260
  "disabled",
261
261
  "onClick"
262
- ])], 64)) : h("", !0),
263
- it(e, n) ? (x(), m(a, {
262
+ ])], 64)) : m("", !0),
263
+ it(e, n) ? (b(), p(o, {
264
264
  key: 2,
265
265
  type: "button",
266
- variant: G.value ? "secondary" : "ghost",
266
+ variant: q.value ? "secondary" : "ghost",
267
267
  size: "icon-xs",
268
- class: b(w(r)(G.value && "rounded-full shadow")),
269
- "aria-label": w(O)("image_editor.title", {}, "Edit image"),
270
- title: w(O)("image_editor.title", {}, "Edit image"),
268
+ class: y(C(i)(q.value && "rounded-full shadow")),
269
+ "aria-label": C(D)("file_upload.edit", { name: e.name }, "Edit :name"),
270
+ title: C(D)("image_editor.title", {}, "Edit image"),
271
271
  "data-action": "edit-image",
272
272
  onClick: (t) => void at(e)
273
273
  }, {
274
- default: T(() => [v(w(Ee))]),
274
+ default: w(() => [_(C(De))]),
275
275
  _: 1
276
276
  }, 8, [
277
277
  "variant",
@@ -279,95 +279,95 @@ var Oe = ["data-layout"], ke = [
279
279
  "aria-label",
280
280
  "title",
281
281
  "onClick"
282
- ])) : h("", !0),
283
- y.component.openable && w(d)(e).open ? (x(), m(a, {
282
+ ])) : m("", !0),
283
+ v.component.openable && C(d)(e).open ? (b(), p(o, {
284
284
  key: 3,
285
285
  "as-child": "",
286
286
  type: "button",
287
287
  variant: "ghost",
288
288
  size: "icon-xs"
289
289
  }, {
290
- default: T(() => [_("a", {
291
- href: w(d)(e).open,
290
+ default: w(() => [g("a", {
291
+ href: C(d)(e).open,
292
292
  target: "_blank",
293
293
  rel: "noopener noreferrer",
294
- "aria-label": `${w(O)("open", {}, "Open")} ${w(O)("opens_in_new_tab", {}, "(opens in a new tab)")}`
295
- }, [v(w(we))], 8, Ne)]),
294
+ "aria-label": `${C(D)("file_upload.open", { name: e.name }, "Open :name")} ${C(D)("opens_in_new_tab", {}, "(opens in a new tab)")}`
295
+ }, [_(C(Te))], 8, Fe)]),
296
296
  _: 2
297
- }, 1024)) : h("", !0),
298
- y.component.downloadable && w(d)(e).download ? (x(), m(a, {
297
+ }, 1024)) : m("", !0),
298
+ v.component.downloadable && C(d)(e).download ? (b(), p(o, {
299
299
  key: 4,
300
300
  "as-child": "",
301
301
  type: "button",
302
302
  variant: "ghost",
303
303
  size: "icon-xs"
304
304
  }, {
305
- default: T(() => [_("a", {
306
- href: w(d)(e).download,
305
+ default: w(() => [g("a", {
306
+ href: C(d)(e).download,
307
307
  download: "",
308
- "aria-label": w(O)("download", {}, "Download")
309
- }, [v(w(Ce))], 8, Pe)]),
308
+ "aria-label": C(D)("file_upload.download", { name: e.name }, "Download :name")
309
+ }, [_(C(we))], 8, Ie)]),
310
310
  _: 2
311
- }, 1024)) : h("", !0),
312
- y.component.deletable && !M.value && (G.value || !et.value) ? (x(), m(a, {
311
+ }, 1024)) : m("", !0),
312
+ v.component.deletable && !j.value && (q.value || !et.value) ? (b(), p(o, {
313
313
  key: 5,
314
314
  type: "button",
315
- variant: G.value ? "secondary" : "ghost",
315
+ variant: q.value ? "secondary" : "ghost",
316
316
  size: "icon-xs",
317
- class: b(w(r)(G.value && "rounded-full shadow")),
318
- "aria-label": w(O)("remove", {}, "Remove"),
319
- onClick: (t) => ct(e)
317
+ class: y(C(i)(q.value && "rounded-full shadow")),
318
+ "aria-label": C(D)("file_upload.remove", { name: e.name }, "Remove :name"),
319
+ onClick: (t) => lt(e)
320
320
  }, {
321
- default: T(() => [v(w(D))]),
321
+ default: w(() => [_(C(ke))]),
322
322
  _: 1
323
323
  }, 8, [
324
324
  "variant",
325
325
  "class",
326
326
  "aria-label",
327
327
  "onClick"
328
- ])) : h("", !0)
328
+ ])) : m("", !0)
329
329
  ], 2)
330
- ], 42, ke))), 128))], 2)) : h("", !0),
331
- Qe.value && !M.value ? (x(), g("div", {
330
+ ], 42, je))), 128))], 2)) : m("", !0),
331
+ Qe.value && !j.value ? (b(), h("div", {
332
332
  key: 1,
333
333
  role: "button",
334
334
  tabindex: "0",
335
- "data-align": K.value,
336
- style: ge(!G.value && y.component.panelAspectRatio ? { aspectRatio: w(ie)(y.component.panelAspectRatio) } : void 0),
337
- class: b(w(r)("text-muted-foreground hover:border-ring flex cursor-pointer flex-col justify-center gap-1 rounded-md border border-dashed px-4 py-6 text-sm transition-colors", K.value === "start" ? "items-start text-start" : K.value === "end" ? "items-end text-end" : "items-center text-center", $e.value && "border-transparent", R.value && "border-ring bg-accent", G.value && "size-28 items-center rounded-full py-0")),
338
- "aria-describedby": w(j)["aria-describedby"],
339
- onClick: t[2] ||= (e) => z.value?.click(),
340
- onKeydown: [t[3] ||= be(E((e) => z.value?.click(), ["prevent"]), ["enter"]), t[4] ||= be(E((e) => z.value?.click(), ["prevent"]), ["space"])],
341
- onDragover: t[5] ||= E((e) => R.value = !0, ["prevent"]),
342
- onDragleave: t[6] ||= (e) => R.value = !1,
343
- onDrop: lt,
344
- onPaste: ut
335
+ "data-align": J.value,
336
+ style: ve(!q.value && v.component.panelAspectRatio ? { aspectRatio: C(ae)(v.component.panelAspectRatio) } : void 0),
337
+ class: y(C(i)("text-muted-foreground hover:border-ring flex cursor-pointer flex-col justify-center gap-1 rounded-md border border-dashed px-4 py-6 text-sm transition-colors", J.value === "start" ? "items-start text-start" : J.value === "end" ? "items-end text-end" : "items-center text-center", $e.value && "border-transparent", L.value && "border-ring bg-accent", q.value && "size-28 items-center rounded-full py-0")),
338
+ "aria-describedby": C(A)["aria-describedby"],
339
+ onClick: t[2] ||= (e) => R.value?.click(),
340
+ onKeydown: [t[3] ||= T(E((e) => R.value?.click(), ["prevent"]), ["enter"]), t[4] ||= T(E((e) => R.value?.click(), ["prevent"]), ["space"])],
341
+ onDragover: t[5] ||= E((e) => L.value = !0, ["prevent"]),
342
+ onDragleave: t[6] ||= (e) => L.value = !1,
343
+ onDrop: ut,
344
+ onPaste: dt
345
345
  }, [
346
- v(w(De), { class: "size-5" }),
347
- G.value ? h("", !0) : (x(), g("span", Ie, C(y.component.placeholder ?? w(O)("form.drop_files", {}, "Drop files here or click to browse")), 1)),
348
- !G.value && Q.value ? (x(), g("span", Le, C(Q.value), 1)) : h("", !0)
349
- ], 46, Fe)) : h("", !0),
350
- _("input", {
351
- id: w(A),
346
+ _(C(Oe), { class: "size-5" }),
347
+ q.value ? m("", !0) : (b(), h("span", Re, S(v.component.placeholder ?? C(D)("form.drop_files", {}, "Drop files here or click to browse")), 1)),
348
+ !q.value && mt.value ? (b(), h("span", ze, S(mt.value), 1)) : m("", !0)
349
+ ], 46, Le)) : m("", !0),
350
+ g("input", {
351
+ id: C(Ke),
352
352
  ref_key: "inputRef",
353
- ref: z,
353
+ ref: R,
354
354
  type: "file",
355
355
  class: "sr-only",
356
356
  tabindex: "-1",
357
- "aria-invalid": w(j)["aria-invalid"],
358
- "aria-describedby": w(j)["aria-describedby"],
359
- "aria-required": w(j)["aria-required"],
360
- multiple: y.component.multiple,
361
- accept: w(oe)(y.component),
362
- disabled: M.value,
363
- onChange: dt
364
- }, null, 40, Re),
365
- y.component.imageEditor && (V.value || Je.value) ? (x(), m(w(ze), {
357
+ "aria-invalid": C(A)["aria-invalid"],
358
+ "aria-describedby": C(A)["aria-describedby"],
359
+ "aria-required": C(A)["aria-required"],
360
+ multiple: v.component.multiple,
361
+ accept: C(ce)(v.component),
362
+ disabled: j.value,
363
+ onChange: ft
364
+ }, null, 40, Be),
365
+ v.component.imageEditor && (B.value || Ze.value) ? (b(), p(C(Ve), {
366
366
  key: 2,
367
- request: V.value,
368
- options: y.component.imageEditor
369
- }, null, 8, ["request", "options"])) : h("", !0)
370
- ], 10, Oe)]),
367
+ request: B.value,
368
+ options: v.component.imageEditor
369
+ }, null, 8, ["request", "options"])) : m("", !0)
370
+ ], 10, Ae)]),
371
371
  _: 1
372
372
  }, 8, [
373
373
  "field",
@@ -377,6 +377,6 @@ var Oe = ["data-layout"], ke = [
377
377
  }
378
378
  });
379
379
  //#endregion
380
- export { O as default };
380
+ export { D as default };
381
381
 
382
382
  //# sourceMappingURL=FileUploadField.vue_vue_type_script_setup_true_lang.js.map