@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
@@ -167,6 +167,10 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
167
167
  d: "M8 18h.01"
168
168
  }
169
169
  ],
170
+ check: [{
171
+ tag: "path",
172
+ d: "M20 6 9 17l-5-5"
173
+ }],
170
174
  "chevron-down": [{
171
175
  tag: "path",
172
176
  d: "m6 9 6 6 6-6"
@@ -188,6 +192,17 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
188
192
  tag: "path",
189
193
  d: "m9 12 2 2 4-4"
190
194
  }],
195
+ "circle-dot": [{
196
+ tag: "circle",
197
+ cx: "12",
198
+ cy: "12",
199
+ r: "10"
200
+ }, {
201
+ tag: "circle",
202
+ cx: "12",
203
+ cy: "12",
204
+ r: "1"
205
+ }],
191
206
  "circle-x": [
192
207
  {
193
208
  tag: "circle",
@@ -554,6 +569,13 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
554
569
  rx: "1"
555
570
  }
556
571
  ],
572
+ link: [{
573
+ tag: "path",
574
+ d: "M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"
575
+ }, {
576
+ tag: "path",
577
+ d: "M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"
578
+ }],
557
579
  list: [
558
580
  {
559
581
  tag: "path",
@@ -936,6 +958,15 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
936
958
  tag: "path",
937
959
  d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"
938
960
  }],
961
+ "user-round": [{
962
+ tag: "circle",
963
+ cx: "12",
964
+ cy: "8",
965
+ r: "5"
966
+ }, {
967
+ tag: "path",
968
+ d: "M20 21a8 8 0 0 0-16 0"
969
+ }],
939
970
  users: [
940
971
  {
941
972
  tag: "path",
@@ -955,7 +986,14 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
955
986
  cy: "7",
956
987
  r: "4"
957
988
  }
958
- ]
989
+ ],
990
+ x: [{
991
+ tag: "path",
992
+ d: "M18 6 6 18"
993
+ }, {
994
+ tag: "path",
995
+ d: "m6 6 12 12"
996
+ }]
959
997
  })[props.name]);
960
998
  function text(value) {
961
999
  if (Array.isArray(value)) return value.map(text).join(" ");
@@ -1004,6 +1042,6 @@ var UiIcon_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
1004
1042
  }), 128))]))], 16);
1005
1043
  };
1006
1044
  }
1007
- }), [["__scopeId", "data-v-fdb8162b"]]);
1045
+ }), [["__scopeId", "data-v-50d3f581"]]);
1008
1046
  //#endregion
1009
1047
  export { UiIcon_default as t };
@@ -1,13 +1,17 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
2
  import { n as useComponentHost, t as createDispatch } from "./host.js";
3
- import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
3
+ import { t as UiSpinner_default } from "./UiSpinner.js";
4
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
4
5
  import * as controllerModule from "@threadlabs/looma/components/ui-icon-button/ui-icon-button.js";
5
6
  //#region .build/vue/UiIconButton.vue?vue&type=script&setup=true&lang.ts
6
7
  var _hoisted_1 = [
7
8
  "disabled",
8
9
  "aria-label",
10
+ "aria-disabled",
11
+ "aria-busy",
9
12
  "data-ui-icon-button-state"
10
13
  ];
14
+ var _hoisted_2 = { class: "content" };
11
15
  //#endregion
12
16
  //#region .build/vue/UiIconButton.vue
13
17
  var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
@@ -23,6 +27,10 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
23
27
  default: false
24
28
  },
25
29
  label: {},
30
+ pending: {
31
+ type: Boolean,
32
+ default: false
33
+ },
26
34
  round: {
27
35
  type: Boolean,
28
36
  default: false
@@ -38,7 +46,8 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
38
46
  props.anticipatory && "anticipatory",
39
47
  props.variant && `variant variant=${props.variant}`,
40
48
  props.size && `size size=${props.size}`,
41
- props.round && "round"
49
+ props.round && "round",
50
+ props.pending && "pending"
42
51
  ].filter(Boolean).join(" "));
43
52
  const dispatch = createDispatch(root);
44
53
  useComponentHost(controllerModule.default, {
@@ -46,6 +55,14 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
46
55
  dispatch,
47
56
  props
48
57
  });
58
+ function text(value) {
59
+ if (Array.isArray(value)) return value.map(text).join(" ");
60
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
61
+ }
62
+ function attribute(value) {
63
+ if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
64
+ return value === true ? "" : text(value);
65
+ }
49
66
  return (_ctx, _cache) => {
50
67
  return openBlock(), createElementBlock("button", mergeProps({
51
68
  "data-component": "ui-icon-button",
@@ -53,12 +70,26 @@ var UiIconButton_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
53
70
  }, _ctx.$attrs, {
54
71
  disabled: __props.disabled,
55
72
  "aria-label": __props.label,
73
+ "aria-disabled": typeof {
74
+ true: "true",
75
+ false: null
76
+ }[`${__props.pending}`] === "boolean" ? String({
77
+ true: "true",
78
+ false: null
79
+ }[`${__props.pending}`]) : attribute({
80
+ true: "true",
81
+ false: null
82
+ }[`${__props.pending}`]),
83
+ "aria-busy": __props.pending,
56
84
  "data-ui-icon-button-state": hostState.value || void 0,
57
85
  ref_key: "root",
58
86
  ref: root
59
- }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
87
+ }), [__props.pending ? (openBlock(), createBlock(UiSpinner_default, {
88
+ key: 0,
89
+ size: "sm"
90
+ })) : createCommentVNode("v-if", true), createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "default")])], 16, _hoisted_1);
60
91
  };
61
92
  }
62
- }), [["__scopeId", "data-v-006fa1b2"]]);
93
+ }), [["__scopeId", "data-v-c62d95c3"]]);
63
94
  //#endregion
64
95
  export { UiIconButton_default as t };
@@ -66,6 +66,6 @@ var UiInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
66
66
  }), null, 16, _hoisted_1)), [[vModelDynamic, model.value]]);
67
67
  };
68
68
  }
69
- }), [["__scopeId", "data-v-4ba095d3"]]);
69
+ }), [["__scopeId", "data-v-35d265bd"]]);
70
70
  //#endregion
71
71
  export { UiInput_default as t };
@@ -41,6 +41,6 @@ var UiInputGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
41
41
  ], 16, _hoisted_1);
42
42
  };
43
43
  }
44
- }), [["__scopeId", "data-v-26a5b56d"]]);
44
+ }), [["__scopeId", "data-v-8627fd48"]]);
45
45
  //#endregion
46
46
  export { UiInputGroup_default as t };
@@ -0,0 +1,70 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { n as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot, vModelSelect, withDirectives } from "vue";
4
+ import * as controllerModule from "@threadlabs/looma/components/ui-listbox/ui-listbox.js";
5
+ //#region .build/vue/UiListbox.vue?vue&type=script&setup=true&lang.ts
6
+ var _hoisted_1 = [
7
+ "size",
8
+ "multiple",
9
+ "disabled",
10
+ "required",
11
+ "aria-invalid"
12
+ ];
13
+ //#endregion
14
+ //#region .build/vue/UiListbox.vue
15
+ var UiListbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
16
+ inheritAttrs: false,
17
+ __name: "UiListbox",
18
+ props: {
19
+ disabled: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ invalid: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ multiple: {
28
+ type: Boolean,
29
+ default: false
30
+ },
31
+ required: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ rows: { default: 5 },
36
+ value: {},
37
+ values: {},
38
+ modelValue: {}
39
+ },
40
+ emits: ["update:modelValue"],
41
+ setup(__props, { emit: __emit }) {
42
+ const props = __props;
43
+ const emit = __emit;
44
+ const model = computed({
45
+ get: () => props.modelValue ?? props.value ?? void 0,
46
+ set: (value) => emit("update:modelValue", value)
47
+ });
48
+ const root = ref(null);
49
+ const dispatch = createDispatch(root);
50
+ useComponentHost(controllerModule.default, {
51
+ root,
52
+ dispatch,
53
+ props
54
+ });
55
+ return (_ctx, _cache) => {
56
+ return withDirectives((openBlock(), createElementBlock("select", mergeProps({ "data-component": "ui-listbox" }, _ctx.$attrs, {
57
+ size: __props.rows,
58
+ multiple: __props.multiple,
59
+ disabled: __props.disabled,
60
+ required: __props.required,
61
+ "aria-invalid": __props.invalid,
62
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
63
+ ref_key: "root",
64
+ ref: root
65
+ }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1)), [[vModelSelect, model.value]]);
66
+ };
67
+ }
68
+ }), [["__scopeId", "data-v-44b33b05"]]);
69
+ //#endregion
70
+ export { UiListbox_default as t };
@@ -32,7 +32,11 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
32
32
  const internalOpen = ref(false);
33
33
  /** The values the styles' :host-state() rules test. */
34
34
  const hostState = computed(() => [props.density && `density density=${props.density}`, internalOpen.value && "internalOpen"].filter(Boolean).join(" "));
35
- 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));
35
+ 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) => [
36
+ "value",
37
+ "checked",
38
+ "trigger"
39
+ ].includes(key));
36
40
  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) => [
37
41
  "open",
38
42
  "reason",
@@ -69,6 +73,6 @@ var UiMenu_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
69
73
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
70
74
  };
71
75
  }
72
- }), [["__scopeId", "data-v-52848f2e"]]);
76
+ }), [["__scopeId", "data-v-2007b7d0"]]);
73
77
  //#endregion
74
78
  export { UiMenu_default as t };
@@ -0,0 +1,25 @@
1
+ import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
+ import { createCommentVNode, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString } from "vue";
3
+ //#region .build/vue/UiMenuGroup.vue?vue&type=script&setup=true&lang.ts
4
+ var _hoisted_1 = ["aria-label"];
5
+ var _hoisted_2 = {
6
+ key: 0,
7
+ class: "heading"
8
+ };
9
+ //#endregion
10
+ //#region .build/vue/UiMenuGroup.vue
11
+ var UiMenuGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
12
+ inheritAttrs: false,
13
+ __name: "UiMenuGroup",
14
+ props: { label: { default: "" } },
15
+ setup(__props) {
16
+ return (_ctx, _cache) => {
17
+ return openBlock(), createElementBlock("div", mergeProps({
18
+ "data-component": "ui-menu-group",
19
+ role: "group"
20
+ }, _ctx.$attrs, { "aria-label": __props.label }), [__props.label ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(__props.label), 1)) : createCommentVNode("v-if", true), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
21
+ };
22
+ }
23
+ }), [["__scopeId", "data-v-53e0d9bc"]]);
24
+ //#endregion
25
+ export { UiMenuGroup_default as t };
@@ -1,31 +1,152 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { createElementBlock, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
2
+ import { n as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { t as UiIcon_default } from "./UiIcon.js";
4
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
5
+ import * as controllerModule from "@threadlabs/looma/components/ui-menu-item/ui-menu-item.js";
3
6
  //#region .build/vue/UiMenuItem.vue?vue&type=script&setup=true&lang.ts
4
- var _hoisted_1 = ["aria-disabled", "data-value"];
7
+ var _hoisted_1 = [
8
+ "aria-disabled",
9
+ "data-value",
10
+ "href",
11
+ "data-ui-menu-item-state"
12
+ ];
13
+ var _hoisted_2 = { class: "label" };
14
+ var _hoisted_3 = {
15
+ class: "shortcut",
16
+ "aria-hidden": "true"
17
+ };
18
+ var _hoisted_4 = [
19
+ "role",
20
+ "aria-checked",
21
+ "aria-disabled",
22
+ "data-value",
23
+ "data-ui-menu-item-state"
24
+ ];
25
+ var _hoisted_5 = {
26
+ class: "indicator",
27
+ "aria-hidden": "true"
28
+ };
29
+ var _hoisted_6 = { class: "label" };
30
+ var _hoisted_7 = {
31
+ class: "shortcut",
32
+ "aria-hidden": "true"
33
+ };
5
34
  //#endregion
6
35
  //#region .build/vue/UiMenuItem.vue
7
36
  var UiMenuItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
8
37
  inheritAttrs: false,
9
38
  __name: "UiMenuItem",
10
39
  props: {
40
+ checked: {
41
+ type: Boolean,
42
+ default: false
43
+ },
11
44
  disabled: {
12
45
  type: Boolean,
13
46
  default: false
14
47
  },
48
+ href: { default: "" },
49
+ type: { default: "action" },
15
50
  value: { default: "" }
16
51
  },
17
- setup(__props) {
52
+ emits: [
53
+ "update:checked",
54
+ "update:type",
55
+ "update:value",
56
+ "change"
57
+ ],
58
+ setup(__props, { emit: __emit }) {
59
+ const props = __props;
60
+ const emit = __emit;
61
+ const root = ref(null);
62
+ const internalChecked = ref(false);
63
+ /** The values the styles' :host-state() rules test. */
64
+ const hostState = computed(() => [props.type && `type type=${props.type}`].filter(Boolean).join(" "));
65
+ const isChangeDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["checked"] === "boolean" && typeof detail["value"] === "string" && (detail["type"] === "checkbox" || detail["type"] === "radio") && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
66
+ "checked",
67
+ "value",
68
+ "type",
69
+ "trigger"
70
+ ].includes(key));
71
+ const dispatch = createDispatch(root, emit, {
72
+ checks: { change: isChangeDetail },
73
+ modeled: [
74
+ "checked",
75
+ "type",
76
+ "value"
77
+ ]
78
+ });
79
+ useComponentHost(controllerModule.default, {
80
+ root,
81
+ dispatch,
82
+ props,
83
+ state: { internalChecked }
84
+ });
85
+ function text(value) {
86
+ if (Array.isArray(value)) return value.map(text).join(" ");
87
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
88
+ }
89
+ function attribute(value) {
90
+ if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
91
+ return value === true ? "" : text(value);
92
+ }
18
93
  return (_ctx, _cache) => {
19
- return openBlock(), createElementBlock("div", mergeProps({
94
+ return __props.href && __props.type === "action" ? (openBlock(), createElementBlock("a", mergeProps({
95
+ key: 0,
20
96
  "data-component": "ui-menu-item",
21
97
  role: "menuitem",
22
98
  tabindex: "-1"
23
99
  }, _ctx.$attrs, {
24
100
  "aria-disabled": __props.disabled,
25
- "data-value": __props.value
26
- }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
101
+ "data-value": __props.value,
102
+ href: attribute({
103
+ true: null,
104
+ false: __props.href
105
+ }[`${__props.disabled}`]),
106
+ "data-ui-menu-item-state": hostState.value || void 0,
107
+ ref_key: "root",
108
+ ref: root
109
+ }), [createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "shortcut", {}, void 0, true)])], 16, _hoisted_1)) : (openBlock(), createElementBlock("div", mergeProps({
110
+ key: 1,
111
+ "data-component": "ui-menu-item",
112
+ tabindex: "-1"
113
+ }, _ctx.$attrs, {
114
+ role: attribute({
115
+ action: "menuitem",
116
+ checkbox: "menuitemcheckbox",
117
+ radio: "menuitemradio"
118
+ }[__props.type]),
119
+ "aria-checked": typeof {
120
+ action: null,
121
+ checkbox: internalChecked.value,
122
+ radio: internalChecked.value
123
+ }[__props.type] === "boolean" ? String({
124
+ action: null,
125
+ checkbox: internalChecked.value,
126
+ radio: internalChecked.value
127
+ }[__props.type]) : attribute({
128
+ action: null,
129
+ checkbox: internalChecked.value,
130
+ radio: internalChecked.value
131
+ }[__props.type]),
132
+ "aria-disabled": __props.disabled,
133
+ "data-value": __props.value,
134
+ "data-ui-menu-item-state": hostState.value || void 0,
135
+ ref_key: "root",
136
+ ref: root
137
+ }), [
138
+ createElementVNode("span", _hoisted_5, [__props.type === "checkbox" && internalChecked.value ? (openBlock(), createBlock(UiIcon_default, {
139
+ key: 0,
140
+ name: "check"
141
+ })) : createCommentVNode("v-if", true), __props.type === "radio" && internalChecked.value ? (openBlock(), createBlock(UiIcon_default, {
142
+ key: 1,
143
+ name: "circle-dot"
144
+ })) : createCommentVNode("v-if", true)]),
145
+ createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
146
+ createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "shortcut", {}, void 0, true)])
147
+ ], 16, _hoisted_4));
27
148
  };
28
149
  }
29
- }), [["__scopeId", "data-v-01e62ef9"]]);
150
+ }), [["__scopeId", "data-v-bbdeb8c5"]]);
30
151
  //#endregion
31
152
  export { UiMenuItem_default as t };
@@ -56,6 +56,6 @@ var UiPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
56
56
  }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
57
57
  };
58
58
  }
59
- }), [["__scopeId", "data-v-a66f6ec4"]]);
59
+ }), [["__scopeId", "data-v-bc4517c7"]]);
60
60
  //#endregion
61
61
  export { UiPopover_default as t };
@@ -5,6 +5,7 @@ import * as controllerModule from "@threadlabs/looma/components/ui-radio-group/u
5
5
  //#region .build/vue/UiRadioGroup.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = [
7
7
  "aria-required",
8
+ "aria-invalid",
8
9
  "disabled",
9
10
  "data-ui-radio-group-state"
10
11
  ];
@@ -18,6 +19,10 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
18
19
  type: Boolean,
19
20
  default: false
20
21
  },
22
+ invalid: {
23
+ type: Boolean,
24
+ default: false
25
+ },
21
26
  label: { default: "Options" },
22
27
  name: { default: "" },
23
28
  orientation: { default: "horizontal" },
@@ -38,7 +43,7 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
38
43
  const root = ref(null);
39
44
  const internalValue = ref("");
40
45
  /** The values the styles' :host-state() rules test. */
41
- const hostState = computed(() => [props.orientation && `orientation orientation=${props.orientation}`].filter(Boolean).join(" "));
46
+ const hostState = computed(() => [props.invalid && "invalid", props.orientation && `orientation orientation=${props.orientation}`].filter(Boolean).join(" "));
42
47
  const isSelectDetail = (detail) => detail !== null && typeof detail === "object" && !Array.isArray(detail) && typeof detail["value"] === "string" && typeof detail["previousValue"] === "string" && (detail["trigger"] === "keyboard" || detail["trigger"] === "pointer" || detail["trigger"] === "programmatic") && Object.keys(detail).every((key) => [
43
48
  "value",
44
49
  "previousValue",
@@ -68,6 +73,7 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
68
73
  role: "radiogroup"
69
74
  }, _ctx.$attrs, {
70
75
  "aria-required": __props.required,
76
+ "aria-invalid": __props.invalid,
71
77
  disabled: __props.disabled,
72
78
  "data-ui-radio-group-state": hostState.value || void 0,
73
79
  ref_key: "root",
@@ -75,6 +81,6 @@ var UiRadioGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @_
75
81
  }), [createElementVNode("legend", null, toDisplayString(__props.label), 1), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
76
82
  };
77
83
  }
78
- }), [["__scopeId", "data-v-96877df0"]]);
84
+ }), [["__scopeId", "data-v-3a85bfdd"]]);
79
85
  //#endregion
80
86
  export { UiRadioGroup_default as t };
@@ -67,6 +67,6 @@ var UiSearchShell_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
67
67
  ])], 8, _hoisted_1)], 16);
68
68
  };
69
69
  }
70
- }), [["__scopeId", "data-v-40145d41"]]);
70
+ }), [["__scopeId", "data-v-20a7b8e3"]]);
71
71
  //#endregion
72
72
  export { UiSearchShell_default as t };
@@ -60,6 +60,6 @@ var UiSelect_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
60
60
  }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1)), [[vModelSelect, model.value]]);
61
61
  };
62
62
  }
63
- }), [["__scopeId", "data-v-c81ec3d9"]]);
63
+ }), [["__scopeId", "data-v-981584d4"]]);
64
64
  //#endregion
65
65
  export { UiSelect_default as t };
@@ -90,6 +90,6 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
90
90
  }, 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);
91
91
  };
92
92
  }
93
- }), [["__scopeId", "data-v-87fc218c"]]);
93
+ }), [["__scopeId", "data-v-66d4f1f1"]]);
94
94
  //#endregion
95
95
  export { UiSwitch_default as t };
@@ -1,5 +1,7 @@
1
1
  import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
2
- import { computed, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
2
+ import { n as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { computed, createElementBlock, defineComponent, mergeProps, openBlock, ref, renderSlot } from "vue";
4
+ import * as controllerModule from "@threadlabs/looma/components/ui-switcher/ui-switcher.js";
3
5
  //#region .build/vue/UiSwitcher.vue?vue&type=script&setup=true&lang.ts
4
6
  var _hoisted_1 = ["data-ui-switcher-state"];
5
7
  //#endregion
@@ -10,20 +12,35 @@ var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
10
12
  props: {
11
13
  align: {},
12
14
  gap: {},
15
+ limit: {},
13
16
  threshold: {}
14
17
  },
15
18
  setup(__props) {
16
19
  const props = __props;
20
+ const root = ref(null);
21
+ const overLimit = ref(false);
17
22
  /** The values the styles' :host-state() rules test. */
18
23
  const hostState = computed(() => [
24
+ overLimit.value && "overLimit",
19
25
  props.gap && `gap gap=${props.gap}`,
20
26
  props.threshold && `threshold threshold=${props.threshold}`,
21
27
  props.align && `align align=${props.align}`
22
28
  ].filter(Boolean).join(" "));
29
+ const dispatch = createDispatch(root);
30
+ useComponentHost(controllerModule.default, {
31
+ root,
32
+ dispatch,
33
+ props,
34
+ state: { overLimit }
35
+ });
23
36
  return (_ctx, _cache) => {
24
- return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, { "data-ui-switcher-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
37
+ return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, {
38
+ "data-ui-switcher-state": hostState.value || void 0,
39
+ ref_key: "root",
40
+ ref: root
41
+ }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
25
42
  };
26
43
  }
27
- }), [["__scopeId", "data-v-8dc0b2a8"]]);
44
+ }), [["__scopeId", "data-v-be049fb8"]]);
28
45
  //#endregion
29
46
  export { UiSwitcher_default as t };
@@ -21,6 +21,7 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
21
21
  inheritAttrs: false,
22
22
  __name: "UiTabs",
23
23
  props: {
24
+ activation: { default: "auto" },
24
25
  density: { default: "comfortable" },
25
26
  label: { default: "Tabs" },
26
27
  orientation: { default: "horizontal" },
@@ -78,7 +79,7 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
78
79
  "aria-label": __props.label,
79
80
  "aria-orientation": __props.orientation,
80
81
  ref: "list"
81
- }, [(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => {
82
+ }, [renderSlot(_ctx.$slots, "tab", {}, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => {
82
83
  return openBlock(), createElementBlock("button", {
83
84
  key: tab.id,
84
85
  type: "button",
@@ -88,9 +89,9 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
88
89
  "aria-controls": tab.id,
89
90
  "aria-selected": tab.id === internalValue.value
90
91
  }, toDisplayString(tab.label), 9, _hoisted_3);
91
- }), 128))], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
92
+ }), 128))])], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
92
93
  };
93
94
  }
94
- }), [["__scopeId", "data-v-5babb4a8"]]);
95
+ }), [["__scopeId", "data-v-d1626838"]]);
95
96
  //#endregion
96
97
  export { UiTabs_default as t };
@@ -17,6 +17,10 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
17
17
  inheritAttrs: false,
18
18
  __name: "UiTextarea",
19
19
  props: {
20
+ autosize: {
21
+ type: Boolean,
22
+ default: false
23
+ },
20
24
  disabled: {
21
25
  type: Boolean,
22
26
  default: false
@@ -48,7 +52,7 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
48
52
  });
49
53
  const root = ref(null);
50
54
  /** The values the styles' :host-state() rules test. */
51
- const hostState = computed(() => [props.size && `size size=${props.size}`].filter(Boolean).join(" "));
55
+ const hostState = computed(() => [props.size && `size size=${props.size}`, props.autosize && "autosize"].filter(Boolean).join(" "));
52
56
  const dispatch = createDispatch(root);
53
57
  useComponentHost(controllerModule.default, {
54
58
  root,
@@ -62,6 +66,7 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
62
66
  required: __props.required,
63
67
  "aria-invalid": __props.invalid,
64
68
  rows: __props.rows,
69
+ style: { "--_rows": __props.rows },
65
70
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => model.value = $event),
66
71
  "data-ui-textarea-state": hostState.value || void 0,
67
72
  ref_key: "root",
@@ -69,6 +74,6 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
69
74
  }), null, 16, _hoisted_1)), [[vModelText, model.value]]);
70
75
  };
71
76
  }
72
- }), [["__scopeId", "data-v-00f7b2fd"]]);
77
+ }), [["__scopeId", "data-v-f371e58f"]]);
73
78
  //#endregion
74
79
  export { UiTextarea_default as t };