@threadlabs/looma 0.14.8 → 0.15.1

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 (343) hide show
  1. package/components/shared/icons.js +5 -0
  2. package/components/shared/menu-navigation.js +49 -0
  3. package/components/shared/overlay.js +33 -60
  4. package/components/ui-avatar/ui-avatar.html +19 -2
  5. package/components/ui-avatar/ui-avatar.js +7 -1
  6. package/components/ui-avatar-group/ui-avatar-group.html +8 -3
  7. package/components/ui-avatar-group/ui-avatar-group.js +6 -2
  8. package/components/ui-badge/ui-badge.html +70 -4
  9. package/components/ui-button/ui-button.html +21 -5
  10. package/components/ui-button/ui-button.js +10 -0
  11. package/components/ui-callout/ui-callout.html +13 -5
  12. package/components/ui-checkbox/ui-checkbox.html +11 -0
  13. package/components/ui-cluster/ui-cluster.html +7 -0
  14. package/components/ui-combobox/ui-combobox.html +46 -10
  15. package/components/ui-combobox/ui-combobox.js +5 -5
  16. package/components/ui-context-menu/ui-context-menu.html +33 -5
  17. package/components/ui-context-menu/ui-context-menu.js +26 -17
  18. package/components/ui-dialog/ui-dialog.html +51 -8
  19. package/components/ui-dialog/ui-dialog.js +28 -7
  20. package/components/ui-disclosure/ui-disclosure.html +14 -5
  21. package/components/ui-disclosure/ui-disclosure.js +51 -4
  22. package/components/ui-editable/ui-editable.html +17 -3
  23. package/components/ui-editable/ui-editable.js +7 -0
  24. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +48 -14
  25. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +40 -6
  26. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +22 -9
  27. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +33 -11
  28. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +67 -0
  29. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +33 -30
  30. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +42 -8
  31. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +31 -0
  32. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +75 -0
  33. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +16 -5
  34. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +10 -2
  35. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +5 -5
  36. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -2
  37. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +14 -4
  38. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +2 -2
  39. package/components/ui-editor-toolbar/ui-editor-toolbar.html +1 -1
  40. package/components/ui-editor-toolbar/ui-editor-toolbar.js +46 -0
  41. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  42. package/components/ui-form-field/ui-form-field.html +16 -3
  43. package/components/ui-form-field/ui-form-field.js +1 -1
  44. package/components/ui-grid/ui-grid.html +17 -2
  45. package/components/ui-icon/ui-icon.html +5 -0
  46. package/components/ui-icon-button/ui-icon-button.html +25 -6
  47. package/components/ui-icon-button/ui-icon-button.js +11 -1
  48. package/components/ui-input/ui-input.html +3 -3
  49. package/components/ui-input-group/ui-input-group.html +18 -4
  50. package/components/ui-listbox/ui-listbox.html +81 -0
  51. package/components/ui-listbox/ui-listbox.js +27 -0
  52. package/components/ui-menu/ui-menu.html +33 -5
  53. package/components/ui-menu/ui-menu.js +18 -12
  54. package/components/ui-menu-group/ui-menu-group.html +27 -0
  55. package/components/ui-menu-item/ui-menu-item.html +80 -8
  56. package/components/ui-menu-item/ui-menu-item.js +47 -0
  57. package/components/ui-popover/ui-popover.html +33 -5
  58. package/components/ui-popover/ui-popover.js +9 -1
  59. package/components/ui-radio-group/ui-radio-group.html +13 -1
  60. package/components/ui-search-shell/ui-search-shell.html +6 -6
  61. package/components/ui-search-shell/ui-search-shell.js +21 -5
  62. package/components/ui-select/ui-select.html +14 -4
  63. package/components/ui-switch/ui-switch.html +2 -2
  64. package/components/ui-switcher/ui-switcher.html +8 -1
  65. package/components/ui-switcher/ui-switcher.js +15 -0
  66. package/components/ui-tabs/ui-tabs.html +17 -12
  67. package/components/ui-tabs/ui-tabs.js +43 -7
  68. package/components/ui-textarea/ui-textarea.html +28 -5
  69. package/components/ui-toast/ui-toast.html +88 -0
  70. package/components/ui-toast/ui-toast.js +68 -0
  71. package/components/ui-toast-region/ui-toast-region.html +102 -19
  72. package/components/ui-toast-region/ui-toast-region.js +10 -18
  73. package/components/ui-tooltip/ui-tooltip.html +51 -7
  74. package/components/ui-tooltip/ui-tooltip.js +29 -3
  75. package/components/ui-tree/ui-tree.html +12 -0
  76. package/components/ui-tree/ui-tree.js +191 -12
  77. package/components/ui-tree-item/ui-tree-item.html +87 -8
  78. package/components/ui-tree-item/ui-tree-item.js +3 -1
  79. package/dist/index.js +38 -32
  80. package/editor/chunks/extensions.js +82 -2
  81. package/editor/extensions/table-commands.d.ts +8 -0
  82. package/editor/icons.d.ts +5 -0
  83. package/editor/index.js +7 -2
  84. package/editor/insert-table-grid.d.ts +1 -1
  85. package/editor/mention-menu.d.ts +2 -0
  86. package/editor/slash-menu.d.ts +3 -0
  87. package/editor/table-context-menu.d.ts +1 -1
  88. package/editor/table-overlay.d.ts +2 -2
  89. package/package.json +1 -1
  90. package/styles/ui-avatar-group.css +1 -2
  91. package/styles/ui-avatar.css +11 -1
  92. package/styles/ui-badge.css +73 -1
  93. package/styles/ui-button.css +9 -1
  94. package/styles/ui-callout.css +1 -1
  95. package/styles/ui-checkbox.css +9 -0
  96. package/styles/ui-cluster.css +3 -0
  97. package/styles/ui-combobox.css +38 -7
  98. package/styles/ui-context-menu.css +32 -4
  99. package/styles/ui-dialog.css +42 -5
  100. package/styles/ui-editor-insert-table-grid.css +48 -11
  101. package/styles/ui-editor-mention-menu-item.css +57 -0
  102. package/styles/ui-editor-mention-menu.css +11 -1
  103. package/styles/ui-editor-slash-menu-group.css +21 -0
  104. package/styles/ui-editor-slash-menu-item.css +62 -0
  105. package/styles/ui-editor-slash-menu.css +10 -21
  106. package/styles/ui-editor-table-context-menu.css +1 -1
  107. package/styles/ui-floating-action-button.css +1 -1
  108. package/styles/ui-form-field.css +14 -1
  109. package/styles/ui-grid.css +14 -1
  110. package/styles/ui-icon-button.css +17 -5
  111. package/styles/ui-input-group.css +18 -4
  112. package/styles/ui-input.css +3 -3
  113. package/styles/ui-listbox.css +69 -0
  114. package/styles/ui-menu-group.css +19 -0
  115. package/styles/ui-menu-item.css +48 -9
  116. package/styles/ui-menu.css +32 -4
  117. package/styles/ui-popover.css +28 -4
  118. package/styles/ui-radio-group.css +9 -0
  119. package/styles/ui-search-shell.css +5 -5
  120. package/styles/ui-select.css +14 -4
  121. package/styles/ui-switch.css +2 -2
  122. package/styles/ui-switcher.css +4 -0
  123. package/styles/ui-textarea.css +27 -4
  124. package/styles/ui-toast-region.css +88 -4
  125. package/styles/ui-toast.css +74 -0
  126. package/styles/ui-tooltip.css +46 -6
  127. package/styles/ui-tree-item.css +72 -4
  128. package/styles/ui-tree.css +8 -0
  129. package/tokens.css +3 -0
  130. package/vanilla/UiAvatar.d.ts +2 -0
  131. package/vanilla/UiAvatar.js +8 -1
  132. package/vanilla/UiAvatarGroup.d.ts +2 -0
  133. package/vanilla/UiAvatarGroup.js +1 -1
  134. package/vanilla/UiBadge.d.ts +1 -1
  135. package/vanilla/UiBadge.js +1 -1
  136. package/vanilla/UiButton.d.ts +1 -0
  137. package/vanilla/UiButton.js +22 -6
  138. package/vanilla/UiCallout.d.ts +1 -1
  139. package/vanilla/UiCallout.js +1 -1
  140. package/vanilla/UiCheckbox.d.ts +1 -0
  141. package/vanilla/UiCheckbox.js +12 -9
  142. package/vanilla/UiCluster.d.ts +1 -0
  143. package/vanilla/UiCluster.js +2 -0
  144. package/vanilla/UiCombobox.d.ts +3 -0
  145. package/vanilla/UiCombobox.js +30 -15
  146. package/vanilla/UiContextMenu.d.ts +1 -1
  147. package/vanilla/UiContextMenu.js +1 -1
  148. package/vanilla/UiDialog.d.ts +5 -2
  149. package/vanilla/UiDialog.js +1 -1
  150. package/vanilla/UiDisclosure.d.ts +2 -0
  151. package/vanilla/UiDisclosure.js +32 -18
  152. package/vanilla/UiEditable.d.ts +5 -0
  153. package/vanilla/UiEditable.js +7 -3
  154. package/vanilla/UiEditorInsertTableGrid.js +1 -6
  155. package/vanilla/UiEditorMentionMenu.d.ts +4 -2
  156. package/vanilla/UiEditorMentionMenu.js +49 -31
  157. package/vanilla/UiEditorMentionMenuItem.d.ts +16 -0
  158. package/vanilla/UiEditorMentionMenuItem.js +56 -0
  159. package/vanilla/UiEditorSlashMenu.d.ts +4 -3
  160. package/vanilla/UiEditorSlashMenu.js +59 -46
  161. package/vanilla/UiEditorSlashMenuGroup.d.ts +14 -0
  162. package/vanilla/UiEditorSlashMenuGroup.js +48 -0
  163. package/vanilla/UiEditorSlashMenuItem.d.ts +18 -0
  164. package/vanilla/UiEditorSlashMenuItem.js +57 -0
  165. package/vanilla/UiEditorTableContextMenu.d.ts +5 -2
  166. package/vanilla/UiEditorTableContextMenu.js +1 -2
  167. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  168. package/vanilla/UiEditorTableOverlay.js +5 -5
  169. package/vanilla/UiEditorTableToolbar.d.ts +4 -2
  170. package/vanilla/UiEditorTableToolbar.js +1 -2
  171. package/vanilla/UiEditorToolbar.js +2 -0
  172. package/vanilla/UiGrid.d.ts +1 -0
  173. package/vanilla/UiGrid.js +8 -7
  174. package/vanilla/UiIcon.js +1 -1
  175. package/vanilla/UiIconButton.d.ts +1 -0
  176. package/vanilla/UiIconButton.js +11 -2
  177. package/vanilla/UiListbox.d.ts +20 -0
  178. package/vanilla/UiListbox.js +45 -0
  179. package/vanilla/UiMenu.d.ts +1 -1
  180. package/vanilla/UiMenu.js +1 -1
  181. package/vanilla/UiMenuGroup.d.ts +14 -0
  182. package/vanilla/UiMenuGroup.js +35 -0
  183. package/vanilla/UiMenuItem.d.ts +5 -1
  184. package/vanilla/UiMenuItem.js +91 -30
  185. package/vanilla/UiPopover.d.ts +1 -1
  186. package/vanilla/UiPopover.js +1 -1
  187. package/vanilla/UiRadioGroup.d.ts +1 -0
  188. package/vanilla/UiRadioGroup.js +6 -3
  189. package/vanilla/UiSwitcher.d.ts +1 -0
  190. package/vanilla/UiSwitcher.js +7 -9
  191. package/vanilla/UiTabs.d.ts +1 -0
  192. package/vanilla/UiTabs.js +9 -1
  193. package/vanilla/UiTextarea.d.ts +1 -0
  194. package/vanilla/UiTextarea.js +4 -1
  195. package/vanilla/UiToast.d.ts +16 -0
  196. package/vanilla/UiToast.js +53 -0
  197. package/vanilla/UiToastRegion.d.ts +1 -4
  198. package/vanilla/UiToastRegion.js +3 -11
  199. package/vanilla/UiTooltip.d.ts +1 -1
  200. package/vanilla/UiTooltip.js +1 -1
  201. package/vanilla/UiTree.d.ts +2 -0
  202. package/vanilla/UiTree.js +1 -1
  203. package/vanilla/UiTreeItem.d.ts +1 -0
  204. package/vanilla/UiTreeItem.js +45 -31
  205. package/vanilla/index.js +6 -0
  206. package/vue/UiAvatar.d.ts +4 -0
  207. package/vue/UiAvatar.vue +23 -3
  208. package/vue/UiAvatarGroup.d.ts +3 -0
  209. package/vue/UiAvatarGroup.vue +7 -4
  210. package/vue/UiBadge.d.ts +2 -2
  211. package/vue/UiBadge.vue +74 -2
  212. package/vue/UiButton.d.ts +5 -3
  213. package/vue/UiButton.vue +41 -7
  214. package/vue/UiCallout.d.ts +2 -2
  215. package/vue/UiCallout.vue +3 -2
  216. package/vue/UiCheckbox.d.ts +2 -0
  217. package/vue/UiCheckbox.vue +16 -0
  218. package/vue/UiCluster.d.ts +1 -0
  219. package/vue/UiCluster.vue +5 -0
  220. package/vue/UiCombobox.d.ts +11 -3
  221. package/vue/UiCombobox.vue +60 -11
  222. package/vue/UiContextMenu.d.ts +2 -0
  223. package/vue/UiContextMenu.vue +47 -6
  224. package/vue/UiDialog.d.ts +18 -4
  225. package/vue/UiDialog.vue +86 -11
  226. package/vue/UiDisclosure.d.ts +8 -2
  227. package/vue/UiDisclosure.vue +38 -14
  228. package/vue/UiEditable.d.ts +10 -0
  229. package/vue/UiEditable.vue +14 -2
  230. package/vue/UiEditorInsertTableGrid.vue +52 -15
  231. package/vue/UiEditorMentionMenu.d.ts +24 -2
  232. package/vue/UiEditorMentionMenu.vue +27 -11
  233. package/vue/UiEditorMentionMenuItem.d.ts +24 -0
  234. package/vue/UiEditorMentionMenuItem.js +2 -0
  235. package/vue/UiEditorMentionMenuItem.vue +88 -0
  236. package/vue/UiEditorSlashMenu.d.ts +24 -1
  237. package/vue/UiEditorSlashMenu.vue +33 -33
  238. package/vue/UiEditorSlashMenuGroup.d.ts +18 -0
  239. package/vue/UiEditorSlashMenuGroup.js +2 -0
  240. package/vue/UiEditorSlashMenuGroup.vue +43 -0
  241. package/vue/UiEditorSlashMenuItem.d.ts +26 -0
  242. package/vue/UiEditorSlashMenuItem.js +2 -0
  243. package/vue/UiEditorSlashMenuItem.vue +101 -0
  244. package/vue/UiEditorTableContextMenu.d.ts +9 -3
  245. package/vue/UiEditorTableContextMenu.vue +53 -3
  246. package/vue/UiEditorTableOverlay.d.ts +2 -2
  247. package/vue/UiEditorTableOverlay.vue +8 -6
  248. package/vue/UiEditorTableToolbar.d.ts +7 -3
  249. package/vue/UiEditorTableToolbar.vue +50 -2
  250. package/vue/UiEditorToolbar.vue +14 -1
  251. package/vue/UiFloatingActionButton.vue +1 -1
  252. package/vue/UiFormField.vue +28 -3
  253. package/vue/UiGrid.d.ts +1 -0
  254. package/vue/UiGrid.vue +26 -2
  255. package/vue/UiIcon.vue +16 -0
  256. package/vue/UiIconButton.d.ts +5 -3
  257. package/vue/UiIconButton.vue +40 -6
  258. package/vue/UiInput.vue +10 -3
  259. package/vue/UiInputGroup.vue +32 -11
  260. package/vue/UiListbox.d.ts +33 -0
  261. package/vue/UiListbox.js +2 -0
  262. package/vue/UiListbox.vue +131 -0
  263. package/vue/UiMenu.d.ts +2 -0
  264. package/vue/UiMenu.vue +43 -6
  265. package/vue/UiMenuGroup.d.ts +18 -0
  266. package/vue/UiMenuGroup.js +2 -0
  267. package/vue/UiMenuGroup.vue +39 -0
  268. package/vue/UiMenuItem.d.ts +34 -2
  269. package/vue/UiMenuItem.vue +145 -9
  270. package/vue/UiPopover.d.ts +2 -2
  271. package/vue/UiPopover.vue +44 -5
  272. package/vue/UiRadioGroup.d.ts +2 -0
  273. package/vue/UiRadioGroup.vue +17 -0
  274. package/vue/UiSearchShell.vue +12 -5
  275. package/vue/UiSelect.vue +18 -4
  276. package/vue/UiSwitch.vue +2 -2
  277. package/vue/UiSwitcher.d.ts +1 -0
  278. package/vue/UiSwitcher.vue +22 -1
  279. package/vue/UiTabs.d.ts +6 -2
  280. package/vue/UiTabs.vue +14 -12
  281. package/vue/UiTextarea.d.ts +2 -0
  282. package/vue/UiTextarea.vue +32 -4
  283. package/vue/UiToast.d.ts +34 -0
  284. package/vue/UiToast.js +2 -0
  285. package/vue/UiToast.vue +173 -0
  286. package/vue/UiToastRegion.d.ts +2 -18
  287. package/vue/UiToastRegion.vue +123 -48
  288. package/vue/UiTooltip.d.ts +2 -2
  289. package/vue/UiTooltip.vue +67 -12
  290. package/vue/UiTree.d.ts +10 -0
  291. package/vue/UiTree.vue +27 -0
  292. package/vue/UiTreeItem.d.ts +2 -0
  293. package/vue/UiTreeItem.vue +96 -4
  294. package/vue/chunks/UiAvatar.js +19 -5
  295. package/vue/chunks/UiAvatarGroup.js +10 -4
  296. package/vue/chunks/UiBadge.js +1 -1
  297. package/vue/chunks/UiButton.js +58 -11
  298. package/vue/chunks/UiCallout.js +2 -2
  299. package/vue/chunks/UiCheckbox.js +12 -2
  300. package/vue/chunks/UiCluster.js +5 -3
  301. package/vue/chunks/UiCombobox.js +29 -13
  302. package/vue/chunks/UiContextMenu.js +6 -2
  303. package/vue/chunks/UiDialog.js +25 -8
  304. package/vue/chunks/UiDisclosure.js +36 -12
  305. package/vue/chunks/UiEditable.js +22 -8
  306. package/vue/chunks/UiEditorInsertTableGrid.js +11 -14
  307. package/vue/chunks/UiEditorMentionMenu.js +30 -19
  308. package/vue/chunks/UiEditorMentionMenuItem.js +36 -0
  309. package/vue/chunks/UiEditorSlashMenu.js +33 -35
  310. package/vue/chunks/UiEditorSlashMenuGroup.js +26 -0
  311. package/vue/chunks/UiEditorSlashMenuItem.js +51 -0
  312. package/vue/chunks/UiEditorTableContextMenu.js +39 -5
  313. package/vue/chunks/UiEditorTableOverlay.js +6 -6
  314. package/vue/chunks/UiEditorTableToolbar.js +37 -4
  315. package/vue/chunks/UiEditorToolbar.js +18 -4
  316. package/vue/chunks/UiFloatingActionButton.js +1 -1
  317. package/vue/chunks/UiFormField.js +13 -9
  318. package/vue/chunks/UiGrid.js +6 -2
  319. package/vue/chunks/UiIcon.js +40 -2
  320. package/vue/chunks/UiIconButton.js +35 -4
  321. package/vue/chunks/UiInput.js +1 -1
  322. package/vue/chunks/UiInputGroup.js +1 -1
  323. package/vue/chunks/UiListbox.js +70 -0
  324. package/vue/chunks/UiMenu.js +6 -2
  325. package/vue/chunks/UiMenuGroup.js +25 -0
  326. package/vue/chunks/UiMenuItem.js +128 -7
  327. package/vue/chunks/UiPopover.js +1 -1
  328. package/vue/chunks/UiRadioGroup.js +8 -2
  329. package/vue/chunks/UiSearchShell.js +1 -1
  330. package/vue/chunks/UiSelect.js +1 -1
  331. package/vue/chunks/UiSwitch.js +1 -1
  332. package/vue/chunks/UiSwitcher.js +20 -3
  333. package/vue/chunks/UiTabs.js +4 -3
  334. package/vue/chunks/UiTextarea.js +7 -2
  335. package/vue/chunks/UiToast.js +81 -0
  336. package/vue/chunks/UiToastRegion.js +25 -49
  337. package/vue/chunks/UiTooltip.js +3 -7
  338. package/vue/chunks/UiTree.js +8 -4
  339. package/vue/chunks/UiTreeItem.js +28 -10
  340. package/vue/components.css +1856 -864
  341. package/vue/editor/index.js +263 -2
  342. package/vue/index.d.ts +6 -0
  343. package/vue/index.js +9 -3
@@ -0,0 +1,51 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { t as UiIcon_default } from "./UiIcon.js";
3
+ import { createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString } from "vue";
4
+ //#region .build/vue/UiEditorSlashMenuItem.vue?vue&type=script&setup=true&lang.ts
5
+ var _hoisted_1 = [
6
+ "aria-disabled",
7
+ "data-value",
8
+ "data-keywords"
9
+ ];
10
+ var _hoisted_2 = {
11
+ key: 0,
12
+ class: "icon",
13
+ "aria-hidden": "true"
14
+ };
15
+ var _hoisted_3 = { class: "body" };
16
+ var _hoisted_4 = { class: "title" };
17
+ var _hoisted_5 = {
18
+ key: 0,
19
+ class: "description"
20
+ };
21
+ //#endregion
22
+ //#region .build/vue/UiEditorSlashMenuItem.vue
23
+ var UiEditorSlashMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
24
+ inheritAttrs: false,
25
+ __name: "UiEditorSlashMenuItem",
26
+ props: {
27
+ description: { default: "" },
28
+ disabled: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ icon: { default: "" },
33
+ keywords: { default: "" },
34
+ value: { default: "" }
35
+ },
36
+ setup(__props) {
37
+ return (_ctx, _cache) => {
38
+ return openBlock(), createElementBlock("li", mergeProps({
39
+ "data-component": "ui-editor-slash-menu-item",
40
+ role: "option",
41
+ tabindex: "-1"
42
+ }, _ctx.$attrs, {
43
+ "aria-disabled": __props.disabled,
44
+ "data-value": __props.value,
45
+ "data-keywords": __props.keywords
46
+ }), [__props.icon ? (openBlock(), createElementBlock("span", _hoisted_2, [createVNode(UiIcon_default, { name: __props.icon }, null, 8, ["name"])])) : createCommentVNode("v-if", true), createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), __props.description ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(__props.description), 1)) : createCommentVNode("v-if", true)])], 16, _hoisted_1);
47
+ };
48
+ }
49
+ }), [["__scopeId", "data-v-44e2b2b8"]]);
50
+ //#endregion
51
+ export { UiEditorSlashMenuItem_default as t };
@@ -25,7 +25,11 @@ var _hoisted_7 = {
25
25
  class: "heading",
26
26
  role: "presentation"
27
27
  };
28
- var _hoisted_8 = ["data-action"];
28
+ var _hoisted_8 = [
29
+ "role",
30
+ "aria-checked",
31
+ "data-action"
32
+ ];
29
33
  //#endregion
30
34
  //#region .build/vue/UiEditorTableContextMenu.vue
31
35
  var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -34,10 +38,19 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
34
38
  props: {
35
39
  actions: {},
36
40
  cellBackground: { default: "" },
41
+ headerColumn: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ headerRow: {
46
+ type: Boolean,
47
+ default: false
48
+ },
37
49
  open: {
38
50
  type: Boolean,
39
51
  default: false
40
- }
52
+ },
53
+ scope: { default: "cell" }
41
54
  },
42
55
  emits: ["action"],
43
56
  setup(__props, { emit: __emit }) {
@@ -46,7 +59,7 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
46
59
  const root = ref(null);
47
60
  const swatches = ref([]);
48
61
  const sections = ref([]);
49
- const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "align-left" || detail["action"] === "align-center" || detail["action"] === "align-right" || detail["action"] === "background-none" || detail["action"] === "background-gray" || detail["action"] === "background-yellow" || detail["action"] === "background-blue" || detail["action"] === "background-green" || detail["action"] === "background-red" || detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after" || detail["action"] === "clear-cells" || detail["action"] === "merge-cells" || detail["action"] === "split-cell" || detail["action"] === "delete-row" || detail["action"] === "delete-column" || detail["action"] === "delete-table") && Object.keys(detail).every((key) => ["action"].includes(key));
62
+ const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "align-left" || detail["action"] === "align-center" || detail["action"] === "align-right" || detail["action"] === "background-none" || detail["action"] === "background-gray" || detail["action"] === "background-yellow" || detail["action"] === "background-blue" || detail["action"] === "background-green" || detail["action"] === "background-red" || detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after" || detail["action"] === "toggle-header-row" || detail["action"] === "toggle-header-column" || detail["action"] === "move-row-up" || detail["action"] === "move-row-down" || detail["action"] === "move-column-left" || detail["action"] === "move-column-right" || detail["action"] === "clear-cells" || detail["action"] === "merge-cells" || detail["action"] === "split-cell" || detail["action"] === "delete-row" || detail["action"] === "delete-column" || detail["action"] === "delete-table") && Object.keys(detail).every((key) => ["action"].includes(key));
50
63
  const dispatch = createDispatch(root, emit, { checks: { action: isActionDetail } });
51
64
  useComponentHost(controllerModule.default, {
52
65
  root,
@@ -57,6 +70,14 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
57
70
  sections
58
71
  }
59
72
  });
73
+ function text(value) {
74
+ if (Array.isArray(value)) return value.map(text).join(" ");
75
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
76
+ }
77
+ function attribute(value) {
78
+ if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
79
+ return value === true ? "" : text(value);
80
+ }
60
81
  return (_ctx, _cache) => {
61
82
  return openBlock(), createElementBlock("div", mergeProps({
62
83
  "data-component": "ui-editor-table-context-menu",
@@ -85,7 +106,20 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
85
106
  return openBlock(), createElementBlock("button", {
86
107
  key: item.action,
87
108
  type: "button",
88
- role: "menuitem",
109
+ role: attribute({
110
+ true: "menuitemcheckbox",
111
+ false: "menuitem"
112
+ }[`${item.checkable}`]),
113
+ "aria-checked": typeof {
114
+ true: item.checked,
115
+ false: null
116
+ }[`${item.checkable}`] === "boolean" ? String({
117
+ true: item.checked,
118
+ false: null
119
+ }[`${item.checkable}`]) : attribute({
120
+ true: item.checked,
121
+ false: null
122
+ }[`${item.checkable}`]),
89
123
  "data-action": item.action,
90
124
  class: normalizeClass({ danger: item.danger })
91
125
  }, [createVNode(UiIcon_default, { name: item.icon }, null, 8, ["name"]), createElementVNode("span", null, toDisplayString(item.label), 1)], 10, _hoisted_8);
@@ -93,6 +127,6 @@ var UiEditorTableContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_d
93
127
  }), 128))], 16, _hoisted_1);
94
128
  };
95
129
  }
96
- }), [["__scopeId", "data-v-abe5d04d"]]);
130
+ }), [["__scopeId", "data-v-a7b775b0"]]);
97
131
  //#endregion
98
132
  export { UiEditorTableContextMenu_default as t };
@@ -60,7 +60,7 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
60
60
  "action",
61
61
  "rowIndex",
62
62
  "columnIndex"
63
- ].includes(key)) || detail !== null && typeof detail === "object" && !Array.isArray(detail) && detail["action"] === "open-cell-menu" && Number.isInteger(detail["rowIndex"]) && Number.isInteger(detail["columnIndex"]) && detail["anchor"] !== null && typeof detail["anchor"] === "object" && !Array.isArray(detail["anchor"]) && typeof detail["anchor"]["left"] === "number" && Number.isFinite(detail["anchor"]["left"]) && typeof detail["anchor"]["top"] === "number" && Number.isFinite(detail["anchor"]["top"]) && typeof detail["anchor"]["right"] === "number" && Number.isFinite(detail["anchor"]["right"]) && typeof detail["anchor"]["bottom"] === "number" && Number.isFinite(detail["anchor"]["bottom"]) && Object.keys(detail["anchor"]).every((key) => [
63
+ ].includes(key)) || detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "open-cell-menu" || detail["action"] === "open-row-menu" || detail["action"] === "open-column-menu") && Number.isInteger(detail["rowIndex"]) && Number.isInteger(detail["columnIndex"]) && detail["anchor"] !== null && typeof detail["anchor"] === "object" && !Array.isArray(detail["anchor"]) && typeof detail["anchor"]["left"] === "number" && Number.isFinite(detail["anchor"]["left"]) && typeof detail["anchor"]["top"] === "number" && Number.isFinite(detail["anchor"]["top"]) && typeof detail["anchor"]["right"] === "number" && Number.isFinite(detail["anchor"]["right"]) && typeof detail["anchor"]["bottom"] === "number" && Number.isFinite(detail["anchor"]["bottom"]) && Object.keys(detail["anchor"]).every((key) => [
64
64
  "left",
65
65
  "top",
66
66
  "right",
@@ -149,8 +149,8 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
149
149
  type: "button",
150
150
  class: "selector row",
151
151
  "data-action": "select-row",
152
- title: "Select row",
153
- "aria-label": "Select row",
152
+ title: "Row actions",
153
+ "aria-label": "Row actions",
154
154
  "data-row-index": hovered.value?.rowIndex,
155
155
  "data-column-index": hovered.value?.columnIndex,
156
156
  style: normalizeStyle({ top: hovered.value?.rowOffset })
@@ -158,8 +158,8 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
158
158
  type: "button",
159
159
  class: "selector column",
160
160
  "data-action": "select-column",
161
- title: "Select column",
162
- "aria-label": "Select column",
161
+ title: "Column actions",
162
+ "aria-label": "Column actions",
163
163
  "data-row-index": hovered.value?.rowIndex,
164
164
  "data-column-index": hovered.value?.columnIndex,
165
165
  style: normalizeStyle({ left: hovered.value?.columnOffset })
@@ -181,6 +181,6 @@ var UiEditorTableOverlay_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
181
181
  ], 16, _hoisted_1);
182
182
  };
183
183
  }
184
- }), [["__scopeId", "data-v-0de9cbcc"]]);
184
+ }), [["__scopeId", "data-v-58a8a2b8"]]);
185
185
  //#endregion
186
186
  export { UiEditorTableOverlay_default as t };
@@ -61,7 +61,11 @@ var _hoisted_15 = {
61
61
  class: "menu-heading",
62
62
  role: "presentation"
63
63
  };
64
- var _hoisted_16 = ["data-action"];
64
+ var _hoisted_16 = [
65
+ "role",
66
+ "aria-checked",
67
+ "data-action"
68
+ ];
65
69
  //#endregion
66
70
  //#region .build/vue/UiEditorTableToolbar.vue
67
71
  var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -71,6 +75,14 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
71
75
  actions: {},
72
76
  cellAlignment: { default: "left" },
73
77
  cellBackground: { default: "" },
78
+ headerColumn: {
79
+ type: Boolean,
80
+ default: false
81
+ },
82
+ headerRow: {
83
+ type: Boolean,
84
+ default: false
85
+ },
74
86
  open: {
75
87
  type: Boolean,
76
88
  default: false
@@ -87,7 +99,7 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
87
99
  const sections = ref([]);
88
100
  const hasOverflow = ref(false);
89
101
  const overflowOpen = ref(false);
90
- const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "align-left" || detail["action"] === "align-center" || detail["action"] === "align-right" || detail["action"] === "background-none" || detail["action"] === "background-gray" || detail["action"] === "background-yellow" || detail["action"] === "background-blue" || detail["action"] === "background-green" || detail["action"] === "background-red" || detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after" || detail["action"] === "clear-cells" || detail["action"] === "merge-cells" || detail["action"] === "split-cell" || detail["action"] === "delete-row" || detail["action"] === "delete-column" || detail["action"] === "delete-table") && Object.keys(detail).every((key) => ["action"].includes(key));
102
+ const isActionDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && (detail["action"] === "align-left" || detail["action"] === "align-center" || detail["action"] === "align-right" || detail["action"] === "background-none" || detail["action"] === "background-gray" || detail["action"] === "background-yellow" || detail["action"] === "background-blue" || detail["action"] === "background-green" || detail["action"] === "background-red" || detail["action"] === "add-row-before" || detail["action"] === "add-row-after" || detail["action"] === "add-column-before" || detail["action"] === "add-column-after" || detail["action"] === "toggle-header-row" || detail["action"] === "toggle-header-column" || detail["action"] === "move-row-up" || detail["action"] === "move-row-down" || detail["action"] === "move-column-left" || detail["action"] === "move-column-right" || detail["action"] === "clear-cells" || detail["action"] === "merge-cells" || detail["action"] === "split-cell" || detail["action"] === "delete-row" || detail["action"] === "delete-column" || detail["action"] === "delete-table") && Object.keys(detail).every((key) => ["action"].includes(key));
91
103
  const dispatch = createDispatch(root, emit, { checks: { action: isActionDetail } });
92
104
  useComponentHost(controllerModule.default, {
93
105
  root,
@@ -102,6 +114,14 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
102
114
  overflowOpen
103
115
  }
104
116
  });
117
+ function text(value) {
118
+ if (Array.isArray(value)) return value.map(text).join(" ");
119
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
120
+ }
121
+ function attribute(value) {
122
+ if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
123
+ return value === true ? "" : text(value);
124
+ }
105
125
  return (_ctx, _cache) => {
106
126
  return openBlock(), createElementBlock("div", mergeProps({
107
127
  "data-component": "ui-editor-table-toolbar",
@@ -166,7 +186,20 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
166
186
  return openBlock(), createElementBlock("button", {
167
187
  key: item.action,
168
188
  type: "button",
169
- role: "menuitem",
189
+ role: attribute({
190
+ true: "menuitemcheckbox",
191
+ false: "menuitem"
192
+ }[`${item.checkable}`]),
193
+ "aria-checked": typeof {
194
+ true: item.checked,
195
+ false: null
196
+ }[`${item.checkable}`] === "boolean" ? String({
197
+ true: item.checked,
198
+ false: null
199
+ }[`${item.checkable}`]) : attribute({
200
+ true: item.checked,
201
+ false: null
202
+ }[`${item.checkable}`]),
170
203
  "data-action": item.action,
171
204
  class: normalizeClass({ danger: item.danger })
172
205
  }, [createVNode(UiIcon_default, { name: item.icon }, null, 8, ["name"]), createElementVNode("span", null, toDisplayString(item.label), 1)], 10, _hoisted_16);
@@ -175,6 +208,6 @@ var UiEditorTableToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_defau
175
208
  ], 16, _hoisted_1);
176
209
  };
177
210
  }
178
- }), [["__scopeId", "data-v-57f609e3"]]);
211
+ }), [["__scopeId", "data-v-330c3a7b"]]);
179
212
  //#endregion
180
213
  export { UiEditorTableToolbar_default as t };
@@ -1,5 +1,7 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot, useTemplateRef } from "vue";
2
+ import { n as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, useTemplateRef } from "vue";
4
+ import * as controllerModule from "@threadlabs/looma/components/ui-editor-toolbar/ui-editor-toolbar.js";
3
5
  //#region .build/vue/UiEditorToolbar.vue?vue&type=script&setup=true&lang.ts
4
6
  var _hoisted_1 = ["data-ui-editor-toolbar-state"];
5
7
  var _hoisted_2 = {
@@ -17,17 +19,29 @@ var UiEditorToolbar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
17
19
  } },
18
20
  setup(__props) {
19
21
  const props = __props;
20
- useTemplateRef("strip");
22
+ const root = ref(null);
23
+ const stripElement = useTemplateRef("strip");
21
24
  /** The values the styles' :host-state() rules test. */
22
25
  const hostState = computed(() => [props.floating && "floating"].filter(Boolean).join(" "));
26
+ const dispatch = createDispatch(root);
27
+ useComponentHost(controllerModule.default, {
28
+ root,
29
+ dispatch,
30
+ props,
31
+ refs: { strip: stripElement }
32
+ });
23
33
  return (_ctx, _cache) => {
24
34
  return openBlock(), createElementBlock("div", mergeProps({
25
35
  "data-component": "ui-editor-toolbar",
26
36
  role: "toolbar",
27
37
  "aria-label": "Editor toolbar"
28
- }, _ctx.$attrs, { "data-ui-editor-toolbar-state": hostState.value || void 0 }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
38
+ }, _ctx.$attrs, {
39
+ "data-ui-editor-toolbar-state": hostState.value || void 0,
40
+ ref_key: "root",
41
+ ref: root
42
+ }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
29
43
  };
30
44
  }
31
- }), [["__scopeId", "data-v-da2753ad"]]);
45
+ }), [["__scopeId", "data-v-47c74ab3"]]);
32
46
  //#endregion
33
47
  export { UiEditorToolbar_default as t };
@@ -37,6 +37,6 @@ var UiFloatingActionButton_default = /*#__PURE__*/ _plugin_vue_export_helper_def
37
37
  }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
38
38
  };
39
39
  }
40
- }), [["__scopeId", "data-v-03a5b772"]]);
40
+ }), [["__scopeId", "data-v-70304a1a"]]);
41
41
  //#endregion
42
42
  export { UiFloatingActionButton_default as t };
@@ -1,11 +1,12 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { n as useComponentHost, t as createDispatch } from "./host.js";
3
- import { createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
3
+ import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
4
4
  import * as controllerModule from "@threadlabs/looma/components/ui-form-field/ui-form-field.js";
5
5
  //#region .build/vue/UiFormField.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = { class: "label" };
7
- var _hoisted_2 = { class: "help" };
8
- var _hoisted_3 = { class: "error" };
6
+ var _hoisted_1 = ["data-ui-form-field-state"];
7
+ var _hoisted_2 = { class: "label" };
8
+ var _hoisted_3 = { class: "help" };
9
+ var _hoisted_4 = { class: "error" };
9
10
  //#endregion
10
11
  //#region .build/vue/UiFormField.vue
11
12
  var UiFormField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -28,6 +29,8 @@ var UiFormField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
28
29
  setup(__props) {
29
30
  const props = __props;
30
31
  const root = ref(null);
32
+ /** The values the styles' :host-state() rules test. */
33
+ const hostState = computed(() => [props.invalid && "invalid"].filter(Boolean).join(" "));
31
34
  const dispatch = createDispatch(root);
32
35
  useComponentHost(controllerModule.default, {
33
36
  root,
@@ -36,16 +39,17 @@ var UiFormField_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__
36
39
  });
37
40
  return (_ctx, _cache) => {
38
41
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-form-field" }, _ctx.$attrs, {
42
+ "data-ui-form-field-state": hostState.value || void 0,
39
43
  ref_key: "root",
40
44
  ref: root
41
45
  }), [
42
- createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "label")]),
46
+ createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "label")]),
43
47
  renderSlot(_ctx.$slots, "default"),
44
- createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "help")]),
45
- createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "error")])
46
- ], 16);
48
+ createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "help")]),
49
+ createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "error")])
50
+ ], 16, _hoisted_1);
47
51
  };
48
52
  }
49
- }), [["__scopeId", "data-v-ed348161"]]);
53
+ }), [["__scopeId", "data-v-27bff7f1"]]);
50
54
  //#endregion
51
55
  export { UiFormField_default as t };
@@ -8,6 +8,7 @@ var UiGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
8
8
  inheritAttrs: false,
9
9
  __name: "UiGrid",
10
10
  props: {
11
+ columns: {},
11
12
  gap: {},
12
13
  min: {}
13
14
  },
@@ -16,9 +17,12 @@ var UiGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
16
17
  /** The values the styles' :host-state() rules test. */
17
18
  const hostState = computed(() => [props.gap && `gap gap=${props.gap}`, props.min && `min min=${props.min}`].filter(Boolean).join(" "));
18
19
  return (_ctx, _cache) => {
19
- return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-grid" }, _ctx.$attrs, { "data-ui-grid-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
20
+ return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-grid" }, _ctx.$attrs, {
21
+ style: { "--_grid-column-cap": __props.columns },
22
+ "data-ui-grid-state": hostState.value || void 0
23
+ }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
20
24
  };
21
25
  }
22
- }), [["__scopeId", "data-v-5f591c66"]]);
26
+ }), [["__scopeId", "data-v-9c0f77d4"]]);
23
27
  //#endregion
24
28
  export { UiGrid_default as t };
@@ -167,6 +167,10 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
167
167
  d: "M8 18h.01"
168
168
  }
169
169
  ],
170
+ check: [{
171
+ tag: "path",
172
+ d: "M20 6 9 17l-5-5"
173
+ }],
170
174
  "chevron-down": [{
171
175
  tag: "path",
172
176
  d: "m6 9 6 6 6-6"
@@ -188,6 +192,17 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
188
192
  tag: "path",
189
193
  d: "m9 12 2 2 4-4"
190
194
  }],
195
+ "circle-dot": [{
196
+ tag: "circle",
197
+ cx: "12",
198
+ cy: "12",
199
+ r: "10"
200
+ }, {
201
+ tag: "circle",
202
+ cx: "12",
203
+ cy: "12",
204
+ r: "1"
205
+ }],
191
206
  "circle-x": [
192
207
  {
193
208
  tag: "circle",
@@ -554,6 +569,13 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
554
569
  rx: "1"
555
570
  }
556
571
  ],
572
+ link: [{
573
+ tag: "path",
574
+ d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"
575
+ }, {
576
+ tag: "path",
577
+ d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"
578
+ }],
557
579
  list: [
558
580
  {
559
581
  tag: "path",
@@ -936,6 +958,15 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
936
958
  tag: "path",
937
959
  d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"
938
960
  }],
961
+ "user-round": [{
962
+ tag: "circle",
963
+ cx: "12",
964
+ cy: "8",
965
+ r: "5"
966
+ }, {
967
+ tag: "path",
968
+ d: "M20 21a8 8 0 0 0-16 0"
969
+ }],
939
970
  users: [
940
971
  {
941
972
  tag: "path",
@@ -955,7 +986,14 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
955
986
  cy: "7",
956
987
  r: "4"
957
988
  }
958
- ]
989
+ ],
990
+ x: [{
991
+ tag: "path",
992
+ d: "M18 6 6 18"
993
+ }, {
994
+ tag: "path",
995
+ d: "m6 6 12 12"
996
+ }]
959
997
  })[props.name]);
960
998
  function text(value) {
961
999
  if (Array.isArray(value)) return value.map(text).join(" ");
@@ -1004,6 +1042,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
1004
1042
  }), 128))]))], 16);
1005
1043
  };
1006
1044
  }
1007
- }), [["__scopeId", "data-v-fdb8162b"]]);
1045
+ }), [["__scopeId", "data-v-50d3f581"]]);
1008
1046
  //#endregion
1009
1047
  export { UiIcon_default as t };
@@ -1,13 +1,17 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { n as useComponentHost, t as createDispatch } from "./host.js";
3
- import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
3
+ import { t as UiSpinner_default } from "./UiSpinner.js";
4
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
4
5
  import * as controllerModule from "@threadlabs/looma/components/ui-icon-button/ui-icon-button.js";
5
6
  //#region .build/vue/UiIconButton.vue?vue&type=script&setup=true&lang.ts
6
7
  var _hoisted_1 = [
7
8
  "disabled",
8
9
  "aria-label",
10
+ "aria-disabled",
11
+ "aria-busy",
9
12
  "data-ui-icon-button-state"
10
13
  ];
14
+ var _hoisted_2 = { class: "content" };
11
15
  //#endregion
12
16
  //#region .build/vue/UiIconButton.vue
13
17
  var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -23,6 +27,10 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
23
27
  default: false
24
28
  },
25
29
  label: {},
30
+ pending: {
31
+ type: Boolean,
32
+ default: false
33
+ },
26
34
  round: {
27
35
  type: Boolean,
28
36
  default: false
@@ -38,7 +46,8 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
38
46
  props.anticipatory && "anticipatory",
39
47
  props.variant && `variant variant=${props.variant}`,
40
48
  props.size && `size size=${props.size}`,
41
- props.round && "round"
49
+ props.round && "round",
50
+ props.pending && "pending"
42
51
  ].filter(Boolean).join(" "));
43
52
  const dispatch = createDispatch(root);
44
53
  useComponentHost(controllerModule.default, {
@@ -46,6 +55,14 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
46
55
  dispatch,
47
56
  props
48
57
  });
58
+ function text(value) {
59
+ if (Array.isArray(value)) return value.map(text).join(" ");
60
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
61
+ }
62
+ function attribute(value) {
63
+ if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
64
+ return value === true ? "" : text(value);
65
+ }
49
66
  return (_ctx, _cache) => {
50
67
  return openBlock(), createElementBlock("button", mergeProps({
51
68
  "data-component": "ui-icon-button",
@@ -53,12 +70,26 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
53
70
  }, _ctx.$attrs, {
54
71
  disabled: __props.disabled,
55
72
  "aria-label": __props.label,
73
+ "aria-disabled": typeof {
74
+ true: "true",
75
+ false: null
76
+ }[`${__props.pending}`] === "boolean" ? String({
77
+ true: "true",
78
+ false: null
79
+ }[`${__props.pending}`]) : attribute({
80
+ true: "true",
81
+ false: null
82
+ }[`${__props.pending}`]),
83
+ "aria-busy": __props.pending,
56
84
  "data-ui-icon-button-state": hostState.value || void 0,
57
85
  ref_key: "root",
58
86
  ref: root
59
- }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
87
+ }), [__props.pending ? (openBlock(), createBlock(UiSpinner_default, {
88
+ key: 0,
89
+ size: "sm"
90
+ })) : createCommentVNode("v-if", true), createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "default")])], 16, _hoisted_1);
60
91
  };
61
92
  }
62
- }), [["__scopeId", "data-v-006fa1b2"]]);
93
+ }), [["__scopeId", "data-v-c62d95c3"]]);
63
94
  //#endregion
64
95
  export { UiIconButton_default as t };
@@ -66,6 +66,6 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
66
66
  }), null, 16, _hoisted_1)), [[vModelDynamic, model.value]]);
67
67
  };
68
68
  }
69
- }), [["__scopeId", "data-v-4ba095d3"]]);
69
+ }), [["__scopeId", "data-v-35d265bd"]]);
70
70
  //#endregion
71
71
  export { UiInput_default as t };
@@ -41,6 +41,6 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
41
41
  ], 16, _hoisted_1);
42
42
  };
43
43
  }
44
- }), [["__scopeId", "data-v-26a5b56d"]]);
44
+ }), [["__scopeId", "data-v-8627fd48"]]);
45
45
  //#endregion
46
46
  export { UiInputGroup_default as t };
@@ -0,0 +1,70 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { n as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, vModelSelect, withDirectives } from "vue";
4
+ import * as controllerModule from "@threadlabs/looma/components/ui-listbox/ui-listbox.js";
5
+ //#region .build/vue/UiListbox.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = [
7
+ "size",
8
+ "multiple",
9
+ "disabled",
10
+ "required",
11
+ "aria-invalid"
12
+ ];
13
+ //#endregion
14
+ //#region .build/vue/UiListbox.vue
15
+ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
16
+ inheritAttrs: false,
17
+ __name: "UiListbox",
18
+ props: {
19
+ disabled: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ invalid: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ multiple: {
28
+ type: Boolean,
29
+ default: false
30
+ },
31
+ required: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ rows: { default: 5 },
36
+ value: {},
37
+ values: {},
38
+ modelValue: {}
39
+ },
40
+ emits: ["update:modelValue"],
41
+ setup(__props, { emit: __emit }) {
42
+ const props = __props;
43
+ const emit = __emit;
44
+ const model = computed({
45
+ get: () => props.modelValue ?? props.value ?? void 0,
46
+ set: (value) => emit("update:modelValue", value)
47
+ });
48
+ const root = ref(null);
49
+ const dispatch = createDispatch(root);
50
+ useComponentHost(controllerModule.default, {
51
+ root,
52
+ dispatch,
53
+ props
54
+ });
55
+ return (_ctx, _cache) => {
56
+ return withDirectives((openBlock(), createElementBlock("select", mergeProps({ "data-component": "ui-listbox" }, _ctx.$attrs, {
57
+ size: __props.rows,
58
+ multiple: __props.multiple,
59
+ disabled: __props.disabled,
60
+ required: __props.required,
61
+ "aria-invalid": __props.invalid,
62
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
63
+ ref_key: "root",
64
+ ref: root
65
+ }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1)), [[vModelSelect, model.value]]);
66
+ };
67
+ }
68
+ }), [["__scopeId", "data-v-44b33b05"]]);
69
+ //#endregion
70
+ export { UiListbox_default as t };