@threadlabs/looma 0.24.1 → 0.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/README.md +1 -1
  2. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  3. package/components/ui-affordance-scope/ui-affordance-scope.js +6 -1
  4. package/components/ui-avatar/ui-avatar.html +4 -4
  5. package/components/ui-avatar/ui-avatar.js +6 -1
  6. package/components/ui-avatar-group/ui-avatar-group.html +2 -2
  7. package/components/ui-avatar-group/ui-avatar-group.js +6 -1
  8. package/components/ui-badge/ui-badge.html +30 -30
  9. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
  10. package/components/ui-button/ui-button.html +33 -33
  11. package/components/ui-button/ui-button.js +6 -1
  12. package/components/ui-callout/ui-callout.html +4 -4
  13. package/components/ui-card/ui-card.html +9 -9
  14. package/components/ui-checkbox/ui-checkbox.html +11 -11
  15. package/components/ui-checkbox/ui-checkbox.js +6 -1
  16. package/components/ui-cluster/ui-cluster.html +12 -12
  17. package/components/ui-combobox/ui-combobox.html +15 -17
  18. package/components/ui-combobox/ui-combobox.js +13 -15
  19. package/components/ui-container/ui-container.html +5 -5
  20. package/components/ui-context-menu/ui-context-menu.js +6 -1
  21. package/components/ui-cover/ui-cover.html +1 -1
  22. package/components/ui-description-list/ui-description-list.html +10 -10
  23. package/components/ui-dialog/ui-dialog.html +4 -4
  24. package/components/ui-dialog/ui-dialog.js +6 -1
  25. package/components/ui-disclosure/ui-disclosure.html +13 -13
  26. package/components/ui-disclosure/ui-disclosure.js +6 -1
  27. package/components/ui-editable/ui-editable.html +1 -1
  28. package/components/ui-editable/ui-editable.js +6 -1
  29. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +6 -1
  30. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +6 -1
  31. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +6 -1
  32. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +6 -1
  33. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +6 -1
  34. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +6 -1
  35. package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
  36. package/components/ui-editor-toolbar/ui-editor-toolbar.js +6 -1
  37. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  38. package/components/ui-form-field/ui-form-field.html +1 -1
  39. package/components/ui-form-field/ui-form-field.js +6 -1
  40. package/components/ui-grid/ui-grid.html +7 -7
  41. package/components/ui-icon-button/ui-icon-button.html +26 -26
  42. package/components/ui-icon-button/ui-icon-button.js +6 -1
  43. package/components/ui-image/ui-image.html +11 -11
  44. package/components/ui-image/ui-image.js +6 -1
  45. package/components/ui-input/ui-input.html +9 -7
  46. package/components/ui-input/ui-input.js +6 -1
  47. package/components/ui-input-group/ui-input-group.html +37 -8
  48. package/components/ui-input-group/ui-input-group.js +8 -3
  49. package/components/ui-list/ui-list.html +6 -6
  50. package/components/ui-list-item/ui-list-item.html +8 -8
  51. package/components/ui-listbox/ui-listbox.js +6 -1
  52. package/components/ui-menu/ui-menu.html +3 -3
  53. package/components/ui-menu/ui-menu.js +6 -1
  54. package/components/ui-menu-item/ui-menu-item.html +3 -3
  55. package/components/ui-menu-item/ui-menu-item.js +6 -1
  56. package/components/ui-meter/ui-meter.html +7 -7
  57. package/components/ui-nav-item/ui-nav-item.html +6 -6
  58. package/components/ui-page-header/ui-page-header.html +2 -2
  59. package/components/ui-popover/ui-popover.html +3 -3
  60. package/components/ui-popover/ui-popover.js +6 -1
  61. package/components/ui-radio/ui-radio.html +10 -10
  62. package/components/ui-radio/ui-radio.js +6 -1
  63. package/components/ui-radio-group/ui-radio-group.html +2 -2
  64. package/components/ui-radio-group/ui-radio-group.js +6 -1
  65. package/components/ui-reel/ui-reel.html +11 -11
  66. package/components/ui-scroll-area/ui-scroll-area.html +4 -4
  67. package/components/ui-scroll-area/ui-scroll-area.js +6 -1
  68. package/components/ui-search-result-row/ui-search-result-row.html +5 -5
  69. package/components/ui-search-shell/ui-search-shell.js +6 -1
  70. package/components/ui-section/ui-section.html +4 -4
  71. package/components/ui-select/ui-select.html +3 -3
  72. package/components/ui-select/ui-select.js +6 -1
  73. package/components/ui-separator/ui-separator.html +4 -4
  74. package/components/ui-sidebar/ui-sidebar.html +6 -6
  75. package/components/ui-sidebar/ui-sidebar.js +6 -1
  76. package/components/ui-spinner/ui-spinner.html +1 -1
  77. package/components/ui-stack/ui-stack.html +12 -12
  78. package/components/ui-status-message/ui-status-message.html +4 -4
  79. package/components/ui-switch/ui-switch.html +11 -11
  80. package/components/ui-switch/ui-switch.js +6 -1
  81. package/components/ui-switcher/ui-switcher.html +11 -11
  82. package/components/ui-switcher/ui-switcher.js +6 -1
  83. package/components/ui-table/ui-table.html +2 -2
  84. package/components/ui-table/ui-table.js +6 -1
  85. package/components/ui-tabs/ui-tabs.html +8 -8
  86. package/components/ui-tabs/ui-tabs.js +6 -1
  87. package/components/ui-text/ui-text.html +20 -20
  88. package/components/ui-textarea/ui-textarea.html +46 -18
  89. package/components/ui-textarea/ui-textarea.js +6 -1
  90. package/components/ui-toast/ui-toast.html +4 -4
  91. package/components/ui-toast/ui-toast.js +6 -1
  92. package/components/ui-toast-region/ui-toast-region.html +16 -11
  93. package/components/ui-toast-region/ui-toast-region.js +12 -9
  94. package/components/ui-tooltip/ui-tooltip.html +1 -1
  95. package/components/ui-tooltip/ui-tooltip.js +6 -1
  96. package/components/ui-tree/ui-tree.html +2 -2
  97. package/components/ui-tree/ui-tree.js +6 -1
  98. package/components/ui-tree-item/ui-tree-item.html +4 -4
  99. package/components/ui-tree-item/ui-tree-item.js +6 -1
  100. package/dist/index.js +10 -4
  101. package/package.json +3 -3
  102. package/styles/ui-action-bar.css +1 -1
  103. package/styles/ui-affordance-scope.css +1 -1
  104. package/styles/ui-avatar-group.css +1 -1
  105. package/styles/ui-avatar.css +1 -1
  106. package/styles/ui-badge.css +1 -1
  107. package/styles/ui-breadcrumb-item.css +1 -1
  108. package/styles/ui-breadcrumbs.css +1 -1
  109. package/styles/ui-button.css +1 -1
  110. package/styles/ui-callout.css +1 -1
  111. package/styles/ui-card.css +1 -1
  112. package/styles/ui-checkbox.css +1 -1
  113. package/styles/ui-cluster.css +1 -1
  114. package/styles/ui-combobox.css +1 -1
  115. package/styles/ui-container.css +1 -1
  116. package/styles/ui-context-menu.css +1 -1
  117. package/styles/ui-cover.css +1 -1
  118. package/styles/ui-description-item.css +1 -1
  119. package/styles/ui-description-list.css +1 -1
  120. package/styles/ui-dialog.css +1 -1
  121. package/styles/ui-disclosure.css +2 -2
  122. package/styles/ui-editable.css +1 -1
  123. package/styles/ui-editor-insert-table-grid.css +1 -1
  124. package/styles/ui-editor-mention-menu-item.css +1 -1
  125. package/styles/ui-editor-mention-menu.css +1 -1
  126. package/styles/ui-editor-slash-menu-group.css +1 -1
  127. package/styles/ui-editor-slash-menu-item.css +1 -1
  128. package/styles/ui-editor-slash-menu.css +1 -1
  129. package/styles/ui-editor-table-context-menu.css +1 -1
  130. package/styles/ui-editor-table-overlay.css +1 -1
  131. package/styles/ui-editor-table-toolbar.css +1 -1
  132. package/styles/ui-editor-toolbar.css +1 -1
  133. package/styles/ui-floating-action-button.css +1 -1
  134. package/styles/ui-form-field.css +1 -1
  135. package/styles/ui-grid.css +1 -1
  136. package/styles/ui-icon-button.css +1 -1
  137. package/styles/ui-icon.css +1 -1
  138. package/styles/ui-image.css +1 -1
  139. package/styles/ui-input-group.css +36 -6
  140. package/styles/ui-input.css +1 -1
  141. package/styles/ui-list-item.css +1 -1
  142. package/styles/ui-list.css +1 -1
  143. package/styles/ui-listbox.css +1 -1
  144. package/styles/ui-menu-group.css +1 -1
  145. package/styles/ui-menu-item.css +1 -1
  146. package/styles/ui-menu.css +1 -1
  147. package/styles/ui-meter.css +1 -1
  148. package/styles/ui-nav-item.css +1 -1
  149. package/styles/ui-page-header.css +1 -1
  150. package/styles/ui-popover.css +1 -1
  151. package/styles/ui-radio-group.css +1 -1
  152. package/styles/ui-radio.css +1 -1
  153. package/styles/ui-reel.css +1 -1
  154. package/styles/ui-scroll-area.css +1 -1
  155. package/styles/ui-search-result-row.css +1 -1
  156. package/styles/ui-search-shell.css +1 -1
  157. package/styles/ui-section.css +1 -1
  158. package/styles/ui-select.css +1 -1
  159. package/styles/ui-separator.css +1 -1
  160. package/styles/ui-sidebar.css +2 -2
  161. package/styles/ui-spinner.css +1 -1
  162. package/styles/ui-stack.css +1 -1
  163. package/styles/ui-status-message.css +1 -1
  164. package/styles/ui-switch.css +1 -1
  165. package/styles/ui-switcher.css +1 -1
  166. package/styles/ui-table.css +1 -1
  167. package/styles/ui-tabs.css +1 -1
  168. package/styles/ui-text.css +1 -1
  169. package/styles/ui-textarea.css +43 -15
  170. package/styles/ui-toast-region.css +1 -1
  171. package/styles/ui-toast.css +1 -1
  172. package/styles/ui-tooltip.css +1 -1
  173. package/styles/ui-top-bar.css +1 -1
  174. package/styles/ui-tree-item.css +1 -1
  175. package/styles/ui-tree.css +1 -1
  176. package/vanilla/UiActionBar.d.ts +1 -1
  177. package/vanilla/UiActionBar.js +1 -1
  178. package/vanilla/UiAffordanceScope.d.ts +1 -1
  179. package/vanilla/UiAffordanceScope.js +1 -1
  180. package/vanilla/UiAvatar.d.ts +1 -1
  181. package/vanilla/UiAvatar.js +1 -1
  182. package/vanilla/UiAvatarGroup.d.ts +1 -1
  183. package/vanilla/UiAvatarGroup.js +1 -1
  184. package/vanilla/UiBadge.d.ts +1 -1
  185. package/vanilla/UiBadge.js +1 -1
  186. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  187. package/vanilla/UiBreadcrumbItem.js +1 -1
  188. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  189. package/vanilla/UiBreadcrumbs.js +1 -1
  190. package/vanilla/UiButton.d.ts +1 -1
  191. package/vanilla/UiButton.js +1 -1
  192. package/vanilla/UiCallout.d.ts +1 -1
  193. package/vanilla/UiCallout.js +1 -1
  194. package/vanilla/UiCard.d.ts +1 -1
  195. package/vanilla/UiCard.js +1 -1
  196. package/vanilla/UiCheckbox.d.ts +1 -1
  197. package/vanilla/UiCheckbox.js +1 -1
  198. package/vanilla/UiCluster.d.ts +1 -1
  199. package/vanilla/UiCluster.js +1 -1
  200. package/vanilla/UiCombobox.d.ts +1 -3
  201. package/vanilla/UiCombobox.js +2 -2
  202. package/vanilla/UiContainer.d.ts +1 -1
  203. package/vanilla/UiContainer.js +1 -1
  204. package/vanilla/UiContextMenu.d.ts +1 -1
  205. package/vanilla/UiContextMenu.js +1 -1
  206. package/vanilla/UiCover.d.ts +1 -1
  207. package/vanilla/UiCover.js +1 -1
  208. package/vanilla/UiDescriptionItem.d.ts +1 -1
  209. package/vanilla/UiDescriptionItem.js +1 -1
  210. package/vanilla/UiDescriptionList.d.ts +1 -1
  211. package/vanilla/UiDescriptionList.js +1 -1
  212. package/vanilla/UiDialog.d.ts +1 -1
  213. package/vanilla/UiDialog.js +1 -1
  214. package/vanilla/UiDisclosure.d.ts +1 -1
  215. package/vanilla/UiDisclosure.js +1 -1
  216. package/vanilla/UiEditable.d.ts +1 -1
  217. package/vanilla/UiEditable.js +1 -1
  218. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  219. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  220. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  221. package/vanilla/UiEditorMentionMenu.js +1 -1
  222. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  223. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  224. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  225. package/vanilla/UiEditorSlashMenu.js +1 -1
  226. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  227. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  228. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  229. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  230. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  231. package/vanilla/UiEditorTableContextMenu.js +1 -1
  232. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  233. package/vanilla/UiEditorTableOverlay.js +1 -1
  234. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  235. package/vanilla/UiEditorTableToolbar.js +1 -1
  236. package/vanilla/UiEditorToolbar.d.ts +1 -1
  237. package/vanilla/UiEditorToolbar.js +1 -1
  238. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  239. package/vanilla/UiFloatingActionButton.js +1 -1
  240. package/vanilla/UiFormField.d.ts +1 -1
  241. package/vanilla/UiFormField.js +1 -1
  242. package/vanilla/UiGrid.d.ts +1 -1
  243. package/vanilla/UiGrid.js +1 -1
  244. package/vanilla/UiIcon.d.ts +1 -1
  245. package/vanilla/UiIcon.js +1 -1
  246. package/vanilla/UiIconButton.d.ts +1 -1
  247. package/vanilla/UiIconButton.js +1 -1
  248. package/vanilla/UiImage.d.ts +1 -1
  249. package/vanilla/UiImage.js +1 -1
  250. package/vanilla/UiInput.d.ts +4 -4
  251. package/vanilla/UiInput.js +2 -2
  252. package/vanilla/UiInputGroup.d.ts +2 -1
  253. package/vanilla/UiInputGroup.js +2 -2
  254. package/vanilla/UiList.d.ts +1 -1
  255. package/vanilla/UiList.js +1 -1
  256. package/vanilla/UiListItem.d.ts +1 -1
  257. package/vanilla/UiListItem.js +1 -1
  258. package/vanilla/UiListbox.d.ts +1 -1
  259. package/vanilla/UiListbox.js +1 -1
  260. package/vanilla/UiMenu.d.ts +1 -1
  261. package/vanilla/UiMenu.js +1 -1
  262. package/vanilla/UiMenuGroup.d.ts +1 -1
  263. package/vanilla/UiMenuGroup.js +1 -1
  264. package/vanilla/UiMenuItem.d.ts +1 -1
  265. package/vanilla/UiMenuItem.js +1 -1
  266. package/vanilla/UiMeter.d.ts +1 -1
  267. package/vanilla/UiMeter.js +1 -1
  268. package/vanilla/UiNavItem.d.ts +1 -1
  269. package/vanilla/UiNavItem.js +1 -1
  270. package/vanilla/UiPageHeader.d.ts +1 -1
  271. package/vanilla/UiPageHeader.js +1 -1
  272. package/vanilla/UiPopover.d.ts +1 -1
  273. package/vanilla/UiPopover.js +1 -1
  274. package/vanilla/UiRadio.d.ts +1 -1
  275. package/vanilla/UiRadio.js +1 -1
  276. package/vanilla/UiRadioGroup.d.ts +1 -1
  277. package/vanilla/UiRadioGroup.js +1 -1
  278. package/vanilla/UiReel.d.ts +1 -1
  279. package/vanilla/UiReel.js +1 -1
  280. package/vanilla/UiScrollArea.d.ts +1 -1
  281. package/vanilla/UiScrollArea.js +1 -1
  282. package/vanilla/UiSearchResultRow.d.ts +1 -1
  283. package/vanilla/UiSearchResultRow.js +1 -1
  284. package/vanilla/UiSearchShell.d.ts +1 -1
  285. package/vanilla/UiSearchShell.js +1 -1
  286. package/vanilla/UiSection.d.ts +1 -1
  287. package/vanilla/UiSection.js +1 -1
  288. package/vanilla/UiSelect.d.ts +1 -1
  289. package/vanilla/UiSelect.js +1 -1
  290. package/vanilla/UiSeparator.d.ts +1 -1
  291. package/vanilla/UiSeparator.js +1 -1
  292. package/vanilla/UiSidebar.d.ts +1 -1
  293. package/vanilla/UiSidebar.js +1 -1
  294. package/vanilla/UiSpinner.d.ts +1 -1
  295. package/vanilla/UiSpinner.js +1 -1
  296. package/vanilla/UiStack.d.ts +1 -1
  297. package/vanilla/UiStack.js +1 -1
  298. package/vanilla/UiStatusMessage.d.ts +1 -1
  299. package/vanilla/UiStatusMessage.js +1 -1
  300. package/vanilla/UiSwitch.d.ts +1 -1
  301. package/vanilla/UiSwitch.js +1 -1
  302. package/vanilla/UiSwitcher.d.ts +1 -1
  303. package/vanilla/UiSwitcher.js +1 -1
  304. package/vanilla/UiTable.d.ts +1 -1
  305. package/vanilla/UiTable.js +1 -1
  306. package/vanilla/UiTabs.d.ts +1 -1
  307. package/vanilla/UiTabs.js +1 -1
  308. package/vanilla/UiText.d.ts +1 -1
  309. package/vanilla/UiText.js +1 -1
  310. package/vanilla/UiTextarea.d.ts +1 -1
  311. package/vanilla/UiTextarea.js +1 -1
  312. package/vanilla/UiToast.d.ts +1 -1
  313. package/vanilla/UiToast.js +1 -1
  314. package/vanilla/UiToastRegion.d.ts +2 -2
  315. package/vanilla/UiToastRegion.js +2 -2
  316. package/vanilla/UiTooltip.d.ts +1 -1
  317. package/vanilla/UiTooltip.js +1 -1
  318. package/vanilla/UiTopBar.d.ts +1 -1
  319. package/vanilla/UiTopBar.js +1 -1
  320. package/vanilla/UiTree.d.ts +1 -1
  321. package/vanilla/UiTree.js +1 -1
  322. package/vanilla/UiTreeItem.d.ts +1 -1
  323. package/vanilla/UiTreeItem.js +1 -1
  324. package/vue/UiActionBar.vue +1 -1
  325. package/vue/UiAffordanceScope.vue +8 -1
  326. package/vue/UiAvatar.d.ts +6 -9
  327. package/vue/UiAvatar.vue +71 -20
  328. package/vue/UiAvatarGroup.d.ts +7 -10
  329. package/vue/UiAvatarGroup.vue +45 -12
  330. package/vue/UiBadge.vue +1 -1
  331. package/vue/UiBreadcrumbItem.vue +1 -1
  332. package/vue/UiBreadcrumbs.vue +1 -1
  333. package/vue/UiButton.vue +1 -1
  334. package/vue/UiCallout.vue +1 -1
  335. package/vue/UiCard.vue +1 -1
  336. package/vue/UiCheckbox.d.ts +8 -11
  337. package/vue/UiCheckbox.vue +34 -11
  338. package/vue/UiCluster.vue +1 -1
  339. package/vue/UiCombobox.d.ts +60 -66
  340. package/vue/UiCombobox.vue +476 -124
  341. package/vue/UiContainer.vue +1 -1
  342. package/vue/UiContextMenu.vue +18 -9
  343. package/vue/UiCover.vue +1 -1
  344. package/vue/UiDescriptionItem.vue +1 -1
  345. package/vue/UiDescriptionList.vue +1 -1
  346. package/vue/UiDialog.d.ts +8 -11
  347. package/vue/UiDialog.vue +39 -12
  348. package/vue/UiDisclosure.d.ts +12 -15
  349. package/vue/UiDisclosure.vue +70 -24
  350. package/vue/UiEditable.d.ts +3 -3
  351. package/vue/UiEditable.vue +60 -21
  352. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  353. package/vue/UiEditorInsertTableGrid.vue +75 -14
  354. package/vue/UiEditorMentionMenu.d.ts +10 -13
  355. package/vue/UiEditorMentionMenu.vue +50 -7
  356. package/vue/UiEditorMentionMenuItem.vue +1 -1
  357. package/vue/UiEditorSlashMenu.d.ts +12 -15
  358. package/vue/UiEditorSlashMenu.vue +48 -7
  359. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  360. package/vue/UiEditorSlashMenuItem.vue +1 -1
  361. package/vue/UiEditorTableContextMenu.vue +73 -4
  362. package/vue/UiEditorTableOverlay.d.ts +2 -2
  363. package/vue/UiEditorTableOverlay.vue +202 -38
  364. package/vue/UiEditorTableToolbar.d.ts +2 -2
  365. package/vue/UiEditorTableToolbar.vue +128 -7
  366. package/vue/UiEditorToolbar.vue +3 -3
  367. package/vue/UiFloatingActionButton.vue +1 -1
  368. package/vue/UiFormField.vue +1 -1
  369. package/vue/UiGrid.vue +1 -1
  370. package/vue/UiIcon.vue +1 -1
  371. package/vue/UiIconButton.vue +1 -1
  372. package/vue/UiImage.vue +7 -6
  373. package/vue/UiInput.d.ts +5 -5
  374. package/vue/UiInput.vue +15 -3
  375. package/vue/UiInputGroup.d.ts +9 -0
  376. package/vue/UiInputGroup.vue +57 -8
  377. package/vue/UiList.vue +1 -1
  378. package/vue/UiListItem.vue +1 -1
  379. package/vue/UiListbox.d.ts +6 -9
  380. package/vue/UiListbox.vue +70 -19
  381. package/vue/UiMenu.vue +20 -10
  382. package/vue/UiMenuGroup.vue +1 -1
  383. package/vue/UiMenuItem.d.ts +13 -16
  384. package/vue/UiMenuItem.vue +30 -7
  385. package/vue/UiMeter.vue +1 -1
  386. package/vue/UiNavItem.vue +1 -1
  387. package/vue/UiPageHeader.vue +1 -1
  388. package/vue/UiPopover.vue +12 -4
  389. package/vue/UiRadio.d.ts +8 -11
  390. package/vue/UiRadio.vue +34 -11
  391. package/vue/UiRadioGroup.vue +16 -7
  392. package/vue/UiReel.vue +1 -1
  393. package/vue/UiScrollArea.vue +3 -3
  394. package/vue/UiSearchResultRow.vue +1 -1
  395. package/vue/UiSearchShell.vue +14 -6
  396. package/vue/UiSection.vue +1 -1
  397. package/vue/UiSelect.vue +3 -2
  398. package/vue/UiSeparator.vue +1 -1
  399. package/vue/UiSidebar.d.ts +7 -10
  400. package/vue/UiSidebar.vue +44 -12
  401. package/vue/UiSpinner.vue +1 -1
  402. package/vue/UiStack.vue +1 -1
  403. package/vue/UiStatusMessage.vue +1 -1
  404. package/vue/UiSwitch.d.ts +8 -11
  405. package/vue/UiSwitch.vue +34 -11
  406. package/vue/UiSwitcher.vue +8 -1
  407. package/vue/UiTable.vue +1 -1
  408. package/vue/UiTabs.vue +30 -8
  409. package/vue/UiText.vue +1 -1
  410. package/vue/UiTextarea.vue +78 -17
  411. package/vue/UiToast.vue +7 -6
  412. package/vue/UiToastRegion.d.ts +15 -3
  413. package/vue/UiToastRegion.vue +90 -45
  414. package/vue/UiTooltip.d.ts +9 -12
  415. package/vue/UiTooltip.vue +30 -7
  416. package/vue/UiTopBar.vue +1 -1
  417. package/vue/UiTree.vue +17 -13
  418. package/vue/UiTreeItem.d.ts +15 -18
  419. package/vue/UiTreeItem.vue +79 -30
  420. package/vue/chunks/UiActionBar.js +1 -1
  421. package/vue/chunks/UiAffordanceScope.js +6 -2
  422. package/vue/chunks/UiAvatar.js +37 -10
  423. package/vue/chunks/UiAvatarGroup.js +26 -7
  424. package/vue/chunks/UiBadge.js +2 -2
  425. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  426. package/vue/chunks/UiBreadcrumbs.js +2 -2
  427. package/vue/chunks/UiButton.js +2 -2
  428. package/vue/chunks/UiCallout.js +2 -2
  429. package/vue/chunks/UiCard.js +2 -2
  430. package/vue/chunks/UiCheckbox.js +25 -12
  431. package/vue/chunks/UiCluster.js +2 -2
  432. package/vue/chunks/UiCombobox.js +628 -117
  433. package/vue/chunks/UiContainer.js +2 -2
  434. package/vue/chunks/UiContextMenu.js +14 -10
  435. package/vue/chunks/UiCover.js +2 -2
  436. package/vue/chunks/UiDescriptionItem.js +2 -2
  437. package/vue/chunks/UiDescriptionList.js +2 -2
  438. package/vue/chunks/UiDialog.js +29 -11
  439. package/vue/chunks/UiDisclosure.js +44 -14
  440. package/vue/chunks/UiEditable.js +33 -9
  441. package/vue/chunks/UiEditorInsertTableGrid.js +98 -14
  442. package/vue/chunks/UiEditorMentionMenu.js +76 -9
  443. package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
  444. package/vue/chunks/UiEditorSlashMenu.js +70 -11
  445. package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
  446. package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
  447. package/vue/chunks/UiEditorTableContextMenu.js +120 -2
  448. package/vue/chunks/UiEditorTableOverlay.js +306 -12
  449. package/vue/chunks/UiEditorTableToolbar.js +215 -3
  450. package/vue/chunks/UiEditorToolbar.js +8 -8
  451. package/vue/chunks/UiFloatingActionButton.js +2 -2
  452. package/vue/chunks/UiFormField.js +2 -2
  453. package/vue/chunks/UiGrid.js +2 -2
  454. package/vue/chunks/UiIcon.js +2 -2
  455. package/vue/chunks/UiIconButton.js +2 -2
  456. package/vue/chunks/UiImage.js +12 -12
  457. package/vue/chunks/UiInput.js +34 -4
  458. package/vue/chunks/UiInputGroup.js +30 -4
  459. package/vue/chunks/UiList.js +2 -2
  460. package/vue/chunks/UiListItem.js +2 -2
  461. package/vue/chunks/UiListbox.js +96 -12
  462. package/vue/chunks/UiMenu.js +6 -2
  463. package/vue/chunks/UiMenuGroup.js +2 -2
  464. package/vue/chunks/UiMenuItem.js +15 -3
  465. package/vue/chunks/UiMeter.js +2 -2
  466. package/vue/chunks/UiNavItem.js +2 -2
  467. package/vue/chunks/UiPageHeader.js +2 -2
  468. package/vue/chunks/UiPopover.js +6 -2
  469. package/vue/chunks/UiRadio.js +25 -12
  470. package/vue/chunks/UiRadioGroup.js +6 -2
  471. package/vue/chunks/UiReel.js +2 -2
  472. package/vue/chunks/UiScrollArea.js +8 -8
  473. package/vue/chunks/UiSearchResultRow.js +2 -2
  474. package/vue/chunks/UiSearchShell.js +9 -4
  475. package/vue/chunks/UiSection.js +2 -2
  476. package/vue/chunks/UiSelect.js +5 -3
  477. package/vue/chunks/UiSeparator.js +2 -2
  478. package/vue/chunks/UiSidebar.js +28 -5
  479. package/vue/chunks/UiSpinner.js +2 -2
  480. package/vue/chunks/UiStack.js +2 -2
  481. package/vue/chunks/UiStatusMessage.js +2 -2
  482. package/vue/chunks/UiSwitch.js +25 -12
  483. package/vue/chunks/UiSwitcher.js +6 -2
  484. package/vue/chunks/UiTable.js +2 -2
  485. package/vue/chunks/UiTabs.js +39 -10
  486. package/vue/chunks/UiText.js +2 -2
  487. package/vue/chunks/UiTextarea.js +3 -2
  488. package/vue/chunks/UiToast.js +8 -8
  489. package/vue/chunks/UiToastRegion.js +86 -20
  490. package/vue/chunks/UiTooltip.js +15 -3
  491. package/vue/chunks/UiTopBar.js +1 -1
  492. package/vue/chunks/UiTree.js +2 -2
  493. package/vue/chunks/UiTreeItem.js +84 -51
  494. package/vue/chunks/control.js +9 -2
  495. package/vue/chunks/host.js +203 -29
  496. package/vue/chunks/props.js +43 -7
  497. package/vue/components.css +1447 -1360
  498. package/vue/host.ts +286 -42
package/vue/UiSidebar.vue CHANGED
@@ -1,8 +1,20 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
+ <script lang="ts">
3
+ const htmlNextAuthoredCheck2Reported = new Set<string>()
4
+ function htmlNextAuthoredCheck2(accepted: boolean, location: string, message: string): boolean {
5
+ if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
6
+ htmlNextAuthoredCheck2Reported.add(location)
7
+ console.warn(message)
8
+ }
9
+ return accepted
10
+ }
11
+ </script>
12
+
2
13
  <script setup lang="ts">
3
14
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
15
  import type { PropType } from 'vue'
5
16
  import { createDispatch, useComponentHost } from './host'
17
+ import { acceptsControllerWrite } from './props'
6
18
  import { checkedProp, propValidityState, vPropValidity } from './props'
7
19
 
8
20
  defineOptions({ inheritAttrs: false })
@@ -221,15 +233,23 @@ const emit = defineEmits<{
221
233
  }>()
222
234
 
223
235
  const root = ref<HTMLElement | null>(null)
224
- const resizerElement = useTemplateRef<HTMLElement>('resizer')
236
+ const resizerElement = useTemplateRef<HTMLElement>('resizerElement')
225
237
  const internalCollapsed = ref(false)
226
238
  const drawer = ref(false)
227
239
  const resizing = ref(false)
228
240
  let guardedPrevious: any
229
241
  const guarded = computed(() => {
230
242
  if (
231
- !((drawer.value == null || typeof drawer.value === 'boolean')
232
- && (internalCollapsed.value == null || typeof internalCollapsed.value === 'boolean'))
243
+ !(htmlNextAuthoredCheck2(
244
+ drawer.value == null || typeof drawer.value === 'boolean',
245
+ 'not resizable or drawer or internalCollapsed:drawer',
246
+ './components/ui-sidebar/ui-sidebar.html: HR007: Reference drawer does not satisfy its declared type.',
247
+ )
248
+ && htmlNextAuthoredCheck2(
249
+ internalCollapsed.value == null || typeof internalCollapsed.value === 'boolean',
250
+ 'not resizable or drawer or internalCollapsed:internalCollapsed',
251
+ './components/ui-sidebar/ui-sidebar.html: HR007: Reference internalCollapsed does not satisfy its declared type.',
252
+ ))
233
253
  ) return guardedPrevious
234
254
  return guardedPrevious = !checkedProps.value.resizable || drawer.value || internalCollapsed.value
235
255
  })
@@ -263,23 +283,25 @@ const hostState = computed(() =>
263
283
  ].filter(Boolean).join(' ')
264
284
  )
265
285
 
266
- const isResizeDetail = (detail: unknown): boolean =>
267
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
286
+ const isResizeDetail = (
287
+ detail: unknown,
288
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
268
289
  && (typeof (detail as Record<string, unknown>)['width'] === 'number'
269
290
  && Number.isFinite((detail as Record<string, unknown>)['width']))
270
291
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
271
292
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
272
293
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
273
- && Object.keys(detail as object).every((key) => ['width', 'trigger'].includes(key))
274
- const isToggleDetail = (detail: unknown): boolean =>
275
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
294
+ && Object.keys(detail as object).every((key) => ['width', 'trigger'].includes(key)))
295
+ const isToggleDetail = (
296
+ detail: unknown,
297
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
276
298
  && typeof (detail as Record<string, unknown>)['open'] === 'boolean'
277
299
  && ((detail as Record<string, unknown>)['mode'] === 'docked'
278
300
  || (detail as Record<string, unknown>)['mode'] === 'drawer')
279
301
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
280
302
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
281
303
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
282
- && Object.keys(detail as object).every((key) => ['open', 'mode', 'trigger'].includes(key))
304
+ && Object.keys(detail as object).every((key) => ['open', 'mode', 'trigger'].includes(key)))
283
305
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
284
306
  checks: {
285
307
  resize: isResizeDetail,
@@ -291,6 +313,16 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
291
313
  useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
292
314
  root,
293
315
  dispatch,
316
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
317
+ acceptsControllerWrite(
318
+ value,
319
+ ({
320
+ internalCollapsed: { kind: 'terminal', name: 'boolean' },
321
+ drawer: { kind: 'terminal', name: 'boolean' },
322
+ resizing: { kind: 'terminal', name: 'boolean' },
323
+ } as Record<string, any>)[name],
324
+ keys,
325
+ ),
294
326
  controllerSource: {
295
327
  specifier: '../components/ui-sidebar/ui-sidebar.js',
296
328
  definition: './components/ui-sidebar/ui-sidebar.html',
@@ -347,7 +379,7 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
347
379
  data-ui-affordance="resize"
348
380
  :aria-label="checkedProps.resizeLabel ?? undefined"
349
381
  :hidden="guarded"
350
- ref="resizer"
382
+ ref="resizerElement"
351
383
  >
352
384
  <span class="guide" aria-hidden="true"></span>
353
385
  </div>
@@ -450,7 +482,7 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
450
482
  [data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"]:not([popover]) .content {
451
483
  transform: translateX(-100%);
452
484
  }
453
- [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-ui-sidebar-state~="internalCollapsed"]:not([popover])
485
+ [data-component~="ui-sidebar"][data-ui-sidebar-state~="side=end"][data-component~="ui-sidebar"][data-ui-sidebar-state~="internalCollapsed"]:not([popover])
454
486
  .content {
455
487
  transform: translateX(100%);
456
488
  }
package/vue/UiSpinner.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
package/vue/UiStack.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
package/vue/UiSwitch.d.ts CHANGED
@@ -1,11 +1,7 @@
1
1
  import type { PropType } from 'vue';
2
- declare var __VLS_1: {}, __VLS_3: {};
3
- type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_1) => any;
5
- } & {
6
- description?: (props: typeof __VLS_3) => any;
7
- };
8
- declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
5
  checked: {
10
6
  type: PropType<boolean | null>;
11
7
  default: boolean;
@@ -78,10 +74,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
78
74
  disabled: boolean | null;
79
75
  checked: boolean | null;
80
76
  required: boolean | null;
81
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
82
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
83
- declare const _default: typeof __VLS_export;
84
- export default _default;
77
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
78
+ default?: (props: {}) => any;
79
+ } & {
80
+ description?: (props: {}) => any;
81
+ }>;
85
82
  type __VLS_WithSlots<T, S> = T & {
86
83
  new (): {
87
84
  $slots: S;
package/vue/UiSwitch.vue CHANGED
@@ -1,9 +1,21 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
+ <script lang="ts">
3
+ const htmlNextAuthoredCheck2Reported = new Set<string>()
4
+ function htmlNextAuthoredCheck2(accepted: boolean, location: string, message: string): boolean {
5
+ if (!accepted && !htmlNextAuthoredCheck2Reported.has(location)) {
6
+ htmlNextAuthoredCheck2Reported.add(location)
7
+ console.warn(message)
8
+ }
9
+ return accepted
10
+ }
11
+ </script>
12
+
2
13
  <script setup lang="ts">
3
14
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
15
  import type { PropType } from 'vue'
5
16
  import { vBindControl } from './control'
6
17
  import { createDispatch, useComponentHost } from './host'
18
+ import { acceptsControllerWrite } from './props'
7
19
  import { checkedProp, propValidityState, vPropValidity } from './props'
8
20
 
9
21
  defineOptions({ inheritAttrs: false })
@@ -172,14 +184,18 @@ const emit = defineEmits<{
172
184
  }>()
173
185
 
174
186
  const root = ref<HTMLElement | null>(null)
175
- const inputElement = useTemplateRef<HTMLElement>('input')
176
- const descriptionElement = useTemplateRef<HTMLElement>('description')
187
+ const inputElement = useTemplateRef<HTMLElement>('inputElement')
188
+ const descriptionElement = useTemplateRef<HTMLElement>('descriptionElement')
177
189
  const internalChecked = ref(false)
178
190
  let guardedPrevious: any
179
191
  const guarded = computed(() => {
180
- if (!(internalChecked.value == null || typeof internalChecked.value === 'boolean')) {
181
- return guardedPrevious
182
- }
192
+ if (
193
+ !(htmlNextAuthoredCheck2(
194
+ internalChecked.value == null || typeof internalChecked.value === 'boolean',
195
+ 'internalChecked:internalChecked',
196
+ './components/ui-switch/ui-switch.html: HR007: Reference internalChecked does not satisfy its declared type.',
197
+ ))
198
+ ) return guardedPrevious
183
199
  return guardedPrevious = internalChecked.value
184
200
  })
185
201
  provide('html-next:ui-switch:internalChecked', internalChecked)
@@ -206,14 +222,15 @@ const hostState = computed(() =>
206
222
  ].filter(Boolean).join(' ')
207
223
  )
208
224
 
209
- const isChangeDetail = (detail: unknown): boolean =>
210
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
225
+ const isChangeDetail = (
226
+ detail: unknown,
227
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
211
228
  && typeof (detail as Record<string, unknown>)['checked'] === 'boolean'
212
229
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
213
230
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
214
231
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
215
232
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
216
- && Object.keys(detail as object).every((key) => ['checked', 'value', 'trigger'].includes(key))
233
+ && Object.keys(detail as object).every((key) => ['checked', 'value', 'trigger'].includes(key)))
217
234
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
218
235
  checks: {
219
236
  change: isChangeDetail,
@@ -224,6 +241,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
224
241
  useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
225
242
  root,
226
243
  dispatch,
244
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
245
+ acceptsControllerWrite(
246
+ value,
247
+ ({ internalChecked: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
248
+ keys,
249
+ ),
227
250
  controllerSource: {
228
251
  specifier: '../components/ui-switch/ui-switch.js',
229
252
  definition: './components/ui-switch/ui-switch.html',
@@ -271,10 +294,10 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
271
294
  :required="checkedProps.required ?? undefined"
272
295
  :name="checkedProps.name ?? undefined"
273
296
  :value.attr="checkedProps.value ?? undefined"
274
- ref="input"
297
+ ref="inputElement"
275
298
  >
276
299
  <span class="text"><span class="label"><slot /></span>
277
- <span class="description" aria-hidden="true" ref="description"><slot
300
+ <span class="description" aria-hidden="true" ref="descriptionElement"><slot
278
301
  name="description"
279
302
  /></span></span></label>
280
303
  </template>
@@ -1,8 +1,9 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
5
  import { createDispatch, useComponentHost } from './host'
6
+ import { acceptsControllerWrite } from './props'
6
7
  import { checkedProp, propValidityState, vPropValidity } from './props'
7
8
 
8
9
  defineOptions({ inheritAttrs: false })
@@ -164,6 +165,12 @@ const dispatch = createDispatch(root)
164
165
  useComponentHost(() => import('../components/ui-switcher/ui-switcher.js'), {
165
166
  root,
166
167
  dispatch,
168
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
169
+ acceptsControllerWrite(
170
+ value,
171
+ ({ overLimit: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
172
+ keys,
173
+ ),
167
174
  controllerSource: {
168
175
  specifier: '../components/ui-switcher/ui-switcher.js',
169
176
  definition: './components/ui-switcher/ui-switcher.html',
package/vue/UiTable.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
package/vue/UiTabs.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import {
4
4
  computed,
@@ -12,6 +12,7 @@ import {
12
12
  } from 'vue'
13
13
  import type { PropType, VNode } from 'vue'
14
14
  import { createDispatch, useComponentHost } from './host'
15
+ import { acceptsControllerWrite } from './props'
15
16
  import { checkedProp, propValidityState, vPropValidity } from './props'
16
17
 
17
18
  defineOptions({ inheritAttrs: false })
@@ -213,8 +214,8 @@ const emit = defineEmits<{
213
214
  }>()
214
215
 
215
216
  const root = ref<HTMLElement | null>(null)
216
- const listElement = useTemplateRef<HTMLElement>('list')
217
- const panelsElement = useTemplateRef<HTMLElement>('panels')
217
+ const listElement = useTemplateRef<HTMLElement>('listElement')
218
+ const panelsElement = useTemplateRef<HTMLElement>('panelsElement')
218
219
  const internalValue = ref('')
219
220
  const tabs = ref<{ id: string; label: string }[]>([])
220
221
  provide('html-next:ui-tabs:internalValue', internalValue)
@@ -246,8 +247,9 @@ const hostState = computed(() =>
246
247
  ].filter(Boolean).join(' ')
247
248
  )
248
249
 
249
- const isSelectDetail = (detail: unknown): boolean =>
250
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
250
+ const isSelectDetail = (
251
+ detail: unknown,
252
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
251
253
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
252
254
  && typeof (detail as Record<string, unknown>)['previousValue'] === 'string'
253
255
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
@@ -255,7 +257,7 @@ const isSelectDetail = (detail: unknown): boolean =>
255
257
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
256
258
  && Object.keys(detail as object).every((key) =>
257
259
  ['value', 'previousValue', 'trigger'].includes(key)
258
- )
260
+ ))
259
261
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
260
262
  checks: {
261
263
  select: isSelectDetail,
@@ -266,6 +268,26 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
266
268
  useComponentHost(() => import('../components/ui-tabs/ui-tabs.js'), {
267
269
  root,
268
270
  dispatch,
271
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
272
+ acceptsControllerWrite(
273
+ value,
274
+ ({
275
+ internalValue: { kind: 'terminal', name: 'string' },
276
+ tabs: {
277
+ kind: 'list',
278
+ item: {
279
+ kind: 'object',
280
+ fields: [{ name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false }, {
281
+ name: 'label',
282
+ type: { kind: 'terminal', name: 'string' },
283
+ optional: false,
284
+ }],
285
+ open: false,
286
+ },
287
+ },
288
+ } as Record<string, any>)[name],
289
+ keys,
290
+ ),
269
291
  controllerSource: {
270
292
  specifier: '../components/ui-tabs/ui-tabs.js',
271
293
  definition: './components/ui-tabs/ui-tabs.html',
@@ -356,7 +378,7 @@ function uniqueKeys<T>(
356
378
  role="tablist"
357
379
  :aria-label="checkedProps.label ?? undefined"
358
380
  :aria-orientation="checkedProps.orientation ?? undefined"
359
- ref="list"
381
+ ref="listElement"
360
382
  >
361
383
  <slot name="tab"><KeyedBoundary><button
362
384
  v-for="tab in uniqueKeys(tabs, (tab, index, loop) => tab.id)"
@@ -371,7 +393,7 @@ function uniqueKeys<T>(
371
393
  {{ tab.label }}
372
394
  </button></KeyedBoundary></slot>
373
395
  </div>
374
- <div class="panels" ref="panels"><slot /></div>
396
+ <div class="panels" ref="panelsElement"><slot /></div>
375
397
  </div>
376
398
  </template>
377
399
 
package/vue/UiText.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -271,7 +271,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
271
271
  :data-rows="reflectedProp('rows', 'rows', checkedProps.rows, undefined, false)"
272
272
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
273
273
  :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
274
- v-bind-control="{ tag: 'textarea', name: 'value', value: model, defaultValue: '' }"
274
+ v-bind-control="{ tag: 'textarea', name: 'value', value: model, optionalValue: true, defaultValue: '' }"
275
275
  @input="model = readBoundControl(
276
276
  $event.currentTarget as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,
277
277
  ) as any"
@@ -282,6 +282,30 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
282
282
 
283
283
  <style scoped>
284
284
  /* This component's hooks style the element they are set on, and never a nested one. */
285
+ @property --ui-textarea-border-width {
286
+ syntax: "*";
287
+ inherits: false;
288
+ }
289
+ @property --ui-textarea-border {
290
+ syntax: "*";
291
+ inherits: false;
292
+ }
293
+ @property --ui-textarea-border-hover {
294
+ syntax: "*";
295
+ inherits: false;
296
+ }
297
+ @property --ui-textarea-focus-border {
298
+ syntax: "*";
299
+ inherits: false;
300
+ }
301
+ @property --ui-textarea-focus-outline {
302
+ syntax: "*";
303
+ inherits: false;
304
+ }
305
+ @property --ui-textarea-surface {
306
+ syntax: "*";
307
+ inherits: false;
308
+ }
285
309
  @property --ui-textarea-focus-shadow {
286
310
  syntax: "*";
287
311
  inherits: false;
@@ -314,13 +338,29 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
314
338
  padding: var(--ui-space-2) var(--ui-space-3);
315
339
  appearance: none;
316
340
  resize: vertical;
317
- border: var(--ui-border-width) solid var(--ui-control-border, var(--ui-border-strong));
318
- border-radius: var(--ui-textarea-radius, var(--ui-field-radius, var(--ui-radius-md)));
319
- background: var(--ui-control-surface, var(--ui-surface-elevated));
341
+ border: var(
342
+ --ui-textarea-border-width,
343
+ var(--_ui-default-textarea-border-width, var(--ui-border-width))
344
+ ) solid
345
+ var(
346
+ --ui-textarea-border,
347
+ var(--_ui-default-textarea-border, var(--ui-control-border, var(--ui-border-strong)))
348
+ );
349
+ border-radius: var(
350
+ --ui-textarea-radius,
351
+ var(--_ui-default-textarea-radius, var(--ui-field-radius, var(--ui-radius-md)))
352
+ );
353
+ background: var(
354
+ --ui-textarea-surface,
355
+ var(--_ui-default-textarea-surface, var(--ui-control-surface, var(--ui-surface-elevated)))
356
+ );
320
357
  color: var(--ui-text-primary);
321
358
  font: inherit;
322
359
  line-height: var(--ui-line-height-md);
323
- box-shadow: var(--ui-textarea-shadow, var(--ui-control-inset));
360
+ box-shadow: var(
361
+ --ui-textarea-shadow,
362
+ var(--_ui-default-textarea-shadow, var(--ui-control-inset))
363
+ );
324
364
  transition:
325
365
  border-color var(--ui-motion-fast) var(--ui-motion-ease),
326
366
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
@@ -339,33 +379,54 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
339
379
  }
340
380
 
341
381
  [data-component~="ui-textarea"]:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid])) {
342
- border-color: var(--ui-control-border-hover, var(--ui-text-secondary));
382
+ border-color: var(
383
+ --ui-textarea-border-hover,
384
+ var(
385
+ --_ui-default-textarea-border-hover,
386
+ var(--ui-control-border-hover, var(--ui-text-secondary))
387
+ )
388
+ );
343
389
  }
344
390
 
345
391
  [data-component~="ui-textarea"]:focus-visible {
346
- border-color: var(--ui-control-focus, var(--ui-accent-solid));
347
- outline: none;
392
+ border-color: var(
393
+ --ui-textarea-focus-border,
394
+ var(--_ui-default-textarea-focus-border, var(--ui-control-focus, var(--ui-accent-solid)))
395
+ );
396
+ outline: var(--ui-textarea-focus-outline, var(--_ui-default-textarea-focus-outline, none));
348
397
  box-shadow: var(
349
398
  --ui-textarea-focus-shadow,
350
- var(--ui-control-inset),
351
- var(--ui-control-focus-halo-shadow)
399
+ var(
400
+ --_ui-default-textarea-focus-shadow,
401
+ var(--ui-control-inset),
402
+ var(--ui-control-focus-halo-shadow)
403
+ )
352
404
  );
353
405
  }
354
406
 
355
407
  /* The app's invalid flag, or the browser's own verdict once the user has left an invalid field. */
356
408
  [data-component~="ui-textarea"][aria-invalid="true"],
357
409
  [data-component~="ui-textarea"]:is(:user-invalid, [data-user-invalid]) {
358
- border-color: var(--ui-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)));
410
+ border-color: var(
411
+ --ui-textarea-invalid-border,
412
+ var(--_ui-default-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)))
413
+ );
359
414
  }
360
415
 
361
416
  [data-component~="ui-textarea"]:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible {
362
417
  box-shadow: var(
363
418
  --ui-textarea-invalid-focus-shadow,
364
- var(--ui-control-inset),
365
- 0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(
366
- in srgb,
367
- var(--ui-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid))) 22%,
368
- transparent
419
+ var(
420
+ --_ui-default-textarea-invalid-focus-shadow,
421
+ var(--ui-control-inset),
422
+ 0 0 0 calc(var(--ui-focus-width) * 1.5) color-mix(
423
+ in srgb,
424
+ var(
425
+ --ui-textarea-invalid-border,
426
+ var(--_ui-default-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)))
427
+ ) 22%,
428
+ transparent
429
+ )
369
430
  )
370
431
  );
371
432
  }
package/vue/UiToast.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -104,7 +104,7 @@ const emit = defineEmits<{
104
104
  }>()
105
105
 
106
106
  const root = ref<HTMLElement | null>(null)
107
- const actionElement = useTemplateRef<HTMLElement>('action')
107
+ const actionElement = useTemplateRef<HTMLElement>('actionElement')
108
108
  const hydrationNode = hydrationInstance?.vnode.el
109
109
  if (
110
110
  typeof window !== 'undefined' && hydrationNode != null
@@ -127,15 +127,16 @@ const hostState = computed(() =>
127
127
  ].filter(Boolean).join(' ')
128
128
  )
129
129
 
130
- const isDismissDetail = (detail: unknown): boolean =>
131
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
130
+ const isDismissDetail = (
131
+ detail: unknown,
132
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
132
133
  && typeof (detail as Record<string, unknown>)['id'] === 'string'
133
134
  && ((detail as Record<string, unknown>)['reason'] === 'action'
134
135
  || (detail as Record<string, unknown>)['reason'] === 'timeout')
135
136
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
136
137
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
137
138
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
138
- && Object.keys(detail as object).every((key) => ['id', 'reason', 'trigger'].includes(key))
139
+ && Object.keys(detail as object).every((key) => ['id', 'reason', 'trigger'].includes(key)))
139
140
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
140
141
  checks: {
141
142
  dismiss: isDismissDetail,
@@ -197,7 +198,7 @@ function attribute(value: unknown): any {
197
198
  ref="root"
198
199
  >
199
200
  <div class="message"><slot /></div>
200
- <div class="action" ref="action"><slot name="action" /></div>
201
+ <div class="action" ref="actionElement"><slot name="action" /></div>
201
202
  <UiIconButton
202
203
  class="dismiss"
203
204
  size="sm"
@@ -12,14 +12,19 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
12
12
  type: PropType<"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | null>;
13
13
  default: string;
14
14
  };
15
- }>, {
16
- show: (...args: unknown[]) => Promise<any>;
17
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
16
  dismiss: (event: CustomEvent<{
19
17
  readonly id: string;
20
18
  readonly reason: "action" | "timeout";
21
19
  readonly trigger: "keyboard" | "pointer" | "programmatic";
22
20
  }>) => any;
21
+ "update:duration": (value: number) => any;
22
+ "show-toast": (event: CustomEvent<{
23
+ readonly message: string;
24
+ readonly id?: string;
25
+ readonly tone?: "neutral" | "info" | "success" | "warning" | "danger";
26
+ readonly duration?: number;
27
+ }>) => any;
23
28
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
29
  duration: {
25
30
  type: PropType<number | null>;
@@ -35,6 +40,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
35
40
  readonly reason: "action" | "timeout";
36
41
  readonly trigger: "keyboard" | "pointer" | "programmatic";
37
42
  }>) => any) | undefined;
43
+ "onUpdate:duration"?: ((value: number) => any) | undefined;
44
+ "onShow-toast"?: ((event: CustomEvent<{
45
+ readonly message: string;
46
+ readonly id?: string;
47
+ readonly tone?: "neutral" | "info" | "success" | "warning" | "danger";
48
+ readonly duration?: number;
49
+ }>) => any) | undefined;
38
50
  }>, {
39
51
  duration: number | null;
40
52
  placement: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | null;