@threadlabs/looma 0.5.1 → 0.6.0-rc.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 (341) hide show
  1. package/README.md +1 -1
  2. package/components/shared/overlay.js +3 -0
  3. package/components/ui-button/ui-button.html +27 -14
  4. package/components/ui-callout/ui-callout.html +1 -1
  5. package/components/ui-checkbox/ui-checkbox.html +1 -1
  6. package/components/ui-cluster/ui-cluster.html +6 -6
  7. package/components/ui-combobox/ui-combobox.html +35 -27
  8. package/components/ui-container/ui-container.html +4 -4
  9. package/components/ui-context-menu/ui-context-menu.html +2 -2
  10. package/components/ui-dialog/ui-dialog.html +21 -8
  11. package/components/ui-disclosure/ui-disclosure.html +19 -4
  12. package/components/ui-editable/ui-editable.html +6 -6
  13. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +21 -21
  14. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +26 -26
  15. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +39 -39
  16. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +26 -22
  17. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +68 -52
  18. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +42 -38
  19. package/components/ui-editor-toolbar/ui-editor-toolbar.html +9 -9
  20. package/components/ui-floating-action-button/ui-floating-action-button.html +16 -22
  21. package/components/ui-form-field/ui-form-field.html +18 -7
  22. package/components/ui-grid/ui-grid.html +6 -6
  23. package/components/ui-icon/ui-icon.html +5 -1
  24. package/components/ui-icon-button/ui-icon-button.html +68 -34
  25. package/components/ui-input/ui-input.html +2 -2
  26. package/components/ui-menu/ui-menu.html +15 -4
  27. package/components/ui-menu-item/ui-menu-item.html +5 -5
  28. package/components/ui-popover/ui-popover.html +3 -3
  29. package/components/ui-popover/ui-popover.js +10 -2
  30. package/components/ui-reel/ui-reel.html +6 -6
  31. package/components/ui-search-result-row/ui-search-result-row.html +9 -9
  32. package/components/ui-search-shell/ui-search-shell.html +10 -3
  33. package/components/ui-search-shell/ui-search-shell.js +9 -0
  34. package/components/ui-select/ui-select.html +2 -2
  35. package/components/ui-sidebar/ui-sidebar.html +11 -11
  36. package/components/ui-stack/ui-stack.html +6 -6
  37. package/components/ui-switcher/ui-switcher.html +6 -6
  38. package/components/ui-tabs/ui-tabs.html +19 -5
  39. package/components/ui-textarea/ui-textarea.html +2 -2
  40. package/components/ui-toast-region/ui-toast-region.html +3 -3
  41. package/components/ui-tooltip/ui-tooltip.html +1 -1
  42. package/components/ui-top-bar/ui-top-bar.html +5 -5
  43. package/components/ui-tree/ui-tree.html +7 -0
  44. package/components/ui-tree-item/ui-tree-item.html +20 -7
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.js +2 -2
  47. package/package.json +2 -2
  48. package/styles/ui-affordance-scope.css +1 -1
  49. package/styles/ui-avatar-group.css +1 -1
  50. package/styles/ui-avatar.css +1 -1
  51. package/styles/ui-badge.css +1 -1
  52. package/styles/ui-button.css +25 -15
  53. package/styles/ui-callout.css +2 -2
  54. package/styles/ui-checkbox.css +2 -2
  55. package/styles/ui-cluster.css +7 -7
  56. package/styles/ui-combobox.css +24 -24
  57. package/styles/ui-container.css +5 -5
  58. package/styles/ui-context-menu.css +3 -3
  59. package/styles/ui-dialog.css +26 -9
  60. package/styles/ui-disclosure.css +23 -7
  61. package/styles/ui-editable.css +7 -7
  62. package/styles/ui-editor-insert-table-grid.css +21 -21
  63. package/styles/ui-editor-mention-menu.css +26 -26
  64. package/styles/ui-editor-slash-menu.css +40 -40
  65. package/styles/ui-editor-table-context-menu.css +21 -21
  66. package/styles/ui-editor-table-overlay.css +49 -49
  67. package/styles/ui-editor-table-toolbar.css +35 -35
  68. package/styles/ui-editor-toolbar.css +10 -10
  69. package/styles/ui-floating-action-button.css +17 -23
  70. package/styles/ui-form-field.css +24 -10
  71. package/styles/ui-grid.css +7 -7
  72. package/styles/ui-icon-button.css +74 -35
  73. package/styles/ui-icon.css +1 -1
  74. package/styles/ui-input.css +3 -3
  75. package/styles/ui-menu-item.css +6 -6
  76. package/styles/ui-menu.css +19 -7
  77. package/styles/ui-popover.css +4 -4
  78. package/styles/ui-radio-group.css +1 -1
  79. package/styles/ui-radio.css +1 -1
  80. package/styles/ui-reel.css +7 -7
  81. package/styles/ui-search-result-row.css +10 -10
  82. package/styles/ui-search-shell.css +14 -5
  83. package/styles/ui-select.css +3 -3
  84. package/styles/ui-separator.css +1 -1
  85. package/styles/ui-sidebar.css +12 -12
  86. package/styles/ui-stack.css +7 -7
  87. package/styles/ui-switch.css +1 -1
  88. package/styles/ui-switcher.css +7 -7
  89. package/styles/ui-tabs.css +21 -7
  90. package/styles/ui-textarea.css +3 -3
  91. package/styles/ui-toast-region.css +3 -3
  92. package/styles/ui-tooltip.css +2 -2
  93. package/styles/ui-top-bar.css +6 -6
  94. package/styles/ui-tree-item.css +30 -9
  95. package/styles/ui-tree.css +8 -2
  96. package/theme-dark.css +42 -103
  97. package/theme-high-contrast.css +18 -22
  98. package/theme-light.css +15 -41
  99. package/tokens.css +149 -201
  100. package/vanilla/UiAffordanceScope.d.ts +1 -1
  101. package/vanilla/UiAffordanceScope.js +2 -2
  102. package/vanilla/UiAvatar.d.ts +1 -1
  103. package/vanilla/UiAvatar.js +2 -2
  104. package/vanilla/UiAvatarGroup.d.ts +1 -1
  105. package/vanilla/UiAvatarGroup.js +2 -2
  106. package/vanilla/UiBadge.d.ts +1 -1
  107. package/vanilla/UiBadge.js +2 -2
  108. package/vanilla/UiButton.d.ts +3 -1
  109. package/vanilla/UiButton.js +3 -3
  110. package/vanilla/UiCallout.d.ts +1 -1
  111. package/vanilla/UiCallout.js +2 -2
  112. package/vanilla/UiCheckbox.d.ts +1 -1
  113. package/vanilla/UiCheckbox.js +2 -2
  114. package/vanilla/UiCluster.d.ts +1 -1
  115. package/vanilla/UiCluster.js +2 -2
  116. package/vanilla/UiCombobox.d.ts +1 -1
  117. package/vanilla/UiCombobox.js +3 -3
  118. package/vanilla/UiContainer.d.ts +1 -1
  119. package/vanilla/UiContainer.js +2 -2
  120. package/vanilla/UiContextMenu.d.ts +1 -1
  121. package/vanilla/UiContextMenu.js +2 -2
  122. package/vanilla/UiDialog.d.ts +1 -1
  123. package/vanilla/UiDialog.js +2 -2
  124. package/vanilla/UiDisclosure.d.ts +2 -1
  125. package/vanilla/UiDisclosure.js +3 -3
  126. package/vanilla/UiEditable.d.ts +1 -1
  127. package/vanilla/UiEditable.js +2 -2
  128. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  129. package/vanilla/UiEditorInsertTableGrid.js +3 -3
  130. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  131. package/vanilla/UiEditorMentionMenu.js +3 -3
  132. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenu.js +2 -2
  134. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  135. package/vanilla/UiEditorTableContextMenu.js +3 -3
  136. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  137. package/vanilla/UiEditorTableOverlay.js +3 -3
  138. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  139. package/vanilla/UiEditorTableToolbar.js +3 -3
  140. package/vanilla/UiEditorToolbar.d.ts +1 -1
  141. package/vanilla/UiEditorToolbar.js +2 -2
  142. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  143. package/vanilla/UiFloatingActionButton.js +2 -2
  144. package/vanilla/UiFormField.d.ts +1 -1
  145. package/vanilla/UiFormField.js +15 -6
  146. package/vanilla/UiGrid.d.ts +1 -1
  147. package/vanilla/UiGrid.js +2 -2
  148. package/vanilla/UiIcon.d.ts +1 -1
  149. package/vanilla/UiIcon.js +3 -3
  150. package/vanilla/UiIconButton.d.ts +1 -1
  151. package/vanilla/UiIconButton.js +2 -2
  152. package/vanilla/UiInput.d.ts +1 -1
  153. package/vanilla/UiInput.js +2 -2
  154. package/vanilla/UiMenu.d.ts +2 -1
  155. package/vanilla/UiMenu.js +3 -3
  156. package/vanilla/UiMenuItem.d.ts +1 -1
  157. package/vanilla/UiMenuItem.js +2 -2
  158. package/vanilla/UiPopover.d.ts +1 -1
  159. package/vanilla/UiPopover.js +2 -2
  160. package/vanilla/UiRadio.d.ts +1 -1
  161. package/vanilla/UiRadio.js +2 -2
  162. package/vanilla/UiRadioGroup.d.ts +1 -1
  163. package/vanilla/UiRadioGroup.js +2 -2
  164. package/vanilla/UiReel.d.ts +1 -1
  165. package/vanilla/UiReel.js +2 -2
  166. package/vanilla/UiSearchResultRow.d.ts +1 -1
  167. package/vanilla/UiSearchResultRow.js +2 -2
  168. package/vanilla/UiSearchShell.d.ts +1 -1
  169. package/vanilla/UiSearchShell.js +2 -2
  170. package/vanilla/UiSelect.d.ts +1 -1
  171. package/vanilla/UiSelect.js +2 -2
  172. package/vanilla/UiSeparator.d.ts +1 -1
  173. package/vanilla/UiSeparator.js +2 -2
  174. package/vanilla/UiSidebar.d.ts +1 -1
  175. package/vanilla/UiSidebar.js +2 -2
  176. package/vanilla/UiStack.d.ts +1 -1
  177. package/vanilla/UiStack.js +2 -2
  178. package/vanilla/UiSwitch.d.ts +1 -1
  179. package/vanilla/UiSwitch.js +2 -2
  180. package/vanilla/UiSwitcher.d.ts +1 -1
  181. package/vanilla/UiSwitcher.js +2 -2
  182. package/vanilla/UiTabs.d.ts +2 -1
  183. package/vanilla/UiTabs.js +3 -3
  184. package/vanilla/UiTextarea.d.ts +1 -1
  185. package/vanilla/UiTextarea.js +2 -2
  186. package/vanilla/UiToastRegion.d.ts +1 -1
  187. package/vanilla/UiToastRegion.js +3 -3
  188. package/vanilla/UiTooltip.d.ts +1 -1
  189. package/vanilla/UiTooltip.js +2 -2
  190. package/vanilla/UiTopBar.d.ts +1 -1
  191. package/vanilla/UiTopBar.js +1 -1
  192. package/vanilla/UiTree.d.ts +2 -1
  193. package/vanilla/UiTree.js +3 -3
  194. package/vanilla/UiTreeItem.d.ts +1 -1
  195. package/vanilla/UiTreeItem.js +2 -2
  196. package/vue/UiAffordanceScope.d.ts +2 -2
  197. package/vue/UiAffordanceScope.vue +92 -73
  198. package/vue/UiAvatar.d.ts +7 -7
  199. package/vue/UiAvatar.vue +145 -105
  200. package/vue/UiAvatarGroup.d.ts +4 -4
  201. package/vue/UiAvatarGroup.vue +134 -118
  202. package/vue/UiBadge.d.ts +4 -4
  203. package/vue/UiBadge.vue +113 -114
  204. package/vue/UiButton.d.ts +10 -6
  205. package/vue/UiButton.vue +295 -248
  206. package/vue/UiCallout.d.ts +2 -2
  207. package/vue/UiCallout.vue +154 -87
  208. package/vue/UiCheckbox.d.ts +14 -10
  209. package/vue/UiCheckbox.vue +228 -162
  210. package/vue/UiCluster.d.ts +2 -2
  211. package/vue/UiCluster.vue +53 -60
  212. package/vue/UiCombobox.d.ts +36 -32
  213. package/vue/UiCombobox.vue +1005 -416
  214. package/vue/UiContainer.d.ts +2 -2
  215. package/vue/UiContainer.vue +48 -51
  216. package/vue/UiContextMenu.d.ts +6 -4
  217. package/vue/UiContextMenu.vue +205 -116
  218. package/vue/UiDialog.d.ts +11 -9
  219. package/vue/UiDialog.vue +287 -212
  220. package/vue/UiDisclosure.d.ts +10 -6
  221. package/vue/UiDisclosure.vue +265 -159
  222. package/vue/UiEditable.d.ts +16 -12
  223. package/vue/UiEditable.vue +325 -205
  224. package/vue/UiEditorInsertTableGrid.d.ts +8 -8
  225. package/vue/UiEditorInsertTableGrid.vue +216 -157
  226. package/vue/UiEditorMentionMenu.d.ts +9 -9
  227. package/vue/UiEditorMentionMenu.vue +265 -222
  228. package/vue/UiEditorSlashMenu.d.ts +7 -7
  229. package/vue/UiEditorSlashMenu.vue +286 -240
  230. package/vue/UiEditorTableContextMenu.d.ts +5 -5
  231. package/vue/UiEditorTableContextMenu.vue +306 -193
  232. package/vue/UiEditorTableOverlay.d.ts +2 -2
  233. package/vue/UiEditorTableOverlay.vue +600 -369
  234. package/vue/UiEditorTableToolbar.d.ts +7 -7
  235. package/vue/UiEditorTableToolbar.vue +443 -268
  236. package/vue/UiEditorToolbar.d.ts +2 -2
  237. package/vue/UiEditorToolbar.vue +134 -121
  238. package/vue/UiFloatingActionButton.d.ts +6 -6
  239. package/vue/UiFloatingActionButton.vue +95 -99
  240. package/vue/UiFormField.d.ts +6 -6
  241. package/vue/UiFormField.vue +112 -80
  242. package/vue/UiGrid.d.ts +2 -2
  243. package/vue/UiGrid.vue +51 -57
  244. package/vue/UiIcon.d.ts +2 -2
  245. package/vue/UiIcon.vue +118 -89
  246. package/vue/UiIconButton.d.ts +11 -11
  247. package/vue/UiIconButton.vue +287 -217
  248. package/vue/UiInput.d.ts +9 -9
  249. package/vue/UiInput.vue +153 -127
  250. package/vue/UiMenu.d.ts +10 -6
  251. package/vue/UiMenu.vue +227 -143
  252. package/vue/UiMenuItem.d.ts +4 -4
  253. package/vue/UiMenuItem.vue +53 -46
  254. package/vue/UiPopover.d.ts +8 -6
  255. package/vue/UiPopover.vue +197 -137
  256. package/vue/UiRadio.d.ts +14 -10
  257. package/vue/UiRadio.vue +183 -117
  258. package/vue/UiRadioGroup.d.ts +14 -12
  259. package/vue/UiRadioGroup.vue +172 -111
  260. package/vue/UiReel.d.ts +3 -3
  261. package/vue/UiReel.vue +77 -77
  262. package/vue/UiSearchResultRow.d.ts +4 -4
  263. package/vue/UiSearchResultRow.vue +121 -115
  264. package/vue/UiSearchShell.d.ts +10 -8
  265. package/vue/UiSearchShell.vue +245 -176
  266. package/vue/UiSelect.d.ts +9 -9
  267. package/vue/UiSelect.vue +162 -134
  268. package/vue/UiSeparator.d.ts +2 -2
  269. package/vue/UiSeparator.vue +22 -27
  270. package/vue/UiSidebar.d.ts +20 -18
  271. package/vue/UiSidebar.vue +307 -224
  272. package/vue/UiStack.d.ts +3 -3
  273. package/vue/UiStack.vue +64 -70
  274. package/vue/UiSwitch.d.ts +12 -8
  275. package/vue/UiSwitch.vue +218 -150
  276. package/vue/UiSwitcher.d.ts +3 -3
  277. package/vue/UiSwitcher.vue +73 -75
  278. package/vue/UiTabs.d.ts +12 -8
  279. package/vue/UiTabs.vue +268 -210
  280. package/vue/UiTextarea.d.ts +11 -11
  281. package/vue/UiTextarea.vue +155 -128
  282. package/vue/UiToastRegion.d.ts +10 -8
  283. package/vue/UiToastRegion.vue +261 -198
  284. package/vue/UiTooltip.d.ts +14 -12
  285. package/vue/UiTooltip.vue +241 -177
  286. package/vue/UiTopBar.vue +51 -42
  287. package/vue/UiTree.d.ts +10 -6
  288. package/vue/UiTree.vue +180 -70
  289. package/vue/UiTreeItem.d.ts +24 -22
  290. package/vue/UiTreeItem.vue +464 -339
  291. package/vue/chunks/UiAffordanceScope.js +9 -16
  292. package/vue/chunks/UiAvatar.js +23 -29
  293. package/vue/chunks/UiAvatarGroup.js +16 -39
  294. package/vue/chunks/UiBadge.js +3 -12
  295. package/vue/chunks/UiButton.js +15 -18
  296. package/vue/chunks/UiCallout.js +8 -17
  297. package/vue/chunks/UiCheckbox.js +37 -40
  298. package/vue/chunks/UiCluster.js +3 -12
  299. package/vue/chunks/UiCombobox.js +224 -266
  300. package/vue/chunks/UiContainer.js +3 -12
  301. package/vue/chunks/UiContextMenu.js +39 -34
  302. package/vue/chunks/UiDialog.js +36 -39
  303. package/vue/chunks/UiDisclosure.js +44 -48
  304. package/vue/chunks/UiEditable.js +55 -57
  305. package/vue/chunks/UiEditorInsertTableGrid.js +55 -73
  306. package/vue/chunks/UiEditorMentionMenu.js +40 -81
  307. package/vue/chunks/UiEditorSlashMenu.js +28 -52
  308. package/vue/chunks/UiEditorTableContextMenu.js +32 -56
  309. package/vue/chunks/UiEditorTableOverlay.js +58 -82
  310. package/vue/chunks/UiEditorTableToolbar.js +61 -85
  311. package/vue/chunks/UiEditorToolbar.js +4 -13
  312. package/vue/chunks/UiFloatingActionButton.js +7 -21
  313. package/vue/chunks/UiFormField.js +15 -12
  314. package/vue/chunks/UiGrid.js +3 -12
  315. package/vue/chunks/UiIcon.js +20 -43
  316. package/vue/chunks/UiIconButton.js +16 -28
  317. package/vue/chunks/UiInput.js +20 -25
  318. package/vue/chunks/UiMenu.js +30 -33
  319. package/vue/chunks/UiMenuItem.js +4 -10
  320. package/vue/chunks/UiPopover.js +28 -29
  321. package/vue/chunks/UiRadio.js +36 -39
  322. package/vue/chunks/UiRadioGroup.js +30 -34
  323. package/vue/chunks/UiReel.js +6 -15
  324. package/vue/chunks/UiSearchResultRow.js +6 -19
  325. package/vue/chunks/UiSearchShell.js +25 -28
  326. package/vue/chunks/UiSelect.js +20 -23
  327. package/vue/chunks/UiSeparator.js +2 -8
  328. package/vue/chunks/UiSidebar.js +39 -44
  329. package/vue/chunks/UiStack.js +6 -15
  330. package/vue/chunks/UiSwitch.js +35 -38
  331. package/vue/chunks/UiSwitcher.js +6 -15
  332. package/vue/chunks/UiTabs.js +52 -85
  333. package/vue/chunks/UiTextarea.js +21 -26
  334. package/vue/chunks/UiToastRegion.js +38 -72
  335. package/vue/chunks/UiTooltip.js +34 -35
  336. package/vue/chunks/UiTopBar.js +1 -1
  337. package/vue/chunks/UiTree.js +27 -16
  338. package/vue/chunks/UiTreeItem.js +85 -102
  339. package/vue/components.css +4027 -3800
  340. package/vue/editor/LoomaEditor.d.ts +11 -0
  341. package/vue/editor/index.js +9 -0
@@ -1,17 +1,21 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { t as UiBadge_default } from "./UiBadge.js";
3
3
  import { t as UiTooltip_default } from "./UiTooltip.js";
4
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, watchEffect, withCtx } from "vue";
4
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, shallowRef, toDisplayString, useTemplateRef, watchEffect, withCtx } from "vue";
5
5
  import * as controllerModule from "@threadlabs/looma/components/ui-combobox/ui-combobox.js";
6
6
  //#region .build/vue/UiCombobox.vue?vue&type=script&setup=true&lang.ts
7
7
  var _hoisted_1 = ["data-ui-combobox-state"];
8
8
  var _hoisted_2 = ["for"];
9
- var _hoisted_3 = [
9
+ var _hoisted_3 = {
10
+ class: "field",
11
+ ref: "field"
12
+ };
13
+ var _hoisted_4 = [
10
14
  "data-index",
11
15
  "disabled",
12
16
  "aria-label"
13
17
  ];
14
- var _hoisted_4 = [
18
+ var _hoisted_5 = [
15
19
  "id",
16
20
  "aria-controls",
17
21
  "aria-expanded",
@@ -24,44 +28,50 @@ var _hoisted_4 = [
24
28
  "readonly",
25
29
  "required"
26
30
  ];
27
- var _hoisted_5 = {
31
+ var _hoisted_6 = {
28
32
  key: 1,
29
33
  type: "button",
30
34
  "data-combobox-action": "clear",
31
35
  "aria-label": "Clear"
32
36
  };
33
- var _hoisted_6 = ["id", "disabled"];
34
- var _hoisted_7 = ["aria-controls"];
35
- var _hoisted_8 = ["hidden"];
36
- var _hoisted_9 = [
37
+ var _hoisted_7 = ["id", "disabled"];
38
+ var _hoisted_8 = ["aria-controls"];
39
+ var _hoisted_9 = ["hidden"];
40
+ var _hoisted_10 = [
37
41
  "id",
38
42
  "aria-label",
39
43
  "aria-busy"
40
44
  ];
41
- var _hoisted_10 = ["role", "aria-label"];
42
- var _hoisted_11 = {
45
+ var _hoisted_11 = ["role", "aria-label"];
46
+ var _hoisted_12 = {
43
47
  key: 0,
44
48
  class: "group"
45
49
  };
46
- var _hoisted_12 = [
50
+ var _hoisted_13 = [
47
51
  "id",
48
52
  "aria-selected",
49
53
  "aria-disabled",
50
54
  "data-index"
51
55
  ];
52
- var _hoisted_13 = { class: "primary" };
53
- var _hoisted_14 = ["id", "data-index"];
54
- var _hoisted_15 = {
56
+ var _hoisted_14 = { class: "primary" };
57
+ var _hoisted_15 = ["id", "data-index"];
58
+ var _hoisted_16 = {
55
59
  key: 1,
56
60
  class: "message"
57
61
  };
58
- var _hoisted_16 = ["id", "hidden"];
59
- var _hoisted_17 = {
62
+ var _hoisted_17 = ["id", "hidden"];
63
+ var _hoisted_18 = {
60
64
  class: "sr-only",
61
65
  role: "status",
62
66
  "aria-live": "polite",
63
67
  "aria-atomic": "true"
64
68
  };
69
+ var _hoisted_19 = {
70
+ class: "authored-options",
71
+ hidden: "",
72
+ "aria-hidden": "true",
73
+ ref: "options"
74
+ };
65
75
  //#endregion
66
76
  //#region .build/vue/UiCombobox.vue
67
77
  var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -69,23 +79,23 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
69
79
  __name: "UiCombobox",
70
80
  props: {
71
81
  allowCreate: {
72
- type: [Boolean, null],
82
+ type: Boolean,
73
83
  default: false
74
84
  },
75
85
  allowFreeText: {
76
- type: [Boolean, null],
86
+ type: Boolean,
77
87
  default: false
78
88
  },
79
89
  clearable: {
80
- type: [Boolean, null],
90
+ type: Boolean,
81
91
  default: false
82
92
  },
83
93
  disabled: {
84
- type: [Boolean, null],
94
+ type: Boolean,
85
95
  default: false
86
96
  },
87
97
  disclosure: {
88
- type: [Boolean, null],
98
+ type: Boolean,
89
99
  default: false
90
100
  },
91
101
  help: { default: "" },
@@ -93,18 +103,18 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
93
103
  label: { default: "" },
94
104
  labelVisibility: { default: "visible" },
95
105
  multiple: {
96
- type: [Boolean, null],
106
+ type: Boolean,
97
107
  default: false
98
108
  },
99
109
  name: { default: "" },
100
110
  placeholder: { default: "" },
101
111
  query: {},
102
112
  readonly: {
103
- type: [Boolean, null],
113
+ type: Boolean,
104
114
  default: false
105
115
  },
106
116
  required: {
107
- type: [Boolean, null],
117
+ type: Boolean,
108
118
  default: false
109
119
  },
110
120
  size: { default: "md" },
@@ -112,6 +122,8 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
112
122
  value: {}
113
123
  },
114
124
  emits: [
125
+ "update:query",
126
+ "update:value",
115
127
  "query-change",
116
128
  "value-change",
117
129
  "free-entry",
@@ -123,134 +135,90 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
123
135
  "create-item"
124
136
  ],
125
137
  setup(__props, { expose: __expose, emit: __emit }) {
126
- const hn = {
127
- t: (v) => v === true || (typeof v === "string" ? v.length > 0 : typeof v === "number" ? v !== 0 && v === v : Array.isArray(v) ? v.length > 0 : v !== null && typeof v === "object" ? Object.keys(v).length > 0 : false),
128
- n: (v) => typeof v === "number" && v === v ? v : void 0,
129
- op: (op, a, b) => {
130
- const x = hn.n(a), y = hn.n(b);
131
- if (x === void 0 || y === void 0) return void 0;
132
- switch (op) {
133
- case "<": return x < y;
134
- case "<=": return x <= y;
135
- case ">": return x > y;
136
- case ">=": return x >= y;
137
- case "+": return x + y;
138
- case "-": return x - y;
139
- case "*": return x * y;
140
- case "/": return x / y;
141
- case "%": return x % y;
142
- }
143
- },
144
- text: (v) => v === void 0 || v === null ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? "" : String(v),
145
- attr: (v) => v === void 0 || v === null || v === false ? void 0 : v === true ? "" : Array.isArray(v) ? v.map(hn.text).join(" ") : typeof v === "object" ? void 0 : String(v),
146
- enumerated: (v) => typeof v === "boolean" ? String(v) : hn.attr(v),
147
- call: (fn, ...args) => {
148
- if (fn === "format") {
149
- let index = 1;
150
- return typeof args[0] === "string" ? args[0].replace(/%s/g, () => index < args.length ? hn.text(args[index++]) : "%s") : void 0;
151
- }
152
- const n = args.map(hn.n);
153
- if (n.some((value) => value === void 0)) return void 0;
154
- const v = n;
155
- switch (fn) {
156
- case "abs": return v.length === 1 ? Math.abs(v[0]) : void 0;
157
- case "round": return v.length === 1 ? Math.round(v[0]) : void 0;
158
- case "min": return v.length > 0 ? Math.min(...v) : void 0;
159
- case "max": return v.length > 0 ? Math.max(...v) : void 0;
160
- case "clamp": return v.length === 3 ? Math.min(Math.max(v[0], v[1]), v[2]) : void 0;
161
- }
162
- },
163
- shape: (items, where, sort, limit) => {
164
- let list = Array.isArray(items) ? items.slice() : [];
165
- if (where !== void 0) list = list.filter((item) => hn.t(where(item)));
166
- if (sort.length > 0) {
167
- const field = (item, path) => item !== null && typeof item === "object" && !Array.isArray(item) ? path.split(".").reduce((value, key) => value?.[key], item) : item;
168
- const compare = (a, b) => typeof a === "number" && typeof b === "number" ? a - b : hn.text(a).localeCompare(hn.text(b));
169
- list.sort((a, b) => {
170
- for (const key of sort) {
171
- const descending = key.startsWith("-");
172
- const order = compare(field(a, descending ? key.slice(1) : key), field(b, descending ? key.slice(1) : key));
173
- if (order !== 0) return descending ? -order : order;
174
- }
175
- return 0;
176
- });
177
- }
178
- return typeof limit === "number" ? list.slice(0, Math.max(0, Math.trunc(limit))) : list;
179
- }
180
- };
181
138
  const props = __props;
182
139
  const emit = __emit;
183
140
  const root = ref(null);
184
- const refs = {};
185
- const state_raw = ref("");
186
- const state_display = ref("");
187
- const state_selected = ref(null);
188
- const state_expanded = ref(false);
189
- const state_rows = ref([]);
190
- const state_active = ref(hn.op("-", 0, 1));
191
- const state_loading = ref(false);
192
- const state_helpOpen = ref(false);
193
- const state_lookupError = ref("");
194
- const state_validation = ref({
195
- "status": "pristine",
196
- "touched": false,
197
- "dirty": false,
198
- "issues": []
141
+ const fieldElement = useTemplateRef("field");
142
+ const inputElement = useTemplateRef("input");
143
+ const popupElement = useTemplateRef("popup");
144
+ const listboxElement = useTemplateRef("listbox");
145
+ const optionsElement = useTemplateRef("options");
146
+ const raw = ref("");
147
+ const display = ref("");
148
+ const selected = ref(null);
149
+ const expanded = ref(false);
150
+ const rows = ref([]);
151
+ const active = ref(-1);
152
+ const loading = ref(false);
153
+ const helpOpen = ref(false);
154
+ const lookupError = ref("");
155
+ const validation = ref({
156
+ status: "pristine",
157
+ touched: false,
158
+ dirty: false,
159
+ issues: []
199
160
  });
200
- const state_uid = ref("");
201
- const state_groups = ref([]);
202
- const state_creatable = ref(false);
203
- const state_createIndex = ref(0);
204
- const state_message = ref("");
205
- const state_statusText = ref("");
206
- const state_validationStatus = ref("pristine");
161
+ const uid = ref("");
162
+ const groups = ref([]);
163
+ const creatable = ref(false);
164
+ const createIndex = ref(0);
165
+ const message = ref("");
166
+ const statusText = ref("");
167
+ const validationStatus = ref("pristine");
168
+ /** The values the styles' :host-state() rules test. */
169
+ const hostState = computed(() => [
170
+ props.size && `size size=${props.size}`,
171
+ validationStatus.value && "validationStatus",
172
+ `validationStatus=${encodeURIComponent(validationStatus.value)}`,
173
+ props.multiple && "multiple"
174
+ ].filter(Boolean).join(" "));
207
175
  /** Dispatches a component event to Vue listeners and, for controllers and page code, on the root. */
208
- const dispatch = (name, detail) => {
176
+ function dispatch(name, detail) {
209
177
  const declared = {
210
178
  "query-change": {
211
- "bubbles": true,
212
- "composed": true,
213
- "cancelable": false
179
+ bubbles: true,
180
+ composed: true,
181
+ cancelable: false
214
182
  },
215
183
  "value-change": {
216
- "bubbles": true,
217
- "composed": true,
218
- "cancelable": false
184
+ bubbles: true,
185
+ composed: true,
186
+ cancelable: false
219
187
  },
220
188
  "free-entry": {
221
- "bubbles": true,
222
- "composed": true,
223
- "cancelable": false
189
+ bubbles: true,
190
+ composed: true,
191
+ cancelable: false
224
192
  },
225
193
  "create-entry": {
226
- "bubbles": true,
227
- "composed": true,
228
- "cancelable": false
194
+ bubbles: true,
195
+ composed: true,
196
+ cancelable: false
229
197
  },
230
198
  "validation-change": {
231
- "bubbles": true,
232
- "composed": true,
233
- "cancelable": false
199
+ bubbles: true,
200
+ composed: true,
201
+ cancelable: false
234
202
  },
235
203
  "options-change": {
236
- "bubbles": true,
237
- "composed": true,
238
- "cancelable": false
204
+ bubbles: true,
205
+ composed: true,
206
+ cancelable: false
239
207
  },
240
208
  "add-item": {
241
- "bubbles": true,
242
- "composed": true,
243
- "cancelable": false
209
+ bubbles: true,
210
+ composed: true,
211
+ cancelable: false
244
212
  },
245
213
  "remove-item": {
246
- "bubbles": true,
247
- "composed": true,
248
- "cancelable": false
214
+ bubbles: true,
215
+ composed: true,
216
+ cancelable: false
249
217
  },
250
218
  "create-item": {
251
- "bubbles": true,
252
- "composed": true,
253
- "cancelable": false
219
+ bubbles: true,
220
+ composed: true,
221
+ cancelable: false
254
222
  }
255
223
  };
256
224
  const checks = {
@@ -347,112 +315,104 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
347
315
  "create-item": (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["query"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => ["query", "trigger"].includes(key))
348
316
  };
349
317
  if (detail !== void 0 && checks[name] !== void 0 && !checks[name](detail)) throw new TypeError(`HR002: Event \`${name}\` detail does not satisfy its declared type.`);
350
- emit(name, detail);
318
+ const emitEvent = emit;
319
+ emitEvent(name, detail);
320
+ if (detail !== null && typeof detail === "object" && "query" in detail) emitEvent("update:query", detail["query"]);
321
+ if (detail !== null && typeof detail === "object" && "value" in detail) emitEvent("update:value", detail["value"]);
351
322
  return root.value?.dispatchEvent(new CustomEvent(name, {
352
323
  bubbles: true,
353
324
  composed: true,
354
325
  ...declared[name],
355
326
  detail
356
327
  })) ?? true;
357
- };
358
- /** The resolved values the styles' :host-state() rules test. */
359
- const hostState = computed(() => [
360
- "size",
361
- "validationStatus",
362
- "multiple"
363
- ].flatMap((name) => {
364
- const value = read(name);
365
- const tokens = hn.t(value) ? [name] : [];
366
- if (typeof value === "string" || typeof value === "number") tokens.push(`${name}=${encodeURIComponent(String(value))}`);
367
- return tokens;
368
- }).join(" "));
328
+ }
369
329
  function read(name) {
370
- if (name === "raw") return state_raw.value;
371
- if (name === "display") return state_display.value;
372
- if (name === "selected") return state_selected.value;
373
- if (name === "expanded") return state_expanded.value;
374
- if (name === "rows") return state_rows.value;
375
- if (name === "active") return state_active.value;
376
- if (name === "loading") return state_loading.value;
377
- if (name === "helpOpen") return state_helpOpen.value;
378
- if (name === "lookupError") return state_lookupError.value;
379
- if (name === "validation") return state_validation.value;
380
- if (name === "uid") return state_uid.value;
381
- if (name === "groups") return state_groups.value;
382
- if (name === "creatable") return state_creatable.value;
383
- if (name === "createIndex") return state_createIndex.value;
384
- if (name === "message") return state_message.value;
385
- if (name === "statusText") return state_statusText.value;
386
- if (name === "validationStatus") return state_validationStatus.value;
330
+ if (name === "raw") return raw.value;
331
+ if (name === "display") return display.value;
332
+ if (name === "selected") return selected.value;
333
+ if (name === "expanded") return expanded.value;
334
+ if (name === "rows") return rows.value;
335
+ if (name === "active") return active.value;
336
+ if (name === "loading") return loading.value;
337
+ if (name === "helpOpen") return helpOpen.value;
338
+ if (name === "lookupError") return lookupError.value;
339
+ if (name === "validation") return validation.value;
340
+ if (name === "uid") return uid.value;
341
+ if (name === "groups") return groups.value;
342
+ if (name === "creatable") return creatable.value;
343
+ if (name === "createIndex") return createIndex.value;
344
+ if (name === "message") return message.value;
345
+ if (name === "statusText") return statusText.value;
346
+ if (name === "validationStatus") return validationStatus.value;
387
347
  return props[name];
388
348
  }
389
349
  function write(name, value) {
390
350
  if (name === "raw") {
391
- state_raw.value = value;
351
+ raw.value = value;
392
352
  return true;
393
353
  }
394
354
  if (name === "display") {
395
- state_display.value = value;
355
+ display.value = value;
396
356
  return true;
397
357
  }
398
358
  if (name === "selected") {
399
- state_selected.value = value;
359
+ selected.value = value;
400
360
  return true;
401
361
  }
402
362
  if (name === "expanded") {
403
- state_expanded.value = value;
363
+ expanded.value = value;
404
364
  return true;
405
365
  }
406
366
  if (name === "rows") {
407
- state_rows.value = value;
367
+ rows.value = value;
408
368
  return true;
409
369
  }
410
370
  if (name === "active") {
411
- state_active.value = value;
371
+ active.value = value;
412
372
  return true;
413
373
  }
414
374
  if (name === "loading") {
415
- state_loading.value = value;
375
+ loading.value = value;
416
376
  return true;
417
377
  }
418
378
  if (name === "helpOpen") {
419
- state_helpOpen.value = value;
379
+ helpOpen.value = value;
420
380
  return true;
421
381
  }
422
382
  if (name === "lookupError") {
423
- state_lookupError.value = value;
383
+ lookupError.value = value;
424
384
  return true;
425
385
  }
426
386
  if (name === "validation") {
427
- state_validation.value = value;
387
+ validation.value = value;
428
388
  return true;
429
389
  }
430
390
  if (name === "uid") {
431
- state_uid.value = value;
391
+ uid.value = value;
432
392
  return true;
433
393
  }
434
394
  if (name === "groups") {
435
- state_groups.value = value;
395
+ groups.value = value;
436
396
  return true;
437
397
  }
438
398
  if (name === "creatable") {
439
- state_creatable.value = value;
399
+ creatable.value = value;
440
400
  return true;
441
401
  }
442
402
  if (name === "createIndex") {
443
- state_createIndex.value = value;
403
+ createIndex.value = value;
444
404
  return true;
445
405
  }
446
406
  if (name === "message") {
447
- state_message.value = value;
407
+ message.value = value;
448
408
  return true;
449
409
  }
450
410
  if (name === "statusText") {
451
- state_statusText.value = value;
411
+ statusText.value = value;
452
412
  return true;
453
413
  }
454
414
  if (name === "validationStatus") {
455
- state_validationStatus.value = value;
415
+ validationStatus.value = value;
456
416
  return true;
457
417
  }
458
418
  throw new TypeError(`Only declared state is writable; \`${name}\` is not.`);
@@ -466,7 +426,23 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
466
426
  get: (_target, name) => typeof name === "string" ? read(name) : void 0,
467
427
  set: (_target, name, value) => typeof name === "string" && write(name, value)
468
428
  }),
469
- refs,
429
+ refs: {
430
+ get field() {
431
+ return fieldElement.value;
432
+ },
433
+ get input() {
434
+ return inputElement.value;
435
+ },
436
+ get popup() {
437
+ return popupElement.value;
438
+ },
439
+ get listbox() {
440
+ return listboxElement.value;
441
+ },
442
+ get options() {
443
+ return optionsElement.value;
444
+ }
445
+ },
470
446
  elements: new Proxy({}, { get: (_target, name) => {
471
447
  if (typeof name !== "string" || root.value === null) return void 0;
472
448
  return (root.value instanceof HTMLFormElement ? root.value : root.value.querySelector("form"))?.elements.namedItem(name) ?? root.value.querySelector(`[name="${CSS.escape(name)}"]`) ?? void 0;
@@ -533,50 +509,43 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
533
509
  ref: root
534
510
  }), [
535
511
  createElementVNode("label", {
536
- for: hn.attr(hn.call("format", "%s-input", state_uid.value)),
537
- class: normalizeClass({ "sr-only": hn.t(props.labelVisibility === "sr-only") })
538
- }, [createTextVNode(toDisplayString(hn.text(props.label)), 1), hn.t(props.required) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" *")], 64)) : createCommentVNode("v-if", true)], 10, _hoisted_2),
539
- createElementVNode("div", {
540
- class: "field",
541
- ref: (element) => {
542
- refs["field"] = element;
543
- }
544
- }, [
512
+ for: `${uid.value}-input`,
513
+ class: normalizeClass({ "sr-only": __props.labelVisibility === "sr-only" })
514
+ }, [createTextVNode(toDisplayString(__props.label) + " ", 1), __props.required ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createTextVNode(" *")], 64)) : createCommentVNode("v-if", true)], 10, _hoisted_2),
515
+ createElementVNode("div", _hoisted_3, [
545
516
  renderSlot(_ctx.$slots, "start", {}, void 0, true),
546
- hn.t(props.multiple) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(hn.shape(props.items, void 0, [], void 0), (item, index) => {
517
+ __props.multiple ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(__props.items, (item, index) => {
547
518
  return openBlock(), createElementBlock("button", {
548
- key: item?.id,
519
+ key: item.id,
549
520
  class: "item",
550
521
  type: "button",
551
522
  tabindex: "-1",
552
- "data-index": hn.attr(index),
553
- disabled: hn.attr(hn.t(hn.t(props.disabled) || hn.t(props.readonly)) || hn.t(item?.disabled)),
554
- "aria-label": hn.enumerated(hn.call("format", "%s, press Delete or Backspace to remove", item?.label))
555
- }, [renderSlot(_ctx.$slots, hn.call("format", "item-%s", item?.id), {}, () => [createVNode(UiBadge_default, null, {
556
- default: withCtx(() => [createTextVNode(toDisplayString(hn.text(item?.label)), 1)]),
523
+ "data-index": index,
524
+ disabled: __props.disabled || __props.readonly || item.disabled,
525
+ "aria-label": `${item.label}, press Delete or Backspace to remove`
526
+ }, [renderSlot(_ctx.$slots, `item-${item.id}`, {}, () => [createVNode(UiBadge_default, null, {
527
+ default: withCtx(() => [createTextVNode(toDisplayString(item.label), 1)]),
557
528
  _: 2
558
- }, 1024)], true)], 8, _hoisted_3);
529
+ }, 1024)], true)], 8, _hoisted_4);
559
530
  }), 128)) : createCommentVNode("v-if", true),
560
531
  createElementVNode("input", {
561
532
  role: "combobox",
562
533
  "aria-autocomplete": "list",
563
534
  autocomplete: "off",
564
- id: hn.attr(hn.call("format", "%s-input", state_uid.value)),
565
- "aria-controls": hn.enumerated(hn.call("format", "%s-listbox", state_uid.value)),
566
- "aria-expanded": hn.enumerated(state_expanded.value),
567
- "aria-invalid": hn.enumerated(state_validationStatus.value === "error"),
568
- "aria-busy": hn.enumerated(state_validationStatus.value === "pending"),
569
- ".value": state_display.value,
570
- placeholder: hn.attr(props.placeholder),
571
- name: hn.attr(props.name),
572
- disabled: hn.attr(props.disabled),
573
- readonly: hn.attr(props.readonly),
574
- required: hn.attr(props.required),
575
- ref: (element) => {
576
- refs["input"] = element;
577
- }
578
- }, null, 40, _hoisted_4),
579
- hn.t(props.clearable) ? (openBlock(), createElementBlock("button", _hoisted_5, [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
535
+ id: `${uid.value}-input`,
536
+ "aria-controls": `${uid.value}-listbox`,
537
+ "aria-expanded": expanded.value,
538
+ "aria-invalid": validationStatus.value === "error",
539
+ "aria-busy": validationStatus.value === "pending",
540
+ ".value": display.value,
541
+ placeholder: __props.placeholder,
542
+ name: __props.name,
543
+ disabled: __props.disabled,
544
+ readonly: __props.readonly,
545
+ required: __props.required,
546
+ ref: "input"
547
+ }, null, 40, _hoisted_5),
548
+ __props.clearable ? (openBlock(), createElementBlock("button", _hoisted_6, [..._cache[0] || (_cache[0] = [createElementVNode("svg", {
580
549
  class: "affordance-icon",
581
550
  "aria-hidden": "true",
582
551
  viewBox: "0 0 24 24",
@@ -585,20 +554,20 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
585
554
  "stroke-width": "2",
586
555
  "stroke-linecap": "round"
587
556
  }, [createElementVNode("path", { d: "M7 7l10 10M17 7 7 17" })], -1)])])) : createCommentVNode("v-if", true),
588
- hn.t(props.help) ? (openBlock(), createElementBlock("button", {
557
+ __props.help ? (openBlock(), createElementBlock("button", {
589
558
  key: 2,
590
559
  type: "button",
591
560
  "aria-label": "Help",
592
- id: hn.attr(hn.call("format", "%s-help", state_uid.value)),
593
- disabled: hn.attr(props.disabled)
594
- }, [..._cache[1] || (_cache[1] = [createElementVNode("span", { "aria-hidden": "true" }, "?", -1)])], 8, _hoisted_6)) : createCommentVNode("v-if", true),
595
- hn.t(props.disclosure) ? (openBlock(), createElementBlock("button", {
561
+ id: `${uid.value}-help`,
562
+ disabled: __props.disabled
563
+ }, [..._cache[1] || (_cache[1] = [createElementVNode("span", { "aria-hidden": "true" }, "?", -1)])], 8, _hoisted_7)) : createCommentVNode("v-if", true),
564
+ __props.disclosure ? (openBlock(), createElementBlock("button", {
596
565
  key: 3,
597
566
  type: "button",
598
567
  "data-combobox-action": "disclosure",
599
568
  tabindex: "-1",
600
569
  "aria-label": "Show suggestions",
601
- "aria-controls": hn.enumerated(hn.call("format", "%s-listbox", state_uid.value))
570
+ "aria-controls": `${uid.value}-listbox`
602
571
  }, [..._cache[2] || (_cache[2] = [createElementVNode("svg", {
603
572
  class: "affordance-icon",
604
573
  "aria-hidden": "true",
@@ -608,77 +577,66 @@ var UiCombobox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
608
577
  "stroke-width": "2.25",
609
578
  "stroke-linecap": "round",
610
579
  "stroke-linejoin": "round"
611
- }, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1)])], 8, _hoisted_7)) : createCommentVNode("v-if", true)
580
+ }, [createElementVNode("path", { d: "m6 9 6 6 6-6" })], -1)])], 8, _hoisted_8)) : createCommentVNode("v-if", true)
612
581
  ], 512),
613
- hn.t(props.help) ? (openBlock(), createBlock(UiTooltip_default, {
582
+ __props.help ? (openBlock(), createBlock(UiTooltip_default, {
614
583
  key: 0,
615
- id: hn.call("format", "%s-help-text", state_uid.value),
616
- for: hn.call("format", "%s-help", state_uid.value)
584
+ id: `${uid.value}-help-text`,
585
+ for: `${uid.value}-help`
617
586
  }, {
618
- default: withCtx(() => [createTextVNode(toDisplayString(hn.text(props.help)), 1)]),
587
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.help), 1)]),
619
588
  _: 1
620
589
  }, 8, ["id", "for"])) : createCommentVNode("v-if", true),
621
590
  createElementVNode("div", {
622
591
  class: "popup",
623
- hidden: hn.attr(!hn.t(state_expanded.value)),
624
- ref: (element) => {
625
- refs["popup"] = element;
626
- }
592
+ hidden: !expanded.value,
593
+ ref: "popup"
627
594
  }, [createElementVNode("div", {
628
595
  role: "listbox",
629
- id: hn.attr(hn.call("format", "%s-listbox", state_uid.value)),
630
- "aria-label": hn.enumerated(hn.call("format", "%s suggestions", props.label)),
631
- "aria-busy": hn.enumerated(state_loading.value),
632
- ref: (element) => {
633
- refs["listbox"] = element;
634
- }
596
+ id: `${uid.value}-listbox`,
597
+ "aria-label": `${__props.label} suggestions`,
598
+ "aria-busy": loading.value,
599
+ ref: "listbox"
635
600
  }, [
636
- (openBlock(true), createElementBlock(Fragment, null, renderList(hn.shape(state_groups.value, void 0, [], void 0), (group, index) => {
601
+ (openBlock(true), createElementBlock(Fragment, null, renderList(groups.value, (group) => {
637
602
  return openBlock(), createElementBlock("div", {
638
- key: group?.name,
639
- role: hn.attr(group?.role),
640
- "aria-label": hn.enumerated(group?.label)
641
- }, [hn.t(group?.name) ? (openBlock(), createElementBlock("div", _hoisted_11, toDisplayString(hn.text(group?.name)), 1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(hn.shape(group?.rows, void 0, [], void 0), (row, index) => {
603
+ key: group.name,
604
+ role: group.role,
605
+ "aria-label": group.label ?? void 0
606
+ }, [group.name ? (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(group.name), 1)) : createCommentVNode("v-if", true), (openBlock(true), createElementBlock(Fragment, null, renderList(group.rows, (row) => {
642
607
  return openBlock(), createElementBlock("div", {
643
- key: row?.id,
644
- class: normalizeClass(["option", { "active": hn.t(row?.index === state_active.value) }]),
608
+ key: row.id,
609
+ class: normalizeClass(["option", { active: row.index === active.value }]),
645
610
  role: "option",
646
- id: hn.attr(hn.call("format", "%s-option-%s", state_uid.value, row?.index)),
647
- "aria-selected": hn.enumerated(row?.value === state_selected.value),
648
- "aria-disabled": hn.enumerated(row?.disabled),
649
- "data-index": hn.attr(row?.index)
650
- }, [renderSlot(_ctx.$slots, hn.call("format", "option-%s", row?.id), {}, () => [createElementVNode("span", _hoisted_13, toDisplayString(hn.text(row?.label)), 1)], true)], 10, _hoisted_12);
651
- }), 128))], 8, _hoisted_10);
611
+ id: `${uid.value}-option-${row.index}`,
612
+ "aria-selected": row.value === selected.value,
613
+ "aria-disabled": row.disabled,
614
+ "data-index": row.index
615
+ }, [renderSlot(_ctx.$slots, `option-${row.id}`, {}, () => [createElementVNode("span", _hoisted_14, toDisplayString(row.label), 1)], true)], 10, _hoisted_13);
616
+ }), 128))], 8, _hoisted_11);
652
617
  }), 128)),
653
- hn.t(state_creatable.value) ? (openBlock(), createElementBlock("div", {
618
+ creatable.value ? (openBlock(), createElementBlock("div", {
654
619
  key: 0,
655
- class: normalizeClass(["option", { "active": hn.t(state_createIndex.value === state_active.value) }]),
620
+ class: normalizeClass(["option", { active: createIndex.value === active.value }]),
656
621
  role: "option",
657
622
  "aria-selected": "false",
658
- id: hn.attr(hn.call("format", "%s-option-%s", state_uid.value, state_createIndex.value)),
659
- "data-index": hn.attr(state_createIndex.value)
660
- }, toDisplayString(hn.text(hn.call("format", "Create “%s”", state_raw.value))), 11, _hoisted_14)) : createCommentVNode("v-if", true),
661
- hn.t(state_message.value) ? (openBlock(), createElementBlock("div", _hoisted_15, toDisplayString(hn.text(state_message.value)), 1)) : createCommentVNode("v-if", true)
662
- ], 8, _hoisted_9), renderSlot(_ctx.$slots, "footer", {}, void 0, true)], 8, _hoisted_8),
623
+ id: `${uid.value}-option-${createIndex.value}`,
624
+ "data-index": createIndex.value
625
+ }, toDisplayString(`Create “${raw.value}”`), 11, _hoisted_15)) : createCommentVNode("v-if", true),
626
+ message.value ? (openBlock(), createElementBlock("div", _hoisted_16, toDisplayString(message.value), 1)) : createCommentVNode("v-if", true)
627
+ ], 8, _hoisted_10), renderSlot(_ctx.$slots, "footer", {}, void 0, true)], 8, _hoisted_9),
663
628
  createElementVNode("div", {
664
629
  class: "message",
665
- id: hn.attr(hn.call("format", "%s-validation", state_uid.value)),
666
- hidden: hn.attr(!hn.t((state_validation.value?.issues)?.length))
667
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(hn.shape(state_validation.value?.issues, void 0, [], void 0), (issue, index) => {
668
- return openBlock(), createElementBlock("div", { key: index }, toDisplayString(hn.text(issue?.message)), 1);
669
- }), 128))], 8, _hoisted_16),
670
- createElementVNode("div", _hoisted_17, toDisplayString(hn.text(state_statusText.value)), 1),
671
- createElementVNode("div", {
672
- class: "authored-options",
673
- hidden: "",
674
- "aria-hidden": "true",
675
- ref: (element) => {
676
- refs["options"] = element;
677
- }
678
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
630
+ id: `${uid.value}-validation`,
631
+ hidden: !validation.value.issues.length
632
+ }, [(openBlock(true), createElementBlock(Fragment, null, renderList(validation.value.issues, (issue, index) => {
633
+ return openBlock(), createElementBlock("div", { key: index }, toDisplayString(issue.message), 1);
634
+ }), 128))], 8, _hoisted_17),
635
+ createElementVNode("div", _hoisted_18, toDisplayString(statusText.value), 1),
636
+ createElementVNode("div", _hoisted_19, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 512)
679
637
  ], 16, _hoisted_1);
680
638
  };
681
639
  }
682
- }), [["__scopeId", "data-v-540c961c"]]);
640
+ }), [["__scopeId", "data-v-147b231f"]]);
683
641
  //#endregion
684
642
  export { UiCombobox_default as t };