@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/UiTabs.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import {
4
4
  computed,
@@ -12,6 +12,7 @@ import {
12
12
  } from 'vue'
13
13
  import type { PropType, VNode } from 'vue'
14
14
  import { createDispatch, useComponentHost } from './host'
15
+ import { acceptsControllerWrite } from './props'
15
16
  import { checkedProp, propValidityState, vPropValidity } from './props'
16
17
 
17
18
  defineOptions({ inheritAttrs: false })
@@ -213,8 +214,8 @@ const emit = defineEmits<{
213
214
  }>()
214
215
 
215
216
  const root = ref<HTMLElement | null>(null)
216
- const listElement = useTemplateRef<HTMLElement>('list')
217
- const panelsElement = useTemplateRef<HTMLElement>('panels')
217
+ const listElement = useTemplateRef<HTMLElement>('listElement')
218
+ const panelsElement = useTemplateRef<HTMLElement>('panelsElement')
218
219
  const internalValue = ref('')
219
220
  const tabs = ref<{ id: string; label: string }[]>([])
220
221
  provide('html-next:ui-tabs:internalValue', internalValue)
@@ -246,8 +247,9 @@ const hostState = computed(() =>
246
247
  ].filter(Boolean).join(' ')
247
248
  )
248
249
 
249
- const isSelectDetail = (detail: unknown): boolean =>
250
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
250
+ const isSelectDetail = (
251
+ detail: unknown,
252
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
251
253
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
252
254
  && typeof (detail as Record<string, unknown>)['previousValue'] === 'string'
253
255
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
@@ -255,7 +257,7 @@ const isSelectDetail = (detail: unknown): boolean =>
255
257
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
256
258
  && Object.keys(detail as object).every((key) =>
257
259
  ['value', 'previousValue', 'trigger'].includes(key)
258
- )
260
+ ))
259
261
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
260
262
  checks: {
261
263
  select: isSelectDetail,
@@ -266,6 +268,26 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
266
268
  useComponentHost(() => import('../components/ui-tabs/ui-tabs.js'), {
267
269
  root,
268
270
  dispatch,
271
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
272
+ acceptsControllerWrite(
273
+ value,
274
+ ({
275
+ internalValue: { kind: 'terminal', name: 'string' },
276
+ tabs: {
277
+ kind: 'list',
278
+ item: {
279
+ kind: 'object',
280
+ fields: [{ name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false }, {
281
+ name: 'label',
282
+ type: { kind: 'terminal', name: 'string' },
283
+ optional: false,
284
+ }],
285
+ open: false,
286
+ },
287
+ },
288
+ } as Record<string, any>)[name],
289
+ keys,
290
+ ),
269
291
  controllerSource: {
270
292
  specifier: '../components/ui-tabs/ui-tabs.js',
271
293
  definition: './components/ui-tabs/ui-tabs.html',
@@ -356,7 +378,7 @@ function uniqueKeys<T>(
356
378
  role="tablist"
357
379
  :aria-label="checkedProps.label ?? undefined"
358
380
  :aria-orientation="checkedProps.orientation ?? undefined"
359
- ref="list"
381
+ ref="listElement"
360
382
  >
361
383
  <slot name="tab"><KeyedBoundary><button
362
384
  v-for="tab in uniqueKeys(tabs, (tab, index, loop) => tab.id)"
@@ -371,7 +393,7 @@ function uniqueKeys<T>(
371
393
  {{ tab.label }}
372
394
  </button></KeyedBoundary></slot>
373
395
  </div>
374
- <div class="panels" ref="panels"><slot /></div>
396
+ <div class="panels" ref="panelsElement"><slot /></div>
375
397
  </div>
376
398
  </template>
377
399
 
package/vue/UiText.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -271,7 +271,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
271
271
  :data-rows="reflectedProp('rows', 'rows', checkedProps.rows, undefined, false)"
272
272
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
273
273
  :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
274
- v-bind-control="{ tag: 'textarea', name: 'value', value: model, defaultValue: '' }"
274
+ v-bind-control="{ tag: 'textarea', name: 'value', value: model, optionalValue: true, defaultValue: '' }"
275
275
  @input="model = readBoundControl(
276
276
  $event.currentTarget as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,
277
277
  ) as any"
package/vue/UiToast.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -104,7 +104,7 @@ const emit = defineEmits<{
104
104
  }>()
105
105
 
106
106
  const root = ref<HTMLElement | null>(null)
107
- const actionElement = useTemplateRef<HTMLElement>('action')
107
+ const actionElement = useTemplateRef<HTMLElement>('actionElement')
108
108
  const hydrationNode = hydrationInstance?.vnode.el
109
109
  if (
110
110
  typeof window !== 'undefined' && hydrationNode != null
@@ -127,15 +127,16 @@ const hostState = computed(() =>
127
127
  ].filter(Boolean).join(' ')
128
128
  )
129
129
 
130
- const isDismissDetail = (detail: unknown): boolean =>
131
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
130
+ const isDismissDetail = (
131
+ detail: unknown,
132
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
132
133
  && typeof (detail as Record<string, unknown>)['id'] === 'string'
133
134
  && ((detail as Record<string, unknown>)['reason'] === 'action'
134
135
  || (detail as Record<string, unknown>)['reason'] === 'timeout')
135
136
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
136
137
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
137
138
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
138
- && Object.keys(detail as object).every((key) => ['id', 'reason', 'trigger'].includes(key))
139
+ && Object.keys(detail as object).every((key) => ['id', 'reason', 'trigger'].includes(key)))
139
140
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
140
141
  checks: {
141
142
  dismiss: isDismissDetail,
@@ -197,7 +198,7 @@ function attribute(value: unknown): any {
197
198
  ref="root"
198
199
  >
199
200
  <div class="message"><slot /></div>
200
- <div class="action" ref="action"><slot name="action" /></div>
201
+ <div class="action" ref="actionElement"><slot name="action" /></div>
201
202
  <UiIconButton
202
203
  class="dismiss"
203
204
  size="sm"
@@ -12,14 +12,19 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
12
12
  type: PropType<"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | null>;
13
13
  default: string;
14
14
  };
15
- }>, {
16
- show: (...args: unknown[]) => Promise<any>;
17
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
16
  dismiss: (event: CustomEvent<{
19
17
  readonly id: string;
20
18
  readonly reason: "action" | "timeout";
21
19
  readonly trigger: "keyboard" | "pointer" | "programmatic";
22
20
  }>) => any;
21
+ "update:duration": (value: number) => any;
22
+ "show-toast": (event: CustomEvent<{
23
+ readonly message: string;
24
+ readonly id?: string;
25
+ readonly tone?: "neutral" | "info" | "success" | "warning" | "danger";
26
+ readonly duration?: number;
27
+ }>) => any;
23
28
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
29
  duration: {
25
30
  type: PropType<number | null>;
@@ -35,6 +40,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
35
40
  readonly reason: "action" | "timeout";
36
41
  readonly trigger: "keyboard" | "pointer" | "programmatic";
37
42
  }>) => any) | undefined;
43
+ "onUpdate:duration"?: ((value: number) => any) | undefined;
44
+ "onShow-toast"?: ((event: CustomEvent<{
45
+ readonly message: string;
46
+ readonly id?: string;
47
+ readonly tone?: "neutral" | "info" | "success" | "warning" | "danger";
48
+ readonly duration?: number;
49
+ }>) => any) | undefined;
38
50
  }>, {
39
51
  duration: number | null;
40
52
  placement: "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | null;
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.26 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.29 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import {
4
4
  computed,
@@ -11,6 +11,7 @@ import {
11
11
  } from 'vue'
12
12
  import type { PropType, VNode } from 'vue'
13
13
  import { createDispatch, useComponentHost } from './host'
14
+ import { acceptsControllerWrite } from './props'
14
15
  import { checkedProp, propValidityState, vPropValidity } from './props'
15
16
  import UiIcon from './UiIcon.vue'
16
17
  import UiIconButton from './UiIconButton.vue'
@@ -24,7 +25,7 @@ const propValidityContract = {
24
25
  required: false,
25
26
  target: { attribute: 'duration' },
26
27
  description:
27
- 'Default milliseconds for toasts added with show() or the show command; 0 keeps each until dismissed. Hover or focus pauses a timer.',
28
+ 'Default milliseconds for toasts added with the show-toast event or command; 0 keeps each until dismissed. Hover or focus pauses a timer.',
28
29
  default: 0,
29
30
  },
30
31
  placement: {
@@ -130,6 +131,7 @@ function reflectedProp(
130
131
  }
131
132
  const hydrationInstance = getCurrentInstance()
132
133
  const emit = defineEmits<{
134
+ 'update:duration': [value: number]
133
135
  dismiss: [
134
136
  event: CustomEvent<
135
137
  {
@@ -139,6 +141,16 @@ const emit = defineEmits<{
139
141
  }
140
142
  >,
141
143
  ]
144
+ 'show-toast': [
145
+ event: CustomEvent<
146
+ {
147
+ readonly message: string
148
+ readonly id?: string
149
+ readonly tone?: 'neutral' | 'info' | 'success' | 'warning' | 'danger'
150
+ readonly duration?: number
151
+ }
152
+ >,
153
+ ]
142
154
  }>()
143
155
 
144
156
  const root = ref<HTMLElement | null>(null)
@@ -178,63 +190,96 @@ const hostState = computed(() =>
178
190
  ].filter(Boolean).join(' ')
179
191
  )
180
192
 
181
- const isDismissDetail = (detail: unknown): boolean =>
182
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
193
+ const isDismissDetail = (
194
+ detail: unknown,
195
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
183
196
  && typeof (detail as Record<string, unknown>)['id'] === 'string'
184
197
  && ((detail as Record<string, unknown>)['reason'] === 'action'
185
198
  || (detail as Record<string, unknown>)['reason'] === 'timeout')
186
199
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
187
200
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
188
201
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
189
- && Object.keys(detail as object).every((key) => ['id', 'reason', 'trigger'].includes(key))
202
+ && Object.keys(detail as object).every((key) => ['id', 'reason', 'trigger'].includes(key)))
203
+ const isShowToastDetail = (
204
+ detail: unknown,
205
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
206
+ && typeof (detail as Record<string, unknown>)['message'] === 'string'
207
+ && ((detail as Record<string, unknown>)['id'] === undefined
208
+ || typeof (detail as Record<string, unknown>)['id'] === 'string')
209
+ && ((detail as Record<string, unknown>)['tone'] === undefined
210
+ || ((detail as Record<string, unknown>)['tone'] === 'neutral'
211
+ || (detail as Record<string, unknown>)['tone'] === 'info'
212
+ || (detail as Record<string, unknown>)['tone'] === 'success'
213
+ || (detail as Record<string, unknown>)['tone'] === 'warning'
214
+ || (detail as Record<string, unknown>)['tone'] === 'danger'))
215
+ && ((detail as Record<string, unknown>)['duration'] === undefined
216
+ || (typeof (detail as Record<string, unknown>)['duration'] === 'number'
217
+ && Number.isFinite((detail as Record<string, unknown>)['duration'])))
218
+ && Object.keys(detail as object).every((key) =>
219
+ ['message', 'id', 'tone', 'duration'].includes(key)
220
+ ))
190
221
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
191
222
  checks: {
192
223
  dismiss: isDismissDetail,
224
+ 'show-toast': isShowToastDetail,
193
225
  },
226
+ modeled: ['duration'],
194
227
  })
195
228
 
196
- const { host, ready } = useComponentHost(
197
- () => import('../components/ui-toast-region/ui-toast-region.js'),
198
- {
199
- root,
200
- dispatch,
201
- controllerSource: {
202
- specifier: '../components/ui-toast-region/ui-toast-region.js',
203
- definition: './components/ui-toast-region/ui-toast-region.html',
204
- },
205
- props: checkedProps,
206
- propInputs: (name: string) => {
207
- const incoming = hydrationInstance?.vnode.props
208
- const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
209
- return incoming !== null && incoming !== undefined
210
- ? (incoming[name] ?? incoming[kebab] ?? null)
211
- : null
212
- },
213
- propNames: ['duration', 'placement'],
214
- propValidity: (name: string) =>
215
- propValidityState({ contract: propValidityContract, values: { ...props } }, name),
216
- state: { toasts },
229
+ useComponentHost(() => import('../components/ui-toast-region/ui-toast-region.js'), {
230
+ root,
231
+ dispatch,
232
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
233
+ acceptsControllerWrite(
234
+ value,
235
+ ({
236
+ toasts: {
237
+ kind: 'list',
238
+ item: {
239
+ kind: 'object',
240
+ fields: [{ name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false }, {
241
+ name: 'message',
242
+ type: { kind: 'terminal', name: 'string' },
243
+ optional: false,
244
+ }, {
245
+ name: 'tone',
246
+ type: {
247
+ kind: 'constrained',
248
+ base: { kind: 'terminal', name: 'keyword' },
249
+ values: ['neutral', 'info', 'success', 'warning', 'danger'],
250
+ },
251
+ optional: false,
252
+ }, {
253
+ name: 'role',
254
+ type: {
255
+ kind: 'constrained',
256
+ base: { kind: 'terminal', name: 'keyword' },
257
+ values: ['alert', 'status'],
258
+ },
259
+ optional: false,
260
+ }, { name: 'closing', type: { kind: 'terminal', name: 'boolean' }, optional: false }],
261
+ open: false,
262
+ },
263
+ },
264
+ } as Record<string, any>)[name],
265
+ keys,
266
+ ),
267
+ controllerSource: {
268
+ specifier: '../components/ui-toast-region/ui-toast-region.js',
269
+ definition: './components/ui-toast-region/ui-toast-region.html',
217
270
  },
218
- )
219
-
220
- defineExpose({
221
- show: async (...args: unknown[]) => {
222
- const controllerModule = await ready()
223
- if (controllerModule === undefined) {
224
- throw new TypeError('Controller method `show` is not ready for <ui-toast-region>.')
225
- }
226
- const method = Reflect.get(controllerModule, 'show')
227
- if (typeof method !== 'function') {
228
- throw Object.assign(new Error('HJ003: Controller does not export method `show`.'), {
229
- name: 'HtmlDiagnosticError',
230
- diagnostic: Object.freeze({
231
- code: 'HJ003',
232
- message: 'Controller does not export method `show`.',
233
- }),
234
- })
235
- }
236
- return method(host, ...args)
271
+ props: checkedProps,
272
+ propInputs: (name: string) => {
273
+ const incoming = hydrationInstance?.vnode.props
274
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
275
+ return incoming !== null && incoming !== undefined
276
+ ? (incoming[name] ?? incoming[kebab] ?? null)
277
+ : null
237
278
  },
279
+ propNames: ['duration', 'placement'],
280
+ propValidity: (name: string) =>
281
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
282
+ state: { toasts },
238
283
  })
239
284
 
240
285
  function text(value: unknown): string {
@@ -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
- shortcut?: (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
  for: {
10
6
  type: PropType<string | null>;
11
7
  default: string;
@@ -93,14 +89,15 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
93
89
  open: boolean | null;
94
90
  trigger: "hover" | "click" | "focus" | null;
95
91
  for: string | null;
92
+ hideDelay: number | null;
96
93
  inverse: boolean | null;
97
94
  placement: "left" | "right" | "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | null;
98
- hideDelay: number | null;
99
95
  showDelay: number | null;
100
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
101
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
102
- declare const _default: typeof __VLS_export;
103
- export default _default;
96
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
97
+ default?: (props: {}) => any;
98
+ } & {
99
+ shortcut?: (props: {}) => any;
100
+ }>;
104
101
  type __VLS_WithSlots<T, S> = T & {
105
102
  new (): {
106
103
  $slots: S;
package/vue/UiTooltip.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, 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 })
@@ -250,9 +262,13 @@ const root = ref<HTMLElement | null>(null)
250
262
  const internalOpen = ref(false)
251
263
  let guardedPrevious: any
252
264
  const guarded = computed(() => {
253
- if (!(internalOpen.value == null || typeof internalOpen.value === 'boolean')) {
254
- return guardedPrevious
255
- }
265
+ if (
266
+ !(htmlNextAuthoredCheck2(
267
+ internalOpen.value == null || typeof internalOpen.value === 'boolean',
268
+ 'not internalOpen:internalOpen',
269
+ './components/ui-tooltip/ui-tooltip.html: HR007: Reference internalOpen does not satisfy its declared type.',
270
+ ))
271
+ ) return guardedPrevious
256
272
  return guardedPrevious = !internalOpen.value
257
273
  })
258
274
  provide('html-next:ui-tooltip:internalOpen', internalOpen)
@@ -280,8 +296,9 @@ const hostState = computed(() =>
280
296
  ].filter(Boolean).join(' ')
281
297
  )
282
298
 
283
- const isOpenDetail = (detail: unknown): boolean =>
284
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
299
+ const isOpenDetail = (
300
+ detail: unknown,
301
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
285
302
  && typeof (detail as Record<string, unknown>)['open'] === 'boolean'
286
303
  && ((detail as Record<string, unknown>)['reason'] === 'action'
287
304
  || (detail as Record<string, unknown>)['reason'] === 'programmatic'
@@ -290,7 +307,7 @@ const isOpenDetail = (detail: unknown): boolean =>
290
307
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
291
308
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
292
309
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
293
- && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key))
310
+ && Object.keys(detail as object).every((key) => ['open', 'reason', 'trigger'].includes(key)))
294
311
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
295
312
  checks: {
296
313
  open: isOpenDetail,
@@ -302,6 +319,12 @@ const dispatch = createDispatch(root, emit as (name: string, detail: unknown) =>
302
319
  useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
303
320
  root,
304
321
  dispatch,
322
+ acceptsState: (name: string, keys: readonly string[], value: unknown) =>
323
+ acceptsControllerWrite(
324
+ value,
325
+ ({ internalOpen: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
326
+ keys,
327
+ ),
305
328
  controllerSource: {
306
329
  specifier: '../components/ui-tooltip/ui-tooltip.js',
307
330
  definition: './components/ui-tooltip/ui-tooltip.html',
package/vue/UiTopBar.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 { getCurrentInstance } from 'vue'
4
4
 
package/vue/UiTree.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'
@@ -249,8 +249,9 @@ const hostState = computed(() =>
249
249
  ].filter(Boolean).join(' ')
250
250
  )
251
251
 
252
- const isReorderDetail = (detail: unknown): boolean =>
253
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
252
+ const isReorderDetail = (
253
+ detail: unknown,
254
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
254
255
  && typeof (detail as Record<string, unknown>)['sourceId'] === 'string'
255
256
  && typeof (detail as Record<string, unknown>)['targetId'] === 'string'
256
257
  && ((detail as Record<string, unknown>)['position'] === 'before'
@@ -274,9 +275,10 @@ const isReorderDetail = (detail: unknown): boolean =>
274
275
  'targetScope',
275
276
  'trigger',
276
277
  ].includes(key)
277
- )
278
- const isReorderRejectedDetail = (detail: unknown): boolean =>
279
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
278
+ ))
279
+ const isReorderRejectedDetail = (
280
+ detail: unknown,
281
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
280
282
  && typeof (detail as Record<string, unknown>)['sourceId'] === 'string'
281
283
  && typeof (detail as Record<string, unknown>)['targetId'] === 'string'
282
284
  && ((detail as Record<string, unknown>)['position'] === 'before'
@@ -291,15 +293,17 @@ const isReorderRejectedDetail = (detail: unknown): boolean =>
291
293
  && Object.keys(detail as object).every((key) =>
292
294
  ['sourceId', 'targetId', 'position', 'reason', 'maxDepth', 'resultingDepth', 'trigger']
293
295
  .includes(key)
294
- )
295
- const isActivateDetail = (detail: unknown): boolean =>
296
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
296
+ ))
297
+ const isActivateDetail = (
298
+ detail: unknown,
299
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
297
300
  && typeof (detail as Record<string, unknown>)['id'] === 'string'
298
301
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
299
302
  || (detail as Record<string, unknown>)['trigger'] === 'pointer')
300
- && Object.keys(detail as object).every((key) => ['id', 'trigger'].includes(key))
301
- const isSelectDetail = (detail: unknown): boolean =>
302
- detail !== null && typeof detail === 'object' && !Array.isArray(detail)
303
+ && Object.keys(detail as object).every((key) => ['id', 'trigger'].includes(key)))
304
+ const isSelectDetail = (
305
+ detail: unknown,
306
+ ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
303
307
  && (Array.isArray((detail as Record<string, unknown>)['ids'])
304
308
  && ((detail as Record<string, unknown>)['ids'] as unknown[]).every((item: unknown) =>
305
309
  typeof item === 'string'
@@ -307,7 +311,7 @@ const isSelectDetail = (detail: unknown): boolean =>
307
311
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
308
312
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
309
313
  || (detail as Record<string, unknown>)['trigger'] === 'programmatic')
310
- && Object.keys(detail as object).every((key) => ['ids', 'trigger'].includes(key))
314
+ && Object.keys(detail as object).every((key) => ['ids', 'trigger'].includes(key)))
311
315
  const dispatch = createDispatch(root, emit as (name: string, detail: unknown) => void, {
312
316
  checks: {
313
317
  reorder: isReorderDetail,
@@ -1,15 +1,7 @@
1
1
  import type { PropType } from 'vue';
2
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_11: {}, __VLS_13: {};
3
- type __VLS_Slots = {} & {
4
- leading?: (props: typeof __VLS_1) => any;
5
- } & {
6
- label?: (props: typeof __VLS_3) => any;
7
- } & {
8
- actions?: (props: typeof __VLS_11) => any;
9
- } & {
10
- default?: (props: typeof __VLS_13) => 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
  accepts: {
14
6
  type: PropType<string | null>;
15
7
  default: string;
@@ -143,19 +135,24 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
143
135
  selected: boolean | null;
144
136
  disabled: boolean | null;
145
137
  expanded: boolean | null;
146
- container: boolean | null;
147
- lazy: boolean | null;
148
- sortable: boolean | null;
149
138
  accepts: string | null;
139
+ container: boolean | null;
150
140
  dragType: string | null;
151
141
  dropDepth: number | null;
152
142
  dropScope: string | null;
153
143
  itemId: string | null;
144
+ lazy: boolean | null;
145
+ sortable: boolean | null;
154
146
  subtreeDepth: number | null;
155
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
156
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
157
- declare const _default: typeof __VLS_export;
158
- export default _default;
147
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
148
+ leading?: (props: {}) => any;
149
+ } & {
150
+ label?: (props: {}) => any;
151
+ } & {
152
+ actions?: (props: {}) => any;
153
+ } & {
154
+ default?: (props: {}) => any;
155
+ }>;
159
156
  type __VLS_WithSlots<T, S> = T & {
160
157
  new (): {
161
158
  $slots: S;