@threadlabs/looma 0.14.8 → 0.15.0

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 (336) 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-combobox/ui-combobox.html +46 -10
  14. package/components/ui-combobox/ui-combobox.js +5 -5
  15. package/components/ui-context-menu/ui-context-menu.html +33 -5
  16. package/components/ui-context-menu/ui-context-menu.js +26 -17
  17. package/components/ui-dialog/ui-dialog.html +51 -8
  18. package/components/ui-dialog/ui-dialog.js +28 -7
  19. package/components/ui-disclosure/ui-disclosure.html +14 -5
  20. package/components/ui-disclosure/ui-disclosure.js +51 -4
  21. package/components/ui-editable/ui-editable.html +17 -3
  22. package/components/ui-editable/ui-editable.js +7 -0
  23. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +48 -14
  24. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +40 -6
  25. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +22 -9
  26. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +33 -11
  27. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +67 -0
  28. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +33 -30
  29. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +42 -8
  30. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +31 -0
  31. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +75 -0
  32. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +16 -5
  33. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +10 -2
  34. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +5 -5
  35. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -2
  36. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +14 -4
  37. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +2 -2
  38. package/components/ui-editor-toolbar/ui-editor-toolbar.html +1 -1
  39. package/components/ui-editor-toolbar/ui-editor-toolbar.js +46 -0
  40. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  41. package/components/ui-form-field/ui-form-field.html +16 -3
  42. package/components/ui-form-field/ui-form-field.js +1 -1
  43. package/components/ui-grid/ui-grid.html +17 -2
  44. package/components/ui-icon/ui-icon.html +5 -0
  45. package/components/ui-icon-button/ui-icon-button.html +25 -6
  46. package/components/ui-icon-button/ui-icon-button.js +11 -1
  47. package/components/ui-input/ui-input.html +3 -3
  48. package/components/ui-input-group/ui-input-group.html +18 -4
  49. package/components/ui-listbox/ui-listbox.html +81 -0
  50. package/components/ui-listbox/ui-listbox.js +27 -0
  51. package/components/ui-menu/ui-menu.html +33 -5
  52. package/components/ui-menu/ui-menu.js +18 -12
  53. package/components/ui-menu-group/ui-menu-group.html +27 -0
  54. package/components/ui-menu-item/ui-menu-item.html +80 -8
  55. package/components/ui-menu-item/ui-menu-item.js +47 -0
  56. package/components/ui-popover/ui-popover.html +33 -5
  57. package/components/ui-popover/ui-popover.js +9 -1
  58. package/components/ui-radio-group/ui-radio-group.html +13 -1
  59. package/components/ui-search-shell/ui-search-shell.html +6 -6
  60. package/components/ui-search-shell/ui-search-shell.js +21 -5
  61. package/components/ui-select/ui-select.html +14 -4
  62. package/components/ui-switch/ui-switch.html +2 -2
  63. package/components/ui-switcher/ui-switcher.html +8 -1
  64. package/components/ui-switcher/ui-switcher.js +15 -0
  65. package/components/ui-tabs/ui-tabs.html +17 -12
  66. package/components/ui-tabs/ui-tabs.js +43 -7
  67. package/components/ui-textarea/ui-textarea.html +28 -5
  68. package/components/ui-toast/ui-toast.html +88 -0
  69. package/components/ui-toast/ui-toast.js +68 -0
  70. package/components/ui-toast-region/ui-toast-region.html +102 -19
  71. package/components/ui-toast-region/ui-toast-region.js +10 -18
  72. package/components/ui-tooltip/ui-tooltip.html +51 -7
  73. package/components/ui-tooltip/ui-tooltip.js +29 -3
  74. package/components/ui-tree/ui-tree.html +12 -0
  75. package/components/ui-tree/ui-tree.js +191 -12
  76. package/components/ui-tree-item/ui-tree-item.html +87 -8
  77. package/components/ui-tree-item/ui-tree-item.js +3 -1
  78. package/dist/index.js +38 -32
  79. package/editor/chunks/extensions.js +82 -2
  80. package/editor/extensions/table-commands.d.ts +8 -0
  81. package/editor/icons.d.ts +5 -0
  82. package/editor/index.js +7 -2
  83. package/editor/insert-table-grid.d.ts +1 -1
  84. package/editor/mention-menu.d.ts +2 -0
  85. package/editor/slash-menu.d.ts +3 -0
  86. package/editor/table-context-menu.d.ts +1 -1
  87. package/editor/table-overlay.d.ts +2 -2
  88. package/package.json +1 -1
  89. package/styles/ui-avatar-group.css +1 -2
  90. package/styles/ui-avatar.css +11 -1
  91. package/styles/ui-badge.css +73 -1
  92. package/styles/ui-button.css +9 -1
  93. package/styles/ui-callout.css +1 -1
  94. package/styles/ui-checkbox.css +9 -0
  95. package/styles/ui-combobox.css +38 -7
  96. package/styles/ui-context-menu.css +32 -4
  97. package/styles/ui-dialog.css +42 -5
  98. package/styles/ui-editor-insert-table-grid.css +48 -11
  99. package/styles/ui-editor-mention-menu-item.css +57 -0
  100. package/styles/ui-editor-mention-menu.css +11 -1
  101. package/styles/ui-editor-slash-menu-group.css +21 -0
  102. package/styles/ui-editor-slash-menu-item.css +62 -0
  103. package/styles/ui-editor-slash-menu.css +10 -21
  104. package/styles/ui-editor-table-context-menu.css +1 -1
  105. package/styles/ui-floating-action-button.css +1 -1
  106. package/styles/ui-form-field.css +14 -1
  107. package/styles/ui-grid.css +14 -1
  108. package/styles/ui-icon-button.css +17 -5
  109. package/styles/ui-input-group.css +18 -4
  110. package/styles/ui-input.css +3 -3
  111. package/styles/ui-listbox.css +69 -0
  112. package/styles/ui-menu-group.css +19 -0
  113. package/styles/ui-menu-item.css +48 -9
  114. package/styles/ui-menu.css +32 -4
  115. package/styles/ui-popover.css +28 -4
  116. package/styles/ui-radio-group.css +9 -0
  117. package/styles/ui-search-shell.css +5 -5
  118. package/styles/ui-select.css +14 -4
  119. package/styles/ui-switch.css +2 -2
  120. package/styles/ui-switcher.css +4 -0
  121. package/styles/ui-textarea.css +27 -4
  122. package/styles/ui-toast-region.css +88 -4
  123. package/styles/ui-toast.css +74 -0
  124. package/styles/ui-tooltip.css +46 -6
  125. package/styles/ui-tree-item.css +72 -4
  126. package/styles/ui-tree.css +8 -0
  127. package/tokens.css +3 -0
  128. package/vanilla/UiAvatar.d.ts +2 -0
  129. package/vanilla/UiAvatar.js +8 -1
  130. package/vanilla/UiAvatarGroup.d.ts +2 -0
  131. package/vanilla/UiAvatarGroup.js +1 -1
  132. package/vanilla/UiBadge.d.ts +1 -1
  133. package/vanilla/UiBadge.js +1 -1
  134. package/vanilla/UiButton.d.ts +1 -0
  135. package/vanilla/UiButton.js +22 -6
  136. package/vanilla/UiCallout.d.ts +1 -1
  137. package/vanilla/UiCallout.js +1 -1
  138. package/vanilla/UiCheckbox.d.ts +1 -0
  139. package/vanilla/UiCheckbox.js +12 -9
  140. package/vanilla/UiCombobox.d.ts +3 -0
  141. package/vanilla/UiCombobox.js +30 -15
  142. package/vanilla/UiContextMenu.d.ts +1 -1
  143. package/vanilla/UiContextMenu.js +1 -1
  144. package/vanilla/UiDialog.d.ts +5 -2
  145. package/vanilla/UiDialog.js +1 -1
  146. package/vanilla/UiDisclosure.d.ts +2 -0
  147. package/vanilla/UiDisclosure.js +32 -18
  148. package/vanilla/UiEditable.d.ts +5 -0
  149. package/vanilla/UiEditable.js +7 -3
  150. package/vanilla/UiEditorInsertTableGrid.js +1 -6
  151. package/vanilla/UiEditorMentionMenu.d.ts +4 -2
  152. package/vanilla/UiEditorMentionMenu.js +49 -31
  153. package/vanilla/UiEditorMentionMenuItem.d.ts +16 -0
  154. package/vanilla/UiEditorMentionMenuItem.js +56 -0
  155. package/vanilla/UiEditorSlashMenu.d.ts +4 -3
  156. package/vanilla/UiEditorSlashMenu.js +59 -46
  157. package/vanilla/UiEditorSlashMenuGroup.d.ts +14 -0
  158. package/vanilla/UiEditorSlashMenuGroup.js +48 -0
  159. package/vanilla/UiEditorSlashMenuItem.d.ts +18 -0
  160. package/vanilla/UiEditorSlashMenuItem.js +57 -0
  161. package/vanilla/UiEditorTableContextMenu.d.ts +5 -2
  162. package/vanilla/UiEditorTableContextMenu.js +1 -2
  163. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  164. package/vanilla/UiEditorTableOverlay.js +5 -5
  165. package/vanilla/UiEditorTableToolbar.d.ts +4 -2
  166. package/vanilla/UiEditorTableToolbar.js +1 -2
  167. package/vanilla/UiEditorToolbar.js +2 -0
  168. package/vanilla/UiGrid.d.ts +1 -0
  169. package/vanilla/UiGrid.js +8 -7
  170. package/vanilla/UiIcon.js +1 -1
  171. package/vanilla/UiIconButton.d.ts +1 -0
  172. package/vanilla/UiIconButton.js +11 -2
  173. package/vanilla/UiListbox.d.ts +20 -0
  174. package/vanilla/UiListbox.js +45 -0
  175. package/vanilla/UiMenu.d.ts +1 -1
  176. package/vanilla/UiMenu.js +1 -1
  177. package/vanilla/UiMenuGroup.d.ts +14 -0
  178. package/vanilla/UiMenuGroup.js +35 -0
  179. package/vanilla/UiMenuItem.d.ts +5 -1
  180. package/vanilla/UiMenuItem.js +91 -30
  181. package/vanilla/UiPopover.d.ts +1 -1
  182. package/vanilla/UiPopover.js +1 -1
  183. package/vanilla/UiRadioGroup.d.ts +1 -0
  184. package/vanilla/UiRadioGroup.js +6 -3
  185. package/vanilla/UiSwitcher.d.ts +1 -0
  186. package/vanilla/UiSwitcher.js +7 -9
  187. package/vanilla/UiTabs.d.ts +1 -0
  188. package/vanilla/UiTabs.js +9 -1
  189. package/vanilla/UiTextarea.d.ts +1 -0
  190. package/vanilla/UiTextarea.js +4 -1
  191. package/vanilla/UiToast.d.ts +16 -0
  192. package/vanilla/UiToast.js +53 -0
  193. package/vanilla/UiToastRegion.d.ts +1 -4
  194. package/vanilla/UiToastRegion.js +3 -11
  195. package/vanilla/UiTooltip.d.ts +1 -1
  196. package/vanilla/UiTooltip.js +1 -1
  197. package/vanilla/UiTree.d.ts +2 -0
  198. package/vanilla/UiTree.js +1 -1
  199. package/vanilla/UiTreeItem.d.ts +1 -0
  200. package/vanilla/UiTreeItem.js +45 -31
  201. package/vanilla/index.js +6 -0
  202. package/vue/UiAvatar.d.ts +4 -0
  203. package/vue/UiAvatar.vue +23 -3
  204. package/vue/UiAvatarGroup.d.ts +3 -0
  205. package/vue/UiAvatarGroup.vue +7 -4
  206. package/vue/UiBadge.d.ts +2 -2
  207. package/vue/UiBadge.vue +74 -2
  208. package/vue/UiButton.d.ts +5 -3
  209. package/vue/UiButton.vue +41 -7
  210. package/vue/UiCallout.d.ts +2 -2
  211. package/vue/UiCallout.vue +3 -2
  212. package/vue/UiCheckbox.d.ts +2 -0
  213. package/vue/UiCheckbox.vue +16 -0
  214. package/vue/UiCombobox.d.ts +11 -3
  215. package/vue/UiCombobox.vue +60 -11
  216. package/vue/UiContextMenu.d.ts +2 -0
  217. package/vue/UiContextMenu.vue +47 -6
  218. package/vue/UiDialog.d.ts +18 -4
  219. package/vue/UiDialog.vue +86 -11
  220. package/vue/UiDisclosure.d.ts +8 -2
  221. package/vue/UiDisclosure.vue +38 -14
  222. package/vue/UiEditable.d.ts +10 -0
  223. package/vue/UiEditable.vue +14 -2
  224. package/vue/UiEditorInsertTableGrid.vue +52 -15
  225. package/vue/UiEditorMentionMenu.d.ts +24 -2
  226. package/vue/UiEditorMentionMenu.vue +27 -11
  227. package/vue/UiEditorMentionMenuItem.d.ts +24 -0
  228. package/vue/UiEditorMentionMenuItem.js +2 -0
  229. package/vue/UiEditorMentionMenuItem.vue +88 -0
  230. package/vue/UiEditorSlashMenu.d.ts +24 -1
  231. package/vue/UiEditorSlashMenu.vue +33 -33
  232. package/vue/UiEditorSlashMenuGroup.d.ts +18 -0
  233. package/vue/UiEditorSlashMenuGroup.js +2 -0
  234. package/vue/UiEditorSlashMenuGroup.vue +43 -0
  235. package/vue/UiEditorSlashMenuItem.d.ts +26 -0
  236. package/vue/UiEditorSlashMenuItem.js +2 -0
  237. package/vue/UiEditorSlashMenuItem.vue +101 -0
  238. package/vue/UiEditorTableContextMenu.d.ts +9 -3
  239. package/vue/UiEditorTableContextMenu.vue +53 -3
  240. package/vue/UiEditorTableOverlay.d.ts +2 -2
  241. package/vue/UiEditorTableOverlay.vue +8 -6
  242. package/vue/UiEditorTableToolbar.d.ts +7 -3
  243. package/vue/UiEditorTableToolbar.vue +50 -2
  244. package/vue/UiEditorToolbar.vue +14 -1
  245. package/vue/UiFloatingActionButton.vue +1 -1
  246. package/vue/UiFormField.vue +28 -3
  247. package/vue/UiGrid.d.ts +1 -0
  248. package/vue/UiGrid.vue +26 -2
  249. package/vue/UiIcon.vue +16 -0
  250. package/vue/UiIconButton.d.ts +5 -3
  251. package/vue/UiIconButton.vue +40 -6
  252. package/vue/UiInput.vue +10 -3
  253. package/vue/UiInputGroup.vue +32 -11
  254. package/vue/UiListbox.d.ts +33 -0
  255. package/vue/UiListbox.js +2 -0
  256. package/vue/UiListbox.vue +131 -0
  257. package/vue/UiMenu.d.ts +2 -0
  258. package/vue/UiMenu.vue +43 -6
  259. package/vue/UiMenuGroup.d.ts +18 -0
  260. package/vue/UiMenuGroup.js +2 -0
  261. package/vue/UiMenuGroup.vue +39 -0
  262. package/vue/UiMenuItem.d.ts +34 -2
  263. package/vue/UiMenuItem.vue +145 -9
  264. package/vue/UiPopover.d.ts +2 -2
  265. package/vue/UiPopover.vue +44 -5
  266. package/vue/UiRadioGroup.d.ts +2 -0
  267. package/vue/UiRadioGroup.vue +17 -0
  268. package/vue/UiSearchShell.vue +12 -5
  269. package/vue/UiSelect.vue +18 -4
  270. package/vue/UiSwitch.vue +2 -2
  271. package/vue/UiSwitcher.d.ts +1 -0
  272. package/vue/UiSwitcher.vue +22 -1
  273. package/vue/UiTabs.d.ts +6 -2
  274. package/vue/UiTabs.vue +14 -12
  275. package/vue/UiTextarea.d.ts +2 -0
  276. package/vue/UiTextarea.vue +32 -4
  277. package/vue/UiToast.d.ts +34 -0
  278. package/vue/UiToast.js +2 -0
  279. package/vue/UiToast.vue +173 -0
  280. package/vue/UiToastRegion.d.ts +2 -18
  281. package/vue/UiToastRegion.vue +123 -48
  282. package/vue/UiTooltip.d.ts +2 -2
  283. package/vue/UiTooltip.vue +67 -12
  284. package/vue/UiTree.d.ts +10 -0
  285. package/vue/UiTree.vue +27 -0
  286. package/vue/UiTreeItem.d.ts +2 -0
  287. package/vue/UiTreeItem.vue +96 -4
  288. package/vue/chunks/UiAvatar.js +19 -5
  289. package/vue/chunks/UiAvatarGroup.js +10 -4
  290. package/vue/chunks/UiBadge.js +1 -1
  291. package/vue/chunks/UiButton.js +58 -11
  292. package/vue/chunks/UiCallout.js +2 -2
  293. package/vue/chunks/UiCheckbox.js +12 -2
  294. package/vue/chunks/UiCombobox.js +29 -13
  295. package/vue/chunks/UiContextMenu.js +6 -2
  296. package/vue/chunks/UiDialog.js +25 -8
  297. package/vue/chunks/UiDisclosure.js +36 -12
  298. package/vue/chunks/UiEditable.js +22 -8
  299. package/vue/chunks/UiEditorInsertTableGrid.js +11 -14
  300. package/vue/chunks/UiEditorMentionMenu.js +30 -19
  301. package/vue/chunks/UiEditorMentionMenuItem.js +36 -0
  302. package/vue/chunks/UiEditorSlashMenu.js +33 -35
  303. package/vue/chunks/UiEditorSlashMenuGroup.js +26 -0
  304. package/vue/chunks/UiEditorSlashMenuItem.js +51 -0
  305. package/vue/chunks/UiEditorTableContextMenu.js +39 -5
  306. package/vue/chunks/UiEditorTableOverlay.js +6 -6
  307. package/vue/chunks/UiEditorTableToolbar.js +37 -4
  308. package/vue/chunks/UiEditorToolbar.js +18 -4
  309. package/vue/chunks/UiFloatingActionButton.js +1 -1
  310. package/vue/chunks/UiFormField.js +13 -9
  311. package/vue/chunks/UiGrid.js +6 -2
  312. package/vue/chunks/UiIcon.js +40 -2
  313. package/vue/chunks/UiIconButton.js +35 -4
  314. package/vue/chunks/UiInput.js +1 -1
  315. package/vue/chunks/UiInputGroup.js +1 -1
  316. package/vue/chunks/UiListbox.js +70 -0
  317. package/vue/chunks/UiMenu.js +6 -2
  318. package/vue/chunks/UiMenuGroup.js +25 -0
  319. package/vue/chunks/UiMenuItem.js +128 -7
  320. package/vue/chunks/UiPopover.js +1 -1
  321. package/vue/chunks/UiRadioGroup.js +8 -2
  322. package/vue/chunks/UiSearchShell.js +1 -1
  323. package/vue/chunks/UiSelect.js +1 -1
  324. package/vue/chunks/UiSwitch.js +1 -1
  325. package/vue/chunks/UiSwitcher.js +20 -3
  326. package/vue/chunks/UiTabs.js +4 -3
  327. package/vue/chunks/UiTextarea.js +7 -2
  328. package/vue/chunks/UiToast.js +81 -0
  329. package/vue/chunks/UiToastRegion.js +25 -49
  330. package/vue/chunks/UiTooltip.js +3 -7
  331. package/vue/chunks/UiTree.js +8 -4
  332. package/vue/chunks/UiTreeItem.js +28 -10
  333. package/vue/components.css +1840 -851
  334. package/vue/editor/index.js +263 -2
  335. package/vue/index.d.ts +6 -0
  336. package/vue/index.js +9 -3
@@ -8,6 +8,7 @@ var _hoisted_2 = [
8
8
  ".checked",
9
9
  ".indeterminate",
10
10
  "disabled",
11
+ "aria-invalid",
11
12
  "required",
12
13
  "name",
13
14
  "value"
@@ -37,6 +38,10 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
37
38
  type: Boolean,
38
39
  default: false
39
40
  },
41
+ invalid: {
42
+ type: Boolean,
43
+ default: false
44
+ },
40
45
  name: { default: "" },
41
46
  required: {
42
47
  type: Boolean,
@@ -58,7 +63,11 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
58
63
  const descriptionElement = useTemplateRef("description");
59
64
  const internalChecked = ref(false);
60
65
  /** The values the styles' :host-state() rules test. */
61
- const hostState = computed(() => [props.disabled && "disabled", props.size && `size size=${props.size}`].filter(Boolean).join(" "));
66
+ const hostState = computed(() => [
67
+ props.invalid && "invalid",
68
+ props.disabled && "disabled",
69
+ props.size && `size size=${props.size}`
70
+ ].filter(Boolean).join(" "));
62
71
  const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
63
72
  "checked",
64
73
  "value",
@@ -88,6 +97,7 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
88
97
  ".checked": internalChecked.value,
89
98
  ".indeterminate": __props.indeterminate,
90
99
  disabled: __props.disabled,
100
+ "aria-invalid": __props.invalid,
91
101
  required: __props.required,
92
102
  name: __props.name,
93
103
  value: __props.value,
@@ -95,6 +105,6 @@ var UiCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
95
105
  }, null, 40, _hoisted_2), createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "description", {}, void 0, true)], 512)])], 16, _hoisted_1);
96
106
  };
97
107
  }
98
- }), [["__scopeId", "data-v-bfcc98e1"]]);
108
+ }), [["__scopeId", "data-v-5e151d99"]]);
99
109
  //#endregion
100
110
  export { UiCheckbox_default as t };
@@ -78,14 +78,18 @@ var _hoisted_24 = {
78
78
  key: 1,
79
79
  class: "message"
80
80
  };
81
- var _hoisted_25 = ["id", "hidden"];
82
- var _hoisted_26 = {
81
+ var _hoisted_25 = {
82
+ key: 2,
83
+ class: "message"
84
+ };
85
+ var _hoisted_26 = ["id", "hidden"];
86
+ var _hoisted_27 = {
83
87
  class: "sr-only",
84
88
  role: "status",
85
89
  "aria-live": "polite",
86
90
  "aria-atomic": "true"
87
91
  };
88
- var _hoisted_27 = {
92
+ var _hoisted_28 = {
89
93
  class: "authored-options",
90
94
  hidden: "",
91
95
  "aria-hidden": "true",
@@ -119,14 +123,26 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
119
123
  },
120
124
  filter: { default: "label" },
121
125
  help: { default: "" },
126
+ invalid: {
127
+ type: Boolean,
128
+ default: false
129
+ },
122
130
  items: {},
123
131
  label: { default: "" },
124
132
  labelVisibility: { default: "visible" },
133
+ loading: {
134
+ type: Boolean,
135
+ default: false
136
+ },
125
137
  multiple: {
126
138
  type: Boolean,
127
139
  default: false
128
140
  },
129
141
  name: { default: "" },
142
+ openOnFocus: {
143
+ type: Boolean,
144
+ default: false
145
+ },
130
146
  placeholder: { default: "" },
131
147
  query: {},
132
148
  readonly: {
@@ -173,7 +189,6 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
173
189
  const expanded = ref(false);
174
190
  const rows = ref([]);
175
191
  const active = ref(-1);
176
- const loading = ref(false);
177
192
  const helpOpen = ref(false);
178
193
  const lookupError = ref("");
179
194
  const validation = ref({
@@ -195,6 +210,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
195
210
  props.size && `size size=${props.size}`,
196
211
  validationStatus.value && "validationStatus",
197
212
  `validationStatus=${encodeURIComponent(validationStatus.value)}`,
213
+ props.invalid && "invalid",
198
214
  props.multiple && "multiple"
199
215
  ].filter(Boolean).join(" "));
200
216
  const isQueryChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["query"] === "string" && typeof detail["display"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
@@ -313,7 +329,6 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
313
329
  expanded,
314
330
  rows,
315
331
  active,
316
- loading,
317
332
  helpOpen,
318
333
  lookupError,
319
334
  validation,
@@ -370,8 +385,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
370
385
  id: `${uid.value}-input`,
371
386
  "aria-controls": `${uid.value}-listbox`,
372
387
  "aria-expanded": expanded.value,
373
- "aria-invalid": validationStatus.value === "error",
374
- "aria-busy": validationStatus.value === "pending",
388
+ "aria-invalid": __props.invalid || validationStatus.value === "error",
389
+ "aria-busy": __props.loading || validationStatus.value === "pending",
375
390
  ".value": display.value,
376
391
  placeholder: __props.placeholder,
377
392
  disabled: __props.disabled,
@@ -470,7 +485,7 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
470
485
  role: "listbox",
471
486
  id: `${uid.value}-listbox`,
472
487
  "aria-label": `${__props.label} suggestions`,
473
- "aria-busy": loading.value,
488
+ "aria-busy": __props.loading,
474
489
  ref: "listbox"
475
490
  }, [
476
491
  (openBlock(true), createElementBlock(Fragment, null, renderList(groups.value, (group) => {
@@ -513,7 +528,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
513
528
  id: `${uid.value}-option-${createIndex.value}`,
514
529
  "data-index": createIndex.value
515
530
  }, toDisplayString(`Create “${raw.value}”`), 11, _hoisted_23)) : createCommentVNode("v-if", true),
516
- message.value ? (openBlock(), createElementBlock("div", _hoisted_24, toDisplayString(message.value), 1)) : createCommentVNode("v-if", true)
531
+ message.value ? (openBlock(), createElementBlock("div", _hoisted_24, toDisplayString(message.value), 1)) : createCommentVNode("v-if", true),
532
+ !__props.loading && !rows.value[0] && !creatable.value && !lookupError.value ? (openBlock(), createElementBlock("div", _hoisted_25, [renderSlot(_ctx.$slots, "empty", {}, () => [_cache[3] || (_cache[3] = createTextVNode("No suggestions.", -1))], true)])) : createCommentVNode("v-if", true)
517
533
  ], 8, _hoisted_13), renderSlot(_ctx.$slots, "footer", {}, void 0, true)], 8, _hoisted_12),
518
534
  createElementVNode("div", {
519
535
  class: "message",
@@ -521,12 +537,12 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
521
537
  hidden: !validation.value.issues.length
522
538
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(validation.value.issues, (issue, index) => {
523
539
  return openBlock(), createElementBlock("div", { key: index }, toDisplayString(issue.message), 1);
524
- }), 128))], 8, _hoisted_25),
525
- createElementVNode("div", _hoisted_26, toDisplayString(statusText.value), 1),
526
- createElementVNode("div", _hoisted_27, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
540
+ }), 128))], 8, _hoisted_26),
541
+ createElementVNode("div", _hoisted_27, toDisplayString(statusText.value), 1),
542
+ createElementVNode("div", _hoisted_28, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
527
543
  ], 16, _hoisted_1);
528
544
  };
529
545
  }
530
- }), [["__scopeId", "data-v-10aa8368"]]);
546
+ }), [["__scopeId", "data-v-069ed42d"]]);
531
547
  //#endregion
532
548
  export { UiCombobox_default as t };
@@ -38,7 +38,11 @@ var UiContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
38
38
  "reason",
39
39
  "trigger"
40
40
  ].includes(key));
41
- const isSelectDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["value", "trigger"].includes(key));
41
+ const isSelectDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && (detail["checked"] === void 0 || typeof detail["checked"] === "boolean") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
42
+ "value",
43
+ "checked",
44
+ "trigger"
45
+ ].includes(key));
42
46
  const dispatch = createDispatch(root, emit, {
43
47
  checks: {
44
48
  open: isOpenDetail,
@@ -61,6 +65,6 @@ var UiContextMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
61
65
  }), [createElementVNode("div", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)], 16);
62
66
  };
63
67
  }
64
- }), [["__scopeId", "data-v-3d09af05"]]);
68
+ }), [["__scopeId", "data-v-2e00c9d8"]]);
65
69
  //#endregion
66
70
  export { UiContextMenu_default as t };
@@ -1,9 +1,9 @@
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 { createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toDisplayString, useTemplateRef } from "vue";
3
+ import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toDisplayString, useTemplateRef } from "vue";
4
4
  import * as controllerModule from "@threadlabs/looma/components/ui-dialog/ui-dialog.js";
5
5
  //#region .build/vue/UiDialog.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = ["aria-label"];
6
+ var _hoisted_1 = ["aria-label", "data-ui-dialog-state"];
7
7
  var _hoisted_2 = {
8
8
  key: 0,
9
9
  class: "title"
@@ -21,22 +21,28 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
21
21
  inheritAttrs: false,
22
22
  __name: "UiDialog",
23
23
  props: {
24
- dismissible: {
24
+ alert: {
25
25
  type: Boolean,
26
26
  default: false
27
27
  },
28
+ closedby: { default: "closerequest" },
28
29
  for: { default: "" },
29
30
  label: {},
30
- modal: {
31
+ modeless: {
31
32
  type: Boolean,
32
33
  default: false
33
34
  },
34
35
  open: {
35
36
  type: Boolean,
36
37
  default: false
37
- }
38
+ },
39
+ size: { default: "md" }
38
40
  },
39
- emits: ["update:open", "close"],
41
+ emits: [
42
+ "update:open",
43
+ "open",
44
+ "close"
45
+ ],
40
46
  setup(__props, { emit: __emit }) {
41
47
  const props = __props;
42
48
  const emit = __emit;
@@ -44,13 +50,23 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
44
50
  const closeElement = useTemplateRef("close");
45
51
  const internalOpen = ref(false);
46
52
  const accessibleLabel = ref("Dialog");
53
+ /** The values the styles' :host-state() rules test. */
54
+ const hostState = computed(() => [props.size && `size size=${props.size}`, props.alert && "alert"].filter(Boolean).join(" "));
55
+ const isOpenDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
56
+ "open",
57
+ "reason",
58
+ "trigger"
59
+ ].includes(key));
47
60
  const isCloseDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
48
61
  "open",
49
62
  "reason",
50
63
  "trigger"
51
64
  ].includes(key));
52
65
  const dispatch = createDispatch(root, emit, {
53
- checks: { close: isCloseDetail },
66
+ checks: {
67
+ open: isOpenDetail,
68
+ close: isCloseDetail
69
+ },
54
70
  modeled: ["open"]
55
71
  });
56
72
  useComponentHost(controllerModule.default, {
@@ -66,6 +82,7 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
66
82
  return (_ctx, _cache) => {
67
83
  return openBlock(), createElementBlock("dialog", mergeProps({ "data-component": "ui-dialog" }, _ctx.$attrs, {
68
84
  "aria-label": accessibleLabel.value,
85
+ "data-ui-dialog-state": hostState.value || void 0,
69
86
  ref_key: "root",
70
87
  ref: root
71
88
  }), [
@@ -75,6 +92,6 @@ var UiDialog_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
75
92
  ], 16, _hoisted_1);
76
93
  };
77
94
  }
78
- }), [["__scopeId", "data-v-616b4560"]]);
95
+ }), [["__scopeId", "data-v-8d67e1e0"]]);
79
96
  //#endregion
80
97
  export { UiDialog_default as t };
@@ -1,16 +1,18 @@
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, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toDisplayString, useTemplateRef } from "vue";
3
+ import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeProps, openBlock, ref, renderSlot, toDisplayString, useTemplateRef } from "vue";
4
4
  import * as controllerModule from "@threadlabs/looma/components/ui-disclosure/ui-disclosure.js";
5
5
  //#region .build/vue/UiDisclosure.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = ["data-ui-disclosure-state"];
7
- var _hoisted_2 = [
7
+ var _hoisted_2 = ["role", "aria-level"];
8
+ var _hoisted_3 = [
8
9
  "aria-controls",
9
10
  "aria-expanded",
10
11
  "disabled"
11
12
  ];
12
- var _hoisted_3 = ["id", "inert"];
13
- var _hoisted_4 = { class: "panel-inner" };
13
+ var _hoisted_4 = { class: "summary" };
14
+ var _hoisted_5 = ["id"];
15
+ var _hoisted_6 = { class: "panel-inner" };
14
16
  //#endregion
15
17
  //#region .build/vue/UiDisclosure.vue
16
18
  var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -22,6 +24,8 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
22
24
  type: Boolean,
23
25
  default: false
24
26
  },
27
+ headingLevel: { default: 0 },
28
+ name: { default: "" },
25
29
  open: {
26
30
  type: Boolean,
27
31
  default: false
@@ -38,8 +42,11 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
38
42
  const emit = __emit;
39
43
  const root = ref(null);
40
44
  const triggerElement = useTemplateRef("trigger");
45
+ const panelElement = useTemplateRef("panel");
41
46
  const internalOpen = ref(false);
42
47
  const contentId = ref("");
48
+ const headingRole = ref(null);
49
+ const headingAriaLevel = ref(null);
43
50
  /** The values the styles' :host-state() rules test. */
44
51
  const hostState = computed(() => [props.density && `density density=${props.density}`, internalOpen.value && "internalOpen"].filter(Boolean).join(" "));
45
52
  const isOpenDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["open"] === "boolean" && (detail["reason"] === "action" || detail["reason"] === "programmatic" || detail["reason"] === "light-dismiss" || detail["reason"] === "escape") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
@@ -58,34 +65,51 @@ var UiDisclosure_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
58
65
  root,
59
66
  dispatch,
60
67
  props,
61
- refs: { trigger: triggerElement },
68
+ refs: {
69
+ trigger: triggerElement,
70
+ panel: panelElement
71
+ },
62
72
  state: {
63
73
  internalOpen,
64
- contentId
74
+ contentId,
75
+ headingRole,
76
+ headingAriaLevel
65
77
  }
66
78
  });
79
+ function text(value) {
80
+ if (Array.isArray(value)) return value.map(text).join(" ");
81
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
82
+ }
83
+ function attribute(value) {
84
+ if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
85
+ return value === true ? "" : text(value);
86
+ }
67
87
  return (_ctx, _cache) => {
68
88
  return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-disclosure" }, _ctx.$attrs, {
69
89
  "data-ui-disclosure-state": hostState.value || void 0,
70
90
  ref_key: "root",
71
91
  ref: root
72
- }), [createElementVNode("button", {
92
+ }), [createElementVNode("div", {
93
+ class: "heading",
94
+ role: attribute(headingRole.value),
95
+ "aria-level": typeof headingAriaLevel.value === "boolean" ? String(headingAriaLevel.value) : attribute(headingAriaLevel.value)
96
+ }, [createElementVNode("button", {
73
97
  class: "trigger",
74
98
  type: "button",
75
99
  "aria-controls": contentId.value,
76
100
  "aria-expanded": internalOpen.value,
77
101
  disabled: __props.disabled,
78
102
  ref: "trigger"
79
- }, [createElementVNode("span", null, toDisplayString(__props.summary), 1), _cache[0] || (_cache[0] = createElementVNode("span", {
103
+ }, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "summary", {}, () => [createTextVNode(toDisplayString(__props.summary), 1)], true)]), _cache[0] || (_cache[0] = createElementVNode("span", {
80
104
  class: "chevron",
81
105
  "aria-hidden": "true"
82
- }, null, -1))], 8, _hoisted_2), createElementVNode("div", {
106
+ }, null, -1))], 8, _hoisted_3)], 8, _hoisted_2), createElementVNode("div", {
83
107
  class: "panel",
84
108
  id: contentId.value,
85
- inert: !internalOpen.value
86
- }, [createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 8, _hoisted_3)], 16, _hoisted_1);
109
+ ref: "panel"
110
+ }, [createElementVNode("div", _hoisted_6, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 8, _hoisted_5)], 16, _hoisted_1);
87
111
  };
88
112
  }
89
- }), [["__scopeId", "data-v-07294756"]]);
113
+ }), [["__scopeId", "data-v-a496a6e7"]]);
90
114
  //#endregion
91
115
  export { UiDisclosure_default as t };
@@ -15,12 +15,22 @@ var _hoisted_5 = {
15
15
  var _hoisted_6 = [
16
16
  ".value",
17
17
  "aria-label",
18
+ "placeholder",
19
+ "required",
18
20
  "disabled"
19
21
  ];
20
22
  var _hoisted_7 = {
21
23
  key: 0,
22
24
  class: "actions"
23
25
  };
26
+ var _hoisted_8 = {
27
+ class: "save",
28
+ type: "button"
29
+ };
30
+ var _hoisted_9 = {
31
+ class: "cancel",
32
+ type: "button"
33
+ };
24
34
  //#endregion
25
35
  //#region .build/vue/UiEditable.vue
26
36
  var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -31,6 +41,7 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
31
41
  type: Boolean,
32
42
  default: false
33
43
  },
44
+ cancelLabel: { default: "Cancel" },
34
45
  disabled: {
35
46
  type: Boolean,
36
47
  default: false
@@ -41,6 +52,13 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
41
52
  },
42
53
  hint: { default: "" },
43
54
  label: { default: "Edit value" },
55
+ maxLength: { default: 0 },
56
+ placeholder: { default: "" },
57
+ required: {
58
+ type: Boolean,
59
+ default: false
60
+ },
61
+ saveLabel: { default: "Save" },
44
62
  value: { default: "" }
45
63
  },
46
64
  emits: [
@@ -109,17 +127,13 @@ var UiEditable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
109
127
  type: "text",
110
128
  ".value": draft.value,
111
129
  "aria-label": __props.label,
130
+ placeholder: __props.placeholder,
131
+ required: __props.required,
112
132
  disabled: __props.disabled || !internalEdit.value,
113
133
  ref: "input"
114
- }, null, 40, _hoisted_6)]), __props.actions ? (openBlock(), createElementBlock("div", _hoisted_7, [..._cache[0] || (_cache[0] = [createElementVNode("button", {
115
- class: "save",
116
- type: "button"
117
- }, "Save", -1), createElementVNode("button", {
118
- class: "cancel",
119
- type: "button"
120
- }, "Cancel", -1)])])) : createCommentVNode("v-if", true)], 16, _hoisted_1);
134
+ }, null, 40, _hoisted_6)]), __props.actions ? (openBlock(), createElementBlock("div", _hoisted_7, [createElementVNode("button", _hoisted_8, toDisplayString(__props.saveLabel), 1), createElementVNode("button", _hoisted_9, toDisplayString(__props.cancelLabel), 1)])) : createCommentVNode("v-if", true)], 16, _hoisted_1);
121
135
  };
122
136
  }
123
- }), [["__scopeId", "data-v-73a44500"]]);
137
+ }), [["__scopeId", "data-v-39853d49"]]);
124
138
  //#endregion
125
139
  export { UiEditable_default as t };
@@ -9,15 +9,11 @@ var _hoisted_3 = [
9
9
  "data-row",
10
10
  "data-col",
11
11
  "aria-label",
12
- "aria-pressed"
12
+ "aria-pressed",
13
+ "tabindex"
13
14
  ];
14
15
  var _hoisted_4 = { class: "header" };
15
16
  var _hoisted_5 = [".checked"];
16
- var _hoisted_6 = {
17
- type: "button",
18
- class: "insert",
19
- ref: "insert"
20
- };
21
17
  //#endregion
22
18
  //#region .build/vue/UiEditorInsertTableGrid.vue
23
19
  var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -40,8 +36,8 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
40
36
  const props = __props;
41
37
  const emit = __emit;
42
38
  const root = ref(null);
39
+ const gridElement = useTemplateRef("grid");
43
40
  const headerElement = useTemplateRef("header");
44
- const insertElement = useTemplateRef("insert");
45
41
  const cells = ref([]);
46
42
  const rows = ref(8);
47
43
  const cols = ref(8);
@@ -58,8 +54,8 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
58
54
  dispatch,
59
55
  props,
60
56
  refs: {
61
- header: headerElement,
62
- insert: insertElement
57
+ grid: gridElement,
58
+ header: headerElement
63
59
  },
64
60
  state: {
65
61
  cells,
@@ -83,7 +79,8 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
83
79
  style: normalizeStyle({
84
80
  "--_rows": rows.value,
85
81
  "--_cols": cols.value
86
- })
82
+ }),
83
+ ref: "grid"
87
84
  }, [(openBlock(true), createElementBlock(Fragment, null, renderList(cells.value, (cell) => {
88
85
  return openBlock(), createElementBlock("button", {
89
86
  key: cell.key,
@@ -92,18 +89,18 @@ var UiEditorInsertTableGrid_default = /*#__PURE__*/ _plugin_vue_export_helper_de
92
89
  "data-row": cell.row,
93
90
  "data-col": cell.col,
94
91
  "aria-label": cell.label,
95
- "aria-pressed": cell.selected
92
+ "aria-pressed": cell.selected,
93
+ tabindex: cell.tabIndex
96
94
  }, null, 10, _hoisted_3);
97
95
  }), 128))], 4),
98
96
  createElementVNode("label", _hoisted_4, [createElementVNode("input", {
99
97
  type: "checkbox",
100
98
  ".checked": withHeaderRow.value,
101
99
  ref: "header"
102
- }, null, 40, _hoisted_5), _cache[0] || (_cache[0] = createTextVNode(" Header row", -1))]),
103
- createElementVNode("button", _hoisted_6, "Insert table", 512)
100
+ }, null, 40, _hoisted_5), _cache[0] || (_cache[0] = createTextVNode(" Header row", -1))])
104
101
  ], 16, _hoisted_1);
105
102
  };
106
103
  }
107
- }), [["__scopeId", "data-v-efb1c451"]]);
104
+ }), [["__scopeId", "data-v-2dd6031b"]]);
108
105
  //#endregion
109
106
  export { UiEditorInsertTableGrid_default as t };
@@ -1,34 +1,40 @@
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 { Fragment, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, toDisplayString } from "vue";
3
+ import { Fragment, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, useTemplateRef } from "vue";
4
4
  import * as controllerModule from "@threadlabs/looma/components/ui-editor-mention-menu/ui-editor-mention-menu.js";
5
5
  //#region .build/vue/UiEditorMentionMenu.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = ["aria-busy", "hidden"];
7
- var _hoisted_2 = {
7
+ var _hoisted_2 = { class: "header" };
8
+ var _hoisted_3 = {
8
9
  key: 0,
9
10
  class: "loading",
10
11
  role: "status"
11
12
  };
12
- var _hoisted_3 = {
13
+ var _hoisted_4 = {
13
14
  key: 1,
14
15
  class: "list",
15
16
  role: "presentation"
16
17
  };
17
- var _hoisted_4 = [
18
+ var _hoisted_5 = [
18
19
  "id",
19
20
  "aria-selected",
20
- "data-index"
21
+ "data-index",
22
+ "data-value"
21
23
  ];
22
- var _hoisted_5 = {
24
+ var _hoisted_6 = {
23
25
  class: "avatar",
24
26
  "aria-hidden": "true"
25
27
  };
26
- var _hoisted_6 = { class: "body" };
27
- var _hoisted_7 = { class: "label" };
28
- var _hoisted_8 = {
28
+ var _hoisted_7 = { class: "body" };
29
+ var _hoisted_8 = { class: "label" };
30
+ var _hoisted_9 = {
29
31
  key: 0,
30
32
  class: "detail"
31
33
  };
34
+ var _hoisted_10 = {
35
+ class: "empty",
36
+ ref: "empty"
37
+ };
32
38
  //#endregion
33
39
  //#region .build/vue/UiEditorMentionMenu.vue
34
40
  var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -37,10 +43,12 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
37
43
  props: {
38
44
  anchorRect: {},
39
45
  items: {},
46
+ label: { default: "Mentions" },
40
47
  loading: {
41
48
  type: Boolean,
42
49
  default: false
43
50
  },
51
+ loadingLabel: { default: "Searching…" },
44
52
  open: {
45
53
  type: Boolean,
46
54
  default: false
@@ -53,12 +61,13 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
53
61
  const props = __props;
54
62
  const emit = __emit;
55
63
  const root = ref(null);
64
+ const emptyElement = useTemplateRef("empty");
56
65
  const visible = ref(false);
57
66
  const rows = ref([]);
58
67
  const searching = ref(false);
59
68
  const active = ref(0);
60
69
  const prefix = ref("ui-editor-mention-menu");
61
- const isHighlightDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && Object.keys(detail).every((key) => ["index"].includes(key));
70
+ const isHighlightDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && Number.isInteger(detail["index"]) && typeof detail["value"] === "string" && Object.keys(detail).every((key) => ["index", "value"].includes(key));
62
71
  const dispatch = createDispatch(root, emit, { checks: {
63
72
  highlight: isHighlightDetail,
64
73
  select: isHighlightDetail
@@ -67,6 +76,7 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
67
76
  root,
68
77
  dispatch,
69
78
  props,
79
+ refs: { empty: emptyElement },
70
80
  state: {
71
81
  visible,
72
82
  rows,
@@ -78,29 +88,30 @@ var UiEditorMentionMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_defaul
78
88
  return (_ctx, _cache) => {
79
89
  return openBlock(), createElementBlock("div", mergeProps({
80
90
  "data-component": "ui-editor-mention-menu",
81
- role: "listbox",
82
- "aria-label": "Mention a person"
91
+ role: "listbox"
83
92
  }, _ctx.$attrs, {
84
93
  "aria-busy": __props.loading,
85
94
  hidden: !visible.value,
86
95
  ref_key: "root",
87
96
  ref: root
88
97
  }), [
89
- _cache[0] || (_cache[0] = createElementVNode("div", { class: "header" }, [createElementVNode("span", null, "People"), createElementVNode("span", { class: "hint" }, "Type after @ to search")], -1)),
90
- searching.value ? (openBlock(), createElementBlock("div", _hoisted_2, "Searching…")) : createCommentVNode("v-if", true),
91
- !searching.value ? (openBlock(), createElementBlock("ul", _hoisted_3, [(openBlock(true), createElementBlock(Fragment, null, renderList(rows.value, (row, index) => {
98
+ createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "header", {}, void 0, true)]),
99
+ searching.value ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString(__props.loadingLabel), 1)) : createCommentVNode("v-if", true),
100
+ !searching.value ? (openBlock(), createElementBlock("ul", _hoisted_4, [(openBlock(true), createElementBlock(Fragment, null, renderList(rows.value, (row, index) => {
92
101
  return openBlock(), createElementBlock("li", {
93
102
  key: index,
94
103
  class: normalizeClass(["item", { active: index === active.value }]),
95
104
  role: "option",
96
105
  id: `${prefix.value}-option-${index}`,
97
106
  "aria-selected": index === active.value,
98
- "data-index": index
99
- }, [createElementVNode("span", _hoisted_5, toDisplayString(row.initials), 1), createElementVNode("span", _hoisted_6, [createElementVNode("span", _hoisted_7, toDisplayString(row.label), 1), row.detail ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(row.detail), 1)) : createCommentVNode("v-if", true)])], 10, _hoisted_4);
100
- }), 128))])) : createCommentVNode("v-if", true)
107
+ "data-index": index,
108
+ "data-value": row.id
109
+ }, [createElementVNode("span", _hoisted_6, toDisplayString(row.initials), 1), createElementVNode("span", _hoisted_7, [createElementVNode("span", _hoisted_8, toDisplayString(row.label), 1), row.detail ? (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString(row.detail), 1)) : createCommentVNode("v-if", true)])], 10, _hoisted_5);
110
+ }), 128)), renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("v-if", true),
111
+ createElementVNode("div", _hoisted_10, [renderSlot(_ctx.$slots, "empty", {}, void 0, true)], 512)
101
112
  ], 16, _hoisted_1);
102
113
  };
103
114
  }
104
- }), [["__scopeId", "data-v-b290e588"]]);
115
+ }), [["__scopeId", "data-v-a5ae5970"]]);
105
116
  //#endregion
106
117
  export { UiEditorMentionMenu_default as t };