@threadlabs/looma 0.24.0 → 0.25.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 (499) hide show
  1. package/README.md +1 -1
  2. package/components/shared/overlay.js +10 -2
  3. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  4. package/components/ui-affordance-scope/ui-affordance-scope.js +6 -1
  5. package/components/ui-avatar/ui-avatar.html +4 -4
  6. package/components/ui-avatar/ui-avatar.js +6 -1
  7. package/components/ui-avatar-group/ui-avatar-group.html +2 -2
  8. package/components/ui-avatar-group/ui-avatar-group.js +6 -1
  9. package/components/ui-badge/ui-badge.html +30 -30
  10. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +1 -1
  11. package/components/ui-button/ui-button.html +33 -33
  12. package/components/ui-button/ui-button.js +6 -1
  13. package/components/ui-callout/ui-callout.html +4 -4
  14. package/components/ui-card/ui-card.html +9 -9
  15. package/components/ui-checkbox/ui-checkbox.html +11 -11
  16. package/components/ui-checkbox/ui-checkbox.js +6 -1
  17. package/components/ui-cluster/ui-cluster.html +12 -12
  18. package/components/ui-combobox/ui-combobox.html +15 -17
  19. package/components/ui-combobox/ui-combobox.js +13 -15
  20. package/components/ui-container/ui-container.html +5 -5
  21. package/components/ui-context-menu/ui-context-menu.js +6 -1
  22. package/components/ui-cover/ui-cover.html +1 -1
  23. package/components/ui-description-list/ui-description-list.html +10 -10
  24. package/components/ui-dialog/ui-dialog.html +4 -4
  25. package/components/ui-dialog/ui-dialog.js +6 -1
  26. package/components/ui-disclosure/ui-disclosure.html +13 -13
  27. package/components/ui-disclosure/ui-disclosure.js +6 -1
  28. package/components/ui-editable/ui-editable.html +1 -1
  29. package/components/ui-editable/ui-editable.js +6 -1
  30. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +6 -1
  31. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +6 -1
  32. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +6 -1
  33. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +6 -1
  34. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +6 -1
  35. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +6 -1
  36. package/components/ui-editor-toolbar/ui-editor-toolbar.html +4 -4
  37. package/components/ui-editor-toolbar/ui-editor-toolbar.js +6 -1
  38. package/components/ui-floating-action-button/ui-floating-action-button.html +1 -1
  39. package/components/ui-form-field/ui-form-field.html +1 -1
  40. package/components/ui-form-field/ui-form-field.js +6 -1
  41. package/components/ui-grid/ui-grid.html +7 -7
  42. package/components/ui-icon-button/ui-icon-button.html +26 -26
  43. package/components/ui-icon-button/ui-icon-button.js +6 -1
  44. package/components/ui-image/ui-image.html +11 -11
  45. package/components/ui-image/ui-image.js +6 -1
  46. package/components/ui-input/ui-input.html +9 -7
  47. package/components/ui-input/ui-input.js +6 -1
  48. package/components/ui-input-group/ui-input-group.html +3 -3
  49. package/components/ui-input-group/ui-input-group.js +6 -1
  50. package/components/ui-list/ui-list.html +6 -6
  51. package/components/ui-list-item/ui-list-item.html +8 -8
  52. package/components/ui-listbox/ui-listbox.js +6 -1
  53. package/components/ui-menu/ui-menu.html +3 -3
  54. package/components/ui-menu/ui-menu.js +6 -1
  55. package/components/ui-menu-item/ui-menu-item.html +3 -3
  56. package/components/ui-menu-item/ui-menu-item.js +6 -1
  57. package/components/ui-meter/ui-meter.html +7 -7
  58. package/components/ui-nav-item/ui-nav-item.html +6 -6
  59. package/components/ui-page-header/ui-page-header.html +2 -2
  60. package/components/ui-popover/ui-popover.html +3 -3
  61. package/components/ui-popover/ui-popover.js +6 -1
  62. package/components/ui-radio/ui-radio.html +10 -10
  63. package/components/ui-radio/ui-radio.js +6 -1
  64. package/components/ui-radio-group/ui-radio-group.html +2 -2
  65. package/components/ui-radio-group/ui-radio-group.js +6 -1
  66. package/components/ui-reel/ui-reel.html +11 -11
  67. package/components/ui-scroll-area/ui-scroll-area.html +4 -4
  68. package/components/ui-scroll-area/ui-scroll-area.js +6 -1
  69. package/components/ui-search-result-row/ui-search-result-row.html +5 -5
  70. package/components/ui-search-shell/ui-search-shell.js +6 -1
  71. package/components/ui-section/ui-section.html +4 -4
  72. package/components/ui-select/ui-select.html +3 -3
  73. package/components/ui-select/ui-select.js +6 -1
  74. package/components/ui-separator/ui-separator.html +4 -4
  75. package/components/ui-sidebar/ui-sidebar.html +6 -6
  76. package/components/ui-sidebar/ui-sidebar.js +6 -1
  77. package/components/ui-spinner/ui-spinner.html +1 -1
  78. package/components/ui-stack/ui-stack.html +12 -12
  79. package/components/ui-status-message/ui-status-message.html +4 -4
  80. package/components/ui-switch/ui-switch.html +11 -11
  81. package/components/ui-switch/ui-switch.js +6 -1
  82. package/components/ui-switcher/ui-switcher.html +11 -11
  83. package/components/ui-switcher/ui-switcher.js +6 -1
  84. package/components/ui-table/ui-table.html +2 -2
  85. package/components/ui-table/ui-table.js +6 -1
  86. package/components/ui-tabs/ui-tabs.html +8 -8
  87. package/components/ui-tabs/ui-tabs.js +6 -1
  88. package/components/ui-text/ui-text.html +20 -20
  89. package/components/ui-textarea/ui-textarea.html +4 -4
  90. package/components/ui-textarea/ui-textarea.js +6 -1
  91. package/components/ui-toast/ui-toast.html +4 -4
  92. package/components/ui-toast/ui-toast.js +6 -1
  93. package/components/ui-toast-region/ui-toast-region.html +16 -11
  94. package/components/ui-toast-region/ui-toast-region.js +12 -9
  95. package/components/ui-tooltip/ui-tooltip.html +1 -1
  96. package/components/ui-tooltip/ui-tooltip.js +6 -1
  97. package/components/ui-tree/ui-tree.html +2 -2
  98. package/components/ui-tree/ui-tree.js +6 -1
  99. package/components/ui-tree-item/ui-tree-item.html +4 -4
  100. package/components/ui-tree-item/ui-tree-item.js +6 -1
  101. package/dist/index.js +10 -4
  102. package/package.json +3 -3
  103. package/styles/ui-action-bar.css +1 -1
  104. package/styles/ui-affordance-scope.css +1 -1
  105. package/styles/ui-avatar-group.css +1 -1
  106. package/styles/ui-avatar.css +1 -1
  107. package/styles/ui-badge.css +1 -1
  108. package/styles/ui-breadcrumb-item.css +1 -1
  109. package/styles/ui-breadcrumbs.css +1 -1
  110. package/styles/ui-button.css +1 -1
  111. package/styles/ui-callout.css +1 -1
  112. package/styles/ui-card.css +1 -1
  113. package/styles/ui-checkbox.css +1 -1
  114. package/styles/ui-cluster.css +1 -1
  115. package/styles/ui-combobox.css +1 -1
  116. package/styles/ui-container.css +1 -1
  117. package/styles/ui-context-menu.css +1 -1
  118. package/styles/ui-cover.css +1 -1
  119. package/styles/ui-description-item.css +1 -1
  120. package/styles/ui-description-list.css +1 -1
  121. package/styles/ui-dialog.css +1 -1
  122. package/styles/ui-disclosure.css +2 -2
  123. package/styles/ui-editable.css +1 -1
  124. package/styles/ui-editor-insert-table-grid.css +1 -1
  125. package/styles/ui-editor-mention-menu-item.css +1 -1
  126. package/styles/ui-editor-mention-menu.css +1 -1
  127. package/styles/ui-editor-slash-menu-group.css +1 -1
  128. package/styles/ui-editor-slash-menu-item.css +1 -1
  129. package/styles/ui-editor-slash-menu.css +1 -1
  130. package/styles/ui-editor-table-context-menu.css +1 -1
  131. package/styles/ui-editor-table-overlay.css +1 -1
  132. package/styles/ui-editor-table-toolbar.css +1 -1
  133. package/styles/ui-editor-toolbar.css +1 -1
  134. package/styles/ui-floating-action-button.css +1 -1
  135. package/styles/ui-form-field.css +1 -1
  136. package/styles/ui-grid.css +1 -1
  137. package/styles/ui-icon-button.css +1 -1
  138. package/styles/ui-icon.css +1 -1
  139. package/styles/ui-image.css +1 -1
  140. package/styles/ui-input-group.css +1 -1
  141. package/styles/ui-input.css +1 -1
  142. package/styles/ui-list-item.css +1 -1
  143. package/styles/ui-list.css +1 -1
  144. package/styles/ui-listbox.css +1 -1
  145. package/styles/ui-menu-group.css +1 -1
  146. package/styles/ui-menu-item.css +1 -1
  147. package/styles/ui-menu.css +1 -1
  148. package/styles/ui-meter.css +1 -1
  149. package/styles/ui-nav-item.css +1 -1
  150. package/styles/ui-page-header.css +1 -1
  151. package/styles/ui-popover.css +1 -1
  152. package/styles/ui-radio-group.css +1 -1
  153. package/styles/ui-radio.css +1 -1
  154. package/styles/ui-reel.css +1 -1
  155. package/styles/ui-scroll-area.css +1 -1
  156. package/styles/ui-search-result-row.css +1 -1
  157. package/styles/ui-search-shell.css +1 -1
  158. package/styles/ui-section.css +1 -1
  159. package/styles/ui-select.css +1 -1
  160. package/styles/ui-separator.css +1 -1
  161. package/styles/ui-sidebar.css +2 -2
  162. package/styles/ui-spinner.css +1 -1
  163. package/styles/ui-stack.css +1 -1
  164. package/styles/ui-status-message.css +1 -1
  165. package/styles/ui-switch.css +1 -1
  166. package/styles/ui-switcher.css +1 -1
  167. package/styles/ui-table.css +1 -1
  168. package/styles/ui-tabs.css +1 -1
  169. package/styles/ui-text.css +1 -1
  170. package/styles/ui-textarea.css +1 -1
  171. package/styles/ui-toast-region.css +1 -1
  172. package/styles/ui-toast.css +1 -1
  173. package/styles/ui-tooltip.css +1 -1
  174. package/styles/ui-top-bar.css +1 -1
  175. package/styles/ui-tree-item.css +1 -1
  176. package/styles/ui-tree.css +1 -1
  177. package/vanilla/UiActionBar.d.ts +1 -1
  178. package/vanilla/UiActionBar.js +1 -1
  179. package/vanilla/UiAffordanceScope.d.ts +1 -1
  180. package/vanilla/UiAffordanceScope.js +1 -1
  181. package/vanilla/UiAvatar.d.ts +1 -1
  182. package/vanilla/UiAvatar.js +1 -1
  183. package/vanilla/UiAvatarGroup.d.ts +1 -1
  184. package/vanilla/UiAvatarGroup.js +1 -1
  185. package/vanilla/UiBadge.d.ts +1 -1
  186. package/vanilla/UiBadge.js +1 -1
  187. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  188. package/vanilla/UiBreadcrumbItem.js +1 -1
  189. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  190. package/vanilla/UiBreadcrumbs.js +1 -1
  191. package/vanilla/UiButton.d.ts +1 -1
  192. package/vanilla/UiButton.js +1 -1
  193. package/vanilla/UiCallout.d.ts +1 -1
  194. package/vanilla/UiCallout.js +1 -1
  195. package/vanilla/UiCard.d.ts +1 -1
  196. package/vanilla/UiCard.js +1 -1
  197. package/vanilla/UiCheckbox.d.ts +1 -1
  198. package/vanilla/UiCheckbox.js +1 -1
  199. package/vanilla/UiCluster.d.ts +1 -1
  200. package/vanilla/UiCluster.js +1 -1
  201. package/vanilla/UiCombobox.d.ts +1 -3
  202. package/vanilla/UiCombobox.js +2 -2
  203. package/vanilla/UiContainer.d.ts +1 -1
  204. package/vanilla/UiContainer.js +1 -1
  205. package/vanilla/UiContextMenu.d.ts +1 -1
  206. package/vanilla/UiContextMenu.js +1 -1
  207. package/vanilla/UiCover.d.ts +1 -1
  208. package/vanilla/UiCover.js +1 -1
  209. package/vanilla/UiDescriptionItem.d.ts +1 -1
  210. package/vanilla/UiDescriptionItem.js +1 -1
  211. package/vanilla/UiDescriptionList.d.ts +1 -1
  212. package/vanilla/UiDescriptionList.js +1 -1
  213. package/vanilla/UiDialog.d.ts +1 -1
  214. package/vanilla/UiDialog.js +1 -1
  215. package/vanilla/UiDisclosure.d.ts +1 -1
  216. package/vanilla/UiDisclosure.js +1 -1
  217. package/vanilla/UiEditable.d.ts +1 -1
  218. package/vanilla/UiEditable.js +1 -1
  219. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  220. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  221. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  222. package/vanilla/UiEditorMentionMenu.js +1 -1
  223. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  224. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  225. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  226. package/vanilla/UiEditorSlashMenu.js +1 -1
  227. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  228. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  229. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  230. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  231. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  232. package/vanilla/UiEditorTableContextMenu.js +1 -1
  233. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  234. package/vanilla/UiEditorTableOverlay.js +1 -1
  235. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  236. package/vanilla/UiEditorTableToolbar.js +1 -1
  237. package/vanilla/UiEditorToolbar.d.ts +1 -1
  238. package/vanilla/UiEditorToolbar.js +1 -1
  239. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  240. package/vanilla/UiFloatingActionButton.js +1 -1
  241. package/vanilla/UiFormField.d.ts +1 -1
  242. package/vanilla/UiFormField.js +1 -1
  243. package/vanilla/UiGrid.d.ts +1 -1
  244. package/vanilla/UiGrid.js +1 -1
  245. package/vanilla/UiIcon.d.ts +1 -1
  246. package/vanilla/UiIcon.js +1 -1
  247. package/vanilla/UiIconButton.d.ts +1 -1
  248. package/vanilla/UiIconButton.js +1 -1
  249. package/vanilla/UiImage.d.ts +1 -1
  250. package/vanilla/UiImage.js +1 -1
  251. package/vanilla/UiInput.d.ts +4 -4
  252. package/vanilla/UiInput.js +2 -2
  253. package/vanilla/UiInputGroup.d.ts +1 -1
  254. package/vanilla/UiInputGroup.js +1 -1
  255. package/vanilla/UiList.d.ts +1 -1
  256. package/vanilla/UiList.js +1 -1
  257. package/vanilla/UiListItem.d.ts +1 -1
  258. package/vanilla/UiListItem.js +1 -1
  259. package/vanilla/UiListbox.d.ts +1 -1
  260. package/vanilla/UiListbox.js +1 -1
  261. package/vanilla/UiMenu.d.ts +1 -1
  262. package/vanilla/UiMenu.js +1 -1
  263. package/vanilla/UiMenuGroup.d.ts +1 -1
  264. package/vanilla/UiMenuGroup.js +1 -1
  265. package/vanilla/UiMenuItem.d.ts +1 -1
  266. package/vanilla/UiMenuItem.js +1 -1
  267. package/vanilla/UiMeter.d.ts +1 -1
  268. package/vanilla/UiMeter.js +1 -1
  269. package/vanilla/UiNavItem.d.ts +1 -1
  270. package/vanilla/UiNavItem.js +1 -1
  271. package/vanilla/UiPageHeader.d.ts +1 -1
  272. package/vanilla/UiPageHeader.js +1 -1
  273. package/vanilla/UiPopover.d.ts +1 -1
  274. package/vanilla/UiPopover.js +1 -1
  275. package/vanilla/UiRadio.d.ts +1 -1
  276. package/vanilla/UiRadio.js +1 -1
  277. package/vanilla/UiRadioGroup.d.ts +1 -1
  278. package/vanilla/UiRadioGroup.js +1 -1
  279. package/vanilla/UiReel.d.ts +1 -1
  280. package/vanilla/UiReel.js +1 -1
  281. package/vanilla/UiScrollArea.d.ts +1 -1
  282. package/vanilla/UiScrollArea.js +1 -1
  283. package/vanilla/UiSearchResultRow.d.ts +1 -1
  284. package/vanilla/UiSearchResultRow.js +1 -1
  285. package/vanilla/UiSearchShell.d.ts +1 -1
  286. package/vanilla/UiSearchShell.js +1 -1
  287. package/vanilla/UiSection.d.ts +1 -1
  288. package/vanilla/UiSection.js +1 -1
  289. package/vanilla/UiSelect.d.ts +1 -1
  290. package/vanilla/UiSelect.js +1 -1
  291. package/vanilla/UiSeparator.d.ts +1 -1
  292. package/vanilla/UiSeparator.js +1 -1
  293. package/vanilla/UiSidebar.d.ts +1 -1
  294. package/vanilla/UiSidebar.js +1 -1
  295. package/vanilla/UiSpinner.d.ts +1 -1
  296. package/vanilla/UiSpinner.js +1 -1
  297. package/vanilla/UiStack.d.ts +1 -1
  298. package/vanilla/UiStack.js +1 -1
  299. package/vanilla/UiStatusMessage.d.ts +1 -1
  300. package/vanilla/UiStatusMessage.js +1 -1
  301. package/vanilla/UiSwitch.d.ts +1 -1
  302. package/vanilla/UiSwitch.js +1 -1
  303. package/vanilla/UiSwitcher.d.ts +1 -1
  304. package/vanilla/UiSwitcher.js +1 -1
  305. package/vanilla/UiTable.d.ts +1 -1
  306. package/vanilla/UiTable.js +1 -1
  307. package/vanilla/UiTabs.d.ts +1 -1
  308. package/vanilla/UiTabs.js +1 -1
  309. package/vanilla/UiText.d.ts +1 -1
  310. package/vanilla/UiText.js +1 -1
  311. package/vanilla/UiTextarea.d.ts +1 -1
  312. package/vanilla/UiTextarea.js +1 -1
  313. package/vanilla/UiToast.d.ts +1 -1
  314. package/vanilla/UiToast.js +1 -1
  315. package/vanilla/UiToastRegion.d.ts +2 -2
  316. package/vanilla/UiToastRegion.js +2 -2
  317. package/vanilla/UiTooltip.d.ts +1 -1
  318. package/vanilla/UiTooltip.js +1 -1
  319. package/vanilla/UiTopBar.d.ts +1 -1
  320. package/vanilla/UiTopBar.js +1 -1
  321. package/vanilla/UiTree.d.ts +1 -1
  322. package/vanilla/UiTree.js +1 -1
  323. package/vanilla/UiTreeItem.d.ts +1 -1
  324. package/vanilla/UiTreeItem.js +1 -1
  325. package/vue/UiActionBar.vue +1 -1
  326. package/vue/UiAffordanceScope.vue +8 -1
  327. package/vue/UiAvatar.d.ts +6 -9
  328. package/vue/UiAvatar.vue +71 -20
  329. package/vue/UiAvatarGroup.d.ts +7 -10
  330. package/vue/UiAvatarGroup.vue +45 -12
  331. package/vue/UiBadge.vue +1 -1
  332. package/vue/UiBreadcrumbItem.vue +1 -1
  333. package/vue/UiBreadcrumbs.vue +1 -1
  334. package/vue/UiButton.vue +1 -1
  335. package/vue/UiCallout.vue +1 -1
  336. package/vue/UiCard.vue +1 -1
  337. package/vue/UiCheckbox.d.ts +8 -11
  338. package/vue/UiCheckbox.vue +34 -11
  339. package/vue/UiCluster.vue +1 -1
  340. package/vue/UiCombobox.d.ts +60 -66
  341. package/vue/UiCombobox.vue +476 -124
  342. package/vue/UiContainer.vue +1 -1
  343. package/vue/UiContextMenu.vue +18 -9
  344. package/vue/UiCover.vue +1 -1
  345. package/vue/UiDescriptionItem.vue +1 -1
  346. package/vue/UiDescriptionList.vue +1 -1
  347. package/vue/UiDialog.d.ts +8 -11
  348. package/vue/UiDialog.vue +39 -12
  349. package/vue/UiDisclosure.d.ts +12 -15
  350. package/vue/UiDisclosure.vue +70 -24
  351. package/vue/UiEditable.d.ts +3 -3
  352. package/vue/UiEditable.vue +60 -21
  353. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  354. package/vue/UiEditorInsertTableGrid.vue +75 -14
  355. package/vue/UiEditorMentionMenu.d.ts +10 -13
  356. package/vue/UiEditorMentionMenu.vue +50 -7
  357. package/vue/UiEditorMentionMenuItem.vue +1 -1
  358. package/vue/UiEditorSlashMenu.d.ts +12 -15
  359. package/vue/UiEditorSlashMenu.vue +48 -7
  360. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  361. package/vue/UiEditorSlashMenuItem.vue +1 -1
  362. package/vue/UiEditorTableContextMenu.vue +73 -4
  363. package/vue/UiEditorTableOverlay.d.ts +2 -2
  364. package/vue/UiEditorTableOverlay.vue +202 -38
  365. package/vue/UiEditorTableToolbar.d.ts +2 -2
  366. package/vue/UiEditorTableToolbar.vue +128 -7
  367. package/vue/UiEditorToolbar.vue +3 -3
  368. package/vue/UiFloatingActionButton.vue +1 -1
  369. package/vue/UiFormField.vue +1 -1
  370. package/vue/UiGrid.vue +1 -1
  371. package/vue/UiIcon.vue +1 -1
  372. package/vue/UiIconButton.vue +1 -1
  373. package/vue/UiImage.vue +7 -6
  374. package/vue/UiInput.d.ts +5 -5
  375. package/vue/UiInput.vue +15 -3
  376. package/vue/UiInputGroup.vue +1 -1
  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 +2 -2
  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 +2 -2
  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 +1345 -1345
  498. package/vue/editor/index.js +12 -5
  499. package/vue/host.ts +286 -42
package/vue/UiInput.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { PropType } from 'vue';
2
- declare const __VLS_export: <T0 extends "text" | "search" | "tel" | "url" | "email" | "password" | "date" | "month" | "week" | "time" | "datetime-local" | "number" | "range" | "color" | null = "text">(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2
+ declare const __VLS_export: <T0 extends "text" | "search" | "tel" | "url" | "email" | "password" | "date" | "month" | "week" | "time" | "datetime-local" | "number" | "range" | "color" | "file" | null = "text">(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
3
  props: import("vue").PublicProps & __VLS_PrettifyLocal<import("vue").ExtractPublicPropTypes<{
4
4
  disabled: {
5
5
  type: PropType<boolean | null>;
@@ -26,21 +26,21 @@ declare const __VLS_export: <T0 extends "text" | "search" | "tel" | "url" | "ema
26
26
  default: string;
27
27
  };
28
28
  value: {
29
- type: PropType<T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : null>;
29
+ type: PropType<T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : T0 extends "file" ? string | null : null>;
30
30
  default: null;
31
31
  };
32
32
  modelValue: {
33
- type: PropType<(T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : null) | undefined>;
33
+ type: PropType<(T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : T0 extends "file" ? string | null : null) | undefined>;
34
34
  };
35
35
  }> & {
36
- "onUpdate:modelValue"?: ((value: T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : null) => any) | undefined;
36
+ "onUpdate:modelValue"?: ((value: T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : T0 extends "file" ? string | null : null) => any) | undefined;
37
37
  }> & (typeof globalThis extends {
38
38
  __VLS_PROPS_FALLBACK: infer P;
39
39
  } ? P : {});
40
40
  expose: (exposed: {}) => void;
41
41
  attrs: any;
42
42
  slots: {};
43
- emit: (evt: "update:modelValue", value: T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : null) => void;
43
+ emit: (evt: "update:modelValue", value: T0 extends "text" ? string | null : T0 extends "search" ? string | null : T0 extends "tel" ? string | null : T0 extends "url" ? string | null : T0 extends "email" ? string | null : T0 extends "password" ? string | null : T0 extends "date" ? string | null : T0 extends "month" ? string | null : T0 extends "week" ? string | null : T0 extends "time" ? string | null : T0 extends "datetime-local" ? string | null : T0 extends "number" ? number | null : T0 extends "range" ? number | null : T0 extends "color" ? string | null : T0 extends "file" ? string | null : null) => void;
44
44
  }>) => import("vue").VNode & {
45
45
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
46
46
  };
package/vue/UiInput.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
3
3
  setup
4
4
  lang="ts"
@@ -17,6 +17,7 @@
17
17
  | 'number'
18
18
  | 'range'
19
19
  | 'color'
20
+ | 'file'
20
21
  | null = 'text'"
21
22
  >
22
23
  import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
@@ -71,7 +72,7 @@ const propValidityContract = {
71
72
  required: false,
72
73
  target: { attribute: 'type' },
73
74
  description:
74
- 'The native input mode. Number and range modes accept numeric values; the other supported modes accept strings.',
75
+ 'The native input mode. Number and range modes accept numeric values; the other supported modes accept strings. File inputs expose selected files through\n the native change event\'s target.files. Their value can only be set to an empty string to clear the selection.',
75
76
  values: [
76
77
  'text',
77
78
  'search',
@@ -87,6 +88,7 @@ const propValidityContract = {
87
88
  'number',
88
89
  'range',
89
90
  'color',
91
+ 'file',
90
92
  ],
91
93
  default: 'text',
92
94
  },
@@ -109,6 +111,7 @@ const propValidityContract = {
109
111
  { value: 'number', type: { kind: 'terminal', name: 'number' } },
110
112
  { value: 'range', type: { kind: 'terminal', name: 'number' } },
111
113
  { value: 'color', type: { kind: 'terminal', name: 'string' } },
114
+ { value: 'file', type: { kind: 'terminal', name: 'string' } },
112
115
  ],
113
116
  },
114
117
  required: false,
@@ -132,6 +135,7 @@ const propValidityContract = {
132
135
  { value: 'number', type: { kind: 'terminal', name: 'number' } },
133
136
  { value: 'range', type: { kind: 'terminal', name: 'number' } },
134
137
  { value: 'color', type: { kind: 'terminal', name: 'string' } },
138
+ { value: 'file', type: { kind: 'terminal', name: 'string' } },
135
139
  ],
136
140
  },
137
141
  },
@@ -160,6 +164,7 @@ const props = defineProps({
160
164
  : T0 extends 'number' ? number | null
161
165
  : T0 extends 'range' ? number | null
162
166
  : T0 extends 'color' ? string | null
167
+ : T0 extends 'file' ? string | null
163
168
  : null
164
169
  >,
165
170
  default: null,
@@ -180,6 +185,7 @@ const props = defineProps({
180
185
  : T0 extends 'number' ? number | null
181
186
  : T0 extends 'range' ? number | null
182
187
  : T0 extends 'color' ? string | null
188
+ : T0 extends 'file' ? string | null
183
189
  : null) | undefined
184
190
  >,
185
191
  },
@@ -251,6 +257,7 @@ const checkedProps = computed(() => ({
251
257
  : T0 extends 'number' ? number | null
252
258
  : T0 extends 'range' ? number | null
253
259
  : T0 extends 'color' ? string | null
260
+ : T0 extends 'file' ? string | null
254
261
  : null
255
262
  >(
256
263
  props['value'],
@@ -277,6 +284,7 @@ const checkedProps = computed(() => ({
277
284
  { value: 'number', type: { kind: 'terminal', name: 'number' } },
278
285
  { value: 'range', type: { kind: 'terminal', name: 'number' } },
279
286
  { value: 'color', type: { kind: 'terminal', name: 'string' } },
287
+ { value: 'file', type: { kind: 'terminal', name: 'string' } },
280
288
  ],
281
289
  ),
282
290
  false,
@@ -298,6 +306,7 @@ const checkedProps = computed(() => ({
298
306
  : T0 extends 'number' ? number | null
299
307
  : T0 extends 'range' ? number | null
300
308
  : T0 extends 'color' ? string | null
309
+ : T0 extends 'file' ? string | null
301
310
  : null
302
311
  >(
303
312
  props.modelValue,
@@ -324,6 +333,7 @@ const checkedProps = computed(() => ({
324
333
  { value: 'number', type: { kind: 'terminal', name: 'number' } },
325
334
  { value: 'range', type: { kind: 'terminal', name: 'number' } },
326
335
  { value: 'color', type: { kind: 'terminal', name: 'string' } },
336
+ { value: 'file', type: { kind: 'terminal', name: 'string' } },
327
337
  ],
328
338
  ),
329
339
  false,
@@ -384,6 +394,7 @@ const emit = defineEmits<{
384
394
  : T0 extends 'number' ? number | null
385
395
  : T0 extends 'range' ? number | null
386
396
  : T0 extends 'color' ? string | null
397
+ : T0 extends 'file' ? string | null
387
398
  : null,
388
399
  ]
389
400
  }>()
@@ -406,6 +417,7 @@ const model = computed({
406
417
  : T0 extends 'number' ? number | null
407
418
  : T0 extends 'range' ? number | null
408
419
  : T0 extends 'color' ? string | null
420
+ : T0 extends 'file' ? string | null
409
421
  : null,
410
422
  ),
411
423
  })
@@ -476,7 +488,7 @@ useComponentHost(() => import('../components/ui-input/ui-input.js'), {
476
488
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
477
489
  :data-type="reflectedProp('type', 'type', checkedProps.type, undefined, false)"
478
490
  :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
479
- v-bind-control="{ tag: 'input', name: 'value', value: model, defaultValue: '' }"
491
+ v-bind-control="{ tag: 'input', name: 'value', value: model, optionalValue: true, defaultValue: '' }"
480
492
  @input="model = readBoundControl(
481
493
  $event.currentTarget as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,
482
494
  ) as any"
@@ -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/UiList.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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -1,9 +1,7 @@
1
1
  import type { PropType } from 'vue';
2
- declare var __VLS_15: {};
3
- type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_15) => any;
5
- };
6
- 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<{
7
5
  disabled: {
8
6
  type: PropType<boolean | null>;
9
7
  default: boolean;
@@ -94,10 +92,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
94
92
  disabled: boolean | null;
95
93
  multiple: boolean | null;
96
94
  required: boolean | null;
97
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
99
- declare const _default: typeof __VLS_export;
100
- export default _default;
95
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
96
+ default?: (props: {}) => any;
97
+ }>;
101
98
  type __VLS_WithSlots<T, S> = T & {
102
99
  new (): {
103
100
  $slots: S;
package/vue/UiListbox.vue CHANGED
@@ -1,4 +1,15 @@
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 {
4
15
  computed,
@@ -12,6 +23,7 @@ import {
12
23
  } from 'vue'
13
24
  import type { PropType, VNode } from 'vue'
14
25
  import { createDispatch, useComponentHost } from './host'
26
+ import { acceptsControllerWrite } from './props'
15
27
  import { checkedProp, propValidityState, vPropValidity } from './props'
16
28
  import UiScrollArea from './UiScrollArea.vue'
17
29
 
@@ -234,9 +246,9 @@ const emit = defineEmits<{
234
246
  }>()
235
247
 
236
248
  const root = ref<HTMLElement | null>(null)
237
- const choicesElement = useTemplateRef<HTMLElement>('choices')
238
- const optionsElement = useTemplateRef<HTMLElement>('options')
239
- const validityElement = useTemplateRef<HTMLElement>('validity')
249
+ const choicesElement = useTemplateRef<HTMLElement>('choicesElement')
250
+ const optionsElement = useTemplateRef<HTMLElement>('optionsElement')
251
+ const validityElement = useTemplateRef<HTMLElement>('validityElement')
240
252
  const choices = ref<
241
253
  { value: string; label: string; disabled: boolean; selected: boolean; index: number }[]
242
254
  >([])
@@ -263,24 +275,36 @@ const guarded = computed(() => {
263
275
  })
264
276
  let guardedBindingPrevious: any
265
277
  const guardedBinding = computed(() => {
266
- if (!(validationError.value == null || typeof validationError.value === 'boolean')) {
267
- return guardedBindingPrevious
268
- }
278
+ if (
279
+ !(htmlNextAuthoredCheck2(
280
+ validationError.value == null || typeof validationError.value === 'boolean',
281
+ 'invalid or validationError:validationError',
282
+ './components/ui-listbox/ui-listbox.html: HR007: Reference validationError does not satisfy its declared type.',
283
+ ))
284
+ ) return guardedBindingPrevious
269
285
  return guardedBindingPrevious = checkedProps.value.invalid || validationError.value
270
286
  })
271
287
  let guardedBinding2Previous: any
272
288
  const guardedBinding2 = computed(() => {
273
- if (!(hasSelection.value == null || typeof hasSelection.value === 'boolean')) {
274
- return guardedBinding2Previous
275
- }
289
+ if (
290
+ !(htmlNextAuthoredCheck2(
291
+ hasSelection.value == null || typeof hasSelection.value === 'boolean',
292
+ 'required and not hasSelection and not disabled:hasSelection',
293
+ './components/ui-listbox/ui-listbox.html: HR007: Reference hasSelection does not satisfy its declared type.',
294
+ ))
295
+ ) return guardedBinding2Previous
276
296
  return guardedBinding2Previous = checkedProps.value.required && !hasSelection.value
277
297
  && !checkedProps.value.disabled
278
298
  })
279
299
  let guardedBinding3Previous: any
280
300
  const guardedBinding3 = computed(() => {
281
- if (!(hasSelection.value == null || typeof hasSelection.value === 'boolean')) {
282
- return guardedBinding3Previous
283
- }
301
+ if (
302
+ !(htmlNextAuthoredCheck2(
303
+ hasSelection.value == null || typeof hasSelection.value === 'boolean',
304
+ 'hasSelection:hasSelection',
305
+ './components/ui-listbox/ui-listbox.html: HR007: Reference hasSelection does not satisfy its declared type.',
306
+ ))
307
+ ) return guardedBinding3Previous
284
308
  return guardedBinding3Previous = hasSelection.value ? true : undefined
285
309
  })
286
310
  provide('html-next:ui-listbox:choices', choices)
@@ -306,8 +330,9 @@ if (
306
330
  )
307
331
  }
308
332
 
309
- const isChangeDetail = (detail: unknown): boolean =>
310
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
333
+ const isChangeDetail = (
334
+ detail: unknown,
335
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
311
336
  && (typeof (detail as Record<string, unknown>)['value'] === 'string'
312
337
  || (detail as Record<string, unknown>)['value'] === null)
313
338
  && (Array.isArray((detail as Record<string, unknown>)['values'])
@@ -316,7 +341,7 @@ const isChangeDetail = (detail: unknown): boolean =>
316
341
  ))
317
342
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
318
343
  || (detail as Record<string, unknown>)['trigger'] === 'pointer')
319
- && Object.keys(detail as object).every((key) => ['value', 'values', 'trigger'].includes(key))
344
+ && Object.keys(detail as object).every((key) => ['value', 'values', 'trigger'].includes(key)))
320
345
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
321
346
  checks: {
322
347
  change: isChangeDetail,
@@ -327,6 +352,32 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
327
352
  useComponentHost(() => import('../components/ui-listbox/ui-listbox.js'), {
328
353
  root,
329
354
  dispatch,
355
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
356
+ acceptsControllerWrite(
357
+ value,
358
+ ({
359
+ choices: {
360
+ kind: 'list',
361
+ item: {
362
+ kind: 'object',
363
+ fields: [
364
+ { name: 'value', type: { kind: 'terminal', name: 'string' }, optional: false },
365
+ { name: 'label', type: { kind: 'terminal', name: 'string' }, optional: false },
366
+ { name: 'disabled', type: { kind: 'terminal', name: 'boolean' }, optional: false },
367
+ { name: 'selected', type: { kind: 'terminal', name: 'boolean' }, optional: false },
368
+ { name: 'index', type: { kind: 'terminal', name: 'integer' }, optional: false },
369
+ ],
370
+ open: false,
371
+ },
372
+ },
373
+ selection: { kind: 'list', item: { kind: 'terminal', name: 'string' } },
374
+ hasSelection: { kind: 'terminal', name: 'boolean' },
375
+ active: { kind: 'terminal', name: 'integer' },
376
+ uid: { kind: 'terminal', name: 'string' },
377
+ validationError: { kind: 'terminal', name: 'boolean' },
378
+ } as Record<string, any>)[name],
379
+ keys,
380
+ ),
330
381
  controllerSource: {
331
382
  specifier: '../components/ui-listbox/ui-listbox.js',
332
383
  definition: './components/ui-listbox/ui-listbox.html',
@@ -428,7 +479,7 @@ function uniqueKeys<T>(
428
479
  :data-values="reflectedProp('values', 'values', checkedProps.values, undefined, false)"
429
480
  ref="root"
430
481
  >
431
- <UiScrollArea class="choices" ref="choices"><KeyedBoundary><div
482
+ <UiScrollArea class="choices" ref="choicesElement"><KeyedBoundary><div
432
483
  v-for="choice in uniqueKeys(choices, (choice, index, loop) => choice.index)"
433
484
  :key="choice.index"
434
485
  class="option"
@@ -451,7 +502,7 @@ function uniqueKeys<T>(
451
502
  :disabled="checkedProps.disabled ?? undefined"
452
503
  :required="checkedProps.required ?? undefined"
453
504
  :name="checkedProps.name ?? undefined"
454
- ref="options"
505
+ ref="optionsElement"
455
506
  >
456
507
  <slot />
457
508
  </select>
@@ -470,7 +521,7 @@ function uniqueKeys<T>(
470
521
  :required="guardedBinding2"
471
522
  :checked.attr="guardedBinding3"
472
523
  :disabled="checkedProps.disabled ?? undefined"
473
- ref="validity"
524
+ ref="validityElement"
474
525
  >
475
526
  </div>
476
527
  </template>
package/vue/UiMenu.vue CHANGED
@@ -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 })
@@ -218,26 +219,29 @@ const hostState = computed(() =>
218
219
  ].filter(Boolean).join(' ')
219
220
  )
220
221
 
221
- const isSelectDetail = (detail: unknown): boolean =>
222
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
222
+ const isSelectDetail = (
223
+ detail: unknown,
224
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
223
225
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
224
226
  && ((detail as Record<string, unknown>)['checked'] === undefined
225
227
  || typeof (detail as Record<string, unknown>)['checked'] === 'boolean')
226
228
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
227
229
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
228
230
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
229
- && Object.keys(detail as object).every((key) => ['value', 'checked', 'trigger'].includes(key))
230
- const isOpenDetail = (detail: unknown): boolean =>
231
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
231
+ && Object.keys(detail as object).every((key) => ['value', 'checked', 'trigger'].includes(key)))
232
+ const isOpenDetail = (
233
+ detail: unknown,
234
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
232
235
  && typeof (detail as Record<string, unknown>)['open'] === 'boolean'
233
236
  && ((detail as Record<string, unknown>)['reason'] === 'action'
234
237
  || (detail as Record<string, unknown>)['reason'] === 'programmatic')
235
238
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
236
239
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
237
240
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
238
- && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key))
239
- const isCloseDetail = (detail: unknown): boolean =>
240
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
241
+ && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key)))
242
+ const isCloseDetail = (
243
+ detail: unknown,
244
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
241
245
  && typeof (detail as Record<string, unknown>)['open'] === 'boolean'
242
246
  && ((detail as Record<string, unknown>)['reason'] === 'action'
243
247
  || (detail as Record<string, unknown>)['reason'] === 'programmatic'
@@ -246,7 +250,7 @@ const isCloseDetail = (detail: unknown): boolean =>
246
250
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
247
251
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
248
252
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
249
- && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key))
253
+ && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key)))
250
254
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
251
255
  checks: {
252
256
  select: isSelectDetail,
@@ -259,6 +263,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
259
263
  useComponentHost(() => import('../components/ui-menu/ui-menu.js'), {
260
264
  root,
261
265
  dispatch,
266
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
267
+ acceptsControllerWrite(
268
+ value,
269
+ ({ internalOpen: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
270
+ keys,
271
+ ),
262
272
  controllerSource: {
263
273
  specifier: '../components/ui-menu/ui-menu.js',
264
274
  definition: './components/ui-menu/ui-menu.html',
@@ -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,15 +1,7 @@
1
1
  import type { PropType } from 'vue';
2
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_10: {}, __VLS_12: {};
3
- type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_1) => any;
5
- } & {
6
- shortcut?: (props: typeof __VLS_3) => any;
7
- } & {
8
- default?: (props: typeof __VLS_10) => any;
9
- } & {
10
- shortcut?: (props: typeof __VLS_12) => any;
11
- };
12
- 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<{
13
5
  checked: {
14
6
  type: PropType<boolean | null>;
15
7
  default: boolean;
@@ -72,15 +64,20 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
72
64
  "onUpdate:value"?: ((value: string) => any) | undefined;
73
65
  "onUpdate:type"?: ((value: string) => any) | undefined;
74
66
  }>, {
75
- value: string | null;
76
67
  type: "checkbox" | "radio" | "action" | null;
68
+ value: string | null;
77
69
  disabled: boolean | null;
78
70
  href: string | null;
79
71
  checked: boolean | null;
80
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
81
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
82
- declare const _default: typeof __VLS_export;
83
- export default _default;
72
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
73
+ default?: (props: {}) => any;
74
+ } & {
75
+ shortcut?: (props: {}) => any;
76
+ } & {
77
+ default?: (props: {}) => any;
78
+ } & {
79
+ shortcut?: (props: {}) => any;
80
+ }>;
84
81
  type __VLS_WithSlots<T, S> = T & {
85
82
  new (): {
86
83
  $slots: S;
@@ -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, preserveRootFocus, useComponentHost } from './host'
17
+ import { acceptsControllerWrite } from './props'
6
18
  import { checkedProp, propValidityState, vPropValidity } from './props'
7
19
  import UiIcon from './UiIcon.vue'
8
20
 
@@ -187,9 +199,13 @@ const guarded = computed(() => {
187
199
  })
188
200
  let guardedBindingPrevious: any
189
201
  const guardedBinding = computed(() => {
190
- if (!(internalChecked.value == null || typeof internalChecked.value === 'boolean')) {
191
- return guardedBindingPrevious
192
- }
202
+ if (
203
+ !(htmlNextAuthoredCheck2(
204
+ internalChecked.value == null || typeof internalChecked.value === 'boolean',
205
+ '{ action: null, checkbox: internalChecked, radio: internalChecked }[type]:internalChecked',
206
+ './components/ui-menu-item/ui-menu-item.html: HR007: Reference internalChecked does not satisfy its declared type.',
207
+ ))
208
+ ) return guardedBindingPrevious
193
209
  return guardedBindingPrevious =
194
210
  typeof ((({
195
211
  action: null,
@@ -239,8 +255,9 @@ const hostState = computed(() =>
239
255
  ].filter(Boolean).join(' ')
240
256
  )
241
257
 
242
- const isChangeDetail = (detail: unknown): boolean =>
243
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
258
+ const isChangeDetail = (
259
+ detail: unknown,
260
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
244
261
  && typeof (detail as Record<string, unknown>)['checked'] === 'boolean'
245
262
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
246
263
  && ((detail as Record<string, unknown>)['type'] === 'checkbox'
@@ -250,7 +267,7 @@ const isChangeDetail = (detail: unknown): boolean =>
250
267
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
251
268
  && Object.keys(detail as object).every((key) =>
252
269
  ['checked', 'value', 'type', 'trigger'].includes(key)
253
- )
270
+ ))
254
271
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
255
272
  checks: {
256
273
  change: isChangeDetail,
@@ -261,6 +278,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
261
278
  useComponentHost(() => import('../components/ui-menu-item/ui-menu-item.js'), {
262
279
  root,
263
280
  dispatch,
281
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
282
+ acceptsControllerWrite(
283
+ value,
284
+ ({ internalChecked: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
285
+ keys,
286
+ ),
264
287
  controllerSource: {
265
288
  specifier: '../components/ui-menu-item/ui-menu-item.js',
266
289
  definition: './components/ui-menu-item/ui-menu-item.html',
package/vue/UiMeter.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 lang="ts">
3
3
  function createFormatValue(): any {
4
4
  // FIFO bounds native instances and retained keys; only constructor inputs, never values, are cached.
package/vue/UiNavItem.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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
package/vue/UiPopover.vue CHANGED
@@ -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 })
@@ -225,8 +226,9 @@ const hostState = computed(() =>
225
226
  ].filter(Boolean).join(' ')
226
227
  )
227
228
 
228
- const isOpenDetail = (detail: unknown): boolean =>
229
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
229
+ const isOpenDetail = (
230
+ detail: unknown,
231
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
230
232
  && typeof (detail as Record<string, unknown>)['open'] === 'boolean'
231
233
  && ((detail as Record<string, unknown>)['reason'] === 'action'
232
234
  || (detail as Record<string, unknown>)['reason'] === 'programmatic'
@@ -235,7 +237,7 @@ const isOpenDetail = (detail: unknown): boolean =>
235
237
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
236
238
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
237
239
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
238
- && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key))
240
+ && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key)))
239
241
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
240
242
  checks: {
241
243
  open: isOpenDetail,
@@ -247,6 +249,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
247
249
  useComponentHost(() => import('../components/ui-popover/ui-popover.js'), {
248
250
  root,
249
251
  dispatch,
252
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
253
+ acceptsControllerWrite(
254
+ value,
255
+ ({ internalOpen: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
256
+ keys,
257
+ ),
250
258
  controllerSource: {
251
259
  specifier: '../components/ui-popover/ui-popover.js',
252
260
  definition: './components/ui-popover/ui-popover.html',