@threadlabs/looma 0.19.0 → 0.20.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 (508) hide show
  1. package/components/shared/trigger.js +9 -4
  2. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  3. package/components/ui-avatar/ui-avatar.html +2 -2
  4. package/components/ui-avatar-group/ui-avatar-group.html +1 -1
  5. package/components/ui-avatar-group/ui-avatar-group.js +1 -1
  6. package/components/ui-badge/ui-badge.html +3 -3
  7. package/components/ui-button/ui-button.html +7 -6
  8. package/components/ui-callout/ui-callout.html +1 -1
  9. package/components/ui-card/ui-card.html +5 -4
  10. package/components/ui-checkbox/ui-checkbox.html +6 -2
  11. package/components/ui-cluster/ui-cluster.html +4 -4
  12. package/components/ui-combobox/ui-combobox.html +257 -34
  13. package/components/ui-combobox/ui-combobox.js +21 -20
  14. package/components/ui-container/ui-container.html +2 -2
  15. package/components/ui-context-menu/ui-context-menu.html +17 -5
  16. package/components/ui-cover/ui-cover.html +1 -1
  17. package/components/ui-description-list/ui-description-list.html +3 -3
  18. package/components/ui-dialog/ui-dialog.html +14 -6
  19. package/components/ui-disclosure/ui-disclosure.html +14 -5
  20. package/components/ui-editable/ui-editable.html +15 -4
  21. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +1 -1
  22. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +1 -1
  23. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +26 -6
  24. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +90 -12
  25. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -5
  26. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +33 -7
  27. package/components/ui-grid/ui-grid.html +2 -2
  28. package/components/ui-icon-button/ui-icon-button.html +2 -2
  29. package/components/ui-input/ui-input.html +28 -6
  30. package/components/ui-list/ui-list.html +5 -4
  31. package/components/ui-list-item/ui-list-item.html +1 -1
  32. package/components/ui-listbox/ui-listbox.html +7 -1
  33. package/components/ui-menu/ui-menu.html +18 -5
  34. package/components/ui-menu-item/ui-menu-item.html +7 -2
  35. package/components/ui-meter/ui-meter.html +2 -2
  36. package/components/ui-nav-item/ui-nav-item.html +5 -4
  37. package/components/ui-page-header/ui-page-header.html +1 -1
  38. package/components/ui-popover/ui-popover.html +14 -5
  39. package/components/ui-radio/ui-radio.html +6 -2
  40. package/components/ui-radio-group/ui-radio-group.html +11 -3
  41. package/components/ui-reel/ui-reel.html +3 -3
  42. package/components/ui-scroll-area/ui-scroll-area.html +1 -1
  43. package/components/ui-search-shell/ui-search-shell.html +6 -2
  44. package/components/ui-section/ui-section.html +2 -2
  45. package/components/ui-select/ui-select.html +1 -1
  46. package/components/ui-separator/ui-separator.html +1 -1
  47. package/components/ui-sidebar/ui-sidebar.html +11 -4
  48. package/components/ui-spinner/ui-spinner.html +1 -1
  49. package/components/ui-stack/ui-stack.html +3 -3
  50. package/components/ui-status-message/ui-status-message.html +2 -2
  51. package/components/ui-switch/ui-switch.html +6 -2
  52. package/components/ui-switcher/ui-switcher.html +3 -3
  53. package/components/ui-table/ui-table.html +1 -1
  54. package/components/ui-tabs/ui-tabs.html +9 -4
  55. package/components/ui-text/ui-text.html +6 -6
  56. package/components/ui-textarea/ui-textarea.html +1 -1
  57. package/components/ui-toast/ui-toast.html +6 -2
  58. package/components/ui-toast-region/ui-toast-region.html +16 -4
  59. package/components/ui-tooltip/ui-tooltip.html +15 -6
  60. package/components/ui-tree/ui-tree.html +30 -7
  61. package/components/ui-tree-item/ui-tree-item.html +10 -6
  62. package/components/ui-tree-item/ui-tree-item.js +20 -3
  63. package/dist/index.js +1 -1
  64. package/editor/table-overlay.d.ts +1 -1
  65. package/package.json +3 -3
  66. package/styles/ui-action-bar.css +1 -1
  67. package/styles/ui-affordance-scope.css +1 -1
  68. package/styles/ui-avatar-group.css +1 -1
  69. package/styles/ui-avatar.css +1 -1
  70. package/styles/ui-badge.css +1 -1
  71. package/styles/ui-breadcrumb-item.css +1 -1
  72. package/styles/ui-breadcrumbs.css +1 -1
  73. package/styles/ui-button.css +1 -1
  74. package/styles/ui-callout.css +1 -1
  75. package/styles/ui-card.css +1 -1
  76. package/styles/ui-checkbox.css +1 -1
  77. package/styles/ui-cluster.css +1 -1
  78. package/styles/ui-combobox.css +1 -1
  79. package/styles/ui-container.css +1 -1
  80. package/styles/ui-context-menu.css +1 -1
  81. package/styles/ui-cover.css +1 -1
  82. package/styles/ui-description-item.css +1 -1
  83. package/styles/ui-description-list.css +1 -1
  84. package/styles/ui-dialog.css +1 -1
  85. package/styles/ui-disclosure.css +1 -1
  86. package/styles/ui-editable.css +1 -1
  87. package/styles/ui-editor-insert-table-grid.css +1 -1
  88. package/styles/ui-editor-mention-menu-item.css +1 -1
  89. package/styles/ui-editor-mention-menu.css +1 -1
  90. package/styles/ui-editor-slash-menu-group.css +1 -1
  91. package/styles/ui-editor-slash-menu-item.css +1 -1
  92. package/styles/ui-editor-slash-menu.css +1 -1
  93. package/styles/ui-editor-table-context-menu.css +1 -1
  94. package/styles/ui-editor-table-overlay.css +1 -1
  95. package/styles/ui-editor-table-toolbar.css +1 -1
  96. package/styles/ui-editor-toolbar.css +1 -1
  97. package/styles/ui-floating-action-button.css +1 -1
  98. package/styles/ui-form-field.css +1 -1
  99. package/styles/ui-grid.css +1 -1
  100. package/styles/ui-icon-button.css +1 -1
  101. package/styles/ui-icon.css +1 -1
  102. package/styles/ui-input-group.css +1 -1
  103. package/styles/ui-input.css +1 -1
  104. package/styles/ui-list-item.css +1 -1
  105. package/styles/ui-list.css +1 -1
  106. package/styles/ui-listbox.css +1 -1
  107. package/styles/ui-menu-group.css +1 -1
  108. package/styles/ui-menu-item.css +1 -1
  109. package/styles/ui-menu.css +1 -1
  110. package/styles/ui-meter.css +1 -1
  111. package/styles/ui-nav-item.css +1 -1
  112. package/styles/ui-page-header.css +1 -1
  113. package/styles/ui-popover.css +1 -1
  114. package/styles/ui-radio-group.css +1 -1
  115. package/styles/ui-radio.css +1 -1
  116. package/styles/ui-reel.css +1 -1
  117. package/styles/ui-scroll-area.css +1 -1
  118. package/styles/ui-search-result-row.css +1 -1
  119. package/styles/ui-search-shell.css +1 -1
  120. package/styles/ui-section.css +1 -1
  121. package/styles/ui-select.css +1 -1
  122. package/styles/ui-separator.css +1 -1
  123. package/styles/ui-sidebar.css +1 -1
  124. package/styles/ui-spinner.css +1 -1
  125. package/styles/ui-stack.css +1 -1
  126. package/styles/ui-status-message.css +1 -1
  127. package/styles/ui-switch.css +1 -1
  128. package/styles/ui-switcher.css +1 -1
  129. package/styles/ui-table.css +1 -1
  130. package/styles/ui-tabs.css +1 -1
  131. package/styles/ui-text.css +1 -1
  132. package/styles/ui-textarea.css +1 -1
  133. package/styles/ui-toast-region.css +1 -1
  134. package/styles/ui-toast.css +1 -1
  135. package/styles/ui-tooltip.css +1 -1
  136. package/styles/ui-top-bar.css +1 -1
  137. package/styles/ui-tree-item.css +6 -6
  138. package/styles/ui-tree.css +1 -1
  139. package/vanilla/UiActionBar.d.ts +1 -1
  140. package/vanilla/UiActionBar.js +5 -1
  141. package/vanilla/UiAffordanceScope.d.ts +1 -1
  142. package/vanilla/UiAffordanceScope.js +3 -2
  143. package/vanilla/UiAvatar.d.ts +1 -1
  144. package/vanilla/UiAvatar.js +4 -3
  145. package/vanilla/UiAvatarGroup.d.ts +1 -1
  146. package/vanilla/UiAvatarGroup.js +3 -2
  147. package/vanilla/UiBadge.d.ts +1 -1
  148. package/vanilla/UiBadge.js +2 -1
  149. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  150. package/vanilla/UiBreadcrumbItem.js +2 -1
  151. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  152. package/vanilla/UiBreadcrumbs.js +4 -7
  153. package/vanilla/UiButton.d.ts +1 -1
  154. package/vanilla/UiButton.js +6 -4
  155. package/vanilla/UiCallout.d.ts +1 -1
  156. package/vanilla/UiCallout.js +3 -2
  157. package/vanilla/UiCard.d.ts +1 -1
  158. package/vanilla/UiCard.js +6 -2
  159. package/vanilla/UiCheckbox.d.ts +1 -1
  160. package/vanilla/UiCheckbox.js +4 -2
  161. package/vanilla/UiCluster.d.ts +1 -1
  162. package/vanilla/UiCluster.js +2 -1
  163. package/vanilla/UiCombobox.d.ts +3 -2
  164. package/vanilla/UiCombobox.js +8 -2
  165. package/vanilla/UiContainer.d.ts +1 -1
  166. package/vanilla/UiContainer.js +2 -1
  167. package/vanilla/UiContextMenu.d.ts +1 -1
  168. package/vanilla/UiContextMenu.js +3 -2
  169. package/vanilla/UiCover.d.ts +1 -1
  170. package/vanilla/UiCover.js +4 -5
  171. package/vanilla/UiDescriptionItem.d.ts +1 -1
  172. package/vanilla/UiDescriptionItem.js +4 -7
  173. package/vanilla/UiDescriptionList.d.ts +1 -1
  174. package/vanilla/UiDescriptionList.js +2 -1
  175. package/vanilla/UiDialog.d.ts +1 -1
  176. package/vanilla/UiDialog.js +4 -2
  177. package/vanilla/UiDisclosure.d.ts +1 -1
  178. package/vanilla/UiDisclosure.js +4 -2
  179. package/vanilla/UiEditable.d.ts +1 -1
  180. package/vanilla/UiEditable.js +2 -2
  181. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  182. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  183. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  184. package/vanilla/UiEditorMentionMenu.js +5 -2
  185. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  186. package/vanilla/UiEditorMentionMenuItem.js +3 -1
  187. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  188. package/vanilla/UiEditorSlashMenu.js +6 -2
  189. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  190. package/vanilla/UiEditorSlashMenuGroup.js +4 -7
  191. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  192. package/vanilla/UiEditorSlashMenuItem.js +2 -1
  193. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  194. package/vanilla/UiEditorTableContextMenu.js +2 -2
  195. package/vanilla/UiEditorTableOverlay.d.ts +12 -2
  196. package/vanilla/UiEditorTableOverlay.js +2 -2
  197. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  198. package/vanilla/UiEditorTableToolbar.js +2 -2
  199. package/vanilla/UiEditorToolbar.d.ts +1 -1
  200. package/vanilla/UiEditorToolbar.js +2 -1
  201. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  202. package/vanilla/UiFloatingActionButton.js +2 -1
  203. package/vanilla/UiFormField.d.ts +1 -1
  204. package/vanilla/UiFormField.js +6 -1
  205. package/vanilla/UiGrid.d.ts +1 -1
  206. package/vanilla/UiGrid.js +4 -3
  207. package/vanilla/UiIcon.d.ts +1 -1
  208. package/vanilla/UiIcon.js +1 -1
  209. package/vanilla/UiIconButton.d.ts +1 -1
  210. package/vanilla/UiIconButton.js +4 -3
  211. package/vanilla/UiInput.d.ts +5 -4
  212. package/vanilla/UiInput.js +16 -13
  213. package/vanilla/UiInputGroup.d.ts +1 -1
  214. package/vanilla/UiInputGroup.js +5 -1
  215. package/vanilla/UiList.d.ts +1 -1
  216. package/vanilla/UiList.js +4 -2
  217. package/vanilla/UiListItem.d.ts +1 -1
  218. package/vanilla/UiListItem.js +5 -1
  219. package/vanilla/UiListbox.d.ts +1 -1
  220. package/vanilla/UiListbox.js +3 -2
  221. package/vanilla/UiMenu.d.ts +1 -1
  222. package/vanilla/UiMenu.js +3 -2
  223. package/vanilla/UiMenuGroup.d.ts +1 -1
  224. package/vanilla/UiMenuGroup.js +2 -1
  225. package/vanilla/UiMenuItem.d.ts +1 -1
  226. package/vanilla/UiMenuItem.js +6 -2
  227. package/vanilla/UiMeter.d.ts +1 -1
  228. package/vanilla/UiMeter.js +2 -2
  229. package/vanilla/UiNavItem.d.ts +2 -2
  230. package/vanilla/UiNavItem.js +11 -5
  231. package/vanilla/UiPageHeader.d.ts +1 -1
  232. package/vanilla/UiPageHeader.js +8 -5
  233. package/vanilla/UiPopover.d.ts +1 -1
  234. package/vanilla/UiPopover.js +3 -2
  235. package/vanilla/UiRadio.d.ts +1 -1
  236. package/vanilla/UiRadio.js +4 -2
  237. package/vanilla/UiRadioGroup.d.ts +1 -1
  238. package/vanilla/UiRadioGroup.js +3 -2
  239. package/vanilla/UiReel.d.ts +1 -1
  240. package/vanilla/UiReel.js +2 -1
  241. package/vanilla/UiScrollArea.d.ts +1 -1
  242. package/vanilla/UiScrollArea.js +3 -2
  243. package/vanilla/UiSearchResultRow.d.ts +1 -1
  244. package/vanilla/UiSearchResultRow.js +6 -1
  245. package/vanilla/UiSearchShell.d.ts +1 -1
  246. package/vanilla/UiSearchShell.js +6 -2
  247. package/vanilla/UiSection.d.ts +1 -1
  248. package/vanilla/UiSection.js +5 -2
  249. package/vanilla/UiSelect.d.ts +1 -1
  250. package/vanilla/UiSelect.js +3 -2
  251. package/vanilla/UiSeparator.d.ts +1 -1
  252. package/vanilla/UiSeparator.js +3 -7
  253. package/vanilla/UiSidebar.d.ts +1 -1
  254. package/vanilla/UiSidebar.js +3 -2
  255. package/vanilla/UiSpinner.d.ts +1 -1
  256. package/vanilla/UiSpinner.js +2 -2
  257. package/vanilla/UiStack.d.ts +1 -1
  258. package/vanilla/UiStack.js +2 -1
  259. package/vanilla/UiStatusMessage.d.ts +1 -1
  260. package/vanilla/UiStatusMessage.js +4 -2
  261. package/vanilla/UiSwitch.d.ts +1 -1
  262. package/vanilla/UiSwitch.js +4 -2
  263. package/vanilla/UiSwitcher.d.ts +1 -1
  264. package/vanilla/UiSwitcher.js +3 -2
  265. package/vanilla/UiTable.d.ts +1 -1
  266. package/vanilla/UiTable.js +3 -2
  267. package/vanilla/UiTabs.d.ts +1 -1
  268. package/vanilla/UiTabs.js +4 -2
  269. package/vanilla/UiText.d.ts +1 -1
  270. package/vanilla/UiText.js +13 -2
  271. package/vanilla/UiTextarea.d.ts +1 -1
  272. package/vanilla/UiTextarea.js +3 -3
  273. package/vanilla/UiToast.d.ts +1 -1
  274. package/vanilla/UiToast.js +4 -2
  275. package/vanilla/UiToastRegion.d.ts +1 -1
  276. package/vanilla/UiToastRegion.js +3 -2
  277. package/vanilla/UiTooltip.d.ts +1 -1
  278. package/vanilla/UiTooltip.js +3 -2
  279. package/vanilla/UiTopBar.d.ts +1 -1
  280. package/vanilla/UiTopBar.js +5 -1
  281. package/vanilla/UiTree.d.ts +1 -1
  282. package/vanilla/UiTree.js +3 -2
  283. package/vanilla/UiTreeItem.d.ts +1 -1
  284. package/vanilla/UiTreeItem.js +8 -4
  285. package/vue/UiActionBar.vue +33 -2
  286. package/vue/UiAffordanceScope.d.ts +23 -8
  287. package/vue/UiAffordanceScope.vue +90 -17
  288. package/vue/UiAvatar.d.ts +77 -19
  289. package/vue/UiAvatar.vue +151 -31
  290. package/vue/UiAvatarGroup.d.ts +50 -13
  291. package/vue/UiAvatarGroup.vue +121 -23
  292. package/vue/UiBadge.d.ts +32 -10
  293. package/vue/UiBadge.vue +104 -17
  294. package/vue/UiBreadcrumbItem.d.ts +14 -6
  295. package/vue/UiBreadcrumbItem.vue +82 -15
  296. package/vue/UiBreadcrumbs.d.ts +14 -6
  297. package/vue/UiBreadcrumbs.vue +78 -10
  298. package/vue/UiButton.d.ts +122 -27
  299. package/vue/UiButton.vue +288 -64
  300. package/vue/UiCallout.d.ts +14 -6
  301. package/vue/UiCallout.vue +84 -16
  302. package/vue/UiCard.d.ts +41 -12
  303. package/vue/UiCard.vue +149 -25
  304. package/vue/UiCheckbox.d.ts +85 -28
  305. package/vue/UiCheckbox.vue +173 -43
  306. package/vue/UiCluster.d.ts +41 -7
  307. package/vue/UiCluster.vue +122 -13
  308. package/vue/UiCombobox.d.ts +303 -110
  309. package/vue/UiCombobox.vue +723 -412
  310. package/vue/UiContainer.d.ts +23 -5
  311. package/vue/UiContainer.vue +89 -9
  312. package/vue/UiContextMenu.d.ts +38 -23
  313. package/vue/UiContextMenu.vue +113 -38
  314. package/vue/UiCover.d.ts +14 -6
  315. package/vue/UiCover.vue +76 -12
  316. package/vue/UiDescriptionItem.d.ts +14 -6
  317. package/vue/UiDescriptionItem.vue +78 -11
  318. package/vue/UiDescriptionList.d.ts +32 -9
  319. package/vue/UiDescriptionList.vue +106 -16
  320. package/vue/UiDialog.d.ts +89 -30
  321. package/vue/UiDialog.vue +168 -38
  322. package/vue/UiDisclosure.d.ts +70 -27
  323. package/vue/UiDisclosure.vue +149 -36
  324. package/vue/UiEditable.d.ts +119 -41
  325. package/vue/UiEditable.vue +220 -62
  326. package/vue/UiEditorInsertTableGrid.d.ts +46 -17
  327. package/vue/UiEditorInsertTableGrid.vue +215 -40
  328. package/vue/UiEditorMentionMenu.d.ts +128 -41
  329. package/vue/UiEditorMentionMenu.vue +211 -37
  330. package/vue/UiEditorMentionMenuItem.d.ts +32 -10
  331. package/vue/UiEditorMentionMenuItem.vue +98 -17
  332. package/vue/UiEditorSlashMenu.d.ts +110 -37
  333. package/vue/UiEditorSlashMenu.vue +189 -31
  334. package/vue/UiEditorSlashMenuGroup.d.ts +14 -6
  335. package/vue/UiEditorSlashMenuGroup.vue +80 -12
  336. package/vue/UiEditorSlashMenuItem.d.ts +50 -14
  337. package/vue/UiEditorSlashMenuItem.vue +120 -23
  338. package/vue/UiEditorTableContextMenu.d.ts +64 -20
  339. package/vue/UiEditorTableContextMenu.vue +326 -91
  340. package/vue/UiEditorTableOverlay.d.ts +170 -44
  341. package/vue/UiEditorTableOverlay.vue +420 -149
  342. package/vue/UiEditorTableToolbar.d.ts +64 -20
  343. package/vue/UiEditorTableToolbar.vue +344 -107
  344. package/vue/UiEditorToolbar.d.ts +14 -6
  345. package/vue/UiEditorToolbar.vue +79 -15
  346. package/vue/UiFloatingActionButton.d.ts +32 -10
  347. package/vue/UiFloatingActionButton.vue +96 -18
  348. package/vue/UiFormField.d.ts +32 -10
  349. package/vue/UiFormField.vue +99 -19
  350. package/vue/UiGrid.d.ts +32 -6
  351. package/vue/UiGrid.vue +95 -11
  352. package/vue/UiIcon.d.ts +14 -6
  353. package/vue/UiIcon.vue +99 -14
  354. package/vue/UiIconButton.d.ts +77 -19
  355. package/vue/UiIconButton.vue +176 -39
  356. package/vue/UiInput.d.ts +50 -19
  357. package/vue/UiInput.vue +326 -33
  358. package/vue/UiInputGroup.d.ts +14 -6
  359. package/vue/UiInputGroup.vue +79 -15
  360. package/vue/UiList.d.ts +41 -12
  361. package/vue/UiList.vue +125 -22
  362. package/vue/UiListItem.d.ts +23 -8
  363. package/vue/UiListItem.vue +88 -16
  364. package/vue/UiListbox.d.ts +86 -27
  365. package/vue/UiListbox.vue +272 -64
  366. package/vue/UiMenu.d.ts +69 -33
  367. package/vue/UiMenu.vue +142 -38
  368. package/vue/UiMenuGroup.d.ts +14 -6
  369. package/vue/UiMenuGroup.vue +80 -11
  370. package/vue/UiMenuItem.d.ts +61 -25
  371. package/vue/UiMenuItem.vue +174 -45
  372. package/vue/UiMeter.d.ts +68 -18
  373. package/vue/UiMeter.vue +215 -41
  374. package/vue/UiNavItem.d.ts +50 -11
  375. package/vue/UiNavItem.vue +163 -29
  376. package/vue/UiPageHeader.d.ts +14 -6
  377. package/vue/UiPageHeader.vue +75 -12
  378. package/vue/UiPopover.d.ts +43 -21
  379. package/vue/UiPopover.vue +147 -27
  380. package/vue/UiRadio.d.ts +67 -24
  381. package/vue/UiRadio.vue +147 -36
  382. package/vue/UiRadioGroup.d.ts +79 -29
  383. package/vue/UiRadioGroup.vue +162 -41
  384. package/vue/UiReel.d.ts +32 -6
  385. package/vue/UiReel.vue +97 -11
  386. package/vue/UiScrollArea.d.ts +14 -6
  387. package/vue/UiScrollArea.vue +83 -14
  388. package/vue/UiSearchResultRow.d.ts +23 -8
  389. package/vue/UiSearchResultRow.vue +86 -16
  390. package/vue/UiSearchShell.d.ts +48 -19
  391. package/vue/UiSearchShell.vue +120 -26
  392. package/vue/UiSection.d.ts +32 -10
  393. package/vue/UiSection.vue +103 -17
  394. package/vue/UiSelect.d.ts +59 -17
  395. package/vue/UiSelect.vue +140 -29
  396. package/vue/UiSeparator.d.ts +14 -6
  397. package/vue/UiSeparator.vue +80 -9
  398. package/vue/UiSidebar.d.ts +95 -31
  399. package/vue/UiSidebar.vue +172 -39
  400. package/vue/UiSpinner.d.ts +23 -8
  401. package/vue/UiSpinner.vue +115 -24
  402. package/vue/UiStack.d.ts +32 -6
  403. package/vue/UiStack.vue +107 -11
  404. package/vue/UiStatusMessage.d.ts +32 -10
  405. package/vue/UiStatusMessage.vue +109 -19
  406. package/vue/UiSwitch.d.ts +67 -24
  407. package/vue/UiSwitch.vue +147 -36
  408. package/vue/UiSwitcher.d.ts +41 -7
  409. package/vue/UiSwitcher.vue +118 -15
  410. package/vue/UiTable.d.ts +23 -8
  411. package/vue/UiTable.vue +91 -17
  412. package/vue/UiTabs.d.ts +66 -23
  413. package/vue/UiTabs.vue +230 -44
  414. package/vue/UiText.d.ts +68 -18
  415. package/vue/UiText.vue +308 -48
  416. package/vue/UiTextarea.d.ts +84 -21
  417. package/vue/UiTextarea.vue +172 -38
  418. package/vue/UiToast.d.ts +28 -13
  419. package/vue/UiToast.vue +103 -24
  420. package/vue/UiToastRegion.d.ts +29 -14
  421. package/vue/UiToastRegion.vue +202 -47
  422. package/vue/UiTooltip.d.ts +81 -31
  423. package/vue/UiTooltip.vue +192 -37
  424. package/vue/UiTopBar.vue +33 -2
  425. package/vue/UiTree.d.ts +72 -29
  426. package/vue/UiTree.vue +170 -49
  427. package/vue/UiTreeItem.d.ts +136 -35
  428. package/vue/UiTreeItem.vue +232 -66
  429. package/vue/chunks/UiActionBar.js +16 -3
  430. package/vue/chunks/UiAffordanceScope.js +66 -11
  431. package/vue/chunks/UiAvatar.js +121 -20
  432. package/vue/chunks/UiAvatarGroup.js +94 -15
  433. package/vue/chunks/UiBadge.js +82 -10
  434. package/vue/chunks/UiBreadcrumbItem.js +43 -9
  435. package/vue/chunks/UiBreadcrumbs.js +41 -5
  436. package/vue/chunks/UiButton.js +237 -51
  437. package/vue/chunks/UiCallout.js +53 -11
  438. package/vue/chunks/UiCard.js +145 -18
  439. package/vue/chunks/UiCheckbox.js +130 -30
  440. package/vue/chunks/UiCluster.js +99 -12
  441. package/vue/chunks/UiCombobox.js +545 -162
  442. package/vue/chunks/UiContainer.js +65 -7
  443. package/vue/chunks/UiContextMenu.js +56 -11
  444. package/vue/chunks/UiCover.js +41 -6
  445. package/vue/chunks/UiDescriptionItem.js +39 -4
  446. package/vue/chunks/UiDescriptionList.js +80 -10
  447. package/vue/chunks/UiDialog.js +125 -18
  448. package/vue/chunks/UiDisclosure.js +102 -17
  449. package/vue/chunks/UiEditable.js +154 -29
  450. package/vue/chunks/UiEditorInsertTableGrid.js +154 -31
  451. package/vue/chunks/UiEditorMentionMenu.js +221 -18
  452. package/vue/chunks/UiEditorMentionMenuItem.js +64 -7
  453. package/vue/chunks/UiEditorSlashMenu.js +201 -14
  454. package/vue/chunks/UiEditorSlashMenuGroup.js +43 -9
  455. package/vue/chunks/UiEditorSlashMenuItem.js +80 -14
  456. package/vue/chunks/UiEditorTableContextMenu.js +220 -49
  457. package/vue/chunks/UiEditorTableOverlay.js +390 -85
  458. package/vue/chunks/UiEditorTableToolbar.js +248 -71
  459. package/vue/chunks/UiEditorToolbar.js +44 -10
  460. package/vue/chunks/UiFloatingActionButton.js +57 -9
  461. package/vue/chunks/UiFormField.js +63 -12
  462. package/vue/chunks/UiGrid.js +80 -9
  463. package/vue/chunks/UiIcon.js +73 -16
  464. package/vue/chunks/UiIconButton.js +126 -28
  465. package/vue/chunks/UiInput.js +328 -22
  466. package/vue/chunks/UiInputGroup.js +44 -10
  467. package/vue/chunks/UiList.js +104 -15
  468. package/vue/chunks/UiListItem.js +57 -8
  469. package/vue/chunks/UiListbox.js +208 -49
  470. package/vue/chunks/UiMenu.js +88 -15
  471. package/vue/chunks/UiMenuGroup.js +41 -5
  472. package/vue/chunks/UiMenuItem.js +111 -32
  473. package/vue/chunks/UiMeter.js +166 -36
  474. package/vue/chunks/UiNavItem.js +133 -37
  475. package/vue/chunks/UiPageHeader.js +41 -6
  476. package/vue/chunks/UiPopover.js +81 -11
  477. package/vue/chunks/UiRadio.js +115 -24
  478. package/vue/chunks/UiRadioGroup.js +108 -19
  479. package/vue/chunks/UiReel.js +81 -10
  480. package/vue/chunks/UiScrollArea.js +47 -10
  481. package/vue/chunks/UiSearchResultRow.js +47 -8
  482. package/vue/chunks/UiSearchShell.js +84 -24
  483. package/vue/chunks/UiSection.js +77 -10
  484. package/vue/chunks/UiSelect.js +108 -20
  485. package/vue/chunks/UiSeparator.js +41 -5
  486. package/vue/chunks/UiSidebar.js +136 -20
  487. package/vue/chunks/UiSpinner.js +64 -19
  488. package/vue/chunks/UiStack.js +87 -10
  489. package/vue/chunks/UiStatusMessage.js +82 -12
  490. package/vue/chunks/UiSwitch.js +115 -24
  491. package/vue/chunks/UiSwitcher.js +103 -15
  492. package/vue/chunks/UiTable.js +63 -11
  493. package/vue/chunks/UiTabs.js +170 -30
  494. package/vue/chunks/UiText.js +365 -38
  495. package/vue/chunks/UiTextarea.js +132 -26
  496. package/vue/chunks/UiToast.js +70 -12
  497. package/vue/chunks/UiToastRegion.js +154 -33
  498. package/vue/chunks/UiTooltip.js +124 -16
  499. package/vue/chunks/UiTopBar.js +16 -3
  500. package/vue/chunks/UiTree.js +107 -15
  501. package/vue/chunks/UiTreeItem.js +167 -43
  502. package/vue/chunks/control.js +171 -0
  503. package/vue/chunks/host.js +170 -27
  504. package/vue/chunks/props.js +477 -0
  505. package/vue/components.css +1197 -1197
  506. package/vue/editor/index.js +58 -15
  507. package/vue/editor/primitives.d.ts +52 -2
  508. package/vue/host.ts +370 -39
@@ -1,46 +1,134 @@
1
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 } from "vue";
4
- import * as controllerModule from "@threadlabs/looma/components/ui-switcher/ui-switcher.js";
2
+ import { r as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { t as checkedProp } from "./props.js";
4
+ import { computed, createElementBlock, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, watchSyncEffect } from "vue";
5
5
  //#region .build/vue/UiSwitcher.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = ["data-ui-switcher-state"];
6
+ var _hoisted_1 = [
7
+ "data-align",
8
+ "data-gap",
9
+ "data-limit",
10
+ "data-threshold",
11
+ "data-ui-switcher-state"
12
+ ];
7
13
  //#endregion
8
14
  //#region .build/vue/UiSwitcher.vue
9
15
  var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
10
16
  inheritAttrs: false,
11
17
  __name: "UiSwitcher",
12
18
  props: {
13
- align: {},
14
- gap: {},
15
- limit: {},
16
- threshold: {}
19
+ align: {
20
+ type: null,
21
+ default: null
22
+ },
23
+ gap: {
24
+ type: null,
25
+ default: null
26
+ },
27
+ limit: {
28
+ type: null,
29
+ default: null
30
+ },
31
+ threshold: {
32
+ type: null,
33
+ default: null
34
+ }
17
35
  },
18
36
  setup(__props) {
19
37
  const props = __props;
38
+ const checkedProps = computed(() => ({
39
+ align: checkedProp(props["align"], {
40
+ kind: "terminal",
41
+ name: "keyword"
42
+ }, false, "align", void 0, [
43
+ "start",
44
+ "center",
45
+ "end",
46
+ "stretch"
47
+ ]),
48
+ gap: checkedProp(props["gap"], {
49
+ kind: "terminal",
50
+ name: "keyword"
51
+ }, false, "gap", void 0, [
52
+ "xs",
53
+ "s",
54
+ "m",
55
+ "l",
56
+ "xl"
57
+ ]),
58
+ limit: checkedProp(props["limit"], {
59
+ kind: "terminal",
60
+ name: "integer"
61
+ }, false, "limit", void 0, void 0),
62
+ threshold: checkedProp(props["threshold"], {
63
+ kind: "terminal",
64
+ name: "keyword"
65
+ }, false, "threshold", void 0, [
66
+ "xs",
67
+ "sm",
68
+ "md",
69
+ "lg"
70
+ ])
71
+ }));
72
+ checkedProps.value;
73
+ watchSyncEffect(() => {
74
+ checkedProps.value;
75
+ });
76
+ function nativeAttrs(attrs) {
77
+ const names = Object.keys(attrs);
78
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
79
+ return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
80
+ }
81
+ const componentInstance = getCurrentInstance();
82
+ function reflectedProp(name, kebab, value, fallback, bound, separator) {
83
+ const incoming = componentInstance?.vnode.props;
84
+ if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
85
+ if (value === null || value === void 0) return void 0;
86
+ return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
87
+ }
88
+ const hydrationInstance = getCurrentInstance();
20
89
  const root = ref(null);
21
90
  const overLimit = ref(false);
91
+ const hydrationNode = hydrationInstance?.vnode.el;
92
+ if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-switcher> has an incompatible root."), {
93
+ name: "HtmlDiagnosticError",
94
+ diagnostic: Object.freeze({
95
+ code: "HR005",
96
+ message: "Server markup for <ui-switcher> has an incompatible root."
97
+ })
98
+ });
22
99
  /** The values the styles' :host-state() rules test. */
23
100
  const hostState = computed(() => [
24
101
  overLimit.value && "overLimit",
25
- props.gap && `gap gap=${props.gap}`,
26
- props.threshold && `threshold threshold=${props.threshold}`,
27
- props.align && `align align=${props.align}`
102
+ checkedProps.value.gap && "gap",
103
+ checkedProps.value.gap != null && `gap=${encodeURIComponent(checkedProps.value.gap)}`,
104
+ checkedProps.value.threshold && "threshold",
105
+ checkedProps.value.threshold != null && `threshold=${encodeURIComponent(checkedProps.value.threshold)}`,
106
+ checkedProps.value.align && "align",
107
+ checkedProps.value.align != null && `align=${encodeURIComponent(checkedProps.value.align)}`
28
108
  ].filter(Boolean).join(" "));
29
109
  const dispatch = createDispatch(root);
30
- useComponentHost(controllerModule.default, {
110
+ useComponentHost(() => import("@threadlabs/looma/components/ui-switcher/ui-switcher.js"), {
31
111
  root,
32
112
  dispatch,
33
- props,
113
+ controllerSource: {
114
+ specifier: "../components/ui-switcher/ui-switcher.js",
115
+ definition: "./components/ui-switcher/ui-switcher.html"
116
+ },
117
+ props: checkedProps,
34
118
  state: { overLimit }
35
119
  });
36
120
  return (_ctx, _cache) => {
37
- return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, _ctx.$attrs, {
121
+ return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-switcher" }, nativeAttrs(_ctx.$attrs), {
122
+ "data-align": reflectedProp("align", "align", checkedProps.value.align, void 0, false),
123
+ "data-gap": reflectedProp("gap", "gap", checkedProps.value.gap, void 0, false),
124
+ "data-limit": reflectedProp("limit", "limit", checkedProps.value.limit, void 0, false),
125
+ "data-threshold": reflectedProp("threshold", "threshold", checkedProps.value.threshold, void 0, false),
38
126
  "data-ui-switcher-state": hostState.value || void 0,
39
127
  ref_key: "root",
40
128
  ref: root
41
129
  }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
42
130
  };
43
131
  }
44
- }), [["__scopeId", "data-v-be049fb8"]]);
132
+ }), [["__scopeId", "data-v-42654cb2"]]);
45
133
  //#endregion
46
134
  export { UiSwitcher_default as t };
@@ -1,40 +1,92 @@
1
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 } from "vue";
4
- import * as controllerModule from "@threadlabs/looma/components/ui-table/ui-table.js";
2
+ import { r as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { t as checkedProp } from "./props.js";
4
+ import { computed, createElementBlock, defineComponent, getCurrentInstance, mergeProps, openBlock, ref, renderSlot, watchSyncEffect } from "vue";
5
5
  //#region .build/vue/UiTable.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = ["data-ui-table-state"];
6
+ var _hoisted_1 = [
7
+ "data-density",
8
+ "data-sticky-header",
9
+ "data-ui-table-state"
10
+ ];
7
11
  //#endregion
8
12
  //#region .build/vue/UiTable.vue
9
13
  var UiTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
10
14
  inheritAttrs: false,
11
15
  __name: "UiTable",
12
16
  props: {
13
- density: { default: "comfortable" },
17
+ density: {
18
+ type: null,
19
+ default: "comfortable"
20
+ },
14
21
  stickyHeader: {
15
- type: Boolean,
22
+ type: null,
16
23
  default: false
17
24
  }
18
25
  },
19
26
  setup(__props) {
20
27
  const props = __props;
28
+ const checkedProps = computed(() => ({
29
+ density: checkedProp(props["density"], {
30
+ kind: "terminal",
31
+ name: "keyword"
32
+ }, false, "density", void 0, ["comfortable", "compact"]),
33
+ stickyHeader: checkedProp(props["stickyHeader"], {
34
+ kind: "terminal",
35
+ name: "boolean"
36
+ }, false, "stickyHeader", void 0, void 0)
37
+ }));
38
+ checkedProps.value;
39
+ watchSyncEffect(() => {
40
+ checkedProps.value;
41
+ });
42
+ function nativeAttrs(attrs) {
43
+ const names = Object.keys(attrs);
44
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
45
+ return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
46
+ }
47
+ const componentInstance = getCurrentInstance();
48
+ function reflectedProp(name, kebab, value, fallback, bound, separator) {
49
+ const incoming = componentInstance?.vnode.props;
50
+ if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
51
+ if (value === null || value === void 0) return void 0;
52
+ return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
53
+ }
54
+ const hydrationInstance = getCurrentInstance();
21
55
  const root = ref(null);
56
+ const hydrationNode = hydrationInstance?.vnode.el;
57
+ if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-table> has an incompatible root."), {
58
+ name: "HtmlDiagnosticError",
59
+ diagnostic: Object.freeze({
60
+ code: "HR005",
61
+ message: "Server markup for <ui-table> has an incompatible root."
62
+ })
63
+ });
22
64
  /** The values the styles' :host-state() rules test. */
23
- const hostState = computed(() => [props.density && `density density=${props.density}`, props.stickyHeader && "stickyHeader"].filter(Boolean).join(" "));
65
+ const hostState = computed(() => [
66
+ checkedProps.value.density && "density",
67
+ checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
68
+ checkedProps.value.stickyHeader && "stickyHeader"
69
+ ].filter(Boolean).join(" "));
24
70
  const dispatch = createDispatch(root);
25
- useComponentHost(controllerModule.default, {
71
+ useComponentHost(() => import("@threadlabs/looma/components/ui-table/ui-table.js"), {
26
72
  root,
27
73
  dispatch,
28
- props
74
+ controllerSource: {
75
+ specifier: "../components/ui-table/ui-table.js",
76
+ definition: "./components/ui-table/ui-table.html"
77
+ },
78
+ props: checkedProps
29
79
  });
30
80
  return (_ctx, _cache) => {
31
- return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-table" }, _ctx.$attrs, {
81
+ return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-table" }, nativeAttrs(_ctx.$attrs), {
82
+ "data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
83
+ "data-sticky-header": reflectedProp("stickyHeader", "sticky-header", checkedProps.value.stickyHeader, void 0, false),
32
84
  "data-ui-table-state": hostState.value || void 0,
33
85
  ref_key: "root",
34
86
  ref: root
35
87
  }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
36
88
  };
37
89
  }
38
- }), [["__scopeId", "data-v-a58b58d4"]]);
90
+ }), [["__scopeId", "data-v-8aecd018"]]);
39
91
  //#endregion
40
92
  export { UiTable_default as t };
@@ -1,9 +1,17 @@
1
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 { Fragment, computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, ref, renderList, renderSlot, toDisplayString, useTemplateRef } from "vue";
4
- import * as controllerModule from "@threadlabs/looma/components/ui-tabs/ui-tabs.js";
2
+ import { r as useComponentHost, t as createDispatch } from "./host.js";
3
+ import { t as checkedProp } from "./props.js";
4
+ import { Fragment, computed, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, h, mergeProps, openBlock, ref, renderList, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx } from "vue";
5
5
  //#region .build/vue/UiTabs.vue?vue&type=script&setup=true&lang.ts
6
- var _hoisted_1 = ["data-ui-tabs-state"];
6
+ var _hoisted_1 = [
7
+ "data-activation",
8
+ "data-density",
9
+ "data-label",
10
+ "data-orientation",
11
+ "data-stretch",
12
+ "data-value",
13
+ "data-ui-tabs-state"
14
+ ];
7
15
  var _hoisted_2 = ["aria-label", "aria-orientation"];
8
16
  var _hoisted_3 = [
9
17
  "id",
@@ -21,30 +29,122 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
21
29
  inheritAttrs: false,
22
30
  __name: "UiTabs",
23
31
  props: {
24
- activation: { default: "auto" },
25
- density: { default: "comfortable" },
26
- label: { default: "Tabs" },
27
- orientation: { default: "horizontal" },
32
+ activation: {
33
+ type: null,
34
+ default: "auto"
35
+ },
36
+ density: {
37
+ type: null,
38
+ default: "comfortable"
39
+ },
40
+ label: {
41
+ type: null,
42
+ default: "Tabs"
43
+ },
44
+ orientation: {
45
+ type: null,
46
+ default: "horizontal"
47
+ },
28
48
  stretch: {
29
- type: Boolean,
49
+ type: null,
30
50
  default: false
31
51
  },
32
- value: { default: "" }
52
+ value: {
53
+ type: null,
54
+ default: ""
55
+ }
33
56
  },
34
57
  emits: ["update:value", "select"],
35
58
  setup(__props, { emit: __emit }) {
36
59
  const props = __props;
60
+ const checkedProps = computed(() => ({
61
+ activation: checkedProp(props["activation"], {
62
+ kind: "terminal",
63
+ name: "keyword"
64
+ }, false, "activation", void 0, ["auto", "manual"]),
65
+ density: checkedProp(props["density"], {
66
+ kind: "terminal",
67
+ name: "keyword"
68
+ }, false, "density", void 0, ["comfortable", "compact"]),
69
+ label: checkedProp(props["label"], {
70
+ kind: "terminal",
71
+ name: "string"
72
+ }, false, "label", void 0, void 0),
73
+ orientation: checkedProp(props["orientation"], {
74
+ kind: "terminal",
75
+ name: "keyword"
76
+ }, false, "orientation", void 0, ["horizontal", "vertical"]),
77
+ stretch: checkedProp(props["stretch"], {
78
+ kind: "terminal",
79
+ name: "boolean"
80
+ }, false, "stretch", void 0, void 0),
81
+ value: checkedProp(props["value"], {
82
+ kind: "terminal",
83
+ name: "string"
84
+ }, false, "value", void 0, void 0)
85
+ }));
86
+ checkedProps.value;
87
+ watchSyncEffect(() => {
88
+ checkedProps.value;
89
+ });
90
+ function nativeAttrs(attrs) {
91
+ const names = Object.keys(attrs);
92
+ if (!names.some((name) => Object.hasOwn(Object.prototype, name))) return attrs;
93
+ return Object.fromEntries(names.map((name) => [Object.hasOwn(Object.prototype, name) ? name === "__proto__" ? "__Proto__" : name[0].toUpperCase() + name.slice(1) : name, attrs[name]]));
94
+ }
95
+ const KeyedFailure = defineComponent({
96
+ props: { error: {
97
+ type: null,
98
+ required: true
99
+ } },
100
+ setup(props) {
101
+ return () => {
102
+ throw props.error;
103
+ };
104
+ }
105
+ });
106
+ const KeyedBoundary = defineComponent({ setup(_props, { slots }) {
107
+ let last = [];
108
+ return () => {
109
+ try {
110
+ last = slots.default?.() ?? [];
111
+ return last;
112
+ } catch (error) {
113
+ if (!(error instanceof Error) || error.diagnostic?.code !== "HR004") throw error;
114
+ if (typeof window === "undefined") throw error;
115
+ return [...last, h(KeyedFailure, { error })];
116
+ }
117
+ };
118
+ } });
119
+ const componentInstance = getCurrentInstance();
120
+ function reflectedProp(name, kebab, value, fallback, bound, separator) {
121
+ const incoming = componentInstance?.vnode.props;
122
+ if (!bound && (incoming === null || incoming === void 0 || !Object.hasOwn(incoming, name) && !Object.hasOwn(incoming, kebab))) return fallback;
123
+ if (value === null || value === void 0) return void 0;
124
+ return Array.isArray(value) && separator !== void 0 ? value.join(separator) : typeof value === "object" ? JSON.stringify(value) : String(value);
125
+ }
126
+ const hydrationInstance = getCurrentInstance();
37
127
  const emit = __emit;
38
128
  const root = ref(null);
39
129
  const listElement = useTemplateRef("list");
40
130
  const panelsElement = useTemplateRef("panels");
41
131
  const internalValue = ref("");
42
132
  const tabs = ref([]);
133
+ const hydrationNode = hydrationInstance?.vnode.el;
134
+ if (typeof window !== "undefined" && hydrationNode != null && (!(hydrationNode instanceof Element) || hydrationNode.localName !== "div")) throw Object.assign(/* @__PURE__ */ new Error("HR005: Server markup for <ui-tabs> has an incompatible root."), {
135
+ name: "HtmlDiagnosticError",
136
+ diagnostic: Object.freeze({
137
+ code: "HR005",
138
+ message: "Server markup for <ui-tabs> has an incompatible root."
139
+ })
140
+ });
43
141
  /** The values the styles' :host-state() rules test. */
44
142
  const hostState = computed(() => [
45
- props.density && `density density=${props.density}`,
46
- props.stretch && "stretch",
47
- props.orientation && `orientation orientation=${props.orientation}`
143
+ checkedProps.value.density && "density",
144
+ checkedProps.value.density != null && `density=${encodeURIComponent(checkedProps.value.density)}`,
145
+ checkedProps.value.stretch && "stretch",
146
+ checkedProps.value.orientation && "orientation",
147
+ checkedProps.value.orientation != null && `orientation=${encodeURIComponent(checkedProps.value.orientation)}`
48
148
  ].filter(Boolean).join(" "));
49
149
  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) => [
50
150
  "value",
@@ -55,10 +155,14 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
55
155
  checks: { select: isSelectDetail },
56
156
  modeled: ["value"]
57
157
  });
58
- useComponentHost(controllerModule.default, {
158
+ useComponentHost(() => import("@threadlabs/looma/components/ui-tabs/ui-tabs.js"), {
59
159
  root,
60
160
  dispatch,
61
- props,
161
+ controllerSource: {
162
+ specifier: "../components/ui-tabs/ui-tabs.js",
163
+ definition: "./components/ui-tabs/ui-tabs.html"
164
+ },
165
+ props: checkedProps,
62
166
  refs: {
63
167
  list: listElement,
64
168
  panels: panelsElement
@@ -68,30 +172,66 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
68
172
  tabs
69
173
  }
70
174
  });
175
+ function text(value) {
176
+ if (Array.isArray(value)) return value.map(text).join(" ");
177
+ return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
178
+ }
179
+ function uniqueKeys(items, keyOf) {
180
+ const seen = /* @__PURE__ */ new Set();
181
+ for (let index = 0; index < items.length; index += 1) {
182
+ const key = keyOf(items[index], index, {
183
+ index,
184
+ first: index === 0,
185
+ last: index === items.length - 1,
186
+ count: items.length
187
+ });
188
+ if (seen.has(key)) {
189
+ const message = `A keyed list produced duplicate key \`${text(key)}\`.`;
190
+ throw Object.assign(/* @__PURE__ */ new Error(`HR004: ${message}`), {
191
+ name: "HtmlDiagnosticError",
192
+ diagnostic: Object.freeze({
193
+ code: "HR004",
194
+ message
195
+ })
196
+ });
197
+ }
198
+ seen.add(key);
199
+ }
200
+ return items;
201
+ }
71
202
  return (_ctx, _cache) => {
72
- return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-tabs" }, _ctx.$attrs, {
203
+ return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-tabs" }, nativeAttrs(_ctx.$attrs), {
204
+ "data-activation": reflectedProp("activation", "activation", checkedProps.value.activation, void 0, false),
205
+ "data-density": reflectedProp("density", "density", checkedProps.value.density, void 0, false),
206
+ "data-label": reflectedProp("label", "label", checkedProps.value.label, void 0, false),
207
+ "data-orientation": reflectedProp("orientation", "orientation", checkedProps.value.orientation, void 0, false),
208
+ "data-stretch": reflectedProp("stretch", "stretch", checkedProps.value.stretch, void 0, false),
209
+ "data-value": reflectedProp("value", "value", checkedProps.value.value, void 0, false),
73
210
  "data-ui-tabs-state": hostState.value || void 0,
74
211
  ref_key: "root",
75
212
  ref: root
76
213
  }), [createElementVNode("div", {
77
214
  class: "list",
78
215
  role: "tablist",
79
- "aria-label": __props.label,
80
- "aria-orientation": __props.orientation,
216
+ "aria-label": checkedProps.value.label ?? void 0,
217
+ "aria-orientation": checkedProps.value.orientation ?? void 0,
81
218
  ref: "list"
82
- }, [renderSlot(_ctx.$slots, "tab", {}, () => [(openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => {
83
- return openBlock(), createElementBlock("button", {
84
- key: tab.id,
85
- type: "button",
86
- role: "tab",
87
- id: `${tab.id}-tab`,
88
- value: tab.id,
89
- "aria-controls": tab.id,
90
- "aria-selected": tab.id === internalValue.value
91
- }, toDisplayString(tab.label), 9, _hoisted_3);
92
- }), 128))])], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
219
+ }, [renderSlot(_ctx.$slots, "tab", {}, () => [createVNode(unref(KeyedBoundary), null, {
220
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(uniqueKeys(tabs.value, (tab, index, loop) => tab.id), (tab) => {
221
+ return openBlock(), createElementBlock("button", {
222
+ key: tab.id,
223
+ type: "button",
224
+ role: "tab",
225
+ id: `${tab.id}-tab`,
226
+ value: tab.id,
227
+ "aria-controls": tab.id,
228
+ "aria-selected": tab.id === internalValue.value
229
+ }, toDisplayString(tab.label), 9, _hoisted_3);
230
+ }), 128))]),
231
+ _: 1
232
+ })])], 8, _hoisted_2), createElementVNode("div", _hoisted_4, [renderSlot(_ctx.$slots, "default")], 512)], 16, _hoisted_1);
93
233
  };
94
234
  }
95
- }), [["__scopeId", "data-v-cac80c15"]]);
235
+ }), [["__scopeId", "data-v-c98ad628"]]);
96
236
  //#endregion
97
237
  export { UiTabs_default as t };