@threadlabs/looma 0.19.1 → 0.21.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 (517) 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 +6 -6
  4. package/components/ui-avatar-group/ui-avatar-group.html +3 -3
  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-breadcrumb-item/ui-breadcrumb-item.html +1 -1
  8. package/components/ui-breadcrumbs/ui-breadcrumbs.html +1 -1
  9. package/components/ui-button/ui-button.html +17 -16
  10. package/components/ui-callout/ui-callout.html +1 -1
  11. package/components/ui-card/ui-card.html +5 -4
  12. package/components/ui-checkbox/ui-checkbox.html +11 -7
  13. package/components/ui-cluster/ui-cluster.html +4 -4
  14. package/components/ui-combobox/ui-combobox.html +299 -74
  15. package/components/ui-combobox/ui-combobox.js +21 -20
  16. package/components/ui-container/ui-container.html +2 -2
  17. package/components/ui-context-menu/ui-context-menu.html +17 -5
  18. package/components/ui-cover/ui-cover.html +1 -1
  19. package/components/ui-description-list/ui-description-list.html +3 -3
  20. package/components/ui-dialog/ui-dialog.html +15 -7
  21. package/components/ui-disclosure/ui-disclosure.html +17 -8
  22. package/components/ui-editable/ui-editable.html +20 -9
  23. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +6 -6
  24. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +6 -6
  25. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +1 -1
  26. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +6 -6
  27. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +1 -1
  28. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +2 -2
  29. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +33 -13
  30. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +107 -29
  31. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +5 -5
  32. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +48 -22
  33. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  34. package/components/ui-grid/ui-grid.html +2 -2
  35. package/components/ui-icon/ui-icon.html +13 -4
  36. package/components/ui-icon-button/ui-icon-button.html +6 -6
  37. package/components/ui-input/ui-input.html +28 -6
  38. package/components/ui-list/ui-list.html +5 -4
  39. package/components/ui-list-item/ui-list-item.html +2 -2
  40. package/components/ui-listbox/ui-listbox.html +31 -16
  41. package/components/ui-menu/ui-menu.html +18 -5
  42. package/components/ui-menu-group/ui-menu-group.html +1 -1
  43. package/components/ui-menu-item/ui-menu-item.html +14 -9
  44. package/components/ui-meter/ui-meter.html +7 -7
  45. package/components/ui-nav-item/ui-nav-item.html +10 -9
  46. package/components/ui-page-header/ui-page-header.html +1 -1
  47. package/components/ui-popover/ui-popover.html +14 -5
  48. package/components/ui-radio/ui-radio.html +7 -3
  49. package/components/ui-radio-group/ui-radio-group.html +12 -4
  50. package/components/ui-reel/ui-reel.html +3 -3
  51. package/components/ui-scroll-area/ui-scroll-area.html +1 -1
  52. package/components/ui-search-result-row/ui-search-result-row.html +1 -1
  53. package/components/ui-search-shell/ui-search-shell.html +7 -3
  54. package/components/ui-section/ui-section.html +3 -3
  55. package/components/ui-select/ui-select.html +2 -2
  56. package/components/ui-separator/ui-separator.html +2 -2
  57. package/components/ui-sidebar/ui-sidebar.html +13 -6
  58. package/components/ui-spinner/ui-spinner.html +5 -5
  59. package/components/ui-stack/ui-stack.html +3 -3
  60. package/components/ui-status-message/ui-status-message.html +5 -5
  61. package/components/ui-switch/ui-switch.html +16 -3
  62. package/components/ui-switcher/ui-switcher.html +3 -3
  63. package/components/ui-table/ui-table.html +1 -1
  64. package/components/ui-tabs/ui-tabs.html +14 -9
  65. package/components/ui-text/ui-text.html +6 -6
  66. package/components/ui-textarea/ui-textarea.html +10 -2
  67. package/components/ui-toast/ui-toast.html +8 -4
  68. package/components/ui-toast-region/ui-toast-region.html +27 -7
  69. package/components/ui-tooltip/ui-tooltip.html +16 -7
  70. package/components/ui-tree/ui-tree.html +30 -7
  71. package/components/ui-tree-item/ui-tree-item.html +21 -17
  72. package/dist/index.js +1 -1
  73. package/editor/table-overlay.d.ts +1 -1
  74. package/package.json +3 -3
  75. package/styles/ui-action-bar.css +1 -1
  76. package/styles/ui-affordance-scope.css +1 -1
  77. package/styles/ui-avatar-group.css +1 -1
  78. package/styles/ui-avatar.css +1 -1
  79. package/styles/ui-badge.css +1 -1
  80. package/styles/ui-breadcrumb-item.css +1 -1
  81. package/styles/ui-breadcrumbs.css +1 -1
  82. package/styles/ui-button.css +1 -1
  83. package/styles/ui-callout.css +1 -1
  84. package/styles/ui-card.css +1 -1
  85. package/styles/ui-checkbox.css +1 -1
  86. package/styles/ui-cluster.css +1 -1
  87. package/styles/ui-combobox.css +1 -1
  88. package/styles/ui-container.css +1 -1
  89. package/styles/ui-context-menu.css +1 -1
  90. package/styles/ui-cover.css +1 -1
  91. package/styles/ui-description-item.css +1 -1
  92. package/styles/ui-description-list.css +1 -1
  93. package/styles/ui-dialog.css +1 -1
  94. package/styles/ui-disclosure.css +1 -1
  95. package/styles/ui-editable.css +1 -1
  96. package/styles/ui-editor-insert-table-grid.css +1 -1
  97. package/styles/ui-editor-mention-menu-item.css +1 -1
  98. package/styles/ui-editor-mention-menu.css +1 -1
  99. package/styles/ui-editor-slash-menu-group.css +1 -1
  100. package/styles/ui-editor-slash-menu-item.css +1 -1
  101. package/styles/ui-editor-slash-menu.css +1 -1
  102. package/styles/ui-editor-table-context-menu.css +1 -1
  103. package/styles/ui-editor-table-overlay.css +1 -1
  104. package/styles/ui-editor-table-toolbar.css +1 -1
  105. package/styles/ui-editor-toolbar.css +1 -1
  106. package/styles/ui-floating-action-button.css +1 -1
  107. package/styles/ui-form-field.css +1 -1
  108. package/styles/ui-grid.css +1 -1
  109. package/styles/ui-icon-button.css +1 -1
  110. package/styles/ui-icon.css +1 -1
  111. package/styles/ui-input-group.css +1 -1
  112. package/styles/ui-input.css +1 -1
  113. package/styles/ui-list-item.css +1 -1
  114. package/styles/ui-list.css +1 -1
  115. package/styles/ui-listbox.css +1 -1
  116. package/styles/ui-menu-group.css +1 -1
  117. package/styles/ui-menu-item.css +1 -1
  118. package/styles/ui-menu.css +1 -1
  119. package/styles/ui-meter.css +1 -1
  120. package/styles/ui-nav-item.css +1 -1
  121. package/styles/ui-page-header.css +1 -1
  122. package/styles/ui-popover.css +1 -1
  123. package/styles/ui-radio-group.css +1 -1
  124. package/styles/ui-radio.css +1 -1
  125. package/styles/ui-reel.css +1 -1
  126. package/styles/ui-scroll-area.css +1 -1
  127. package/styles/ui-search-result-row.css +1 -1
  128. package/styles/ui-search-shell.css +1 -1
  129. package/styles/ui-section.css +1 -1
  130. package/styles/ui-select.css +1 -1
  131. package/styles/ui-separator.css +1 -1
  132. package/styles/ui-sidebar.css +1 -1
  133. package/styles/ui-spinner.css +1 -1
  134. package/styles/ui-stack.css +1 -1
  135. package/styles/ui-status-message.css +1 -1
  136. package/styles/ui-switch.css +1 -1
  137. package/styles/ui-switcher.css +1 -1
  138. package/styles/ui-table.css +1 -1
  139. package/styles/ui-tabs.css +1 -1
  140. package/styles/ui-text.css +1 -1
  141. package/styles/ui-textarea.css +1 -1
  142. package/styles/ui-toast-region.css +1 -1
  143. package/styles/ui-toast.css +1 -1
  144. package/styles/ui-tooltip.css +1 -1
  145. package/styles/ui-top-bar.css +1 -1
  146. package/styles/ui-tree-item.css +1 -1
  147. package/styles/ui-tree.css +1 -1
  148. package/vanilla/UiActionBar.d.ts +1 -1
  149. package/vanilla/UiActionBar.js +5 -1
  150. package/vanilla/UiAffordanceScope.d.ts +1 -1
  151. package/vanilla/UiAffordanceScope.js +3 -2
  152. package/vanilla/UiAvatar.d.ts +1 -1
  153. package/vanilla/UiAvatar.js +4 -3
  154. package/vanilla/UiAvatarGroup.d.ts +1 -1
  155. package/vanilla/UiAvatarGroup.js +3 -2
  156. package/vanilla/UiBadge.d.ts +1 -1
  157. package/vanilla/UiBadge.js +2 -1
  158. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  159. package/vanilla/UiBreadcrumbItem.js +2 -1
  160. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  161. package/vanilla/UiBreadcrumbs.js +4 -7
  162. package/vanilla/UiButton.d.ts +1 -1
  163. package/vanilla/UiButton.js +6 -4
  164. package/vanilla/UiCallout.d.ts +1 -1
  165. package/vanilla/UiCallout.js +3 -2
  166. package/vanilla/UiCard.d.ts +1 -1
  167. package/vanilla/UiCard.js +6 -2
  168. package/vanilla/UiCheckbox.d.ts +1 -1
  169. package/vanilla/UiCheckbox.js +4 -2
  170. package/vanilla/UiCluster.d.ts +1 -1
  171. package/vanilla/UiCluster.js +2 -1
  172. package/vanilla/UiCombobox.d.ts +3 -2
  173. package/vanilla/UiCombobox.js +8 -2
  174. package/vanilla/UiContainer.d.ts +1 -1
  175. package/vanilla/UiContainer.js +2 -1
  176. package/vanilla/UiContextMenu.d.ts +1 -1
  177. package/vanilla/UiContextMenu.js +3 -2
  178. package/vanilla/UiCover.d.ts +1 -1
  179. package/vanilla/UiCover.js +4 -5
  180. package/vanilla/UiDescriptionItem.d.ts +1 -1
  181. package/vanilla/UiDescriptionItem.js +4 -7
  182. package/vanilla/UiDescriptionList.d.ts +1 -1
  183. package/vanilla/UiDescriptionList.js +2 -1
  184. package/vanilla/UiDialog.d.ts +1 -1
  185. package/vanilla/UiDialog.js +4 -2
  186. package/vanilla/UiDisclosure.d.ts +1 -1
  187. package/vanilla/UiDisclosure.js +4 -2
  188. package/vanilla/UiEditable.d.ts +1 -1
  189. package/vanilla/UiEditable.js +2 -2
  190. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  191. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  192. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  193. package/vanilla/UiEditorMentionMenu.js +5 -2
  194. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  195. package/vanilla/UiEditorMentionMenuItem.js +3 -1
  196. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  197. package/vanilla/UiEditorSlashMenu.js +6 -2
  198. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  199. package/vanilla/UiEditorSlashMenuGroup.js +4 -7
  200. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  201. package/vanilla/UiEditorSlashMenuItem.js +2 -1
  202. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  203. package/vanilla/UiEditorTableContextMenu.js +2 -2
  204. package/vanilla/UiEditorTableOverlay.d.ts +12 -2
  205. package/vanilla/UiEditorTableOverlay.js +2 -2
  206. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  207. package/vanilla/UiEditorTableToolbar.js +2 -2
  208. package/vanilla/UiEditorToolbar.d.ts +1 -1
  209. package/vanilla/UiEditorToolbar.js +2 -1
  210. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  211. package/vanilla/UiFloatingActionButton.js +2 -1
  212. package/vanilla/UiFormField.d.ts +1 -1
  213. package/vanilla/UiFormField.js +6 -1
  214. package/vanilla/UiGrid.d.ts +1 -1
  215. package/vanilla/UiGrid.js +4 -3
  216. package/vanilla/UiIcon.d.ts +1 -1
  217. package/vanilla/UiIcon.js +1 -1
  218. package/vanilla/UiIconButton.d.ts +1 -1
  219. package/vanilla/UiIconButton.js +4 -3
  220. package/vanilla/UiInput.d.ts +5 -4
  221. package/vanilla/UiInput.js +16 -13
  222. package/vanilla/UiInputGroup.d.ts +1 -1
  223. package/vanilla/UiInputGroup.js +5 -1
  224. package/vanilla/UiList.d.ts +1 -1
  225. package/vanilla/UiList.js +4 -2
  226. package/vanilla/UiListItem.d.ts +1 -1
  227. package/vanilla/UiListItem.js +5 -1
  228. package/vanilla/UiListbox.d.ts +1 -1
  229. package/vanilla/UiListbox.js +3 -2
  230. package/vanilla/UiMenu.d.ts +1 -1
  231. package/vanilla/UiMenu.js +3 -2
  232. package/vanilla/UiMenuGroup.d.ts +1 -1
  233. package/vanilla/UiMenuGroup.js +2 -1
  234. package/vanilla/UiMenuItem.d.ts +1 -1
  235. package/vanilla/UiMenuItem.js +6 -2
  236. package/vanilla/UiMeter.d.ts +1 -1
  237. package/vanilla/UiMeter.js +2 -2
  238. package/vanilla/UiNavItem.d.ts +2 -2
  239. package/vanilla/UiNavItem.js +11 -5
  240. package/vanilla/UiPageHeader.d.ts +1 -1
  241. package/vanilla/UiPageHeader.js +8 -5
  242. package/vanilla/UiPopover.d.ts +1 -1
  243. package/vanilla/UiPopover.js +3 -2
  244. package/vanilla/UiRadio.d.ts +1 -1
  245. package/vanilla/UiRadio.js +4 -2
  246. package/vanilla/UiRadioGroup.d.ts +1 -1
  247. package/vanilla/UiRadioGroup.js +3 -2
  248. package/vanilla/UiReel.d.ts +1 -1
  249. package/vanilla/UiReel.js +2 -1
  250. package/vanilla/UiScrollArea.d.ts +1 -1
  251. package/vanilla/UiScrollArea.js +3 -2
  252. package/vanilla/UiSearchResultRow.d.ts +1 -1
  253. package/vanilla/UiSearchResultRow.js +6 -1
  254. package/vanilla/UiSearchShell.d.ts +1 -1
  255. package/vanilla/UiSearchShell.js +6 -2
  256. package/vanilla/UiSection.d.ts +1 -1
  257. package/vanilla/UiSection.js +5 -2
  258. package/vanilla/UiSelect.d.ts +1 -1
  259. package/vanilla/UiSelect.js +3 -2
  260. package/vanilla/UiSeparator.d.ts +1 -1
  261. package/vanilla/UiSeparator.js +3 -7
  262. package/vanilla/UiSidebar.d.ts +1 -1
  263. package/vanilla/UiSidebar.js +3 -2
  264. package/vanilla/UiSpinner.d.ts +1 -1
  265. package/vanilla/UiSpinner.js +2 -2
  266. package/vanilla/UiStack.d.ts +1 -1
  267. package/vanilla/UiStack.js +2 -1
  268. package/vanilla/UiStatusMessage.d.ts +1 -1
  269. package/vanilla/UiStatusMessage.js +4 -2
  270. package/vanilla/UiSwitch.d.ts +1 -1
  271. package/vanilla/UiSwitch.js +4 -2
  272. package/vanilla/UiSwitcher.d.ts +1 -1
  273. package/vanilla/UiSwitcher.js +3 -2
  274. package/vanilla/UiTable.d.ts +1 -1
  275. package/vanilla/UiTable.js +3 -2
  276. package/vanilla/UiTabs.d.ts +1 -1
  277. package/vanilla/UiTabs.js +4 -2
  278. package/vanilla/UiText.d.ts +1 -1
  279. package/vanilla/UiText.js +13 -2
  280. package/vanilla/UiTextarea.d.ts +1 -1
  281. package/vanilla/UiTextarea.js +3 -3
  282. package/vanilla/UiToast.d.ts +1 -1
  283. package/vanilla/UiToast.js +4 -2
  284. package/vanilla/UiToastRegion.d.ts +1 -1
  285. package/vanilla/UiToastRegion.js +3 -2
  286. package/vanilla/UiTooltip.d.ts +1 -1
  287. package/vanilla/UiTooltip.js +3 -2
  288. package/vanilla/UiTopBar.d.ts +1 -1
  289. package/vanilla/UiTopBar.js +5 -1
  290. package/vanilla/UiTree.d.ts +1 -1
  291. package/vanilla/UiTree.js +3 -2
  292. package/vanilla/UiTreeItem.d.ts +1 -1
  293. package/vanilla/UiTreeItem.js +8 -4
  294. package/vue/UiActionBar.vue +33 -2
  295. package/vue/UiAffordanceScope.d.ts +23 -8
  296. package/vue/UiAffordanceScope.vue +90 -17
  297. package/vue/UiAvatar.d.ts +77 -19
  298. package/vue/UiAvatar.vue +151 -31
  299. package/vue/UiAvatarGroup.d.ts +50 -13
  300. package/vue/UiAvatarGroup.vue +121 -23
  301. package/vue/UiBadge.d.ts +32 -10
  302. package/vue/UiBadge.vue +104 -17
  303. package/vue/UiBreadcrumbItem.d.ts +14 -6
  304. package/vue/UiBreadcrumbItem.vue +82 -15
  305. package/vue/UiBreadcrumbs.d.ts +14 -6
  306. package/vue/UiBreadcrumbs.vue +78 -10
  307. package/vue/UiButton.d.ts +122 -27
  308. package/vue/UiButton.vue +288 -64
  309. package/vue/UiCallout.d.ts +14 -6
  310. package/vue/UiCallout.vue +84 -16
  311. package/vue/UiCard.d.ts +41 -12
  312. package/vue/UiCard.vue +149 -25
  313. package/vue/UiCheckbox.d.ts +85 -28
  314. package/vue/UiCheckbox.vue +173 -43
  315. package/vue/UiCluster.d.ts +41 -7
  316. package/vue/UiCluster.vue +122 -13
  317. package/vue/UiCombobox.d.ts +303 -110
  318. package/vue/UiCombobox.vue +723 -412
  319. package/vue/UiContainer.d.ts +23 -5
  320. package/vue/UiContainer.vue +89 -9
  321. package/vue/UiContextMenu.d.ts +38 -23
  322. package/vue/UiContextMenu.vue +113 -38
  323. package/vue/UiCover.d.ts +14 -6
  324. package/vue/UiCover.vue +76 -12
  325. package/vue/UiDescriptionItem.d.ts +14 -6
  326. package/vue/UiDescriptionItem.vue +78 -11
  327. package/vue/UiDescriptionList.d.ts +32 -9
  328. package/vue/UiDescriptionList.vue +106 -16
  329. package/vue/UiDialog.d.ts +89 -30
  330. package/vue/UiDialog.vue +168 -38
  331. package/vue/UiDisclosure.d.ts +70 -27
  332. package/vue/UiDisclosure.vue +149 -36
  333. package/vue/UiEditable.d.ts +119 -41
  334. package/vue/UiEditable.vue +220 -62
  335. package/vue/UiEditorInsertTableGrid.d.ts +46 -17
  336. package/vue/UiEditorInsertTableGrid.vue +215 -40
  337. package/vue/UiEditorMentionMenu.d.ts +128 -41
  338. package/vue/UiEditorMentionMenu.vue +211 -37
  339. package/vue/UiEditorMentionMenuItem.d.ts +32 -10
  340. package/vue/UiEditorMentionMenuItem.vue +98 -17
  341. package/vue/UiEditorSlashMenu.d.ts +110 -37
  342. package/vue/UiEditorSlashMenu.vue +189 -31
  343. package/vue/UiEditorSlashMenuGroup.d.ts +14 -6
  344. package/vue/UiEditorSlashMenuGroup.vue +80 -12
  345. package/vue/UiEditorSlashMenuItem.d.ts +50 -14
  346. package/vue/UiEditorSlashMenuItem.vue +120 -23
  347. package/vue/UiEditorTableContextMenu.d.ts +64 -20
  348. package/vue/UiEditorTableContextMenu.vue +326 -91
  349. package/vue/UiEditorTableOverlay.d.ts +170 -44
  350. package/vue/UiEditorTableOverlay.vue +420 -149
  351. package/vue/UiEditorTableToolbar.d.ts +64 -20
  352. package/vue/UiEditorTableToolbar.vue +344 -107
  353. package/vue/UiEditorToolbar.d.ts +14 -6
  354. package/vue/UiEditorToolbar.vue +79 -15
  355. package/vue/UiFloatingActionButton.d.ts +32 -10
  356. package/vue/UiFloatingActionButton.vue +96 -18
  357. package/vue/UiFormField.d.ts +32 -10
  358. package/vue/UiFormField.vue +99 -19
  359. package/vue/UiGrid.d.ts +32 -6
  360. package/vue/UiGrid.vue +95 -11
  361. package/vue/UiIcon.d.ts +14 -6
  362. package/vue/UiIcon.vue +99 -14
  363. package/vue/UiIconButton.d.ts +77 -19
  364. package/vue/UiIconButton.vue +176 -39
  365. package/vue/UiInput.d.ts +50 -19
  366. package/vue/UiInput.vue +326 -33
  367. package/vue/UiInputGroup.d.ts +14 -6
  368. package/vue/UiInputGroup.vue +79 -15
  369. package/vue/UiList.d.ts +41 -12
  370. package/vue/UiList.vue +125 -22
  371. package/vue/UiListItem.d.ts +23 -8
  372. package/vue/UiListItem.vue +88 -16
  373. package/vue/UiListbox.d.ts +86 -27
  374. package/vue/UiListbox.vue +272 -64
  375. package/vue/UiMenu.d.ts +69 -33
  376. package/vue/UiMenu.vue +142 -38
  377. package/vue/UiMenuGroup.d.ts +14 -6
  378. package/vue/UiMenuGroup.vue +80 -11
  379. package/vue/UiMenuItem.d.ts +61 -25
  380. package/vue/UiMenuItem.vue +174 -45
  381. package/vue/UiMeter.d.ts +68 -18
  382. package/vue/UiMeter.vue +215 -41
  383. package/vue/UiNavItem.d.ts +50 -11
  384. package/vue/UiNavItem.vue +163 -29
  385. package/vue/UiPageHeader.d.ts +14 -6
  386. package/vue/UiPageHeader.vue +75 -12
  387. package/vue/UiPopover.d.ts +43 -21
  388. package/vue/UiPopover.vue +147 -27
  389. package/vue/UiRadio.d.ts +67 -24
  390. package/vue/UiRadio.vue +147 -36
  391. package/vue/UiRadioGroup.d.ts +79 -29
  392. package/vue/UiRadioGroup.vue +162 -41
  393. package/vue/UiReel.d.ts +32 -6
  394. package/vue/UiReel.vue +97 -11
  395. package/vue/UiScrollArea.d.ts +14 -6
  396. package/vue/UiScrollArea.vue +83 -14
  397. package/vue/UiSearchResultRow.d.ts +23 -8
  398. package/vue/UiSearchResultRow.vue +86 -16
  399. package/vue/UiSearchShell.d.ts +48 -19
  400. package/vue/UiSearchShell.vue +120 -26
  401. package/vue/UiSection.d.ts +32 -10
  402. package/vue/UiSection.vue +103 -17
  403. package/vue/UiSelect.d.ts +59 -17
  404. package/vue/UiSelect.vue +140 -29
  405. package/vue/UiSeparator.d.ts +14 -6
  406. package/vue/UiSeparator.vue +80 -9
  407. package/vue/UiSidebar.d.ts +95 -31
  408. package/vue/UiSidebar.vue +172 -39
  409. package/vue/UiSpinner.d.ts +23 -8
  410. package/vue/UiSpinner.vue +115 -24
  411. package/vue/UiStack.d.ts +32 -6
  412. package/vue/UiStack.vue +107 -11
  413. package/vue/UiStatusMessage.d.ts +32 -10
  414. package/vue/UiStatusMessage.vue +109 -19
  415. package/vue/UiSwitch.d.ts +67 -24
  416. package/vue/UiSwitch.vue +147 -36
  417. package/vue/UiSwitcher.d.ts +41 -7
  418. package/vue/UiSwitcher.vue +118 -15
  419. package/vue/UiTable.d.ts +23 -8
  420. package/vue/UiTable.vue +91 -17
  421. package/vue/UiTabs.d.ts +66 -23
  422. package/vue/UiTabs.vue +230 -44
  423. package/vue/UiText.d.ts +68 -18
  424. package/vue/UiText.vue +308 -48
  425. package/vue/UiTextarea.d.ts +84 -21
  426. package/vue/UiTextarea.vue +172 -38
  427. package/vue/UiToast.d.ts +28 -13
  428. package/vue/UiToast.vue +103 -24
  429. package/vue/UiToastRegion.d.ts +29 -14
  430. package/vue/UiToastRegion.vue +202 -47
  431. package/vue/UiTooltip.d.ts +81 -31
  432. package/vue/UiTooltip.vue +192 -37
  433. package/vue/UiTopBar.vue +33 -2
  434. package/vue/UiTree.d.ts +72 -29
  435. package/vue/UiTree.vue +170 -49
  436. package/vue/UiTreeItem.d.ts +136 -35
  437. package/vue/UiTreeItem.vue +227 -61
  438. package/vue/chunks/UiActionBar.js +16 -3
  439. package/vue/chunks/UiAffordanceScope.js +66 -11
  440. package/vue/chunks/UiAvatar.js +121 -20
  441. package/vue/chunks/UiAvatarGroup.js +94 -15
  442. package/vue/chunks/UiBadge.js +82 -10
  443. package/vue/chunks/UiBreadcrumbItem.js +43 -9
  444. package/vue/chunks/UiBreadcrumbs.js +41 -5
  445. package/vue/chunks/UiButton.js +237 -51
  446. package/vue/chunks/UiCallout.js +53 -11
  447. package/vue/chunks/UiCard.js +145 -18
  448. package/vue/chunks/UiCheckbox.js +130 -30
  449. package/vue/chunks/UiCluster.js +99 -12
  450. package/vue/chunks/UiCombobox.js +545 -162
  451. package/vue/chunks/UiContainer.js +65 -7
  452. package/vue/chunks/UiContextMenu.js +56 -11
  453. package/vue/chunks/UiCover.js +41 -6
  454. package/vue/chunks/UiDescriptionItem.js +39 -4
  455. package/vue/chunks/UiDescriptionList.js +80 -10
  456. package/vue/chunks/UiDialog.js +125 -18
  457. package/vue/chunks/UiDisclosure.js +102 -17
  458. package/vue/chunks/UiEditable.js +154 -29
  459. package/vue/chunks/UiEditorInsertTableGrid.js +154 -31
  460. package/vue/chunks/UiEditorMentionMenu.js +221 -18
  461. package/vue/chunks/UiEditorMentionMenuItem.js +64 -7
  462. package/vue/chunks/UiEditorSlashMenu.js +201 -14
  463. package/vue/chunks/UiEditorSlashMenuGroup.js +43 -9
  464. package/vue/chunks/UiEditorSlashMenuItem.js +80 -14
  465. package/vue/chunks/UiEditorTableContextMenu.js +220 -49
  466. package/vue/chunks/UiEditorTableOverlay.js +390 -85
  467. package/vue/chunks/UiEditorTableToolbar.js +248 -71
  468. package/vue/chunks/UiEditorToolbar.js +44 -10
  469. package/vue/chunks/UiFloatingActionButton.js +57 -9
  470. package/vue/chunks/UiFormField.js +63 -12
  471. package/vue/chunks/UiGrid.js +80 -9
  472. package/vue/chunks/UiIcon.js +73 -16
  473. package/vue/chunks/UiIconButton.js +126 -28
  474. package/vue/chunks/UiInput.js +328 -22
  475. package/vue/chunks/UiInputGroup.js +44 -10
  476. package/vue/chunks/UiList.js +104 -15
  477. package/vue/chunks/UiListItem.js +57 -8
  478. package/vue/chunks/UiListbox.js +208 -49
  479. package/vue/chunks/UiMenu.js +88 -15
  480. package/vue/chunks/UiMenuGroup.js +41 -5
  481. package/vue/chunks/UiMenuItem.js +111 -32
  482. package/vue/chunks/UiMeter.js +166 -36
  483. package/vue/chunks/UiNavItem.js +133 -37
  484. package/vue/chunks/UiPageHeader.js +41 -6
  485. package/vue/chunks/UiPopover.js +81 -11
  486. package/vue/chunks/UiRadio.js +115 -24
  487. package/vue/chunks/UiRadioGroup.js +108 -19
  488. package/vue/chunks/UiReel.js +81 -10
  489. package/vue/chunks/UiScrollArea.js +47 -10
  490. package/vue/chunks/UiSearchResultRow.js +47 -8
  491. package/vue/chunks/UiSearchShell.js +84 -24
  492. package/vue/chunks/UiSection.js +77 -10
  493. package/vue/chunks/UiSelect.js +108 -20
  494. package/vue/chunks/UiSeparator.js +41 -5
  495. package/vue/chunks/UiSidebar.js +136 -20
  496. package/vue/chunks/UiSpinner.js +64 -19
  497. package/vue/chunks/UiStack.js +87 -10
  498. package/vue/chunks/UiStatusMessage.js +82 -12
  499. package/vue/chunks/UiSwitch.js +115 -24
  500. package/vue/chunks/UiSwitcher.js +103 -15
  501. package/vue/chunks/UiTable.js +63 -11
  502. package/vue/chunks/UiTabs.js +170 -30
  503. package/vue/chunks/UiText.js +365 -38
  504. package/vue/chunks/UiTextarea.js +132 -26
  505. package/vue/chunks/UiToast.js +70 -12
  506. package/vue/chunks/UiToastRegion.js +154 -33
  507. package/vue/chunks/UiTooltip.js +124 -16
  508. package/vue/chunks/UiTopBar.js +16 -3
  509. package/vue/chunks/UiTree.js +107 -15
  510. package/vue/chunks/UiTreeItem.js +167 -43
  511. package/vue/chunks/control.js +171 -0
  512. package/vue/chunks/host.js +170 -27
  513. package/vue/chunks/props.js +477 -0
  514. package/vue/components.css +1192 -1192
  515. package/vue/editor/index.js +58 -15
  516. package/vue/editor/primitives.d.ts +52 -2
  517. package/vue/host.ts +370 -39
@@ -11,15 +11,30 @@
11
11
  >The form field name the combobox submits its value under, never the label shown in the field. Single mode sends one entry: the selected option's value, the
12
12
  typed text when allowFreeText is set and no option is selected, or an empty string. Multiple mode sends one entry per chosen item's value, and nothing
13
13
  when none is chosen. A disabled combobox sends nothing.</prop>
14
- <prop name="value" type="string | null"
14
+ <prop name="value" type="string"
15
15
  >The selected value in single mode, which a named combobox submits with its form. The field shows the matching option's label, and a form reset returns to
16
16
  this value. In a strict combobox, typing a search does not change the selection; leaving with no match restores its label. If omitted, the first authored
17
17
  option with selected sets the initial value.</prop>
18
18
  <prop
19
19
  name="items"
20
- type="list(object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }))"
21
- >The selected items in multiple mode, as JSON; a named combobox submits each one's value. A form reset returns to these items, or to authored selected
22
- options when unset.</prop>
20
+ type="array"
21
+ >
22
+ <prop type="object">
23
+ <prop name="id" required type="string"></prop>
24
+ <prop name="value" required type="string"></prop>
25
+ <prop name="label" required type="string"></prop>
26
+ <prop name="group" type="string"></prop>
27
+ <prop name="disabled" type="boolean"></prop>
28
+ <prop name="description" type="string"></prop>
29
+ <prop name="tag" type="object">
30
+ <prop name="label" required type="string"></prop>
31
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
32
+ <prop name="color" type="string"></prop>
33
+ </prop>
34
+ </prop>
35
+ The selected items in multiple mode, as JSON; a named combobox submits each one's value. A form reset returns to these items, or to authored selected
36
+ options when unset.
37
+ </prop>
23
38
  <prop name="selectedValues" type="list(string)"
24
39
  >The selected option values in multiple mode, when the consumer controls the selection. Without it or items, authored options with selected set the initial
25
40
  selection. Once set, the consumer owns it: each value shows as a badge with its authored option's label, adding or removing one reports
@@ -27,7 +42,7 @@
27
42
  It takes precedence over items; leave it unset to let the combobox keep its own selection.</prop>
28
43
  <prop name="multiple" type="boolean" default="false"
29
44
  >Lets the user choose several options. Each choice becomes a removable badge before the input, the list stays open between picks, and choosing a checked
30
- option removes it. value-change then reports the whole list of items, and selected-values-change the list of their values; use selectedValues or items,
45
+ option removes it. items-change then reports the whole list of items, and selected-values-change the list of their values; use selectedValues or items,
31
46
  not value, in this mode.</prop>
32
47
  <prop name="tokenSeparators" type="list(string)"
33
48
  >Keys that commit the typed text in multiple mode, as KeyboardEvent key values such as "," or ";". The text is added as the option whose label matches it,
@@ -35,7 +50,7 @@
35
50
  <prop name="query" type="string"
36
51
  >The input's text, when the consumer controls it. Once set, the consumer owns the text: typing reports query-change, and the input returns to query unless
37
52
  query is updated to match. Leave it unset to let the combobox manage its own text, showing the chosen option's label.</prop>
38
- <prop name="filter" type="label | none" default="label"
53
+ <prop name="filter" type="keyword" values="label, none" default="label"
39
54
  >How the list narrows as the user types. label lists the options whose label contains the typed text, ignoring case. none lists every authored option, for
40
55
  options already narrowed elsewhere, such as a server search, so a result that matched on data other than its label still shows. Leaving the field still
41
56
  commits an option whose label matches the text, or the only one listed.</prop>
@@ -57,11 +72,11 @@
57
72
  <prop name="openOnFocus" type="boolean" default="false">Opens suggestions when the input receives focus, before typing.</prop>
58
73
  <prop name="loading" type="boolean" default="false"
59
74
  >Marks the suggestion list busy while the consumer loads options. It announces loading and suppresses the empty state and create offer until cleared.</prop>
60
- <prop name="size" type="sm | md | lg" default="md"
75
+ <prop name="size" type="keyword" values="sm, md, lg" default="md"
61
76
  >Field height, padding, and type size, matching Button's sizes so a field and a button of one size share a row. sm is the small control height (2rem by
62
77
  default) with smaller text, for compact rows such as a table row or a filter bar; md is the standard control height; lg is taller with roomier padding.
63
78
  Under a coarse pointer, sm grows to the 44px touch minimum and keeps body-size text. The label keeps its size.</prop>
64
- <prop name="labelVisibility" type="visible | sr-only" default="visible"
79
+ <prop name="labelVisibility" type="keyword" values="visible, sr-only" default="visible"
65
80
  >visible shows the label above the field; sr-only hides it visually but keeps it as the input's accessible name. Use sr-only only when the surrounding
66
81
  layout already makes the field's purpose clear.</prop>
67
82
  <prop name="disclosure" type="boolean" default="false"
@@ -75,74 +90,282 @@
75
90
  it.</prop>
76
91
  <state
77
92
  name="internalItems"
78
- type="list(object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }))"
93
+ type="array"
79
94
  :value="[]"
80
- ></state>
95
+ >
96
+ <prop type="object">
97
+ <prop name="id" required type="string"></prop>
98
+ <prop name="value" required type="string"></prop>
99
+ <prop name="label" required type="string"></prop>
100
+ <prop name="group" type="string"></prop>
101
+ <prop name="disabled" type="boolean"></prop>
102
+ <prop name="description" type="string"></prop>
103
+ <prop name="tag" type="object">
104
+ <prop name="label" required type="string"></prop>
105
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
106
+ <prop name="color" type="string"></prop>
107
+ </prop>
108
+ </prop>
109
+ </state>
81
110
  <state name="raw" :value="''"></state>
82
111
  <state name="display" :value="''"></state>
83
- <state name="selected" type="string | null" :value="null"></state>
112
+ <state name="selected" type="string" :value="null" nullable></state>
84
113
  <state name="expanded" :value="false"></state>
85
114
  <state
86
115
  name="rows"
87
- type="list(object({ id: string, value: string, label: string, group?: string, disabled: boolean, selected: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }))"
116
+ type="array"
88
117
  :value="[]"
89
- ></state>
118
+ >
119
+ <prop type="object">
120
+ <prop name="id" required type="string"></prop>
121
+ <prop name="value" required type="string"></prop>
122
+ <prop name="label" required type="string"></prop>
123
+ <prop name="group" type="string"></prop>
124
+ <prop name="disabled" required type="boolean"></prop>
125
+ <prop name="selected" required type="boolean"></prop>
126
+ <prop name="description" type="string"></prop>
127
+ <prop name="tag" type="object">
128
+ <prop name="label" required type="string"></prop>
129
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
130
+ <prop name="color" type="string"></prop>
131
+ </prop>
132
+ </prop>
133
+ </state>
90
134
  <state name="active" :value="-1"></state>
91
135
  <state name="helpOpen" :value="false"></state>
92
136
  <state name="lookupError" :value="''"></state>
93
137
  <state
94
138
  name="validation"
95
- type="object({ status: pristine | pending | valid | warning | error, touched: boolean, dirty: boolean, issues: list(object({ message: string })), ... })"
139
+ type="object"
96
140
  :value="{ status: 'pristine', touched: false, dirty: false, issues: [] }"
97
- ></state>
141
+ open
142
+ >
143
+ <prop name="status" required type="keyword" values="pristine, pending, valid, warning, error"></prop>
144
+ <prop name="touched" required type="boolean"></prop>
145
+ <prop name="dirty" required type="boolean"></prop>
146
+ <prop name="issues" required type="array">
147
+ <prop type="object">
148
+ <prop name="message" required type="string"></prop>
149
+ </prop>
150
+ </prop>
151
+ </state>
98
152
  <state name="uid" :value="''"></state>
99
153
  <state name="submitted" :value="''"></state>
100
154
  <state
101
155
  name="groups"
102
- type="list(object({ name: string, role: group | presentation, label: string | null, rows: list(object({ id: string, value: string, label: string, group?: string, disabled: boolean, selected: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }), index: integer, labelledBy: string | null, detail: string | null })) }))"
156
+ type="array"
103
157
  :value="[]"
104
- ></state>
158
+ >
159
+ <prop type="object">
160
+ <prop name="name" required type="string"></prop>
161
+ <prop name="role" required type="keyword" values="group, presentation"></prop>
162
+ <prop name="label" required nullable type="string"></prop>
163
+ <prop name="rows" required type="array">
164
+ <prop type="object">
165
+ <prop name="id" required type="string"></prop>
166
+ <prop name="value" required type="string"></prop>
167
+ <prop name="label" required type="string"></prop>
168
+ <prop name="group" type="string"></prop>
169
+ <prop name="disabled" required type="boolean"></prop>
170
+ <prop name="selected" required type="boolean"></prop>
171
+ <prop name="description" type="string"></prop>
172
+ <prop name="tag" type="object">
173
+ <prop name="label" required type="string"></prop>
174
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
175
+ <prop name="color" type="string"></prop>
176
+ </prop>
177
+ <prop name="index" required type="integer"></prop>
178
+ <prop name="labelledBy" required nullable type="string"></prop>
179
+ <prop name="detail" required nullable type="string"></prop>
180
+ </prop>
181
+ </prop>
182
+ </prop>
183
+ </state>
105
184
  <state name="creatable" :value="false"></state>
106
185
  <state name="createIndex" :value="0"></state>
107
186
  <state name="message" :value="''"></state>
108
187
  <state name="statusText" :value="''"></state>
109
188
  <state name="validationStatus" :value="'pristine'"></state>
110
- <event name="query-change" type="object({ query: string, display: string, trigger: keyboard | pointer | programmatic })"></event>
189
+ <event name="query-change" type="object">
190
+ <prop name="query" required type="string"></prop>
191
+ <prop name="display" required type="string"></prop>
192
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
193
+ </event>
111
194
  <event
112
195
  name="value-change"
113
- type="object({ value: string | null, query: string, option: object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }) | null, kind: selection | clear | free-entry | create, trigger: keyboard | pointer | programmatic }) | list(object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }))"
114
- ></event>
196
+ type="object"
197
+ >
198
+ <prop name="value" required nullable type="string"></prop>
199
+ <prop name="query" required type="string"></prop>
200
+ <prop name="option" required nullable type="object">
201
+ <prop name="id" required type="string"></prop>
202
+ <prop name="value" required type="string"></prop>
203
+ <prop name="label" required type="string"></prop>
204
+ <prop name="group" type="string"></prop>
205
+ <prop name="disabled" type="boolean"></prop>
206
+ <prop name="description" type="string"></prop>
207
+ <prop name="tag" type="object">
208
+ <prop name="label" required type="string"></prop>
209
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
210
+ <prop name="color" type="string"></prop>
211
+ </prop>
212
+ </prop>
213
+ <prop name="kind" required type="keyword" values="selection, clear, free-entry, create"></prop>
214
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
215
+ </event>
216
+ <event
217
+ name="items-change"
218
+ type="array"
219
+ >
220
+ <prop type="object">
221
+ <prop name="id" required type="string"></prop>
222
+ <prop name="value" required type="string"></prop>
223
+ <prop name="label" required type="string"></prop>
224
+ <prop name="group" type="string"></prop>
225
+ <prop name="disabled" type="boolean"></prop>
226
+ <prop name="description" type="string"></prop>
227
+ <prop name="tag" type="object">
228
+ <prop name="label" required type="string"></prop>
229
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
230
+ <prop name="color" type="string"></prop>
231
+ </prop>
232
+ </prop>
233
+ </event>
115
234
  <event
116
235
  name="free-entry"
117
- type="object({ value: string | null, query: string, option: object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }) | null, kind: selection | clear | free-entry | create, trigger: keyboard | pointer | programmatic })"
118
- ></event>
236
+ type="object"
237
+ >
238
+ <prop name="value" required nullable type="string"></prop>
239
+ <prop name="query" required type="string"></prop>
240
+ <prop name="option" required nullable type="object">
241
+ <prop name="id" required type="string"></prop>
242
+ <prop name="value" required type="string"></prop>
243
+ <prop name="label" required type="string"></prop>
244
+ <prop name="group" type="string"></prop>
245
+ <prop name="disabled" type="boolean"></prop>
246
+ <prop name="description" type="string"></prop>
247
+ <prop name="tag" type="object">
248
+ <prop name="label" required type="string"></prop>
249
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
250
+ <prop name="color" type="string"></prop>
251
+ </prop>
252
+ </prop>
253
+ <prop name="kind" required type="keyword" values="selection, clear, free-entry, create"></prop>
254
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
255
+ </event>
119
256
  <event
120
257
  name="create-entry"
121
- type="object({ value: string | null, query: string, option: object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }) | null, kind: selection | clear | free-entry | create, trigger: keyboard | pointer | programmatic })"
122
- ></event>
258
+ type="object"
259
+ >
260
+ <prop name="value" required nullable type="string"></prop>
261
+ <prop name="query" required type="string"></prop>
262
+ <prop name="option" required nullable type="object">
263
+ <prop name="id" required type="string"></prop>
264
+ <prop name="value" required type="string"></prop>
265
+ <prop name="label" required type="string"></prop>
266
+ <prop name="group" type="string"></prop>
267
+ <prop name="disabled" type="boolean"></prop>
268
+ <prop name="description" type="string"></prop>
269
+ <prop name="tag" type="object">
270
+ <prop name="label" required type="string"></prop>
271
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
272
+ <prop name="color" type="string"></prop>
273
+ </prop>
274
+ </prop>
275
+ <prop name="kind" required type="keyword" values="selection, clear, free-entry, create"></prop>
276
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
277
+ </event>
123
278
  <event
124
279
  name="validation-change"
125
- type="object({ status: pristine | pending | valid | warning | error, touched: boolean, dirty: boolean, issues: list(object({ message: string, path?: list(unknown), severity?: error | warning })), output?: unknown })"
126
- ></event>
280
+ type="object"
281
+ >
282
+ <prop name="status" required type="keyword" values="pristine, pending, valid, warning, error"></prop>
283
+ <prop name="touched" required type="boolean"></prop>
284
+ <prop name="dirty" required type="boolean"></prop>
285
+ <prop name="issues" required type="array">
286
+ <prop type="object">
287
+ <prop name="message" required type="string"></prop>
288
+ <prop name="path" type="array">
289
+ <prop type="unknown"></prop>
290
+ </prop>
291
+ <prop name="severity" type="keyword" values="error, warning"></prop>
292
+ </prop>
293
+ </prop>
294
+ <prop name="output" type="unknown"></prop>
295
+ </event>
127
296
  <event
128
297
  name="options-change"
129
- type="list(object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }))"
130
- ></event>
298
+ type="array"
299
+ >
300
+ <prop type="object">
301
+ <prop name="id" required type="string"></prop>
302
+ <prop name="value" required type="string"></prop>
303
+ <prop name="label" required type="string"></prop>
304
+ <prop name="group" type="string"></prop>
305
+ <prop name="disabled" type="boolean"></prop>
306
+ <prop name="description" type="string"></prop>
307
+ <prop name="tag" type="object">
308
+ <prop name="label" required type="string"></prop>
309
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
310
+ <prop name="color" type="string"></prop>
311
+ </prop>
312
+ </prop>
313
+ </event>
131
314
  <event
132
315
  name="add-item"
133
- type="object({ item: object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }), index: integer, trigger: keyboard | pointer | programmatic })"
134
- ></event>
316
+ type="object"
317
+ >
318
+ <prop name="item" required type="object">
319
+ <prop name="id" required type="string"></prop>
320
+ <prop name="value" required type="string"></prop>
321
+ <prop name="label" required type="string"></prop>
322
+ <prop name="group" type="string"></prop>
323
+ <prop name="disabled" type="boolean"></prop>
324
+ <prop name="description" type="string"></prop>
325
+ <prop name="tag" type="object">
326
+ <prop name="label" required type="string"></prop>
327
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
328
+ <prop name="color" type="string"></prop>
329
+ </prop>
330
+ </prop>
331
+ <prop name="index" required type="integer"></prop>
332
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
333
+ </event>
135
334
  <event
136
335
  name="remove-item"
137
- type="object({ item: object({ id: string, value: string, label: string, group?: string, disabled?: boolean, description?: string, tag?: object({ label: string, tone?: neutral | accent | info | success | warning | danger, color?: string }) }), index: integer, trigger: keyboard | pointer | programmatic })"
138
- ></event>
139
- <event name="create-item" type="object({ query: string, trigger: keyboard | pointer | programmatic })"></event>
140
- <event name="selected-values-change" type="object({ selectedValues: list(string), trigger: keyboard | pointer | programmatic })"></event>
336
+ type="object"
337
+ >
338
+ <prop name="item" required type="object">
339
+ <prop name="id" required type="string"></prop>
340
+ <prop name="value" required type="string"></prop>
341
+ <prop name="label" required type="string"></prop>
342
+ <prop name="group" type="string"></prop>
343
+ <prop name="disabled" type="boolean"></prop>
344
+ <prop name="description" type="string"></prop>
345
+ <prop name="tag" type="object">
346
+ <prop name="label" required type="string"></prop>
347
+ <prop name="tone" type="keyword" values="neutral, accent, info, success, warning, danger"></prop>
348
+ <prop name="color" type="string"></prop>
349
+ </prop>
350
+ </prop>
351
+ <prop name="index" required type="integer"></prop>
352
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
353
+ </event>
354
+ <event name="create-item" type="object">
355
+ <prop name="query" required type="string"></prop>
356
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
357
+ </event>
358
+ <event name="selected-values-change" type="object">
359
+ <prop name="selectedValues" required type="array">
360
+ <prop type="string"></prop>
361
+ </prop>
362
+ <prop name="trigger" required type="keyword" values="keyboard, pointer, programmatic"></prop>
363
+ </event>
141
364
  <method name="validate" export="validate" returns="promise(unknown)"></method>
142
365
  <method name="focusInput" export="focusInput" returns="promise(undefined)"></method>
143
366
  </defs>
144
367
  <div>
145
- <label :for="format('%s-input', uid)" class:sr-only="labelVisibility = 'sr-only'"><template $value="label"></template><template $if="required">
368
+ <label from:for="format('%s-input', uid)" class:sr-only="labelVisibility = 'sr-only'"><template $value="label"></template><template $if="required">
146
369
  *</template></label>
147
370
  <div class="control">
148
371
  <div class="field" $ref="field">
@@ -155,40 +378,40 @@
155
378
  class="item"
156
379
  type="button"
157
380
  tabindex="-1"
158
- :data-index="index"
159
- :disabled="disabled or readonly or item.disabled"
160
- :aria-label="format('%s, press Delete or Backspace to remove', item.label)"
381
+ from:data-index="index"
382
+ from:disabled="disabled or readonly or item.disabled"
383
+ from:aria-label="format('%s, press Delete or Backspace to remove', item.label)"
161
384
  >
162
- <slot :name="format('item-%s', item.id)"><ui-badge $value="item.label"></ui-badge></slot>
385
+ <slot from:name="format('item-%s', item.id)"><ui-badge $value="item.label"></ui-badge></slot>
163
386
  </button>
164
387
  </template>
165
388
  <input
166
389
  $ref="input"
167
- :id="format('%s-input', uid)"
390
+ from:id="format('%s-input', uid)"
168
391
  role="combobox"
169
392
  aria-autocomplete="list"
170
393
  autocomplete="off"
171
- :aria-controls="format('%s-listbox', uid)"
172
- :aria-expanded="expanded"
173
- :aria-invalid="invalid or validationStatus = 'error'"
174
- :aria-busy="loading or validationStatus = 'pending'"
394
+ from:aria-controls="format('%s-listbox', uid)"
395
+ from:aria-expanded="expanded"
396
+ from:aria-invalid="invalid or validationStatus = 'error'"
397
+ from:aria-busy="loading or validationStatus = 'pending'"
175
398
  .value="display"
176
- :placeholder="placeholder"
177
- :disabled="disabled"
178
- :readonly="readonly"
179
- :required="required and not (multiple and internalItems[0])"
399
+ from:placeholder="placeholder"
400
+ from:disabled="disabled"
401
+ from:readonly="readonly"
402
+ from:required="required and not (multiple and internalItems[0])"
180
403
  >
181
404
  </div>
182
- <input $if="name and not multiple" type="hidden" :name="name" :value="submitted" :disabled="disabled">
405
+ <input $if="name and not multiple" type="hidden" from:name="name" from:value="submitted" from:disabled="disabled">
183
406
  <template $if="name and multiple">
184
- <input $each="item of internalItems" $key="item.id" type="hidden" :name="name" :value="item.value" :disabled="disabled">
407
+ <input $each="item of internalItems" $key="item.id" type="hidden" from:name="name" from:value="item.value" from:disabled="disabled">
185
408
  </template>
186
409
  <button
187
410
  $if="clearable"
188
411
  type="button"
189
412
  data-combobox-action="clear"
190
413
  aria-label="Clear"
191
- :disabled="disabled or readonly or (not raw and (multiple or selected = null))"
414
+ from:disabled="disabled or readonly or (not raw and (multiple or selected = null))"
192
415
  >
193
416
  <svg class="affordance-icon" aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
194
417
  <path d="M7 7l10 10M17 7 7 17"></path>
@@ -200,8 +423,8 @@
200
423
  data-combobox-action="disclosure"
201
424
  tabindex="-1"
202
425
  aria-label="Show suggestions"
203
- :aria-controls="format('%s-listbox', uid)"
204
- :disabled="disabled or readonly"
426
+ from:aria-controls="format('%s-listbox', uid)"
427
+ from:disabled="disabled or readonly"
205
428
  >
206
429
  <svg
207
430
  class="affordance-icon"
@@ -217,7 +440,7 @@
217
440
  </svg>
218
441
  </button>
219
442
  </div>
220
- <button $if="help" class="help" :id="format('%s-help', uid)" type="button" aria-label="Help" :disabled="disabled">
443
+ <button $if="help" class="help" from:id="format('%s-help', uid)" type="button" aria-label="Help" from:disabled="disabled">
221
444
  <svg
222
445
  class="help-icon"
223
446
  aria-hidden="true"
@@ -234,10 +457,12 @@
234
457
  </svg>
235
458
  </button>
236
459
  </div>
237
- <ui-tooltip $if="help" trigger="click" :id="format('%s-help-text', uid)" :for="format('%s-help', uid)"><template $value="help"></template></ui-tooltip>
238
- <div class="popup" $ref="popup" :hidden="not expanded">
239
- <div role="listbox" $ref="listbox" :id="format('%s-listbox', uid)" :aria-label="format('%s suggestions', label)" :aria-busy="loading">
240
- <div $each="group of groups" $key="group.name" :role="group.role" :aria-label="group.label">
460
+ <ui-tooltip $if="help" trigger="click" from:id="format('%s-help-text', uid)" from:for="format('%s-help', uid)"><template
461
+ $value="help"
462
+ ></template></ui-tooltip>
463
+ <div class="popup" $ref="popup" from:hidden="not expanded">
464
+ <div role="listbox" $ref="listbox" from:id="format('%s-listbox', uid)" from:aria-label="format('%s suggestions', label)" from:aria-busy="loading">
465
+ <div $each="group of groups" $key="group.name" from:role="group.role" from:aria-label="group.label">
241
466
  <div $if="group.name" class="group" $value="group.name"></div>
242
467
  <div
243
468
  $each="row of group.rows"
@@ -246,24 +471,24 @@
246
471
  class:active="row.index = active"
247
472
  role="option"
248
473
  data-ui-choice-option
249
- :data-multiple="multiple"
250
- :id="format('%s-option-%s', uid, row.index)"
251
- :aria-selected="row.selected"
252
- :aria-disabled="row.disabled"
253
- :data-index="row.index"
254
- :aria-labelledby="row.labelledBy"
255
- :aria-describedby="row.detail"
474
+ from:data-multiple="multiple"
475
+ from:id="format('%s-option-%s', uid, row.index)"
476
+ from:aria-selected="row.selected"
477
+ from:aria-disabled="row.disabled"
478
+ from:data-index="row.index"
479
+ from:aria-labelledby="row.labelledBy"
480
+ from:aria-describedby="row.detail"
256
481
  >
257
- <slot :name="format('option-%s', row.id)">
482
+ <slot from:name="format('option-%s', row.id)">
258
483
  <span $if="row.detail" class="detail">
259
484
  <span class="line">
260
- <span class="primary" :id="format('%s-option-%s-label', uid, row.index)" $value="row.label"></span>
261
- <ui-badge $if="row.tag" :tone="row.tag.tone" style:--ui-badge-color="row.tag.color"><span
262
- :id="format('%s-option-%s-tag', uid, row.index)"
485
+ <span class="primary" from:id="format('%s-option-%s-label', uid, row.index)" $value="row.label"></span>
486
+ <ui-badge $if="row.tag" from:tone="row.tag.tone" style:--ui-badge-color="row.tag.color"><span
487
+ from:id="format('%s-option-%s-tag', uid, row.index)"
263
488
  $value="row.tag.label"
264
489
  ></span></ui-badge>
265
490
  </span>
266
- <span $if="row.description" class="description" :id="format('%s-option-%s-description', uid, row.index)" $value="row.description"></span>
491
+ <span $if="row.description" class="description" from:id="format('%s-option-%s-description', uid, row.index)" $value="row.description"></span>
267
492
  </span>
268
493
  <span $if="not row.detail" class="primary" $value="row.label"></span>
269
494
  </slot>
@@ -275,10 +500,10 @@
275
500
  class:active="createIndex = active"
276
501
  role="option"
277
502
  data-ui-choice-option
278
- :data-multiple="multiple"
503
+ from:data-multiple="multiple"
279
504
  aria-selected="false"
280
- :id="format('%s-option-%s', uid, createIndex)"
281
- :data-index="createIndex"
505
+ from:id="format('%s-option-%s', uid, createIndex)"
506
+ from:data-index="createIndex"
282
507
  $value="format('Create “%s”', raw)"
283
508
  >
284
509
  </div>
@@ -287,7 +512,7 @@
287
512
  </div>
288
513
  <slot name="footer"></slot>
289
514
  </div>
290
- <div class="message" :id="format('%s-validation', uid)" :hidden="not validation.issues.length">
515
+ <div class="message" from:id="format('%s-validation', uid)" from:hidden="not validation.issues.length">
291
516
  <div $each="issue of validation.issues" $value="issue.message"></div>
292
517
  </div>
293
518
  <div class="sr-only" role="status" aria-live="polite" aria-atomic="true" $value="statusText"></div>