@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
@@ -2,11 +2,15 @@
2
2
  <link rel="component" href="../ui-icon/ui-icon.html">
3
3
  <template component="ui-toast" controller="./ui-toast.js">
4
4
  <defs>
5
- <prop name="tone" type="neutral | info | success | warning | danger" default="neutral"
5
+ <prop name="tone" type="keyword" values="neutral, info, success, warning, danger" default="neutral"
6
6
  >Semantic accent for this message. Danger uses an assertive alert role; the other tones use polite status semantics.</prop>
7
7
  <prop name="duration" type="number" default="0"
8
8
  >Milliseconds before requesting dismissal; 0 keeps the toast until an action dismisses it. The timer pauses on hover or focus.</prop>
9
- <event name="dismiss" type="object({ id: string, reason: action | timeout, trigger: keyboard | pointer | programmatic })"></event>
9
+ <event name="dismiss" type="object">
10
+ <prop name="id" required type="string"></prop>
11
+ <prop name="reason" required type="keyword" values="action, timeout"></prop>
12
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
13
+ </event>
10
14
  </defs>
11
15
  <div :role="{ neutral: 'status', info: 'status', success: 'status', warning: 'status', danger: 'alert' }[tone]">
12
16
  <div class="message"><slot></slot></div>
@@ -4,14 +4,26 @@
4
4
  <defs>
5
5
  <prop name="duration" type="number" default="0"
6
6
  >Default milliseconds for toasts added with show() or the show command; 0 keeps each until dismissed. Hover or focus pauses a timer.</prop>
7
- <prop name="placement" type="top | top-start | top-end | bottom | bottom-start | bottom-end" default="top"
7
+ <prop name="placement" type="keyword" values="top, top-start, top-end, bottom, bottom-start, bottom-end" default="top"
8
8
  >Screen edge where the stack appears. Start and end follow the writing direction.</prop>
9
9
  <state
10
10
  name="toasts"
11
- type="list(object({ id: string, message: string, tone: neutral | info | success | warning | danger, role: alert | status, closing: boolean }))"
11
+ type="array"
12
12
  :value="[]"
13
- ></state>
14
- <event name="dismiss" type="object({ id: string, reason: action | timeout, trigger: keyboard | pointer | programmatic })"></event>
13
+ >
14
+ <prop type="object">
15
+ <prop name="id" required type="string"></prop>
16
+ <prop name="message" required type="string"></prop>
17
+ <prop name="tone" required type="keyword" values="neutral, info, success, warning, danger"></prop>
18
+ <prop name="role" required type="keyword" values="alert, status"></prop>
19
+ <prop name="closing" required type="boolean"></prop>
20
+ </prop>
21
+ </state>
22
+ <event name="dismiss" type="object">
23
+ <prop name="id" required type="string"></prop>
24
+ <prop name="reason" required type="keyword" values="action, timeout"></prop>
25
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
26
+ </event>
15
27
  <method name="show" export="show" returns="promise(string)"></method>
16
28
  </defs>
17
29
  <div role="region" aria-label="Notifications" aria-live="polite" popover="manual">
@@ -4,10 +4,11 @@
4
4
  <prop name="open" type="boolean" default="false">Whether the tooltip is open initially or when set externally.</prop>
5
5
  <prop
6
6
  name="placement"
7
- type="top | top-start | top-end | bottom | bottom-start | bottom-end | left | left-start | left-end | right | right-start | right-end"
7
+ type="keyword"
8
+ values="top, top-start, top-end, bottom, bottom-start, bottom-end, left, left-start, left-end, right, right-start, right-end"
8
9
  default="top"
9
10
  >Positions the description around its trigger. Start and end on top or bottom follow the writing direction.</prop>
10
- <prop name="trigger" type="hover | click | focus" default="hover"
11
+ <prop name="trigger" type="keyword" values="hover, click, focus" default="hover"
11
12
  >How the trigger opens it. hover also opens on keyboard focus; click toggles it and suits a help button, where hovering a question mark says nothing; focus
12
13
  opens only while the trigger holds focus.</prop>
13
14
  <prop name="showDelay" type="number" default="500">Waits this many milliseconds before showing after pointer entry.</prop>
@@ -16,12 +17,20 @@
16
17
  <state name="internalOpen" :value="false"></state>
17
18
  <event
18
19
  name="open"
19
- type="object({ open: boolean, reason: action | programmatic | light-dismiss | escape, trigger: keyboard | pointer | programmatic })"
20
- ></event>
20
+ type="object"
21
+ >
22
+ <prop name="open" required type="boolean"></prop>
23
+ <prop name="reason" required type="keyword" values="action, programmatic, light-dismiss, escape"></prop>
24
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
25
+ </event>
21
26
  <event
22
27
  name="close"
23
- type="object({ open: boolean, reason: action | programmatic | light-dismiss | escape, trigger: keyboard | pointer | programmatic })"
24
- ></event>
28
+ type="object"
29
+ >
30
+ <prop name="open" required type="boolean"></prop>
31
+ <prop name="reason" required type="keyword" values="action, programmatic, light-dismiss, escape"></prop>
32
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
33
+ </event>
25
34
  </defs>
26
35
  <span role="tooltip" :hidden="not internalOpen"><div class="surface"><slot></slot></div></span>
27
36
  <style>
@@ -1,9 +1,10 @@
1
1
  <link rel="component" href="../ui-tree-item/ui-tree-item.html">
2
2
  <template component="ui-tree" controller="./ui-tree.js">
3
3
  <defs>
4
- <prop name="density" type="comfortable | compact" default="comfortable">Compact trades padding and type size for rows that fit more on screen.</prop>
4
+ <prop name="density" type="keyword" values="comfortable, compact" default="comfortable"
5
+ >Compact trades padding and type size for rows that fit more on screen.</prop>
5
6
  <prop name="label" type="string" default="Tree">The tree's accessible name, announced when focus enters it. Name what the tree holds.</prop>
6
- <prop name="selection" type="none | single | multiple" default="none"
7
+ <prop name="selection" type="keyword" values="none, single, multiple" default="none"
7
8
  >How selection works. None keeps rows for navigation and expansion; single requests one selected item; multiple shows checkboxes and requests an item with
8
9
  its descendants. The application owns each Tree Item's selected state and responds to select.</prop>
9
10
  <prop name="hoverExpandDelay" type="number" default="700"
@@ -17,13 +18,35 @@
17
18
  that fit should not move. An item may set its own marquee to opt in or out on its own.</prop>
18
19
  <event
19
20
  name="reorder"
20
- type="object({ sourceId: string, targetId: string, position: before | inside | after, sourceType: string, targetType: string, sourceScope: string, targetScope: string, trigger: keyboard | pointer | programmatic })"
21
- ></event>
21
+ type="object"
22
+ >
23
+ <prop name="sourceId" required type="string"></prop>
24
+ <prop name="targetId" required type="string"></prop>
25
+ <prop name="position" required type="keyword" values="before, inside, after"></prop>
26
+ <prop name="sourceType" required type="string"></prop>
27
+ <prop name="targetType" required type="string"></prop>
28
+ <prop name="sourceScope" required type="string"></prop>
29
+ <prop name="targetScope" required type="string"></prop>
30
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
31
+ </event>
22
32
  <event
23
33
  name="reorder-rejected"
24
- type="object({ sourceId: string, targetId: string, position: before | inside | after, reason: max-depth, maxDepth: integer, resultingDepth: integer, trigger: keyboard | pointer | programmatic })"
25
- ></event>
26
- <event name="select" type="object({ ids: list(string), trigger: keyboard | pointer | programmatic })"></event>
34
+ type="object"
35
+ >
36
+ <prop name="sourceId" required type="string"></prop>
37
+ <prop name="targetId" required type="string"></prop>
38
+ <prop name="position" required type="keyword" values="before, inside, after"></prop>
39
+ <prop name="reason" required type="keyword" values="max-depth"></prop>
40
+ <prop name="maxDepth" required type="integer"></prop>
41
+ <prop name="resultingDepth" required type="integer"></prop>
42
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
43
+ </event>
44
+ <event name="select" type="object">
45
+ <prop name="ids" required type="array">
46
+ <prop type="string"></prop>
47
+ </prop>
48
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
49
+ </event>
27
50
  </defs>
28
51
  <div role="tree"><slot></slot></div>
29
52
  <style>
@@ -44,7 +44,11 @@
44
44
  <state name="structuralLevel" :value="1"></state>
45
45
  <state name="tabStop" :value="false"></state>
46
46
  <state name="isContainer" :value="false"></state>
47
- <event name="expand" bubbles="false" type="object({ id: string, expanded: boolean, trigger: keyboard | pointer | programmatic })"></event>
47
+ <event name="expand" bubbles="false" type="object">
48
+ <prop name="id" required type="string"></prop>
49
+ <prop name="expanded" required type="boolean"></prop>
50
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
51
+ </event>
48
52
  </defs>
49
53
  <div
50
54
  role="treeitem"
@@ -324,7 +328,7 @@
324
328
  padding: var(--_ui-tree-item-label-padding-block, var(--ui-space-1)) var(--_ui-tree-item-label-padding-inline, var(--ui-space-2));
325
329
  /* The length of the fade before the controls. The label's one flex child lays out no gap; this
326
330
  is where the controller reads the length in pixels to stop a sliding name before the fade. */
327
- column-gap: var(--ui-space-3);
331
+ column-gap: var(--ui-space-1);
328
332
  }
329
333
 
330
334
  /* Slotted label content fills the cell, so a link is the row's hit area rather than sizing to
@@ -352,7 +356,7 @@
352
356
  text-overflow: clip;
353
357
  mask-image: linear-gradient(
354
358
  to right,
355
- #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
359
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
356
360
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
357
361
  );
358
362
  }
@@ -361,7 +365,7 @@
361
365
  .row:focus-within > .label:dir(rtl) {
362
366
  mask-image: linear-gradient(
363
367
  to left,
364
- #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
368
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
365
369
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
366
370
  );
367
371
  }
@@ -388,7 +392,7 @@
388
392
  to right,
389
393
  transparent var(--_marquee-icon-width, 0px),
390
394
  #000 calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))),
391
- #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
395
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
392
396
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
393
397
  );
394
398
  }
@@ -398,7 +402,7 @@
398
402
  to left,
399
403
  transparent var(--_marquee-icon-width, 0px),
400
404
  #000 calc(var(--_marquee-lead, 0px) + var(--_ui-tree-item-label-padding-inline, var(--ui-space-2))),
401
- #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-3)),
405
+ #000 calc(100% - var(--_tree-actions-width, 1.75rem) - var(--ui-space-1)),
402
406
  transparent calc(100% - var(--_tree-actions-width, 1.75rem))
403
407
  );
404
408
  }
@@ -112,17 +112,34 @@ export default function controller(host) {
112
112
  // The tree sets this for its items; an item's own prop overrides it either way.
113
113
  const marqueeWanted = () => host.state.marquee
114
114
  || getComputedStyle(element).getPropertyValue("--_ui-default-tree-item-marquee").trim() === "1";
115
+ // A slotted link may fill the row and have padding past its name. Measure the rendered letters,
116
+ // since moving that link's box to the actions would send a short name too far (or move it at all).
117
+ const textEdge = (rightToLeft) => {
118
+ const walker = element.ownerDocument.createTreeWalker(labelText, NodeFilter.SHOW_TEXT);
119
+ const range = element.ownerDocument.createRange();
120
+ let edge = rightToLeft ? Infinity : -Infinity;
121
+ while (walker.nextNode()) {
122
+ if (!walker.currentNode.textContent?.trim()) continue;
123
+ range.selectNodeContents(walker.currentNode);
124
+ for (const rect of range.getClientRects()) {
125
+ if (rect.width === 0 || rect.height === 0) continue;
126
+ edge = rightToLeft ? Math.min(edge, rect.left) : Math.max(edge, rect.right);
127
+ }
128
+ }
129
+ return Number.isFinite(edge) ? edge : rightToLeft
130
+ ? labelText.getBoundingClientRect().left : labelText.getBoundingClientRect().right;
131
+ };
115
132
  const startMarquee = () => {
116
133
  if (!labelText || !label || !marqueeWanted()) return;
117
134
  labelText.style.flex = "none";
118
135
  labelText.style.inlineSize = "max-content";
119
- const text = labelText.getBoundingClientRect();
136
+ const rightToLeft = getComputedStyle(element).direction === "rtl";
137
+ const end = textEdge(rightToLeft);
120
138
  labelText.style.flex = labelText.style.inlineSize = "";
121
139
  const cell = label.getBoundingClientRect();
122
140
  const icon = leading?.getBoundingClientRect();
123
141
  const stop = (actions?.offsetWidth ?? 0) + parseFloat(getComputedStyle(label).columnGap);
124
- const rightToLeft = getComputedStyle(element).direction === "rtl";
125
- const distance = Math.ceil(rightToLeft ? cell.left + stop - text.left : text.right - (cell.right - stop));
142
+ const distance = Math.ceil(rightToLeft ? cell.left + stop - end : end - (cell.right - stop));
126
143
  if (distance <= 0) return;
127
144
  const lead = icon?.width ? (rightToLeft ? icon.right - cell.right : cell.left - icon.left) : 0;
128
145
  row.style.setProperty("--_marquee-lead", `${Math.max(0, lead)}px`);