@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/UiRadio.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/UiRadio.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 })
@@ -173,14 +185,18 @@ const emit = defineEmits<{
173
185
  }>()
174
186
 
175
187
  const root = ref<HTMLElement | null>(null)
176
- const inputElement = useTemplateRef<HTMLElement>('input')
177
- const descriptionElement = useTemplateRef<HTMLElement>('description')
188
+ const inputElement = useTemplateRef<HTMLElement>('inputElement')
189
+ const descriptionElement = useTemplateRef<HTMLElement>('descriptionElement')
178
190
  const internalChecked = ref(false)
179
191
  let guardedPrevious: any
180
192
  const guarded = computed(() => {
181
- if (!(internalChecked.value == null || typeof internalChecked.value === 'boolean')) {
182
- return guardedPrevious
183
- }
193
+ if (
194
+ !(htmlNextAuthoredCheck2(
195
+ internalChecked.value == null || typeof internalChecked.value === 'boolean',
196
+ 'internalChecked:internalChecked',
197
+ './components/ui-radio/ui-radio.html: HR007: Reference internalChecked does not satisfy its declared type.',
198
+ ))
199
+ ) return guardedPrevious
184
200
  return guardedPrevious = internalChecked.value
185
201
  })
186
202
  provide('html-next:ui-radio:internalChecked', internalChecked)
@@ -207,14 +223,15 @@ const hostState = computed(() =>
207
223
  ].filter(Boolean).join(' ')
208
224
  )
209
225
 
210
- const isChangeDetail = (detail: unknown): boolean =>
211
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
226
+ const isChangeDetail = (
227
+ detail: unknown,
228
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
212
229
  && typeof (detail as Record<string, unknown>)['checked'] === 'boolean'
213
230
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
214
231
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
215
232
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
216
233
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
217
- && Object.keys(detail as object).every((key) => ['checked', 'value', 'trigger'].includes(key))
234
+ && Object.keys(detail as object).every((key) => ['checked', 'value', 'trigger'].includes(key)))
218
235
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
219
236
  checks: {
220
237
  change: isChangeDetail,
@@ -225,6 +242,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
225
242
  useComponentHost(() => import('../components/ui-radio/ui-radio.js'), {
226
243
  root,
227
244
  dispatch,
245
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
246
+ acceptsControllerWrite(
247
+ value,
248
+ ({ internalChecked: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
249
+ keys,
250
+ ),
228
251
  controllerSource: {
229
252
  specifier: '../components/ui-radio/ui-radio.js',
230
253
  definition: './components/ui-radio/ui-radio.html',
@@ -271,10 +294,10 @@ useComponentHost(() => import('../components/ui-radio/ui-radio.js'), {
271
294
  :required="checkedProps.required ?? undefined"
272
295
  :value.attr="checkedProps.value ?? undefined"
273
296
  :name="checkedProps.name ?? 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 })
@@ -229,8 +230,9 @@ const hostState = computed(() =>
229
230
  ].filter(Boolean).join(' ')
230
231
  )
231
232
 
232
- const isSelectDetail = (detail: unknown): boolean =>
233
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
233
+ const isSelectDetail = (
234
+ detail: unknown,
235
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
234
236
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
235
237
  && typeof (detail as Record<string, unknown>)['previousValue'] === 'string'
236
238
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
@@ -238,15 +240,16 @@ const isSelectDetail = (detail: unknown): boolean =>
238
240
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
239
241
  && Object.keys(detail as object).every((key) =>
240
242
  ['value', 'previousValue', 'trigger'].includes(key)
241
- )
242
- const isChangeDetail = (detail: unknown): boolean =>
243
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
243
+ ))
244
+ const isChangeDetail = (
245
+ detail: unknown,
246
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
244
247
  && typeof (detail as Record<string, unknown>)['checked'] === 'boolean'
245
248
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
246
249
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
247
250
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
248
251
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
249
- && Object.keys(detail as object).every((key) => ['checked', 'value', 'trigger'].includes(key))
252
+ && Object.keys(detail as object).every((key) => ['checked', 'value', 'trigger'].includes(key)))
250
253
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
251
254
  checks: {
252
255
  select: isSelectDetail,
@@ -258,6 +261,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
258
261
  useComponentHost(() => import('../components/ui-radio-group/ui-radio-group.js'), {
259
262
  root,
260
263
  dispatch,
264
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
265
+ acceptsControllerWrite(
266
+ value,
267
+ ({ internalValue: { kind: 'terminal', name: 'string' } } as Record<string, any>)[name],
268
+ keys,
269
+ ),
261
270
  controllerSource: {
262
271
  specifier: '../components/ui-radio-group/ui-radio-group.js',
263
272
  definition: './components/ui-radio-group/ui-radio-group.html',
package/vue/UiReel.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, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -95,7 +95,7 @@ function reflectedProp(
95
95
  const hydrationInstance = getCurrentInstance()
96
96
 
97
97
  const root = ref<HTMLElement | null>(null)
98
- const contentElement = useTemplateRef<HTMLElement>('content')
98
+ const contentElement = useTemplateRef<HTMLElement>('contentElement')
99
99
  const hydrationNode = hydrationInstance?.vnode.el
100
100
  if (
101
101
  typeof window !== 'undefined' && hydrationNode != null
@@ -158,7 +158,7 @@ useComponentHost(() => import('../components/ui-scroll-area/ui-scroll-area.js'),
158
158
  :data-ui-scroll-area-state="hostState || undefined"
159
159
  ref="root"
160
160
  >
161
- <div class="content" ref="content"><slot /></div>
161
+ <div class="content" ref="contentElement"><slot /></div>
162
162
  </div>
163
163
  </template>
164
164
 
@@ -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,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, useTemplateRef, 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 })
@@ -133,7 +134,7 @@ const emit = defineEmits<{
133
134
  }>()
134
135
 
135
136
  const root = ref<HTMLElement | null>(null)
136
- const dialogElement = useTemplateRef<HTMLElement>('dialog')
137
+ const dialogElement = useTemplateRef<HTMLElement>('dialogElement')
137
138
  const internalOpen = ref(false)
138
139
  provide('html-next:ui-search-shell:internalOpen', internalOpen)
139
140
  const hydrationNode = hydrationInstance?.vnode.el
@@ -153,8 +154,9 @@ if (
153
154
  )
154
155
  }
155
156
 
156
- const isCloseDetail = (detail: unknown): boolean =>
157
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
157
+ const isCloseDetail = (
158
+ detail: unknown,
159
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
158
160
  && typeof (detail as Record<string, unknown>)['open'] === 'boolean'
159
161
  && ((detail as Record<string, unknown>)['reason'] === 'action'
160
162
  || (detail as Record<string, unknown>)['reason'] === 'programmatic'
@@ -163,7 +165,7 @@ const isCloseDetail = (detail: unknown): boolean =>
163
165
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
164
166
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
165
167
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
166
- && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key))
168
+ && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key)))
167
169
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
168
170
  checks: {
169
171
  close: isCloseDetail,
@@ -174,6 +176,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
174
176
  useComponentHost(() => import('../components/ui-search-shell/ui-search-shell.js'), {
175
177
  root,
176
178
  dispatch,
179
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
180
+ acceptsControllerWrite(
181
+ value,
182
+ ({ internalOpen: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
183
+ keys,
184
+ ),
177
185
  controllerSource: {
178
186
  specifier: '../components/ui-search-shell/ui-search-shell.js',
179
187
  definition: './components/ui-search-shell/ui-search-shell.html',
@@ -205,7 +213,7 @@ useComponentHost(() => import('../components/ui-search-shell/ui-search-shell.js'
205
213
  :data-open="reflectedProp('open', 'open', checkedProps.open, undefined, false)"
206
214
  ref="root"
207
215
  >
208
- <dialog :aria-label="checkedProps.label ?? undefined" ref="dialog">
216
+ <dialog :aria-label="checkedProps.label ?? undefined" ref="dialogElement">
209
217
  <div class="panel">
210
218
  <div class="search"><slot name="search" /></div>
211
219
  <div class="status"><slot name="status" /></div>
package/vue/UiSection.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/UiSelect.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'
@@ -212,7 +212,7 @@ useComponentHost(() => import('../components/ui-select/ui-select.js'), {
212
212
  :data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
213
213
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
214
214
  :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
215
- v-bind-control="{ tag: 'select', name: 'value', value: model, defaultValue: '' }"
215
+ v-bind-control="{ tag: 'select', name: 'value', value: model, optionalValue: true, defaultValue: '' }"
216
216
  @change="model = readBoundControl(
217
217
  $event.currentTarget as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,
218
218
  ) as any"
@@ -223,6 +223,7 @@ useComponentHost(() => import('../components/ui-select/ui-select.js'), {
223
223
  :value="model"
224
224
  :multiple="false"
225
225
  :native-property="false"
226
+ :optional-value="true"
226
227
  ><slot /></SelectedOptions>
227
228
  </select>
228
229
  </template>
@@ -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_1: {};
3
- type __VLS_Slots = {} & {
4
- default?: (props: typeof __VLS_1) => 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
  breakpoint: {
8
6
  type: PropType<"sm" | "md" | "lg" | null>;
9
7
  default: string;
@@ -104,15 +102,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
104
102
  resizable: boolean | null;
105
103
  breakpoint: "sm" | "md" | "lg" | null;
106
104
  collapsed: boolean | null;
107
- side: "start" | "end" | null;
108
105
  maxWidth: number | null;
109
106
  minWidth: number | null;
110
107
  resizeLabel: string | null;
111
108
  resizeStep: number | null;
112
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
113
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
114
- declare const _default: typeof __VLS_export;
115
- export default _default;
109
+ side: "start" | "end" | null;
110
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
111
+ default?: (props: {}) => any;
112
+ }>;
116
113
  type __VLS_WithSlots<T, S> = T & {
117
114
  new (): {
118
115
  $slots: S;
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'