@threadlabs/looma 0.21.5 → 0.22.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 (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 +14 -4
  4. package/components/ui-avatar-group/ui-avatar-group.js +1 -1
  5. package/components/ui-button/ui-button.html +10 -7
  6. package/components/ui-checkbox/ui-checkbox.html +1 -1
  7. package/components/ui-combobox/ui-combobox.html +18 -18
  8. package/components/ui-context-menu/ui-context-menu.html +1 -1
  9. package/components/ui-dialog/ui-dialog.html +2 -2
  10. package/components/ui-disclosure/ui-disclosure.html +4 -4
  11. package/components/ui-editable/ui-editable.html +3 -3
  12. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +5 -5
  13. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +5 -5
  14. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +3 -3
  15. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +2 -2
  16. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +3 -7
  17. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +6 -6
  18. package/components/ui-listbox/ui-listbox.html +6 -6
  19. package/components/ui-menu/ui-menu.html +1 -1
  20. package/components/ui-menu-item/ui-menu-item.html +1 -1
  21. package/components/ui-popover/ui-popover.html +1 -1
  22. package/components/ui-radio/ui-radio.html +1 -1
  23. package/components/ui-radio-group/ui-radio-group.html +1 -1
  24. package/components/ui-search-shell/ui-search-shell.html +1 -1
  25. package/components/ui-sidebar/ui-sidebar.html +2 -2
  26. package/components/ui-switch/ui-switch.html +1 -1
  27. package/components/ui-switcher/ui-switcher.html +1 -1
  28. package/components/ui-tabs/ui-tabs.html +2 -2
  29. package/components/ui-toast-region/ui-toast-region.html +1 -1
  30. package/components/ui-tooltip/ui-tooltip.html +1 -1
  31. package/components/ui-tree-item/ui-tree-item.html +4 -4
  32. package/dist/index.js +1 -1
  33. package/package.json +2 -2
  34. package/styles/ui-action-bar.css +1 -1
  35. package/styles/ui-affordance-scope.css +1 -1
  36. package/styles/ui-avatar-group.css +10 -1
  37. package/styles/ui-avatar.css +1 -1
  38. package/styles/ui-badge.css +1 -1
  39. package/styles/ui-breadcrumb-item.css +1 -1
  40. package/styles/ui-breadcrumbs.css +1 -1
  41. package/styles/ui-button.css +11 -7
  42. package/styles/ui-callout.css +1 -1
  43. package/styles/ui-card.css +1 -1
  44. package/styles/ui-checkbox.css +1 -1
  45. package/styles/ui-cluster.css +1 -1
  46. package/styles/ui-combobox.css +1 -1
  47. package/styles/ui-container.css +1 -1
  48. package/styles/ui-context-menu.css +1 -1
  49. package/styles/ui-cover.css +1 -1
  50. package/styles/ui-description-item.css +1 -1
  51. package/styles/ui-description-list.css +1 -1
  52. package/styles/ui-dialog.css +1 -1
  53. package/styles/ui-disclosure.css +1 -1
  54. package/styles/ui-editable.css +1 -1
  55. package/styles/ui-editor-insert-table-grid.css +1 -1
  56. package/styles/ui-editor-mention-menu-item.css +1 -1
  57. package/styles/ui-editor-mention-menu.css +1 -1
  58. package/styles/ui-editor-slash-menu-group.css +1 -1
  59. package/styles/ui-editor-slash-menu-item.css +1 -1
  60. package/styles/ui-editor-slash-menu.css +1 -1
  61. package/styles/ui-editor-table-context-menu.css +1 -1
  62. package/styles/ui-editor-table-overlay.css +1 -1
  63. package/styles/ui-editor-table-toolbar.css +1 -1
  64. package/styles/ui-editor-toolbar.css +1 -1
  65. package/styles/ui-floating-action-button.css +1 -1
  66. package/styles/ui-form-field.css +1 -1
  67. package/styles/ui-grid.css +1 -1
  68. package/styles/ui-icon-button.css +1 -1
  69. package/styles/ui-icon.css +1 -1
  70. package/styles/ui-input-group.css +1 -1
  71. package/styles/ui-input.css +1 -1
  72. package/styles/ui-list-item.css +1 -1
  73. package/styles/ui-list.css +1 -1
  74. package/styles/ui-listbox.css +1 -1
  75. package/styles/ui-menu-group.css +1 -1
  76. package/styles/ui-menu-item.css +1 -1
  77. package/styles/ui-menu.css +1 -1
  78. package/styles/ui-meter.css +1 -1
  79. package/styles/ui-nav-item.css +1 -1
  80. package/styles/ui-page-header.css +1 -1
  81. package/styles/ui-popover.css +1 -1
  82. package/styles/ui-radio-group.css +1 -1
  83. package/styles/ui-radio.css +1 -1
  84. package/styles/ui-reel.css +1 -1
  85. package/styles/ui-scroll-area.css +1 -1
  86. package/styles/ui-search-result-row.css +1 -1
  87. package/styles/ui-search-shell.css +1 -1
  88. package/styles/ui-section.css +1 -1
  89. package/styles/ui-select.css +1 -1
  90. package/styles/ui-separator.css +1 -1
  91. package/styles/ui-sidebar.css +1 -1
  92. package/styles/ui-spinner.css +1 -1
  93. package/styles/ui-stack.css +1 -1
  94. package/styles/ui-status-message.css +1 -1
  95. package/styles/ui-switch.css +1 -1
  96. package/styles/ui-switcher.css +1 -1
  97. package/styles/ui-table.css +1 -1
  98. package/styles/ui-tabs.css +1 -1
  99. package/styles/ui-text.css +1 -1
  100. package/styles/ui-textarea.css +1 -1
  101. package/styles/ui-toast-region.css +1 -1
  102. package/styles/ui-toast.css +1 -1
  103. package/styles/ui-tooltip.css +1 -1
  104. package/styles/ui-top-bar.css +1 -1
  105. package/styles/ui-tree-item.css +1 -1
  106. package/styles/ui-tree.css +1 -1
  107. package/vanilla/UiActionBar.d.ts +1 -1
  108. package/vanilla/UiActionBar.js +1 -1
  109. package/vanilla/UiAffordanceScope.d.ts +1 -1
  110. package/vanilla/UiAffordanceScope.js +2 -2
  111. package/vanilla/UiAvatar.d.ts +1 -1
  112. package/vanilla/UiAvatar.js +2 -2
  113. package/vanilla/UiAvatarGroup.d.ts +2 -2
  114. package/vanilla/UiAvatarGroup.js +2 -2
  115. package/vanilla/UiBadge.d.ts +1 -1
  116. package/vanilla/UiBadge.js +1 -1
  117. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  118. package/vanilla/UiBreadcrumbItem.js +1 -1
  119. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  120. package/vanilla/UiBreadcrumbs.js +1 -1
  121. package/vanilla/UiButton.d.ts +1 -1
  122. package/vanilla/UiButton.js +1 -1
  123. package/vanilla/UiCallout.d.ts +1 -1
  124. package/vanilla/UiCallout.js +1 -1
  125. package/vanilla/UiCard.d.ts +1 -1
  126. package/vanilla/UiCard.js +1 -1
  127. package/vanilla/UiCheckbox.d.ts +1 -1
  128. package/vanilla/UiCheckbox.js +2 -2
  129. package/vanilla/UiCluster.d.ts +1 -1
  130. package/vanilla/UiCluster.js +1 -1
  131. package/vanilla/UiCombobox.d.ts +1 -1
  132. package/vanilla/UiCombobox.js +2 -2
  133. package/vanilla/UiContainer.d.ts +1 -1
  134. package/vanilla/UiContainer.js +1 -1
  135. package/vanilla/UiContextMenu.d.ts +1 -1
  136. package/vanilla/UiContextMenu.js +2 -2
  137. package/vanilla/UiCover.d.ts +1 -1
  138. package/vanilla/UiCover.js +1 -1
  139. package/vanilla/UiDescriptionItem.d.ts +1 -1
  140. package/vanilla/UiDescriptionItem.js +1 -1
  141. package/vanilla/UiDescriptionList.d.ts +1 -1
  142. package/vanilla/UiDescriptionList.js +1 -1
  143. package/vanilla/UiDialog.d.ts +1 -1
  144. package/vanilla/UiDialog.js +2 -2
  145. package/vanilla/UiDisclosure.d.ts +1 -1
  146. package/vanilla/UiDisclosure.js +2 -2
  147. package/vanilla/UiEditable.d.ts +1 -1
  148. package/vanilla/UiEditable.js +2 -2
  149. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  150. package/vanilla/UiEditorInsertTableGrid.js +2 -2
  151. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  152. package/vanilla/UiEditorMentionMenu.js +2 -2
  153. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  154. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  155. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  156. package/vanilla/UiEditorSlashMenu.js +2 -2
  157. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  158. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  159. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  160. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  161. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  162. package/vanilla/UiEditorTableContextMenu.js +2 -2
  163. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  164. package/vanilla/UiEditorTableOverlay.js +2 -2
  165. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  166. package/vanilla/UiEditorTableToolbar.js +2 -2
  167. package/vanilla/UiEditorToolbar.d.ts +1 -1
  168. package/vanilla/UiEditorToolbar.js +1 -1
  169. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  170. package/vanilla/UiFloatingActionButton.js +1 -1
  171. package/vanilla/UiFormField.d.ts +1 -1
  172. package/vanilla/UiFormField.js +1 -1
  173. package/vanilla/UiGrid.d.ts +1 -1
  174. package/vanilla/UiGrid.js +1 -1
  175. package/vanilla/UiIcon.d.ts +1 -1
  176. package/vanilla/UiIcon.js +1 -1
  177. package/vanilla/UiIconButton.d.ts +1 -1
  178. package/vanilla/UiIconButton.js +1 -1
  179. package/vanilla/UiInput.d.ts +1 -1
  180. package/vanilla/UiInput.js +1 -1
  181. package/vanilla/UiInputGroup.d.ts +1 -1
  182. package/vanilla/UiInputGroup.js +1 -1
  183. package/vanilla/UiList.d.ts +1 -1
  184. package/vanilla/UiList.js +1 -1
  185. package/vanilla/UiListItem.d.ts +1 -1
  186. package/vanilla/UiListItem.js +1 -1
  187. package/vanilla/UiListbox.d.ts +1 -1
  188. package/vanilla/UiListbox.js +2 -2
  189. package/vanilla/UiMenu.d.ts +1 -1
  190. package/vanilla/UiMenu.js +2 -2
  191. package/vanilla/UiMenuGroup.d.ts +1 -1
  192. package/vanilla/UiMenuGroup.js +1 -1
  193. package/vanilla/UiMenuItem.d.ts +1 -1
  194. package/vanilla/UiMenuItem.js +2 -2
  195. package/vanilla/UiMeter.d.ts +1 -1
  196. package/vanilla/UiMeter.js +1 -1
  197. package/vanilla/UiNavItem.d.ts +1 -1
  198. package/vanilla/UiNavItem.js +1 -1
  199. package/vanilla/UiPageHeader.d.ts +1 -1
  200. package/vanilla/UiPageHeader.js +1 -1
  201. package/vanilla/UiPopover.d.ts +1 -1
  202. package/vanilla/UiPopover.js +2 -2
  203. package/vanilla/UiRadio.d.ts +1 -1
  204. package/vanilla/UiRadio.js +2 -2
  205. package/vanilla/UiRadioGroup.d.ts +1 -1
  206. package/vanilla/UiRadioGroup.js +2 -2
  207. package/vanilla/UiReel.d.ts +1 -1
  208. package/vanilla/UiReel.js +1 -1
  209. package/vanilla/UiScrollArea.d.ts +1 -1
  210. package/vanilla/UiScrollArea.js +1 -1
  211. package/vanilla/UiSearchResultRow.d.ts +1 -1
  212. package/vanilla/UiSearchResultRow.js +1 -1
  213. package/vanilla/UiSearchShell.d.ts +1 -1
  214. package/vanilla/UiSearchShell.js +2 -2
  215. package/vanilla/UiSection.d.ts +1 -1
  216. package/vanilla/UiSection.js +1 -1
  217. package/vanilla/UiSelect.d.ts +1 -1
  218. package/vanilla/UiSelect.js +1 -1
  219. package/vanilla/UiSeparator.d.ts +1 -1
  220. package/vanilla/UiSeparator.js +1 -1
  221. package/vanilla/UiSidebar.d.ts +1 -1
  222. package/vanilla/UiSidebar.js +2 -2
  223. package/vanilla/UiSpinner.d.ts +1 -1
  224. package/vanilla/UiSpinner.js +1 -1
  225. package/vanilla/UiStack.d.ts +1 -1
  226. package/vanilla/UiStack.js +1 -1
  227. package/vanilla/UiStatusMessage.d.ts +1 -1
  228. package/vanilla/UiStatusMessage.js +1 -1
  229. package/vanilla/UiSwitch.d.ts +1 -1
  230. package/vanilla/UiSwitch.js +2 -2
  231. package/vanilla/UiSwitcher.d.ts +1 -1
  232. package/vanilla/UiSwitcher.js +2 -2
  233. package/vanilla/UiTable.d.ts +1 -1
  234. package/vanilla/UiTable.js +1 -1
  235. package/vanilla/UiTabs.d.ts +1 -1
  236. package/vanilla/UiTabs.js +2 -2
  237. package/vanilla/UiText.d.ts +1 -1
  238. package/vanilla/UiText.js +1 -1
  239. package/vanilla/UiTextarea.d.ts +1 -1
  240. package/vanilla/UiTextarea.js +1 -1
  241. package/vanilla/UiToast.d.ts +1 -1
  242. package/vanilla/UiToast.js +1 -1
  243. package/vanilla/UiToastRegion.d.ts +1 -1
  244. package/vanilla/UiToastRegion.js +2 -2
  245. package/vanilla/UiTooltip.d.ts +1 -1
  246. package/vanilla/UiTooltip.js +2 -2
  247. package/vanilla/UiTopBar.d.ts +1 -1
  248. package/vanilla/UiTopBar.js +1 -1
  249. package/vanilla/UiTree.d.ts +1 -1
  250. package/vanilla/UiTree.js +1 -1
  251. package/vanilla/UiTreeItem.d.ts +1 -1
  252. package/vanilla/UiTreeItem.js +2 -2
  253. package/vue/UiActionBar.vue +1 -1
  254. package/vue/UiAffordanceScope.vue +25 -7
  255. package/vue/UiAvatar.vue +125 -30
  256. package/vue/UiAvatarGroup.d.ts +4 -4
  257. package/vue/UiAvatarGroup.vue +79 -24
  258. package/vue/UiBadge.vue +34 -8
  259. package/vue/UiBreadcrumbItem.vue +15 -4
  260. package/vue/UiBreadcrumbs.vue +14 -4
  261. package/vue/UiButton.vue +133 -49
  262. package/vue/UiCallout.vue +16 -4
  263. package/vue/UiCard.vue +46 -10
  264. package/vue/UiCheckbox.d.ts +5 -5
  265. package/vue/UiCheckbox.vue +73 -19
  266. package/vue/UiCluster.vue +39 -10
  267. package/vue/UiCombobox.d.ts +5 -5
  268. package/vue/UiCombobox.vue +317 -78
  269. package/vue/UiContainer.vue +23 -6
  270. package/vue/UiContextMenu.vue +24 -7
  271. package/vue/UiCover.vue +16 -4
  272. package/vue/UiDescriptionItem.vue +14 -4
  273. package/vue/UiDescriptionList.vue +33 -8
  274. package/vue/UiDialog.vue +79 -26
  275. package/vue/UiDisclosure.vue +101 -38
  276. package/vue/UiEditable.d.ts +3 -3
  277. package/vue/UiEditable.vue +107 -27
  278. package/vue/UiEditorInsertTableGrid.vue +47 -11
  279. package/vue/UiEditorMentionMenu.vue +99 -20
  280. package/vue/UiEditorMentionMenuItem.vue +29 -8
  281. package/vue/UiEditorSlashMenu.vue +85 -16
  282. package/vue/UiEditorSlashMenuGroup.vue +14 -4
  283. package/vue/UiEditorSlashMenuItem.vue +43 -12
  284. package/vue/UiEditorTableContextMenu.d.ts +1 -1
  285. package/vue/UiEditorTableContextMenu.vue +95 -19
  286. package/vue/UiEditorTableOverlay.vue +91 -7
  287. package/vue/UiEditorTableToolbar.vue +105 -16
  288. package/vue/UiEditorToolbar.vue +15 -4
  289. package/vue/UiFloatingActionButton.vue +31 -8
  290. package/vue/UiFormField.d.ts +1 -1
  291. package/vue/UiFormField.vue +31 -8
  292. package/vue/UiGrid.vue +30 -8
  293. package/vue/UiIcon.vue +15 -4
  294. package/vue/UiIconButton.vue +70 -24
  295. package/vue/UiInput.vue +114 -39
  296. package/vue/UiInputGroup.vue +15 -4
  297. package/vue/UiList.vue +47 -16
  298. package/vue/UiListItem.vue +24 -6
  299. package/vue/UiListbox.d.ts +3 -3
  300. package/vue/UiListbox.vue +72 -24
  301. package/vue/UiMenu.vue +55 -15
  302. package/vue/UiMenuGroup.vue +14 -4
  303. package/vue/UiMenuItem.d.ts +4 -4
  304. package/vue/UiMenuItem.vue +77 -27
  305. package/vue/UiMeter.vue +65 -16
  306. package/vue/UiNavItem.vue +48 -24
  307. package/vue/UiPageHeader.vue +16 -4
  308. package/vue/UiPopover.vue +46 -21
  309. package/vue/UiRadio.d.ts +4 -4
  310. package/vue/UiRadio.vue +58 -15
  311. package/vue/UiRadioGroup.d.ts +3 -3
  312. package/vue/UiRadioGroup.vue +66 -17
  313. package/vue/UiReel.d.ts +1 -1
  314. package/vue/UiReel.vue +31 -8
  315. package/vue/UiScrollArea.vue +16 -4
  316. package/vue/UiSearchResultRow.vue +23 -6
  317. package/vue/UiSearchShell.vue +38 -11
  318. package/vue/UiSection.vue +33 -8
  319. package/vue/UiSelect.d.ts +1 -1
  320. package/vue/UiSelect.vue +45 -20
  321. package/vue/UiSeparator.vue +16 -4
  322. package/vue/UiSidebar.d.ts +2 -2
  323. package/vue/UiSidebar.vue +86 -22
  324. package/vue/UiSpinner.vue +23 -6
  325. package/vue/UiStack.vue +31 -8
  326. package/vue/UiStatusMessage.vue +32 -8
  327. package/vue/UiSwitch.d.ts +4 -4
  328. package/vue/UiSwitch.vue +57 -15
  329. package/vue/UiSwitcher.vue +41 -17
  330. package/vue/UiTable.vue +24 -6
  331. package/vue/UiTabs.vue +60 -14
  332. package/vue/UiText.vue +98 -35
  333. package/vue/UiTextarea.d.ts +1 -1
  334. package/vue/UiTextarea.vue +67 -26
  335. package/vue/UiToast.vue +24 -6
  336. package/vue/UiToastRegion.vue +41 -13
  337. package/vue/UiTooltip.d.ts +1 -1
  338. package/vue/UiTooltip.vue +85 -30
  339. package/vue/UiTopBar.vue +1 -1
  340. package/vue/UiTree.vue +56 -14
  341. package/vue/UiTreeItem.d.ts +3 -3
  342. package/vue/UiTreeItem.vue +147 -36
  343. package/vue/chunks/UiActionBar.js +1 -1
  344. package/vue/chunks/UiAffordanceScope.js +34 -7
  345. package/vue/chunks/UiAvatar.js +141 -21
  346. package/vue/chunks/UiAvatarGroup.js +83 -12
  347. package/vue/chunks/UiBadge.js +57 -19
  348. package/vue/chunks/UiBreadcrumbItem.js +19 -6
  349. package/vue/chunks/UiBreadcrumbs.js +19 -6
  350. package/vue/chunks/UiButton.js +194 -42
  351. package/vue/chunks/UiCallout.js +27 -13
  352. package/vue/chunks/UiCard.js +83 -25
  353. package/vue/chunks/UiCheckbox.js +104 -17
  354. package/vue/chunks/UiCluster.js +70 -25
  355. package/vue/chunks/UiCombobox.js +441 -46
  356. package/vue/chunks/UiContainer.js +36 -11
  357. package/vue/chunks/UiContextMenu.js +33 -7
  358. package/vue/chunks/UiCover.js +20 -6
  359. package/vue/chunks/UiDescriptionItem.js +18 -5
  360. package/vue/chunks/UiDescriptionList.js +54 -17
  361. package/vue/chunks/UiDialog.js +115 -23
  362. package/vue/chunks/UiDisclosure.js +110 -24
  363. package/vue/chunks/UiEditable.js +146 -18
  364. package/vue/chunks/UiEditorInsertTableGrid.js +65 -10
  365. package/vue/chunks/UiEditorMentionMenu.js +210 -14
  366. package/vue/chunks/UiEditorMentionMenuItem.js +43 -8
  367. package/vue/chunks/UiEditorSlashMenu.js +186 -12
  368. package/vue/chunks/UiEditorSlashMenuGroup.js +19 -6
  369. package/vue/chunks/UiEditorSlashMenuItem.js +65 -10
  370. package/vue/chunks/UiEditorTableContextMenu.js +116 -16
  371. package/vue/chunks/UiEditorTableOverlay.js +188 -7
  372. package/vue/chunks/UiEditorTableToolbar.js +125 -16
  373. package/vue/chunks/UiEditorToolbar.js +19 -6
  374. package/vue/chunks/UiFloatingActionButton.js +43 -8
  375. package/vue/chunks/UiFormField.js +43 -8
  376. package/vue/chunks/UiGrid.js +52 -18
  377. package/vue/chunks/UiIcon.js +19 -6
  378. package/vue/chunks/UiIconButton.js +107 -21
  379. package/vue/chunks/UiInput.js +309 -30
  380. package/vue/chunks/UiInputGroup.js +19 -6
  381. package/vue/chunks/UiList.js +62 -10
  382. package/vue/chunks/UiListItem.js +33 -7
  383. package/vue/chunks/UiListbox.js +105 -13
  384. package/vue/chunks/UiMenu.js +79 -11
  385. package/vue/chunks/UiMenuGroup.js +19 -6
  386. package/vue/chunks/UiMenuItem.js +93 -28
  387. package/vue/chunks/UiMeter.js +96 -19
  388. package/vue/chunks/UiNavItem.js +74 -17
  389. package/vue/chunks/UiPageHeader.js +20 -6
  390. package/vue/chunks/UiPopover.js +58 -21
  391. package/vue/chunks/UiRadio.js +82 -15
  392. package/vue/chunks/UiRadioGroup.js +89 -12
  393. package/vue/chunks/UiReel.js +53 -18
  394. package/vue/chunks/UiScrollArea.js +20 -6
  395. package/vue/chunks/UiSearchResultRow.js +32 -7
  396. package/vue/chunks/UiSearchShell.js +55 -9
  397. package/vue/chunks/UiSection.js +49 -12
  398. package/vue/chunks/UiSelect.js +68 -13
  399. package/vue/chunks/UiSeparator.js +20 -6
  400. package/vue/chunks/UiSidebar.js +123 -19
  401. package/vue/chunks/UiSpinner.js +33 -7
  402. package/vue/chunks/UiStack.js +59 -24
  403. package/vue/chunks/UiStatusMessage.js +53 -16
  404. package/vue/chunks/UiSwitch.js +82 -15
  405. package/vue/chunks/UiSwitcher.js +70 -25
  406. package/vue/chunks/UiTable.js +33 -7
  407. package/vue/chunks/UiTabs.js +81 -11
  408. package/vue/chunks/UiText.js +169 -58
  409. package/vue/chunks/UiTextarea.js +101 -16
  410. package/vue/chunks/UiToast.js +39 -13
  411. package/vue/chunks/UiToastRegion.js +41 -14
  412. package/vue/chunks/UiTooltip.js +113 -30
  413. package/vue/chunks/UiTopBar.js +1 -1
  414. package/vue/chunks/UiTree.js +82 -15
  415. package/vue/chunks/UiTreeItem.js +184 -22
  416. package/vue/chunks/props.js +271 -35
  417. package/vue/components.css +1209 -1198
  418. package/vue/host.ts +6 -6
package/vue/UiPopover.vue CHANGED
@@ -1,12 +1,52 @@
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, getCurrentInstance, ref, watchSyncEffect } from 'vue'
3
+ import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
5
  import { createDispatch, useComponentHost } from './host'
6
- import { checkedProp } from './props'
6
+ import { checkedProp, vPropValidity } from './props'
7
7
 
8
8
  defineOptions({ inheritAttrs: false })
9
9
 
10
+ const propValidityContract = {
11
+ props: {
12
+ for: {
13
+ type: { kind: 'terminal', name: 'string' },
14
+ required: false,
15
+ target: { attribute: 'for' },
16
+ description: 'ID of the control that toggles and anchors the popover.',
17
+ default: '',
18
+ },
19
+ open: {
20
+ type: { kind: 'terminal', name: 'boolean' },
21
+ required: false,
22
+ target: { attribute: 'open' },
23
+ description: 'Whether the popover is open initially or when set externally.',
24
+ default: false,
25
+ },
26
+ placement: {
27
+ type: { kind: 'terminal', name: 'keyword' },
28
+ required: false,
29
+ target: { attribute: 'placement' },
30
+ description:
31
+ 'Positions the surface around its trigger. Start and end on top or bottom follow the writing direction.',
32
+ values: [
33
+ 'top',
34
+ 'top-start',
35
+ 'top-end',
36
+ 'bottom',
37
+ 'bottom-start',
38
+ 'bottom-end',
39
+ 'left',
40
+ 'left-start',
41
+ 'left-end',
42
+ 'right',
43
+ 'right-start',
44
+ 'right-end',
45
+ ],
46
+ default: 'bottom-start',
47
+ },
48
+ },
49
+ }
10
50
  const props = defineProps({
11
51
  for: { type: null as unknown as PropType<string | null>, default: '' },
12
52
  open: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -35,16 +75,12 @@ const checkedProps = computed(() => ({
35
75
  { kind: 'terminal', name: 'string' },
36
76
  false,
37
77
  'for',
38
- undefined,
39
- undefined,
40
78
  ) as string,
41
79
  open: checkedProp<boolean>(
42
80
  props['open'],
43
81
  { kind: 'terminal', name: 'boolean' },
44
82
  false,
45
83
  'open',
46
- undefined,
47
- undefined,
48
84
  ) as boolean,
49
85
  placement: checkedProp<
50
86
  | 'top'
@@ -59,20 +95,7 @@ const checkedProps = computed(() => ({
59
95
  | 'right'
60
96
  | 'right-start'
61
97
  | 'right-end'
62
- >(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement', undefined, [
63
- 'top',
64
- 'top-start',
65
- 'top-end',
66
- 'bottom',
67
- 'bottom-start',
68
- 'bottom-end',
69
- 'left',
70
- 'left-start',
71
- 'left-end',
72
- 'right',
73
- 'right-start',
74
- 'right-end',
75
- ]) as
98
+ >(props['placement'], { kind: 'terminal', name: 'keyword' }, false, 'placement') as
76
99
  | 'top'
77
100
  | 'top-start'
78
101
  | 'top-end'
@@ -147,6 +170,7 @@ const emit = defineEmits<{
147
170
 
148
171
  const root = ref<HTMLElement | null>(null)
149
172
  const internalOpen = ref(false)
173
+ provide('html-next:ui-popover:internalOpen', internalOpen)
150
174
  const hydrationNode = hydrationInstance?.vnode.el
151
175
  if (
152
176
  typeof window !== 'undefined' && hydrationNode != null
@@ -206,6 +230,7 @@ useComponentHost(() => import('../components/ui-popover/ui-popover.js'), {
206
230
  <span
207
231
  data-component="ui-popover"
208
232
  v-bind="nativeAttrs($attrs)"
233
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
209
234
  :data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
210
235
  :data-open="reflectedProp('open', 'open', checkedProps.open, undefined, false)"
211
236
  :data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
package/vue/UiRadio.d.ts CHANGED
@@ -31,13 +31,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
31
31
  default: string;
32
32
  };
33
33
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
34
- "update:checked": (value: boolean) => any;
35
- "update:value": (value: string) => any;
36
34
  change: (event: CustomEvent<{
37
35
  readonly checked: boolean;
38
36
  readonly value: string;
39
37
  readonly trigger: "keyboard" | "pointer" | "programmatic";
40
38
  }>) => any;
39
+ "update:checked": (value: boolean) => any;
40
+ "update:value": (value: string) => any;
41
41
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
42
42
  checked: {
43
43
  type: PropType<boolean | null>;
@@ -64,13 +64,13 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
64
64
  default: string;
65
65
  };
66
66
  }>> & Readonly<{
67
- "onUpdate:checked"?: ((value: boolean) => any) | undefined;
68
- "onUpdate:value"?: ((value: string) => any) | undefined;
69
67
  onChange?: ((event: CustomEvent<{
70
68
  readonly checked: boolean;
71
69
  readonly value: string;
72
70
  readonly trigger: "keyboard" | "pointer" | "programmatic";
73
71
  }>) => any) | undefined;
72
+ "onUpdate:checked"?: ((value: boolean) => any) | undefined;
73
+ "onUpdate:value"?: ((value: string) => any) | undefined;
74
74
  }>, {
75
75
  name: string | null;
76
76
  value: string | null;
package/vue/UiRadio.vue CHANGED
@@ -1,13 +1,66 @@
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, getCurrentInstance, ref, useTemplateRef, watchSyncEffect } from 'vue'
3
+ import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
5
  import { 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
+ checked: {
14
+ type: { kind: 'terminal', name: 'boolean' },
15
+ required: false,
16
+ target: { attribute: 'checked' },
17
+ description:
18
+ 'Whether the radio is checked initially or when set externally. A form reset returns it to this. Inside a ui-radio-group the group\'s value decides\n instead.',
19
+ default: false,
20
+ },
21
+ disabled: {
22
+ type: { kind: 'terminal', name: 'boolean' },
23
+ required: false,
24
+ target: { attribute: 'disabled' },
25
+ description:
26
+ 'Disables the native radio, so it cannot be chosen, focused, or reached with the arrow keys.',
27
+ default: false,
28
+ },
29
+ name: {
30
+ type: { kind: 'terminal', name: 'string' },
31
+ required: false,
32
+ target: { attribute: 'name' },
33
+ description:
34
+ 'The native name that groups radios: of the radios that share a name, only one can be checked, and the arrow keys move between them. Inside a ui-radio-group\n the group sets the name, so leave this empty there.',
35
+ default: '',
36
+ },
37
+ required: {
38
+ type: { kind: 'terminal', name: 'boolean' },
39
+ required: false,
40
+ target: { attribute: 'required' },
41
+ description:
42
+ 'Marks the native radio required, so native form validation fails until a radio with the same name is checked.',
43
+ default: false,
44
+ },
45
+ size: {
46
+ type: { kind: 'terminal', name: 'keyword' },
47
+ required: false,
48
+ target: { attribute: 'size' },
49
+ description:
50
+ 'Aligns the radio with fields and buttons of the same size. It keeps its box size; the label takes that size\'s field type size and its first line centres in\n that control height (sm 2rem, lg 3rem by default), so in a row of inputs, selects, and buttons of one size it shares their height and their text baseline.\n Under a coarse pointer an sm row grows to the 44px touch minimum, as they do. md is the standard layout.',
51
+ values: ['sm', 'md', 'lg'],
52
+ default: 'md',
53
+ },
54
+ value: {
55
+ type: { kind: 'terminal', name: 'string' },
56
+ required: false,
57
+ target: { attribute: 'value' },
58
+ description:
59
+ 'The value this radio stands for: submitted with a form, reported in its change event, and matched against a ui-radio-group\'s value to decide which radio is\n checked.',
60
+ default: 'on',
61
+ },
62
+ },
63
+ }
11
64
  const props = defineProps({
12
65
  checked: { type: null as unknown as PropType<boolean | null>, default: false },
13
66
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -22,48 +75,36 @@ const checkedProps = computed(() => ({
22
75
  { kind: 'terminal', name: 'boolean' },
23
76
  false,
24
77
  'checked',
25
- undefined,
26
- undefined,
27
78
  ) as boolean,
28
79
  disabled: checkedProp<boolean>(
29
80
  props['disabled'],
30
81
  { kind: 'terminal', name: 'boolean' },
31
82
  false,
32
83
  'disabled',
33
- undefined,
34
- undefined,
35
84
  ) as boolean,
36
85
  name: checkedProp<string>(
37
86
  props['name'],
38
87
  { kind: 'terminal', name: 'string' },
39
88
  false,
40
89
  'name',
41
- undefined,
42
- undefined,
43
90
  ) as string,
44
91
  required: checkedProp<boolean>(
45
92
  props['required'],
46
93
  { kind: 'terminal', name: 'boolean' },
47
94
  false,
48
95
  'required',
49
- undefined,
50
- undefined,
51
96
  ) as boolean,
52
97
  size: checkedProp<'sm' | 'md' | 'lg'>(
53
98
  props['size'],
54
99
  { kind: 'terminal', name: 'keyword' },
55
100
  false,
56
101
  'size',
57
- undefined,
58
- ['sm', 'md', 'lg'],
59
102
  ) as 'sm' | 'md' | 'lg',
60
103
  value: checkedProp<string>(
61
104
  props['value'],
62
105
  { kind: 'terminal', name: 'string' },
63
106
  false,
64
107
  'value',
65
- undefined,
66
- undefined,
67
108
  ) as string,
68
109
  }))
69
110
  void checkedProps.value
@@ -121,6 +162,7 @@ const root = ref<HTMLElement | null>(null)
121
162
  const inputElement = useTemplateRef<HTMLElement>('input')
122
163
  const descriptionElement = useTemplateRef<HTMLElement>('description')
123
164
  const internalChecked = ref(false)
165
+ provide('html-next:ui-radio:internalChecked', internalChecked)
124
166
  const hydrationNode = hydrationInstance?.vnode.el
125
167
  if (
126
168
  typeof window !== 'undefined' && hydrationNode != null
@@ -176,6 +218,7 @@ useComponentHost(() => import('../components/ui-radio/ui-radio.js'), {
176
218
  <label
177
219
  data-component="ui-radio"
178
220
  v-bind="nativeAttrs($attrs)"
221
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
179
222
  :data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
180
223
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
181
224
  :data-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
@@ -38,12 +38,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
38
38
  readonly previousValue: string;
39
39
  readonly trigger: "keyboard" | "pointer" | "programmatic";
40
40
  }>) => any;
41
- "update:value": (value: string) => any;
42
41
  change: (event: CustomEvent<{
43
42
  readonly checked: boolean;
44
43
  readonly value: string;
45
44
  readonly trigger: "keyboard" | "pointer" | "programmatic";
46
45
  }>) => any;
46
+ "update:value": (value: string) => any;
47
47
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
48
  disabled: {
49
49
  type: PropType<boolean | null>;
@@ -79,18 +79,18 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
79
79
  readonly previousValue: string;
80
80
  readonly trigger: "keyboard" | "pointer" | "programmatic";
81
81
  }>) => any) | undefined;
82
- "onUpdate:value"?: ((value: string) => any) | undefined;
83
82
  onChange?: ((event: CustomEvent<{
84
83
  readonly checked: boolean;
85
84
  readonly value: string;
86
85
  readonly trigger: "keyboard" | "pointer" | "programmatic";
87
86
  }>) => any) | undefined;
87
+ "onUpdate:value"?: ((value: string) => any) | undefined;
88
88
  }>, {
89
89
  label: string | null;
90
90
  name: string | null;
91
91
  value: string | null;
92
- disabled: boolean | null;
93
92
  invalid: boolean | null;
93
+ disabled: boolean | null;
94
94
  required: boolean | null;
95
95
  orientation: "vertical" | "horizontal" | null;
96
96
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1,12 +1,73 @@
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, getCurrentInstance, ref, watchSyncEffect } from 'vue'
3
+ import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
5
  import { createDispatch, useComponentHost } from './host'
6
- import { checkedProp } from './props'
6
+ import { checkedProp, vPropValidity } from './props'
7
7
 
8
8
  defineOptions({ inheritAttrs: false })
9
9
 
10
+ const propValidityContract = {
11
+ props: {
12
+ disabled: {
13
+ type: { kind: 'terminal', name: 'boolean' },
14
+ required: false,
15
+ target: { attribute: 'disabled' },
16
+ description:
17
+ 'Disables every radio in the group through the native fieldset, so no choice can be made and the group submits nothing with its form. A radio disabled on\n its own stays disabled when the group is enabled.',
18
+ default: false,
19
+ },
20
+ invalid: {
21
+ type: { kind: 'terminal', name: 'boolean' },
22
+ required: false,
23
+ target: { attribute: 'aria-invalid' },
24
+ description:
25
+ 'Exposes an externally validated error on the group and styles its legend with the field danger colour.',
26
+ default: false,
27
+ },
28
+ label: {
29
+ type: { kind: 'terminal', name: 'string' },
30
+ required: false,
31
+ target: { attribute: 'label' },
32
+ description:
33
+ 'The group\'s legend, shown above the radios and announced as the group\'s name. Phrase it as the question the radios answer.',
34
+ default: 'Options',
35
+ },
36
+ name: {
37
+ type: { kind: 'terminal', name: 'string' },
38
+ required: false,
39
+ target: { attribute: 'name' },
40
+ description:
41
+ 'The native name given to every radio in the group, under which a form submits the chosen value. Left empty, the group generates a unique name that keeps\n the radios together, so set it when the choice submits with a form.',
42
+ default: '',
43
+ },
44
+ orientation: {
45
+ type: { kind: 'terminal', name: 'keyword' },
46
+ required: false,
47
+ target: { attribute: 'orientation' },
48
+ description:
49
+ 'horizontal lays the radios out in a row; vertical stacks them in a column. The arrow keys move between radios either way.',
50
+ values: ['horizontal', 'vertical'],
51
+ default: 'horizontal',
52
+ },
53
+ required: {
54
+ type: { kind: 'terminal', name: 'boolean' },
55
+ required: false,
56
+ target: { attribute: 'aria-required' },
57
+ description:
58
+ 'Makes a choice required, as a required native radio does for its group: the group states aria-required, every radio in it is marked required, and native\n form validation fails until one is checked.',
59
+ default: false,
60
+ },
61
+ value: {
62
+ type: { kind: 'terminal', name: 'string' },
63
+ required: false,
64
+ target: { attribute: 'value' },
65
+ description:
66
+ 'The value of the checked radio, initially or when set externally; empty checks none. The user\'s choice updates it from there and is reported as select and\n change events, and a form reset returns the group to it.',
67
+ default: '',
68
+ },
69
+ },
70
+ }
10
71
  const props = defineProps({
11
72
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
12
73
  invalid: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -25,56 +86,42 @@ const checkedProps = computed(() => ({
25
86
  { kind: 'terminal', name: 'boolean' },
26
87
  false,
27
88
  'disabled',
28
- undefined,
29
- undefined,
30
89
  ) as boolean,
31
90
  invalid: checkedProp<boolean>(
32
91
  props['invalid'],
33
92
  { kind: 'terminal', name: 'boolean' },
34
93
  false,
35
94
  'invalid',
36
- undefined,
37
- undefined,
38
95
  ) as boolean,
39
96
  label: checkedProp<string>(
40
97
  props['label'],
41
98
  { kind: 'terminal', name: 'string' },
42
99
  false,
43
100
  'label',
44
- undefined,
45
- undefined,
46
101
  ) as string,
47
102
  name: checkedProp<string>(
48
103
  props['name'],
49
104
  { kind: 'terminal', name: 'string' },
50
105
  false,
51
106
  'name',
52
- undefined,
53
- undefined,
54
107
  ) as string,
55
108
  orientation: checkedProp<'horizontal' | 'vertical'>(
56
109
  props['orientation'],
57
110
  { kind: 'terminal', name: 'keyword' },
58
111
  false,
59
112
  'orientation',
60
- undefined,
61
- ['horizontal', 'vertical'],
62
113
  ) as 'horizontal' | 'vertical',
63
114
  required: checkedProp<boolean>(
64
115
  props['required'],
65
116
  { kind: 'terminal', name: 'boolean' },
66
117
  false,
67
118
  'required',
68
- undefined,
69
- undefined,
70
119
  ) as boolean,
71
120
  value: checkedProp<string>(
72
121
  props['value'],
73
122
  { kind: 'terminal', name: 'string' },
74
123
  false,
75
124
  'value',
76
- undefined,
77
- undefined,
78
125
  ) as string,
79
126
  }))
80
127
  void checkedProps.value
@@ -138,6 +185,7 @@ const emit = defineEmits<{
138
185
 
139
186
  const root = ref<HTMLElement | null>(null)
140
187
  const internalValue = ref('')
188
+ provide('html-next:ui-radio-group:internalValue', internalValue)
141
189
  const hydrationNode = hydrationInstance?.vnode.el
142
190
  if (
143
191
  typeof window !== 'undefined' && hydrationNode != null
@@ -211,6 +259,7 @@ useComponentHost(() => import('../components/ui-radio-group/ui-radio-group.js'),
211
259
  :aria-required="checkedProps.required ?? undefined"
212
260
  :aria-invalid="checkedProps.invalid ?? undefined"
213
261
  :disabled="checkedProps.disabled ?? undefined"
262
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
214
263
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
215
264
  :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
216
265
  :data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
package/vue/UiReel.d.ts CHANGED
@@ -31,8 +31,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
31
31
  };
32
32
  }>> & Readonly<{}>, {
33
33
  gap: "s" | "xs" | "m" | "l" | "xl" | null;
34
- itemWidth: "sm" | "md" | "lg" | null;
35
34
  snap: "center" | "start" | null;
35
+ itemWidth: "sm" | "md" | "lg" | null;
36
36
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
37
37
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
38
  declare const _default: typeof __VLS_export;
package/vue/UiReel.vue CHANGED
@@ -1,11 +1,39 @@
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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
- import { checkedProp } from './props'
5
+ import { checkedProp, vPropValidity } from './props'
6
6
 
7
7
  defineOptions({ inheritAttrs: false })
8
8
 
9
+ const propValidityContract = {
10
+ props: {
11
+ gap: {
12
+ type: { kind: 'terminal', name: 'keyword' },
13
+ required: false,
14
+ target: { attribute: 'gap' },
15
+ description:
16
+ 'Space between items, on the spacing scale: xs is 0.5rem, s 0.75rem, m 1rem (also the default), l 1.5rem, and xl 2rem. The --ui-reel-gap custom property,\n set on the reel itself, overrides it; set on an ancestor, it does nothing.',
17
+ values: ['xs', 's', 'm', 'l', 'xl'],
18
+ },
19
+ itemWidth: {
20
+ type: { kind: 'terminal', name: 'keyword' },
21
+ required: false,
22
+ target: { attribute: 'itemwidth' },
23
+ description:
24
+ 'A fixed width for every item: sm is 12rem, md is 16rem, and lg is 20rem. Unset, each item keeps its content\'s width. Items never shrink to fit, so the reel\n scrolls sideways once they overflow.',
25
+ values: ['sm', 'md', 'lg'],
26
+ },
27
+ snap: {
28
+ type: { kind: 'terminal', name: 'keyword' },
29
+ required: false,
30
+ target: { attribute: 'snap' },
31
+ description:
32
+ 'Snaps scrolling to items: start comes to rest with an item\'s start edge at the reel\'s start, and center with an item centred in the reel. Unset, the reel\n scrolls freely.',
33
+ values: ['start', 'center'],
34
+ },
35
+ },
36
+ }
9
37
  const props = defineProps({
10
38
  gap: { type: null as unknown as PropType<'xs' | 's' | 'm' | 'l' | 'xl' | null>, default: null },
11
39
  itemWidth: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: null },
@@ -17,24 +45,18 @@ const checkedProps = computed(() => ({
17
45
  { kind: 'terminal', name: 'keyword' },
18
46
  false,
19
47
  'gap',
20
- undefined,
21
- ['xs', 's', 'm', 'l', 'xl'],
22
48
  ),
23
49
  itemWidth: checkedProp<'sm' | 'md' | 'lg'>(
24
50
  props['itemWidth'],
25
51
  { kind: 'terminal', name: 'keyword' },
26
52
  false,
27
53
  'itemWidth',
28
- undefined,
29
- ['sm', 'md', 'lg'],
30
54
  ),
31
55
  snap: checkedProp<'start' | 'center'>(
32
56
  props['snap'],
33
57
  { kind: 'terminal', name: 'keyword' },
34
58
  false,
35
59
  'snap',
36
- undefined,
37
- ['start', 'center'],
38
60
  ),
39
61
  }))
40
62
  void checkedProps.value
@@ -109,6 +131,7 @@ const hostState = computed(() =>
109
131
  role="region"
110
132
  tabindex="0"
111
133
  v-bind="nativeAttrs($attrs)"
134
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
112
135
  :data-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
113
136
  :data-item-width="reflectedProp('itemWidth', 'item-width', checkedProps.itemWidth, undefined, false)"
114
137
  :data-snap="reflectedProp('snap', 'snap', checkedProps.snap, undefined, false)"
@@ -1,12 +1,25 @@
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
 
8
8
  defineOptions({ inheritAttrs: false })
9
9
 
10
+ const propValidityContract = {
11
+ props: {
12
+ orientation: {
13
+ type: { kind: 'terminal', name: 'keyword' },
14
+ required: false,
15
+ target: { attribute: 'orientation' },
16
+ description:
17
+ 'The direction the content scrolls. Vertical scrolls up and down and clips sideways overflow; horizontal scrolls sideways and clips vertical\n overflow.',
18
+ values: ['vertical', 'horizontal'],
19
+ default: 'vertical',
20
+ },
21
+ },
22
+ }
10
23
  const props = defineProps({
11
24
  orientation: {
12
25
  type: null as unknown as PropType<'vertical' | 'horizontal' | null>,
@@ -19,8 +32,6 @@ const checkedProps = computed(() => ({
19
32
  { kind: 'terminal', name: 'keyword' },
20
33
  false,
21
34
  'orientation',
22
- undefined,
23
- ['vertical', 'horizontal'],
24
35
  ) as 'vertical' | 'horizontal',
25
36
  }))
26
37
  void checkedProps.value
@@ -107,6 +118,7 @@ useComponentHost(() => import('../components/ui-scroll-area/ui-scroll-area.js'),
107
118
  <div
108
119
  data-component="ui-scroll-area"
109
120
  v-bind="nativeAttrs($attrs)"
121
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
110
122
  :data-orientation="reflectedProp('orientation', 'orientation', checkedProps.orientation, undefined, false)"
111
123
  :data-ui-scroll-area-state="hostState || undefined"
112
124
  ref="root"
@@ -1,11 +1,31 @@
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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
- import { checkedProp } from './props'
5
+ import { checkedProp, vPropValidity } from './props'
6
6
 
7
7
  defineOptions({ inheritAttrs: false })
8
8
 
9
+ const propValidityContract = {
10
+ props: {
11
+ disabled: {
12
+ type: { kind: 'terminal', name: 'boolean' },
13
+ required: false,
14
+ target: { attribute: 'disabled' },
15
+ description:
16
+ 'Disables the row\'s button, so it cannot be chosen or focused, and gives it a flat muted treatment.',
17
+ default: false,
18
+ },
19
+ selected: {
20
+ type: { kind: 'terminal', name: 'boolean' },
21
+ required: false,
22
+ target: { attribute: 'aria-current' },
23
+ description:
24
+ 'Marks the row as the current result: it gets the hover surface and aria-current="true", which assistive technology announces as current. Set it on one row\n at a time, such as the result the arrow keys have moved to.',
25
+ default: false,
26
+ },
27
+ },
28
+ }
9
29
  const props = defineProps({
10
30
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
11
31
  selected: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -16,16 +36,12 @@ const checkedProps = computed(() => ({
16
36
  { kind: 'terminal', name: 'boolean' },
17
37
  false,
18
38
  'disabled',
19
- undefined,
20
- undefined,
21
39
  ) as boolean,
22
40
  selected: checkedProp<boolean>(
23
41
  props['selected'],
24
42
  { kind: 'terminal', name: 'boolean' },
25
43
  false,
26
44
  'selected',
27
- undefined,
28
- undefined,
29
45
  ) as boolean,
30
46
  }))
31
47
  void checkedProps.value
@@ -98,6 +114,7 @@ const hostState = computed(() =>
98
114
  v-bind="nativeAttrs($attrs)"
99
115
  :disabled="checkedProps.disabled ?? undefined"
100
116
  :aria-current="checkedProps.selected ?? undefined"
117
+ v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
101
118
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
102
119
  :data-selected="reflectedProp('selected', 'selected', checkedProps.selected, undefined, false)"
103
120
  :data-ui-search-result-row-state="hostState || undefined"