@threadlabs/looma 0.21.6 → 0.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  2. package/components/ui-avatar/ui-avatar.html +4 -4
  3. package/components/ui-avatar-group/ui-avatar-group.html +2 -2
  4. package/components/ui-checkbox/ui-checkbox.html +1 -1
  5. package/components/ui-combobox/ui-combobox.html +18 -18
  6. package/components/ui-context-menu/ui-context-menu.html +1 -1
  7. package/components/ui-dialog/ui-dialog.html +2 -2
  8. package/components/ui-disclosure/ui-disclosure.html +4 -4
  9. package/components/ui-editable/ui-editable.html +3 -3
  10. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +5 -5
  11. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +5 -5
  12. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +3 -3
  13. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
  14. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +3 -7
  15. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +6 -6
  16. package/components/ui-listbox/ui-listbox.html +6 -6
  17. package/components/ui-menu/ui-menu.html +1 -1
  18. package/components/ui-menu-item/ui-menu-item.html +1 -1
  19. package/components/ui-popover/ui-popover.html +1 -1
  20. package/components/ui-radio/ui-radio.html +1 -1
  21. package/components/ui-radio-group/ui-radio-group.html +1 -1
  22. package/components/ui-search-shell/ui-search-shell.html +1 -1
  23. package/components/ui-sidebar/ui-sidebar.html +2 -2
  24. package/components/ui-switch/ui-switch.html +1 -1
  25. package/components/ui-switcher/ui-switcher.html +1 -1
  26. package/components/ui-tabs/ui-tabs.html +2 -2
  27. package/components/ui-toast-region/ui-toast-region.html +1 -1
  28. package/components/ui-tooltip/ui-tooltip.html +1 -1
  29. package/components/ui-tree-item/ui-tree-item.html +4 -4
  30. package/dist/index.js +1 -1
  31. package/package.json +2 -2
  32. package/styles/ui-action-bar.css +1 -1
  33. package/styles/ui-affordance-scope.css +1 -1
  34. package/styles/ui-avatar-group.css +1 -1
  35. package/styles/ui-avatar.css +1 -1
  36. package/styles/ui-badge.css +1 -1
  37. package/styles/ui-breadcrumb-item.css +1 -1
  38. package/styles/ui-breadcrumbs.css +1 -1
  39. package/styles/ui-button.css +1 -1
  40. package/styles/ui-callout.css +1 -1
  41. package/styles/ui-card.css +1 -1
  42. package/styles/ui-checkbox.css +1 -1
  43. package/styles/ui-cluster.css +1 -1
  44. package/styles/ui-combobox.css +1 -1
  45. package/styles/ui-container.css +1 -1
  46. package/styles/ui-context-menu.css +1 -1
  47. package/styles/ui-cover.css +1 -1
  48. package/styles/ui-description-item.css +1 -1
  49. package/styles/ui-description-list.css +1 -1
  50. package/styles/ui-dialog.css +1 -1
  51. package/styles/ui-disclosure.css +1 -1
  52. package/styles/ui-editable.css +1 -1
  53. package/styles/ui-editor-insert-table-grid.css +1 -1
  54. package/styles/ui-editor-mention-menu-item.css +1 -1
  55. package/styles/ui-editor-mention-menu.css +1 -1
  56. package/styles/ui-editor-slash-menu-group.css +1 -1
  57. package/styles/ui-editor-slash-menu-item.css +1 -1
  58. package/styles/ui-editor-slash-menu.css +1 -1
  59. package/styles/ui-editor-table-context-menu.css +1 -1
  60. package/styles/ui-editor-table-overlay.css +1 -1
  61. package/styles/ui-editor-table-toolbar.css +1 -1
  62. package/styles/ui-editor-toolbar.css +1 -1
  63. package/styles/ui-floating-action-button.css +1 -1
  64. package/styles/ui-form-field.css +1 -1
  65. package/styles/ui-grid.css +1 -1
  66. package/styles/ui-icon-button.css +1 -1
  67. package/styles/ui-icon.css +1 -1
  68. package/styles/ui-input-group.css +1 -1
  69. package/styles/ui-input.css +1 -1
  70. package/styles/ui-list-item.css +1 -1
  71. package/styles/ui-list.css +1 -1
  72. package/styles/ui-listbox.css +1 -1
  73. package/styles/ui-menu-group.css +1 -1
  74. package/styles/ui-menu-item.css +1 -1
  75. package/styles/ui-menu.css +1 -1
  76. package/styles/ui-meter.css +1 -1
  77. package/styles/ui-nav-item.css +1 -1
  78. package/styles/ui-page-header.css +1 -1
  79. package/styles/ui-popover.css +1 -1
  80. package/styles/ui-radio-group.css +1 -1
  81. package/styles/ui-radio.css +1 -1
  82. package/styles/ui-reel.css +1 -1
  83. package/styles/ui-scroll-area.css +1 -1
  84. package/styles/ui-search-result-row.css +1 -1
  85. package/styles/ui-search-shell.css +1 -1
  86. package/styles/ui-section.css +1 -1
  87. package/styles/ui-select.css +1 -1
  88. package/styles/ui-separator.css +1 -1
  89. package/styles/ui-sidebar.css +1 -1
  90. package/styles/ui-spinner.css +1 -1
  91. package/styles/ui-stack.css +1 -1
  92. package/styles/ui-status-message.css +1 -1
  93. package/styles/ui-switch.css +1 -1
  94. package/styles/ui-switcher.css +1 -1
  95. package/styles/ui-table.css +1 -1
  96. package/styles/ui-tabs.css +1 -1
  97. package/styles/ui-text.css +1 -1
  98. package/styles/ui-textarea.css +1 -1
  99. package/styles/ui-toast-region.css +1 -1
  100. package/styles/ui-toast.css +1 -1
  101. package/styles/ui-tooltip.css +1 -1
  102. package/styles/ui-top-bar.css +1 -1
  103. package/styles/ui-tree-item.css +1 -1
  104. package/styles/ui-tree.css +1 -1
  105. package/vanilla/UiActionBar.d.ts +1 -1
  106. package/vanilla/UiActionBar.js +1 -1
  107. package/vanilla/UiAffordanceScope.d.ts +1 -1
  108. package/vanilla/UiAffordanceScope.js +2 -2
  109. package/vanilla/UiAvatar.d.ts +1 -1
  110. package/vanilla/UiAvatar.js +2 -2
  111. package/vanilla/UiAvatarGroup.d.ts +1 -1
  112. package/vanilla/UiAvatarGroup.js +2 -2
  113. package/vanilla/UiBadge.d.ts +1 -1
  114. package/vanilla/UiBadge.js +1 -1
  115. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  116. package/vanilla/UiBreadcrumbItem.js +1 -1
  117. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  118. package/vanilla/UiBreadcrumbs.js +1 -1
  119. package/vanilla/UiButton.d.ts +1 -1
  120. package/vanilla/UiButton.js +1 -1
  121. package/vanilla/UiCallout.d.ts +1 -1
  122. package/vanilla/UiCallout.js +1 -1
  123. package/vanilla/UiCard.d.ts +1 -1
  124. package/vanilla/UiCard.js +1 -1
  125. package/vanilla/UiCheckbox.d.ts +1 -1
  126. package/vanilla/UiCheckbox.js +2 -2
  127. package/vanilla/UiCluster.d.ts +1 -1
  128. package/vanilla/UiCluster.js +1 -1
  129. package/vanilla/UiCombobox.d.ts +1 -1
  130. package/vanilla/UiCombobox.js +2 -2
  131. package/vanilla/UiContainer.d.ts +1 -1
  132. package/vanilla/UiContainer.js +1 -1
  133. package/vanilla/UiContextMenu.d.ts +1 -1
  134. package/vanilla/UiContextMenu.js +2 -2
  135. package/vanilla/UiCover.d.ts +1 -1
  136. package/vanilla/UiCover.js +1 -1
  137. package/vanilla/UiDescriptionItem.d.ts +1 -1
  138. package/vanilla/UiDescriptionItem.js +1 -1
  139. package/vanilla/UiDescriptionList.d.ts +1 -1
  140. package/vanilla/UiDescriptionList.js +1 -1
  141. package/vanilla/UiDialog.d.ts +1 -1
  142. package/vanilla/UiDialog.js +2 -2
  143. package/vanilla/UiDisclosure.d.ts +1 -1
  144. package/vanilla/UiDisclosure.js +2 -2
  145. package/vanilla/UiEditable.d.ts +1 -1
  146. package/vanilla/UiEditable.js +2 -2
  147. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  148. package/vanilla/UiEditorInsertTableGrid.js +2 -2
  149. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  150. package/vanilla/UiEditorMentionMenu.js +2 -2
  151. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  152. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  153. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  154. package/vanilla/UiEditorSlashMenu.js +2 -2
  155. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  156. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  157. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  158. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  159. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  160. package/vanilla/UiEditorTableContextMenu.js +2 -2
  161. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  162. package/vanilla/UiEditorTableOverlay.js +2 -2
  163. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  164. package/vanilla/UiEditorTableToolbar.js +2 -2
  165. package/vanilla/UiEditorToolbar.d.ts +1 -1
  166. package/vanilla/UiEditorToolbar.js +1 -1
  167. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  168. package/vanilla/UiFloatingActionButton.js +1 -1
  169. package/vanilla/UiFormField.d.ts +1 -1
  170. package/vanilla/UiFormField.js +1 -1
  171. package/vanilla/UiGrid.d.ts +1 -1
  172. package/vanilla/UiGrid.js +1 -1
  173. package/vanilla/UiIcon.d.ts +1 -1
  174. package/vanilla/UiIcon.js +1 -1
  175. package/vanilla/UiIconButton.d.ts +1 -1
  176. package/vanilla/UiIconButton.js +1 -1
  177. package/vanilla/UiInput.d.ts +1 -1
  178. package/vanilla/UiInput.js +1 -1
  179. package/vanilla/UiInputGroup.d.ts +1 -1
  180. package/vanilla/UiInputGroup.js +1 -1
  181. package/vanilla/UiList.d.ts +1 -1
  182. package/vanilla/UiList.js +1 -1
  183. package/vanilla/UiListItem.d.ts +1 -1
  184. package/vanilla/UiListItem.js +1 -1
  185. package/vanilla/UiListbox.d.ts +1 -1
  186. package/vanilla/UiListbox.js +2 -2
  187. package/vanilla/UiMenu.d.ts +1 -1
  188. package/vanilla/UiMenu.js +2 -2
  189. package/vanilla/UiMenuGroup.d.ts +1 -1
  190. package/vanilla/UiMenuGroup.js +1 -1
  191. package/vanilla/UiMenuItem.d.ts +1 -1
  192. package/vanilla/UiMenuItem.js +2 -2
  193. package/vanilla/UiMeter.d.ts +1 -1
  194. package/vanilla/UiMeter.js +1 -1
  195. package/vanilla/UiNavItem.d.ts +1 -1
  196. package/vanilla/UiNavItem.js +1 -1
  197. package/vanilla/UiPageHeader.d.ts +1 -1
  198. package/vanilla/UiPageHeader.js +1 -1
  199. package/vanilla/UiPopover.d.ts +1 -1
  200. package/vanilla/UiPopover.js +2 -2
  201. package/vanilla/UiRadio.d.ts +1 -1
  202. package/vanilla/UiRadio.js +2 -2
  203. package/vanilla/UiRadioGroup.d.ts +1 -1
  204. package/vanilla/UiRadioGroup.js +2 -2
  205. package/vanilla/UiReel.d.ts +1 -1
  206. package/vanilla/UiReel.js +1 -1
  207. package/vanilla/UiScrollArea.d.ts +1 -1
  208. package/vanilla/UiScrollArea.js +1 -1
  209. package/vanilla/UiSearchResultRow.d.ts +1 -1
  210. package/vanilla/UiSearchResultRow.js +1 -1
  211. package/vanilla/UiSearchShell.d.ts +1 -1
  212. package/vanilla/UiSearchShell.js +2 -2
  213. package/vanilla/UiSection.d.ts +1 -1
  214. package/vanilla/UiSection.js +1 -1
  215. package/vanilla/UiSelect.d.ts +1 -1
  216. package/vanilla/UiSelect.js +1 -1
  217. package/vanilla/UiSeparator.d.ts +1 -1
  218. package/vanilla/UiSeparator.js +1 -1
  219. package/vanilla/UiSidebar.d.ts +1 -1
  220. package/vanilla/UiSidebar.js +2 -2
  221. package/vanilla/UiSpinner.d.ts +1 -1
  222. package/vanilla/UiSpinner.js +1 -1
  223. package/vanilla/UiStack.d.ts +1 -1
  224. package/vanilla/UiStack.js +1 -1
  225. package/vanilla/UiStatusMessage.d.ts +1 -1
  226. package/vanilla/UiStatusMessage.js +1 -1
  227. package/vanilla/UiSwitch.d.ts +1 -1
  228. package/vanilla/UiSwitch.js +2 -2
  229. package/vanilla/UiSwitcher.d.ts +1 -1
  230. package/vanilla/UiSwitcher.js +2 -2
  231. package/vanilla/UiTable.d.ts +1 -1
  232. package/vanilla/UiTable.js +1 -1
  233. package/vanilla/UiTabs.d.ts +1 -1
  234. package/vanilla/UiTabs.js +2 -2
  235. package/vanilla/UiText.d.ts +1 -1
  236. package/vanilla/UiText.js +1 -1
  237. package/vanilla/UiTextarea.d.ts +1 -1
  238. package/vanilla/UiTextarea.js +1 -1
  239. package/vanilla/UiToast.d.ts +1 -1
  240. package/vanilla/UiToast.js +1 -1
  241. package/vanilla/UiToastRegion.d.ts +1 -1
  242. package/vanilla/UiToastRegion.js +2 -2
  243. package/vanilla/UiTooltip.d.ts +1 -1
  244. package/vanilla/UiTooltip.js +2 -2
  245. package/vanilla/UiTopBar.d.ts +1 -1
  246. package/vanilla/UiTopBar.js +1 -1
  247. package/vanilla/UiTree.d.ts +1 -1
  248. package/vanilla/UiTree.js +1 -1
  249. package/vanilla/UiTreeItem.d.ts +1 -1
  250. package/vanilla/UiTreeItem.js +2 -2
  251. package/vue/UiActionBar.vue +1 -1
  252. package/vue/UiAffordanceScope.vue +25 -7
  253. package/vue/UiAvatar.vue +125 -30
  254. package/vue/UiAvatarGroup.d.ts +1 -1
  255. package/vue/UiAvatarGroup.vue +67 -21
  256. package/vue/UiBadge.vue +34 -8
  257. package/vue/UiBreadcrumbItem.vue +15 -4
  258. package/vue/UiBreadcrumbs.vue +14 -4
  259. package/vue/UiButton.vue +123 -42
  260. package/vue/UiCallout.vue +16 -4
  261. package/vue/UiCard.vue +46 -10
  262. package/vue/UiCheckbox.d.ts +5 -5
  263. package/vue/UiCheckbox.vue +73 -19
  264. package/vue/UiCluster.vue +39 -10
  265. package/vue/UiCombobox.d.ts +5 -5
  266. package/vue/UiCombobox.vue +317 -78
  267. package/vue/UiContainer.vue +23 -6
  268. package/vue/UiContextMenu.vue +24 -7
  269. package/vue/UiCover.vue +16 -4
  270. package/vue/UiDescriptionItem.vue +14 -4
  271. package/vue/UiDescriptionList.vue +33 -8
  272. package/vue/UiDialog.vue +79 -26
  273. package/vue/UiDisclosure.vue +101 -38
  274. package/vue/UiEditable.d.ts +3 -3
  275. package/vue/UiEditable.vue +107 -27
  276. package/vue/UiEditorInsertTableGrid.vue +47 -11
  277. package/vue/UiEditorMentionMenu.vue +99 -20
  278. package/vue/UiEditorMentionMenuItem.vue +29 -8
  279. package/vue/UiEditorSlashMenu.vue +85 -16
  280. package/vue/UiEditorSlashMenuGroup.vue +14 -4
  281. package/vue/UiEditorSlashMenuItem.vue +43 -12
  282. package/vue/UiEditorTableContextMenu.d.ts +1 -1
  283. package/vue/UiEditorTableContextMenu.vue +95 -19
  284. package/vue/UiEditorTableOverlay.vue +91 -7
  285. package/vue/UiEditorTableToolbar.vue +105 -16
  286. package/vue/UiEditorToolbar.vue +15 -4
  287. package/vue/UiFloatingActionButton.vue +31 -8
  288. package/vue/UiFormField.d.ts +1 -1
  289. package/vue/UiFormField.vue +31 -8
  290. package/vue/UiGrid.vue +30 -8
  291. package/vue/UiIcon.vue +15 -4
  292. package/vue/UiIconButton.vue +70 -24
  293. package/vue/UiInput.vue +114 -39
  294. package/vue/UiInputGroup.vue +15 -4
  295. package/vue/UiList.vue +47 -16
  296. package/vue/UiListItem.vue +24 -6
  297. package/vue/UiListbox.d.ts +3 -3
  298. package/vue/UiListbox.vue +72 -24
  299. package/vue/UiMenu.vue +55 -15
  300. package/vue/UiMenuGroup.vue +14 -4
  301. package/vue/UiMenuItem.d.ts +4 -4
  302. package/vue/UiMenuItem.vue +77 -27
  303. package/vue/UiMeter.vue +65 -16
  304. package/vue/UiNavItem.vue +48 -24
  305. package/vue/UiPageHeader.vue +16 -4
  306. package/vue/UiPopover.vue +46 -21
  307. package/vue/UiRadio.d.ts +4 -4
  308. package/vue/UiRadio.vue +58 -15
  309. package/vue/UiRadioGroup.d.ts +3 -3
  310. package/vue/UiRadioGroup.vue +66 -17
  311. package/vue/UiReel.d.ts +1 -1
  312. package/vue/UiReel.vue +31 -8
  313. package/vue/UiScrollArea.vue +16 -4
  314. package/vue/UiSearchResultRow.vue +23 -6
  315. package/vue/UiSearchShell.vue +38 -11
  316. package/vue/UiSection.vue +33 -8
  317. package/vue/UiSelect.d.ts +1 -1
  318. package/vue/UiSelect.vue +45 -20
  319. package/vue/UiSeparator.vue +16 -4
  320. package/vue/UiSidebar.d.ts +2 -2
  321. package/vue/UiSidebar.vue +86 -22
  322. package/vue/UiSpinner.vue +23 -6
  323. package/vue/UiStack.vue +31 -8
  324. package/vue/UiStatusMessage.vue +32 -8
  325. package/vue/UiSwitch.d.ts +4 -4
  326. package/vue/UiSwitch.vue +57 -15
  327. package/vue/UiSwitcher.vue +41 -17
  328. package/vue/UiTable.vue +24 -6
  329. package/vue/UiTabs.vue +60 -14
  330. package/vue/UiText.vue +98 -35
  331. package/vue/UiTextarea.d.ts +1 -1
  332. package/vue/UiTextarea.vue +67 -26
  333. package/vue/UiToast.vue +24 -6
  334. package/vue/UiToastRegion.vue +41 -13
  335. package/vue/UiTooltip.d.ts +1 -1
  336. package/vue/UiTooltip.vue +85 -30
  337. package/vue/UiTopBar.vue +1 -1
  338. package/vue/UiTree.vue +56 -14
  339. package/vue/UiTreeItem.d.ts +3 -3
  340. package/vue/UiTreeItem.vue +147 -36
  341. package/vue/chunks/UiActionBar.js +1 -1
  342. package/vue/chunks/UiAffordanceScope.js +34 -7
  343. package/vue/chunks/UiAvatar.js +141 -21
  344. package/vue/chunks/UiAvatarGroup.js +83 -16
  345. package/vue/chunks/UiBadge.js +57 -19
  346. package/vue/chunks/UiBreadcrumbItem.js +19 -6
  347. package/vue/chunks/UiBreadcrumbs.js +19 -6
  348. package/vue/chunks/UiButton.js +194 -42
  349. package/vue/chunks/UiCallout.js +27 -13
  350. package/vue/chunks/UiCard.js +83 -25
  351. package/vue/chunks/UiCheckbox.js +104 -17
  352. package/vue/chunks/UiCluster.js +70 -25
  353. package/vue/chunks/UiCombobox.js +441 -46
  354. package/vue/chunks/UiContainer.js +36 -11
  355. package/vue/chunks/UiContextMenu.js +33 -7
  356. package/vue/chunks/UiCover.js +20 -6
  357. package/vue/chunks/UiDescriptionItem.js +18 -5
  358. package/vue/chunks/UiDescriptionList.js +54 -17
  359. package/vue/chunks/UiDialog.js +115 -23
  360. package/vue/chunks/UiDisclosure.js +110 -24
  361. package/vue/chunks/UiEditable.js +146 -18
  362. package/vue/chunks/UiEditorInsertTableGrid.js +65 -10
  363. package/vue/chunks/UiEditorMentionMenu.js +210 -14
  364. package/vue/chunks/UiEditorMentionMenuItem.js +43 -8
  365. package/vue/chunks/UiEditorSlashMenu.js +186 -12
  366. package/vue/chunks/UiEditorSlashMenuGroup.js +19 -6
  367. package/vue/chunks/UiEditorSlashMenuItem.js +65 -10
  368. package/vue/chunks/UiEditorTableContextMenu.js +116 -16
  369. package/vue/chunks/UiEditorTableOverlay.js +188 -7
  370. package/vue/chunks/UiEditorTableToolbar.js +125 -16
  371. package/vue/chunks/UiEditorToolbar.js +19 -6
  372. package/vue/chunks/UiFloatingActionButton.js +43 -8
  373. package/vue/chunks/UiFormField.js +43 -8
  374. package/vue/chunks/UiGrid.js +52 -18
  375. package/vue/chunks/UiIcon.js +19 -6
  376. package/vue/chunks/UiIconButton.js +107 -21
  377. package/vue/chunks/UiInput.js +309 -30
  378. package/vue/chunks/UiInputGroup.js +19 -6
  379. package/vue/chunks/UiList.js +62 -10
  380. package/vue/chunks/UiListItem.js +33 -7
  381. package/vue/chunks/UiListbox.js +105 -13
  382. package/vue/chunks/UiMenu.js +79 -11
  383. package/vue/chunks/UiMenuGroup.js +19 -6
  384. package/vue/chunks/UiMenuItem.js +93 -28
  385. package/vue/chunks/UiMeter.js +96 -19
  386. package/vue/chunks/UiNavItem.js +74 -17
  387. package/vue/chunks/UiPageHeader.js +20 -6
  388. package/vue/chunks/UiPopover.js +58 -21
  389. package/vue/chunks/UiRadio.js +82 -15
  390. package/vue/chunks/UiRadioGroup.js +89 -12
  391. package/vue/chunks/UiReel.js +53 -18
  392. package/vue/chunks/UiScrollArea.js +20 -6
  393. package/vue/chunks/UiSearchResultRow.js +32 -7
  394. package/vue/chunks/UiSearchShell.js +55 -9
  395. package/vue/chunks/UiSection.js +49 -12
  396. package/vue/chunks/UiSelect.js +68 -13
  397. package/vue/chunks/UiSeparator.js +20 -6
  398. package/vue/chunks/UiSidebar.js +123 -19
  399. package/vue/chunks/UiSpinner.js +33 -7
  400. package/vue/chunks/UiStack.js +59 -24
  401. package/vue/chunks/UiStatusMessage.js +53 -16
  402. package/vue/chunks/UiSwitch.js +82 -15
  403. package/vue/chunks/UiSwitcher.js +70 -25
  404. package/vue/chunks/UiTable.js +33 -7
  405. package/vue/chunks/UiTabs.js +81 -11
  406. package/vue/chunks/UiText.js +169 -58
  407. package/vue/chunks/UiTextarea.js +101 -16
  408. package/vue/chunks/UiToast.js +39 -13
  409. package/vue/chunks/UiToastRegion.js +41 -14
  410. package/vue/chunks/UiTooltip.js +113 -30
  411. package/vue/chunks/UiTopBar.js +1 -1
  412. package/vue/chunks/UiTree.js +82 -15
  413. package/vue/chunks/UiTreeItem.js +184 -22
  414. package/vue/chunks/props.js +271 -35
  415. package/vue/components.css +1197 -1197
  416. package/vue/editor/index.js +5 -2
  417. package/vue/editor/primitives.d.ts +4 -1
  418. package/vue/host.ts +6 -6
package/vue/UiText.vue CHANGED
@@ -1,12 +1,76 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.14 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.15 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'
5
5
  import { preserveRootFocus } from './host'
6
- import { checkedProp } from './props'
6
+ import { checkedProp, vPropValidity } from './props'
7
7
 
8
8
  defineOptions({ inheritAttrs: false })
9
9
 
10
+ const propValidityContract = {
11
+ props: {
12
+ align: {
13
+ type: { kind: 'terminal', name: 'keyword' },
14
+ required: false,
15
+ target: { attribute: 'align' },
16
+ description: 'Aligns the text within its line.',
17
+ values: ['start', 'center'],
18
+ default: 'start',
19
+ },
20
+ as: {
21
+ type: { kind: 'terminal', name: 'keyword' },
22
+ required: false,
23
+ target: { attribute: 'as' },
24
+ description:
25
+ 'The native element the text renders: a paragraph by default, inline span, small, or strong within a line, a div for a block, a label for a control, or a\n heading, h2 to h6, below a Page Header\'s h1 and a Section\'s h2. A heading takes its size and weight from size and weight, like any other text.',
26
+ values: ['p', 'span', 'div', 'small', 'strong', 'label', 'h2', 'h3', 'h4', 'h5', 'h6'],
27
+ default: 'p',
28
+ },
29
+ size: {
30
+ type: { kind: 'terminal', name: 'keyword' },
31
+ required: false,
32
+ target: { attribute: 'size' },
33
+ description:
34
+ 'The step on the type scale. inherit (the default) keeps the size of the text around it; xs is for fine print, sm for supporting text such as help and\n metadata, md is body text, and lg is a lead paragraph.',
35
+ values: ['inherit', 'xs', 'sm', 'md', 'lg'],
36
+ default: 'inherit',
37
+ },
38
+ tone: {
39
+ type: { kind: 'terminal', name: 'keyword' },
40
+ required: false,
41
+ target: { attribute: 'tone' },
42
+ description:
43
+ 'The text\'s colour, by meaning. secondary is supporting prose such as a description; muted is quieter still, for metadata and hints; accent draws the eye;\n danger states an error; success confirms one; info marks something moving forward normally; warning marks something that needs attention. Colour alone\n does not carry the meaning, so the words must say it too.',
44
+ values: ['default', 'secondary', 'muted', 'accent', 'danger', 'success', 'info', 'warning'],
45
+ default: 'default',
46
+ },
47
+ truncate: {
48
+ type: { kind: 'terminal', name: 'boolean' },
49
+ required: false,
50
+ target: { attribute: 'truncate' },
51
+ description: 'Keeps the text on one line, ending in an ellipsis when it does not fit.',
52
+ default: false,
53
+ },
54
+ variant: {
55
+ type: { kind: 'terminal', name: 'keyword' },
56
+ required: false,
57
+ target: { attribute: 'variant' },
58
+ description:
59
+ 'body is running text. eyebrow is a short, uppercase, tracked label that names what follows, such as a group of links; code sets a value to copy or read\n exactly, such as an address, in the monospace face.',
60
+ values: ['body', 'eyebrow', 'code'],
61
+ default: 'body',
62
+ },
63
+ weight: {
64
+ type: { kind: 'terminal', name: 'keyword' },
65
+ required: false,
66
+ target: { attribute: 'weight' },
67
+ description:
68
+ 'The weight. inherit keeps the surrounding weight; medium and semibold emphasise a name or a figure.',
69
+ values: ['inherit', 'normal', 'medium', 'semibold'],
70
+ default: 'inherit',
71
+ },
72
+ },
73
+ }
10
74
  const props = defineProps({
11
75
  align: { type: null as unknown as PropType<'start' | 'center' | null>, default: 'start' },
12
76
  as: {
@@ -49,67 +113,55 @@ const checkedProps = computed(() => ({
49
113
  { kind: 'terminal', name: 'keyword' },
50
114
  false,
51
115
  'align',
52
- undefined,
53
- ['start', 'center'],
54
116
  ) as 'start' | 'center',
55
117
  as: checkedProp<
56
118
  'p' | 'span' | 'div' | 'small' | 'strong' | 'label' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'
57
- >(props['as'], { kind: 'terminal', name: 'keyword' }, false, 'as', undefined, [
58
- 'p',
59
- 'span',
60
- 'div',
61
- 'small',
62
- 'strong',
63
- 'label',
64
- 'h2',
65
- 'h3',
66
- 'h4',
67
- 'h5',
68
- 'h6',
69
- ]) as 'p' | 'span' | 'div' | 'small' | 'strong' | 'label' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6',
119
+ >(props['as'], { kind: 'terminal', name: 'keyword' }, false, 'as') as
120
+ | 'p'
121
+ | 'span'
122
+ | 'div'
123
+ | 'small'
124
+ | 'strong'
125
+ | 'label'
126
+ | 'h2'
127
+ | 'h3'
128
+ | 'h4'
129
+ | 'h5'
130
+ | 'h6',
70
131
  size: checkedProp<'inherit' | 'xs' | 'sm' | 'md' | 'lg'>(
71
132
  props['size'],
72
133
  { kind: 'terminal', name: 'keyword' },
73
134
  false,
74
135
  'size',
75
- undefined,
76
- ['inherit', 'xs', 'sm', 'md', 'lg'],
77
136
  ) as 'inherit' | 'xs' | 'sm' | 'md' | 'lg',
78
137
  tone: checkedProp<
79
138
  'default' | 'secondary' | 'muted' | 'accent' | 'danger' | 'success' | 'info' | 'warning'
80
- >(props['tone'], { kind: 'terminal', name: 'keyword' }, false, 'tone', undefined, [
81
- 'default',
82
- 'secondary',
83
- 'muted',
84
- 'accent',
85
- 'danger',
86
- 'success',
87
- 'info',
88
- 'warning',
89
- ]) as 'default' | 'secondary' | 'muted' | 'accent' | 'danger' | 'success' | 'info' | 'warning',
139
+ >(props['tone'], { kind: 'terminal', name: 'keyword' }, false, 'tone') as
140
+ | 'default'
141
+ | 'secondary'
142
+ | 'muted'
143
+ | 'accent'
144
+ | 'danger'
145
+ | 'success'
146
+ | 'info'
147
+ | 'warning',
90
148
  truncate: checkedProp<boolean>(
91
149
  props['truncate'],
92
150
  { kind: 'terminal', name: 'boolean' },
93
151
  false,
94
152
  'truncate',
95
- undefined,
96
- undefined,
97
153
  ) as boolean,
98
154
  variant: checkedProp<'body' | 'eyebrow' | 'code'>(
99
155
  props['variant'],
100
156
  { kind: 'terminal', name: 'keyword' },
101
157
  false,
102
158
  'variant',
103
- undefined,
104
- ['body', 'eyebrow', 'code'],
105
159
  ) as 'body' | 'eyebrow' | 'code',
106
160
  weight: checkedProp<'inherit' | 'normal' | 'medium' | 'semibold'>(
107
161
  props['weight'],
108
162
  { kind: 'terminal', name: 'keyword' },
109
163
  false,
110
164
  'weight',
111
- undefined,
112
- ['inherit', 'normal', 'medium', 'semibold'],
113
165
  ) as 'inherit' | 'normal' | 'medium' | 'semibold',
114
166
  }))
115
167
  void checkedProps.value
@@ -210,6 +262,7 @@ const hostState = computed(() =>
210
262
  v-if="checkedProps.as === 'span'"
211
263
  data-component="ui-text"
212
264
  v-bind="nativeAttrs($attrs)"
265
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
213
266
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
214
267
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
215
268
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -224,6 +277,7 @@ const hostState = computed(() =>
224
277
  v-else-if="checkedProps.as === 'div'"
225
278
  data-component="ui-text"
226
279
  v-bind="nativeAttrs($attrs)"
280
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
227
281
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
228
282
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
229
283
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -240,6 +294,7 @@ const hostState = computed(() =>
240
294
  v-else-if="checkedProps.as === 'small'"
241
295
  data-component="ui-text"
242
296
  v-bind="nativeAttrs($attrs)"
297
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
243
298
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
244
299
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
245
300
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -254,6 +309,7 @@ const hostState = computed(() =>
254
309
  v-else-if="checkedProps.as === 'strong'"
255
310
  data-component="ui-text"
256
311
  v-bind="nativeAttrs($attrs)"
312
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
257
313
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
258
314
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
259
315
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -268,6 +324,7 @@ const hostState = computed(() =>
268
324
  v-else-if="checkedProps.as === 'label'"
269
325
  data-component="ui-text"
270
326
  v-bind="nativeAttrs($attrs)"
327
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
271
328
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
272
329
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
273
330
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -282,6 +339,7 @@ const hostState = computed(() =>
282
339
  v-else-if="checkedProps.as === 'h2'"
283
340
  data-component="ui-text"
284
341
  v-bind="nativeAttrs($attrs)"
342
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
285
343
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
286
344
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
287
345
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -298,6 +356,7 @@ const hostState = computed(() =>
298
356
  v-else-if="checkedProps.as === 'h3'"
299
357
  data-component="ui-text"
300
358
  v-bind="nativeAttrs($attrs)"
359
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
301
360
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
302
361
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
303
362
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -314,6 +373,7 @@ const hostState = computed(() =>
314
373
  v-else-if="checkedProps.as === 'h4'"
315
374
  data-component="ui-text"
316
375
  v-bind="nativeAttrs($attrs)"
376
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
317
377
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
318
378
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
319
379
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -330,6 +390,7 @@ const hostState = computed(() =>
330
390
  v-else-if="checkedProps.as === 'h5'"
331
391
  data-component="ui-text"
332
392
  v-bind="nativeAttrs($attrs)"
393
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
333
394
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
334
395
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
335
396
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -346,6 +407,7 @@ const hostState = computed(() =>
346
407
  v-else-if="checkedProps.as === 'h6'"
347
408
  data-component="ui-text"
348
409
  v-bind="nativeAttrs($attrs)"
410
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
349
411
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
350
412
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
351
413
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -362,6 +424,7 @@ const hostState = computed(() =>
362
424
  v-else
363
425
  data-component="ui-text"
364
426
  v-bind="nativeAttrs($attrs)"
427
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
365
428
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
366
429
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
367
430
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
@@ -77,10 +77,10 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
77
77
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
78
78
  }>, {
79
79
  value: string | null;
80
+ invalid: boolean | null;
80
81
  rows: number | null;
81
82
  size: "sm" | "md" | "lg" | null;
82
83
  disabled: boolean | null;
83
- invalid: boolean | null;
84
84
  required: boolean | null;
85
85
  readonly: boolean | null;
86
86
  autosize: boolean | null;
@@ -1,13 +1,76 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.14 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.15 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'
5
5
  import { readBoundControl, vBindControl } from './control'
6
6
  import { createDispatch, useComponentHost } from './host'
7
- import { checkedProp } from './props'
7
+ import { checkedProp, vPropValidity } from './props'
8
8
 
9
9
  defineOptions({ inheritAttrs: false })
10
10
 
11
+ const propValidityContract = {
12
+ props: {
13
+ autosize: {
14
+ type: { kind: 'terminal', name: 'boolean' },
15
+ required: false,
16
+ target: { attribute: 'autosize' },
17
+ description:
18
+ 'Grow with the text while keeping rows as the minimum visible height. Uses CSS field sizing where supported; other browsers keep the native rows\n behavior.',
19
+ default: false,
20
+ },
21
+ disabled: {
22
+ type: { kind: 'terminal', name: 'boolean' },
23
+ required: false,
24
+ target: { attribute: 'disabled' },
25
+ description: 'Prevents editing and form submission.',
26
+ default: false,
27
+ },
28
+ invalid: {
29
+ type: { kind: 'terminal', name: 'boolean' },
30
+ required: false,
31
+ target: { attribute: 'aria-invalid' },
32
+ description: 'Exposes invalid state to assistive technology and styling.',
33
+ default: false,
34
+ },
35
+ readonly: {
36
+ type: { kind: 'terminal', name: 'boolean' },
37
+ required: false,
38
+ target: { attribute: 'readonly' },
39
+ description: 'Allows selection without allowing edits.',
40
+ default: false,
41
+ },
42
+ required: {
43
+ type: { kind: 'terminal', name: 'boolean' },
44
+ required: false,
45
+ target: { attribute: 'required' },
46
+ description: 'Marks the control as required for form validation.',
47
+ default: false,
48
+ },
49
+ rows: {
50
+ type: { kind: 'terminal', name: 'integer' },
51
+ required: false,
52
+ target: { attribute: 'rows' },
53
+ description: 'Initial number of visible text rows.',
54
+ default: 4,
55
+ },
56
+ size: {
57
+ type: { kind: 'terminal', name: 'keyword' },
58
+ required: false,
59
+ target: { attribute: 'size' },
60
+ description:
61
+ 'Padding and type size, matching Input\'s sizes so a textarea sits with fields of the same size; rows sets its height. sm has tighter padding and smaller\n text, for compact forms; lg has roomier padding. Under a coarse pointer, sm keeps body-size text.',
62
+ values: ['sm', 'md', 'lg'],
63
+ default: 'md',
64
+ },
65
+ value: {
66
+ type: { kind: 'terminal', name: 'string' },
67
+ required: false,
68
+ target: { attribute: 'value' },
69
+ description:
70
+ 'The textarea\'s text. Setting or changing it replaces the live text; between changes the user\'s typing stands, so follow input events to keep it in step. It\n is also the textarea\'s default, so a form reset returns to it.',
71
+ },
72
+ },
73
+ }
11
74
  const props = defineProps({
12
75
  autosize: { type: null as unknown as PropType<boolean | null>, default: false },
13
76
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -25,72 +88,49 @@ const checkedProps = computed(() => ({
25
88
  { kind: 'terminal', name: 'boolean' },
26
89
  false,
27
90
  'autosize',
28
- undefined,
29
- undefined,
30
91
  ) as boolean,
31
92
  disabled: checkedProp<boolean>(
32
93
  props['disabled'],
33
94
  { kind: 'terminal', name: 'boolean' },
34
95
  false,
35
96
  'disabled',
36
- undefined,
37
- undefined,
38
97
  ) as boolean,
39
98
  invalid: checkedProp<boolean>(
40
99
  props['invalid'],
41
100
  { kind: 'terminal', name: 'boolean' },
42
101
  false,
43
102
  'invalid',
44
- undefined,
45
- undefined,
46
103
  ) as boolean,
47
104
  readonly: checkedProp<boolean>(
48
105
  props['readonly'],
49
106
  { kind: 'terminal', name: 'boolean' },
50
107
  false,
51
108
  'readonly',
52
- undefined,
53
- undefined,
54
109
  ) as boolean,
55
110
  required: checkedProp<boolean>(
56
111
  props['required'],
57
112
  { kind: 'terminal', name: 'boolean' },
58
113
  false,
59
114
  'required',
60
- undefined,
61
- undefined,
62
115
  ) as boolean,
63
116
  rows: checkedProp<number>(
64
117
  props['rows'],
65
118
  { kind: 'terminal', name: 'integer' },
66
119
  false,
67
120
  'rows',
68
- undefined,
69
- undefined,
70
121
  ) as number,
71
122
  size: checkedProp<'sm' | 'md' | 'lg'>(
72
123
  props['size'],
73
124
  { kind: 'terminal', name: 'keyword' },
74
125
  false,
75
126
  'size',
76
- undefined,
77
- ['sm', 'md', 'lg'],
78
127
  ) as 'sm' | 'md' | 'lg',
79
- value: checkedProp<string>(
80
- props['value'],
81
- { kind: 'terminal', name: 'string' },
82
- false,
83
- 'value',
84
- undefined,
85
- undefined,
86
- ),
128
+ value: checkedProp<string>(props['value'], { kind: 'terminal', name: 'string' }, false, 'value'),
87
129
  modelValue: checkedProp<string | null>(
88
130
  props.modelValue,
89
131
  { kind: 'terminal', name: 'string' },
90
132
  false,
91
133
  'modelValue',
92
- undefined,
93
- undefined,
94
134
  ),
95
135
  }))
96
136
  void checkedProps.value
@@ -188,6 +228,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
188
228
  :aria-invalid="checkedProps.invalid ?? undefined"
189
229
  :rows="checkedProps.rows ?? undefined"
190
230
  :style="{ '--_rows': checkedProps.rows ?? undefined }"
231
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
191
232
  :data-autosize="reflectedProp('autosize', 'autosize', checkedProps.autosize, undefined, false)"
192
233
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
193
234
  :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
package/vue/UiToast.vue CHANGED
@@ -1,14 +1,35 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.14 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.15 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'
5
5
  import { createDispatch, useComponentHost } from './host'
6
- import { checkedProp } from './props'
6
+ import { checkedProp, vPropValidity } from './props'
7
7
  import UiIcon from './UiIcon.vue'
8
8
  import UiIconButton from './UiIconButton.vue'
9
9
 
10
10
  defineOptions({ inheritAttrs: false })
11
11
 
12
+ const propValidityContract = {
13
+ props: {
14
+ duration: {
15
+ type: { kind: 'terminal', name: 'number' },
16
+ required: false,
17
+ target: { attribute: 'duration' },
18
+ description:
19
+ 'Milliseconds before requesting dismissal; 0 keeps the toast until an action dismisses it. The timer pauses on hover or focus.',
20
+ default: 0,
21
+ },
22
+ tone: {
23
+ type: { kind: 'terminal', name: 'keyword' },
24
+ required: false,
25
+ target: { attribute: 'tone' },
26
+ description:
27
+ 'Semantic accent for this message. Danger uses an assertive alert role; the other tones use polite status semantics.',
28
+ values: ['neutral', 'info', 'success', 'warning', 'danger'],
29
+ default: 'neutral',
30
+ },
31
+ },
32
+ }
12
33
  const props = defineProps({
13
34
  duration: { type: null as unknown as PropType<number | null>, default: 0 },
14
35
  tone: {
@@ -22,16 +43,12 @@ const checkedProps = computed(() => ({
22
43
  { kind: 'terminal', name: 'number' },
23
44
  false,
24
45
  'duration',
25
- undefined,
26
- undefined,
27
46
  ) as number,
28
47
  tone: checkedProp<'neutral' | 'info' | 'success' | 'warning' | 'danger'>(
29
48
  props['tone'],
30
49
  { kind: 'terminal', name: 'keyword' },
31
50
  false,
32
51
  'tone',
33
- undefined,
34
- ['neutral', 'info', 'success', 'warning', 'danger'],
35
52
  ) as 'neutral' | 'info' | 'success' | 'warning' | 'danger',
36
53
  }))
37
54
  void checkedProps.value
@@ -160,6 +177,7 @@ function attribute(value: unknown): any {
160
177
  danger: 'alert',
161
178
  }) as Record<string, any>)[checkedProps.tone],
162
179
  )"
180
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
163
181
  :data-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
164
182
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
165
183
  :data-ui-toast-state="hostState || undefined"
@@ -1,14 +1,43 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.14 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.15 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
- import { computed, defineComponent, getCurrentInstance, h, ref, watchSyncEffect } from 'vue'
3
+ import {
4
+ computed,
5
+ defineComponent,
6
+ getCurrentInstance,
7
+ h,
8
+ provide,
9
+ ref,
10
+ watchSyncEffect,
11
+ } from 'vue'
4
12
  import type { PropType, VNode } from 'vue'
5
13
  import { createDispatch, useComponentHost } from './host'
6
- import { checkedProp } from './props'
14
+ import { checkedProp, vPropValidity } from './props'
7
15
  import UiIcon from './UiIcon.vue'
8
16
  import UiIconButton from './UiIconButton.vue'
9
17
 
10
18
  defineOptions({ inheritAttrs: false })
11
19
 
20
+ const propValidityContract = {
21
+ props: {
22
+ duration: {
23
+ type: { kind: 'terminal', name: 'number' },
24
+ required: false,
25
+ target: { attribute: 'duration' },
26
+ 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: 0,
29
+ },
30
+ placement: {
31
+ type: { kind: 'terminal', name: 'keyword' },
32
+ required: false,
33
+ target: { attribute: 'placement' },
34
+ description:
35
+ 'Screen edge where the stack appears. Start and end follow the writing direction.',
36
+ values: ['top', 'top-start', 'top-end', 'bottom', 'bottom-start', 'bottom-end'],
37
+ default: 'top',
38
+ },
39
+ },
40
+ }
12
41
  const props = defineProps({
13
42
  duration: { type: null as unknown as PropType<number | null>, default: 0 },
14
43
  placement: {
@@ -24,19 +53,16 @@ const checkedProps = computed(() => ({
24
53
  { kind: 'terminal', name: 'number' },
25
54
  false,
26
55
  'duration',
27
- undefined,
28
- undefined,
29
56
  ) as number,
30
57
  placement: checkedProp<
31
58
  'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'
32
- >(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement', undefined, [
33
- 'top',
34
- 'top-start',
35
- 'top-end',
36
- 'bottom',
37
- 'bottom-start',
38
- 'bottom-end',
39
- ]) as 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end',
59
+ >(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement') as
60
+ | 'top'
61
+ | 'top-start'
62
+ | 'top-end'
63
+ | 'bottom'
64
+ | 'bottom-start'
65
+ | 'bottom-end',
40
66
  }))
41
67
  void checkedProps.value
42
68
  watchSyncEffect(() => {
@@ -123,6 +149,7 @@ const toasts = ref<
123
149
  closing: boolean
124
150
  }[]
125
151
  >([])
152
+ provide('html-next:ui-toast-region:toasts', toasts)
126
153
  const hydrationNode = hydrationInstance?.vnode.el
127
154
  if (
128
155
  typeof window !== 'undefined' && hydrationNode != null
@@ -240,6 +267,7 @@ function uniqueKeys<T>(
240
267
  aria-live="polite"
241
268
  popover="manual"
242
269
  v-bind="nativeAttrs($attrs)"
270
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
243
271
  :data-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
244
272
  :data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
245
273
  :data-ui-toast-region-state="hostState || undefined"
@@ -91,9 +91,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
91
91
  open: boolean | null;
92
92
  trigger: "hover" | "click" | "focus" | null;
93
93
  for: string | null;
94
- hideDelay: number | null;
95
94
  inverse: boolean | null;
96
95
  placement: "left" | "right" | "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | null;
96
+ hideDelay: number | null;
97
97
  showDelay: number | null;
98
98
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
99
99
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;