@threadlabs/looma 0.22.9 → 0.22.11

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 (417) hide show
  1. package/components/shared/overlay.js +33 -1
  2. package/components/ui-affordance-scope/ui-affordance-scope.js +2 -2
  3. package/components/ui-avatar/ui-avatar.js +5 -5
  4. package/components/ui-avatar-group/ui-avatar-group.js +5 -5
  5. package/components/ui-button/ui-button.js +1 -1
  6. package/components/ui-checkbox/ui-checkbox.js +5 -5
  7. package/components/ui-combobox/ui-combobox.js +61 -61
  8. package/components/ui-context-menu/ui-context-menu.js +6 -6
  9. package/components/ui-dialog/ui-dialog.html +6 -0
  10. package/components/ui-dialog/ui-dialog.js +11 -11
  11. package/components/ui-disclosure/ui-disclosure.js +6 -6
  12. package/components/ui-editable/ui-editable.js +6 -6
  13. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.js +4 -4
  14. package/components/ui-editor-mention-menu/ui-editor-mention-menu.js +8 -8
  15. package/components/ui-editor-slash-menu/ui-editor-slash-menu.js +6 -6
  16. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.js +5 -5
  17. package/components/ui-editor-table-overlay/ui-editor-table-overlay.js +4 -4
  18. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.js +5 -5
  19. package/components/ui-form-field/ui-form-field.js +4 -4
  20. package/components/ui-icon-button/ui-icon-button.js +2 -2
  21. package/components/ui-input/ui-input.js +1 -1
  22. package/components/ui-input-group/ui-input-group.html +14 -0
  23. package/components/ui-input-group/ui-input-group.js +1 -1
  24. package/components/ui-listbox/ui-listbox.js +12 -12
  25. package/components/ui-menu/ui-menu.js +7 -7
  26. package/components/ui-menu-item/ui-menu-item.js +7 -7
  27. package/components/ui-popover/ui-popover.js +4 -4
  28. package/components/ui-radio/ui-radio.js +5 -5
  29. package/components/ui-radio-group/ui-radio-group.js +6 -6
  30. package/components/ui-scroll-area/ui-scroll-area.js +1 -1
  31. package/components/ui-search-shell/ui-search-shell.html +8 -0
  32. package/components/ui-search-shell/ui-search-shell.js +17 -7
  33. package/components/ui-select/ui-select.js +1 -1
  34. package/components/ui-sidebar/ui-sidebar.js +15 -12
  35. package/components/ui-switch/ui-switch.js +5 -5
  36. package/components/ui-switcher/ui-switcher.js +1 -1
  37. package/components/ui-tabs/ui-tabs.js +5 -5
  38. package/components/ui-textarea/ui-textarea.js +1 -1
  39. package/components/ui-toast/ui-toast.js +3 -3
  40. package/components/ui-toast-region/ui-toast-region.js +5 -1
  41. package/components/ui-tooltip/ui-tooltip.js +22 -11
  42. package/components/ui-tree/ui-tree.js +4 -4
  43. package/components/ui-tree-item/ui-tree-item.js +11 -11
  44. package/dist/index.js +1 -1
  45. package/package.json +2 -2
  46. package/styles/ui-action-bar.css +1 -1
  47. package/styles/ui-affordance-scope.css +1 -1
  48. package/styles/ui-avatar-group.css +1 -1
  49. package/styles/ui-avatar.css +1 -1
  50. package/styles/ui-badge.css +1 -1
  51. package/styles/ui-breadcrumb-item.css +1 -1
  52. package/styles/ui-breadcrumbs.css +1 -1
  53. package/styles/ui-button.css +1 -1
  54. package/styles/ui-callout.css +1 -1
  55. package/styles/ui-card.css +1 -1
  56. package/styles/ui-checkbox.css +1 -1
  57. package/styles/ui-cluster.css +1 -1
  58. package/styles/ui-combobox.css +1 -1
  59. package/styles/ui-container.css +1 -1
  60. package/styles/ui-context-menu.css +1 -1
  61. package/styles/ui-cover.css +1 -1
  62. package/styles/ui-description-item.css +1 -1
  63. package/styles/ui-description-list.css +1 -1
  64. package/styles/ui-dialog.css +7 -1
  65. package/styles/ui-disclosure.css +1 -1
  66. package/styles/ui-editable.css +1 -1
  67. package/styles/ui-editor-insert-table-grid.css +1 -1
  68. package/styles/ui-editor-mention-menu-item.css +1 -1
  69. package/styles/ui-editor-mention-menu.css +1 -1
  70. package/styles/ui-editor-slash-menu-group.css +1 -1
  71. package/styles/ui-editor-slash-menu-item.css +1 -1
  72. package/styles/ui-editor-slash-menu.css +1 -1
  73. package/styles/ui-editor-table-context-menu.css +1 -1
  74. package/styles/ui-editor-table-overlay.css +1 -1
  75. package/styles/ui-editor-table-toolbar.css +1 -1
  76. package/styles/ui-editor-toolbar.css +1 -1
  77. package/styles/ui-floating-action-button.css +1 -1
  78. package/styles/ui-form-field.css +1 -1
  79. package/styles/ui-grid.css +1 -1
  80. package/styles/ui-icon-button.css +1 -1
  81. package/styles/ui-icon.css +1 -1
  82. package/styles/ui-input-group.css +17 -1
  83. package/styles/ui-input.css +1 -1
  84. package/styles/ui-list-item.css +1 -1
  85. package/styles/ui-list.css +1 -1
  86. package/styles/ui-listbox.css +1 -1
  87. package/styles/ui-menu-group.css +1 -1
  88. package/styles/ui-menu-item.css +1 -1
  89. package/styles/ui-menu.css +1 -1
  90. package/styles/ui-meter.css +1 -1
  91. package/styles/ui-nav-item.css +1 -1
  92. package/styles/ui-page-header.css +1 -1
  93. package/styles/ui-popover.css +1 -1
  94. package/styles/ui-radio-group.css +1 -1
  95. package/styles/ui-radio.css +1 -1
  96. package/styles/ui-reel.css +1 -1
  97. package/styles/ui-scroll-area.css +1 -1
  98. package/styles/ui-search-result-row.css +1 -1
  99. package/styles/ui-search-shell.css +9 -1
  100. package/styles/ui-section.css +1 -1
  101. package/styles/ui-select.css +1 -1
  102. package/styles/ui-separator.css +1 -1
  103. package/styles/ui-sidebar.css +1 -1
  104. package/styles/ui-spinner.css +1 -1
  105. package/styles/ui-stack.css +1 -1
  106. package/styles/ui-status-message.css +1 -1
  107. package/styles/ui-switch.css +1 -1
  108. package/styles/ui-switcher.css +1 -1
  109. package/styles/ui-table.css +1 -1
  110. package/styles/ui-tabs.css +1 -1
  111. package/styles/ui-text.css +1 -1
  112. package/styles/ui-textarea.css +1 -1
  113. package/styles/ui-toast-region.css +1 -1
  114. package/styles/ui-toast.css +1 -1
  115. package/styles/ui-tooltip.css +1 -1
  116. package/styles/ui-top-bar.css +1 -1
  117. package/styles/ui-tree-item.css +1 -1
  118. package/styles/ui-tree.css +1 -1
  119. package/vanilla/UiActionBar.d.ts +1 -1
  120. package/vanilla/UiActionBar.js +1 -1
  121. package/vanilla/UiAffordanceScope.d.ts +1 -1
  122. package/vanilla/UiAffordanceScope.js +1 -1
  123. package/vanilla/UiAvatar.d.ts +1 -1
  124. package/vanilla/UiAvatar.js +1 -1
  125. package/vanilla/UiAvatarGroup.d.ts +1 -1
  126. package/vanilla/UiAvatarGroup.js +1 -1
  127. package/vanilla/UiBadge.d.ts +1 -1
  128. package/vanilla/UiBadge.js +1 -1
  129. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  130. package/vanilla/UiBreadcrumbItem.js +1 -1
  131. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  132. package/vanilla/UiBreadcrumbs.js +1 -1
  133. package/vanilla/UiButton.d.ts +1 -1
  134. package/vanilla/UiButton.js +1 -1
  135. package/vanilla/UiCallout.d.ts +1 -1
  136. package/vanilla/UiCallout.js +1 -1
  137. package/vanilla/UiCard.d.ts +1 -1
  138. package/vanilla/UiCard.js +1 -1
  139. package/vanilla/UiCheckbox.d.ts +1 -1
  140. package/vanilla/UiCheckbox.js +1 -1
  141. package/vanilla/UiCluster.d.ts +1 -1
  142. package/vanilla/UiCluster.js +1 -1
  143. package/vanilla/UiCombobox.d.ts +1 -1
  144. package/vanilla/UiCombobox.js +1 -1
  145. package/vanilla/UiContainer.d.ts +1 -1
  146. package/vanilla/UiContainer.js +1 -1
  147. package/vanilla/UiContextMenu.d.ts +1 -1
  148. package/vanilla/UiContextMenu.js +1 -1
  149. package/vanilla/UiCover.d.ts +1 -1
  150. package/vanilla/UiCover.js +1 -1
  151. package/vanilla/UiDescriptionItem.d.ts +1 -1
  152. package/vanilla/UiDescriptionItem.js +1 -1
  153. package/vanilla/UiDescriptionList.d.ts +1 -1
  154. package/vanilla/UiDescriptionList.js +1 -1
  155. package/vanilla/UiDialog.d.ts +1 -1
  156. package/vanilla/UiDialog.js +1 -1
  157. package/vanilla/UiDisclosure.d.ts +1 -1
  158. package/vanilla/UiDisclosure.js +1 -1
  159. package/vanilla/UiEditable.d.ts +1 -1
  160. package/vanilla/UiEditable.js +1 -1
  161. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  162. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  163. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  164. package/vanilla/UiEditorMentionMenu.js +1 -1
  165. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  166. package/vanilla/UiEditorMentionMenuItem.js +1 -1
  167. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  168. package/vanilla/UiEditorSlashMenu.js +1 -1
  169. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  170. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  171. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  172. package/vanilla/UiEditorSlashMenuItem.js +1 -1
  173. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  174. package/vanilla/UiEditorTableContextMenu.js +1 -1
  175. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  176. package/vanilla/UiEditorTableOverlay.js +1 -1
  177. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  178. package/vanilla/UiEditorTableToolbar.js +1 -1
  179. package/vanilla/UiEditorToolbar.d.ts +1 -1
  180. package/vanilla/UiEditorToolbar.js +1 -1
  181. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  182. package/vanilla/UiFloatingActionButton.js +1 -1
  183. package/vanilla/UiFormField.d.ts +1 -1
  184. package/vanilla/UiFormField.js +1 -1
  185. package/vanilla/UiGrid.d.ts +1 -1
  186. package/vanilla/UiGrid.js +1 -1
  187. package/vanilla/UiIcon.d.ts +1 -1
  188. package/vanilla/UiIcon.js +1 -1
  189. package/vanilla/UiIconButton.d.ts +1 -1
  190. package/vanilla/UiIconButton.js +1 -1
  191. package/vanilla/UiInput.d.ts +1 -1
  192. package/vanilla/UiInput.js +1 -1
  193. package/vanilla/UiInputGroup.d.ts +1 -1
  194. package/vanilla/UiInputGroup.js +1 -1
  195. package/vanilla/UiList.d.ts +1 -1
  196. package/vanilla/UiList.js +1 -1
  197. package/vanilla/UiListItem.d.ts +1 -1
  198. package/vanilla/UiListItem.js +1 -1
  199. package/vanilla/UiListbox.d.ts +1 -1
  200. package/vanilla/UiListbox.js +1 -1
  201. package/vanilla/UiMenu.d.ts +1 -1
  202. package/vanilla/UiMenu.js +1 -1
  203. package/vanilla/UiMenuGroup.d.ts +1 -1
  204. package/vanilla/UiMenuGroup.js +1 -1
  205. package/vanilla/UiMenuItem.d.ts +1 -1
  206. package/vanilla/UiMenuItem.js +1 -1
  207. package/vanilla/UiMeter.d.ts +1 -1
  208. package/vanilla/UiMeter.js +1 -1
  209. package/vanilla/UiNavItem.d.ts +1 -1
  210. package/vanilla/UiNavItem.js +1 -1
  211. package/vanilla/UiPageHeader.d.ts +1 -1
  212. package/vanilla/UiPageHeader.js +1 -1
  213. package/vanilla/UiPopover.d.ts +1 -1
  214. package/vanilla/UiPopover.js +1 -1
  215. package/vanilla/UiRadio.d.ts +1 -1
  216. package/vanilla/UiRadio.js +1 -1
  217. package/vanilla/UiRadioGroup.d.ts +1 -1
  218. package/vanilla/UiRadioGroup.js +1 -1
  219. package/vanilla/UiReel.d.ts +1 -1
  220. package/vanilla/UiReel.js +1 -1
  221. package/vanilla/UiScrollArea.d.ts +1 -1
  222. package/vanilla/UiScrollArea.js +1 -1
  223. package/vanilla/UiSearchResultRow.d.ts +1 -1
  224. package/vanilla/UiSearchResultRow.js +1 -1
  225. package/vanilla/UiSearchShell.d.ts +1 -1
  226. package/vanilla/UiSearchShell.js +1 -1
  227. package/vanilla/UiSection.d.ts +1 -1
  228. package/vanilla/UiSection.js +1 -1
  229. package/vanilla/UiSelect.d.ts +1 -1
  230. package/vanilla/UiSelect.js +1 -1
  231. package/vanilla/UiSeparator.d.ts +1 -1
  232. package/vanilla/UiSeparator.js +1 -1
  233. package/vanilla/UiSidebar.d.ts +1 -1
  234. package/vanilla/UiSidebar.js +1 -1
  235. package/vanilla/UiSpinner.d.ts +1 -1
  236. package/vanilla/UiSpinner.js +1 -1
  237. package/vanilla/UiStack.d.ts +1 -1
  238. package/vanilla/UiStack.js +1 -1
  239. package/vanilla/UiStatusMessage.d.ts +1 -1
  240. package/vanilla/UiStatusMessage.js +1 -1
  241. package/vanilla/UiSwitch.d.ts +1 -1
  242. package/vanilla/UiSwitch.js +1 -1
  243. package/vanilla/UiSwitcher.d.ts +1 -1
  244. package/vanilla/UiSwitcher.js +1 -1
  245. package/vanilla/UiTable.d.ts +1 -1
  246. package/vanilla/UiTable.js +1 -1
  247. package/vanilla/UiTabs.d.ts +1 -1
  248. package/vanilla/UiTabs.js +1 -1
  249. package/vanilla/UiText.d.ts +1 -1
  250. package/vanilla/UiText.js +1 -1
  251. package/vanilla/UiTextarea.d.ts +1 -1
  252. package/vanilla/UiTextarea.js +1 -1
  253. package/vanilla/UiToast.d.ts +1 -1
  254. package/vanilla/UiToast.js +1 -1
  255. package/vanilla/UiToastRegion.d.ts +1 -1
  256. package/vanilla/UiToastRegion.js +1 -1
  257. package/vanilla/UiTooltip.d.ts +1 -1
  258. package/vanilla/UiTooltip.js +1 -1
  259. package/vanilla/UiTopBar.d.ts +1 -1
  260. package/vanilla/UiTopBar.js +1 -1
  261. package/vanilla/UiTree.d.ts +1 -1
  262. package/vanilla/UiTree.js +1 -1
  263. package/vanilla/UiTreeItem.d.ts +1 -1
  264. package/vanilla/UiTreeItem.js +1 -1
  265. package/vue/UiActionBar.vue +1 -1
  266. package/vue/UiAffordanceScope.vue +17 -4
  267. package/vue/UiAvatar.vue +38 -5
  268. package/vue/UiAvatarGroup.vue +32 -5
  269. package/vue/UiBadge.vue +13 -3
  270. package/vue/UiBreadcrumbItem.vue +5 -3
  271. package/vue/UiBreadcrumbs.vue +5 -3
  272. package/vue/UiButton.vue +72 -7
  273. package/vue/UiCallout.vue +5 -3
  274. package/vue/UiCard.vue +16 -6
  275. package/vue/UiCheckbox.vue +41 -4
  276. package/vue/UiCluster.vue +8 -3
  277. package/vue/UiCombobox.vue +98 -6
  278. package/vue/UiContainer.vue +6 -3
  279. package/vue/UiContextMenu.vue +17 -4
  280. package/vue/UiCover.vue +5 -3
  281. package/vue/UiDescriptionItem.vue +5 -3
  282. package/vue/UiDescriptionList.vue +11 -3
  283. package/vue/UiDialog.vue +44 -5
  284. package/vue/UiDisclosure.vue +28 -4
  285. package/vue/UiEditable.vue +50 -4
  286. package/vue/UiEditorInsertTableGrid.vue +24 -4
  287. package/vue/UiEditorMentionMenu.vue +41 -4
  288. package/vue/UiEditorMentionMenuItem.vue +7 -3
  289. package/vue/UiEditorSlashMenu.vue +28 -4
  290. package/vue/UiEditorSlashMenuGroup.vue +5 -3
  291. package/vue/UiEditorSlashMenuItem.vue +15 -3
  292. package/vue/UiEditorTableContextMenu.vue +28 -4
  293. package/vue/UiEditorTableOverlay.vue +17 -4
  294. package/vue/UiEditorTableToolbar.vue +28 -4
  295. package/vue/UiEditorToolbar.vue +16 -4
  296. package/vue/UiFloatingActionButton.vue +7 -3
  297. package/vue/UiFormField.vue +18 -4
  298. package/vue/UiGrid.vue +7 -3
  299. package/vue/UiIcon.vue +5 -3
  300. package/vue/UiIconButton.vue +47 -5
  301. package/vue/UiInput.vue +90 -37
  302. package/vue/UiInputGroup.vue +30 -4
  303. package/vue/UiList.vue +20 -7
  304. package/vue/UiListItem.vue +6 -3
  305. package/vue/UiListbox.vue +38 -5
  306. package/vue/UiMenu.vue +28 -4
  307. package/vue/UiMenuGroup.vue +5 -3
  308. package/vue/UiMenuItem.vue +27 -5
  309. package/vue/UiMeter.vue +19 -3
  310. package/vue/UiNavItem.vue +28 -6
  311. package/vue/UiPageHeader.vue +5 -3
  312. package/vue/UiPopover.vue +18 -5
  313. package/vue/UiRadio.vue +28 -4
  314. package/vue/UiRadioGroup.vue +30 -4
  315. package/vue/UiReel.vue +7 -3
  316. package/vue/UiScrollArea.vue +16 -4
  317. package/vue/UiSearchResultRow.d.ts +1 -1
  318. package/vue/UiSearchResultRow.vue +6 -3
  319. package/vue/UiSearchShell.vue +32 -4
  320. package/vue/UiSection.vue +7 -3
  321. package/vue/UiSelect.vue +33 -5
  322. package/vue/UiSeparator.vue +5 -3
  323. package/vue/UiSidebar.vue +44 -4
  324. package/vue/UiSpinner.vue +6 -3
  325. package/vue/UiStack.vue +7 -3
  326. package/vue/UiStatusMessage.vue +7 -3
  327. package/vue/UiSwitch.vue +28 -4
  328. package/vue/UiSwitcher.vue +30 -5
  329. package/vue/UiTable.vue +17 -4
  330. package/vue/UiTabs.vue +28 -4
  331. package/vue/UiText.vue +29 -15
  332. package/vue/UiTextarea.vue +39 -5
  333. package/vue/UiToast.vue +17 -4
  334. package/vue/UiToastRegion.vue +17 -5
  335. package/vue/UiTooltip.vue +30 -5
  336. package/vue/UiTopBar.vue +1 -1
  337. package/vue/UiTree.vue +28 -4
  338. package/vue/UiTreeItem.d.ts +1 -1
  339. package/vue/UiTreeItem.vue +59 -4
  340. package/vue/chunks/UiActionBar.js +1 -1
  341. package/vue/chunks/UiAffordanceScope.js +19 -5
  342. package/vue/chunks/UiAvatar.js +40 -11
  343. package/vue/chunks/UiAvatarGroup.js +31 -8
  344. package/vue/chunks/UiBadge.js +13 -7
  345. package/vue/chunks/UiBreadcrumbItem.js +5 -4
  346. package/vue/chunks/UiBreadcrumbs.js +5 -4
  347. package/vue/chunks/UiButton.js +60 -19
  348. package/vue/chunks/UiCallout.js +5 -4
  349. package/vue/chunks/UiCard.js +16 -10
  350. package/vue/chunks/UiCheckbox.js +40 -11
  351. package/vue/chunks/UiCluster.js +13 -7
  352. package/vue/chunks/UiCombobox.js +85 -26
  353. package/vue/chunks/UiContainer.js +9 -5
  354. package/vue/chunks/UiContextMenu.js +19 -5
  355. package/vue/chunks/UiCover.js +5 -4
  356. package/vue/chunks/UiDescriptionItem.js +5 -4
  357. package/vue/chunks/UiDescriptionList.js +11 -6
  358. package/vue/chunks/UiDialog.js +40 -11
  359. package/vue/chunks/UiDisclosure.js +34 -9
  360. package/vue/chunks/UiEditable.js +49 -14
  361. package/vue/chunks/UiEditorInsertTableGrid.js +28 -7
  362. package/vue/chunks/UiEditorMentionMenu.js +40 -11
  363. package/vue/chunks/UiEditorMentionMenuItem.js +11 -6
  364. package/vue/chunks/UiEditorSlashMenu.js +34 -9
  365. package/vue/chunks/UiEditorSlashMenuGroup.js +5 -4
  366. package/vue/chunks/UiEditorSlashMenuItem.js +15 -8
  367. package/vue/chunks/UiEditorTableContextMenu.js +34 -9
  368. package/vue/chunks/UiEditorTableOverlay.js +19 -5
  369. package/vue/chunks/UiEditorTableToolbar.js +34 -9
  370. package/vue/chunks/UiEditorToolbar.js +15 -4
  371. package/vue/chunks/UiFloatingActionButton.js +11 -6
  372. package/vue/chunks/UiFormField.js +26 -7
  373. package/vue/chunks/UiGrid.js +11 -6
  374. package/vue/chunks/UiIcon.js +5 -4
  375. package/vue/chunks/UiIconButton.js +41 -12
  376. package/vue/chunks/UiInput.js +53 -14
  377. package/vue/chunks/UiInputGroup.js +16 -5
  378. package/vue/chunks/UiList.js +14 -8
  379. package/vue/chunks/UiListItem.js +9 -5
  380. package/vue/chunks/UiListbox.js +40 -11
  381. package/vue/chunks/UiMenu.js +34 -9
  382. package/vue/chunks/UiMenuGroup.js +5 -4
  383. package/vue/chunks/UiMenuItem.js +32 -9
  384. package/vue/chunks/UiMeter.js +19 -10
  385. package/vue/chunks/UiNavItem.js +16 -9
  386. package/vue/chunks/UiPageHeader.js +5 -4
  387. package/vue/chunks/UiPopover.js +25 -6
  388. package/vue/chunks/UiRadio.js +34 -9
  389. package/vue/chunks/UiRadioGroup.js +37 -10
  390. package/vue/chunks/UiReel.js +11 -6
  391. package/vue/chunks/UiScrollArea.js +15 -4
  392. package/vue/chunks/UiSearchResultRow.js +9 -5
  393. package/vue/chunks/UiSearchShell.js +28 -7
  394. package/vue/chunks/UiSection.js +11 -6
  395. package/vue/chunks/UiSelect.js +33 -10
  396. package/vue/chunks/UiSeparator.js +5 -4
  397. package/vue/chunks/UiSidebar.js +43 -12
  398. package/vue/chunks/UiSpinner.js +9 -5
  399. package/vue/chunks/UiStack.js +11 -6
  400. package/vue/chunks/UiStatusMessage.js +11 -6
  401. package/vue/chunks/UiSwitch.js +34 -9
  402. package/vue/chunks/UiSwitcher.js +28 -7
  403. package/vue/chunks/UiTable.js +20 -6
  404. package/vue/chunks/UiTabs.js +34 -9
  405. package/vue/chunks/UiText.js +29 -20
  406. package/vue/chunks/UiTextarea.js +42 -13
  407. package/vue/chunks/UiToast.js +19 -5
  408. package/vue/chunks/UiToastRegion.js +19 -5
  409. package/vue/chunks/UiTooltip.js +37 -10
  410. package/vue/chunks/UiTopBar.js +1 -1
  411. package/vue/chunks/UiTree.js +35 -10
  412. package/vue/chunks/UiTreeItem.js +58 -17
  413. package/vue/chunks/host.js +22 -4
  414. package/vue/chunks/props.js +20 -7
  415. package/vue/components.css +1228 -1205
  416. package/vue/editor/index.js +9 -2
  417. package/vue/host.ts +50 -6
package/vue/UiAvatar.vue CHANGED
@@ -1,9 +1,9 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
5
  import { createDispatch, useComponentHost } from './host'
6
- import { checkedProp, vPropValidity } from './props'
6
+ import { checkedProp, propValidityState, vPropValidity } from './props'
7
7
  import UiIcon from './UiIcon.vue'
8
8
 
9
9
  defineOptions({ inheritAttrs: false })
@@ -75,7 +75,7 @@ const propValidityContract = {
75
75
  'The image to show, cropped to fill the circle. Until it loads, or if it fails, the avatar shows initials instead. An img element authored inside the avatar\n takes precedence over src.',
76
76
  },
77
77
  },
78
- }
78
+ } as const
79
79
  const props = defineProps({
80
80
  active: { type: null as unknown as PropType<boolean | null>, default: false },
81
81
  alt: { type: null as unknown as PropType<string | null>, default: '' },
@@ -86,50 +86,73 @@ const props = defineProps({
86
86
  size: { type: null as unknown as PropType<'xs' | 'sm' | 'md' | null>, default: 'md' },
87
87
  src: { type: null as unknown as PropType<string | null>, default: null },
88
88
  })
89
+ const acceptedProps: Record<string, unknown> = {
90
+ active: false,
91
+ alt: '',
92
+ decorative: false,
93
+ fallback: '',
94
+ name: '',
95
+ shape: 'circle',
96
+ size: 'md',
97
+ src: null,
98
+ }
89
99
  const checkedProps = computed(() => ({
90
100
  active: checkedProp<boolean>(
91
101
  props['active'],
92
102
  { kind: 'terminal', name: 'boolean' },
93
103
  false,
94
104
  'active',
105
+ acceptedProps,
95
106
  ) as boolean,
96
107
  alt: checkedProp<string>(
97
108
  props['alt'],
98
109
  { kind: 'terminal', name: 'string' },
99
110
  false,
100
111
  'alt',
112
+ acceptedProps,
101
113
  ) as string,
102
114
  decorative: checkedProp<boolean>(
103
115
  props['decorative'],
104
116
  { kind: 'terminal', name: 'boolean' },
105
117
  false,
106
118
  'decorative',
119
+ acceptedProps,
107
120
  ) as boolean,
108
121
  fallback: checkedProp<string>(
109
122
  props['fallback'],
110
123
  { kind: 'terminal', name: 'string' },
111
124
  false,
112
125
  'fallback',
126
+ acceptedProps,
113
127
  ) as string,
114
128
  name: checkedProp<string>(
115
129
  props['name'],
116
130
  { kind: 'terminal', name: 'string' },
117
131
  false,
118
132
  'name',
133
+ acceptedProps,
119
134
  ) as string,
120
135
  shape: checkedProp<'circle' | 'square'>(
121
136
  props['shape'],
122
137
  { kind: 'terminal', name: 'keyword' },
123
138
  false,
124
139
  'shape',
140
+ acceptedProps,
125
141
  ) as 'circle' | 'square',
126
142
  size: checkedProp<'xs' | 'sm' | 'md'>(
127
143
  props['size'],
128
144
  { kind: 'terminal', name: 'keyword' },
129
145
  false,
130
146
  'size',
147
+ acceptedProps,
131
148
  ) as 'xs' | 'sm' | 'md',
132
- src: checkedProp<string>(props['src'], { kind: 'terminal', name: 'string' }, false, 'src'),
149
+ src: checkedProp<string>(
150
+ props['src'],
151
+ { kind: 'terminal', name: 'string' },
152
+ false,
153
+ 'src',
154
+ acceptedProps,
155
+ ),
133
156
  }))
134
157
  void checkedProps.value
135
158
  watchSyncEffect(() => {
@@ -258,6 +281,16 @@ useComponentHost(() => import('../components/ui-avatar/ui-avatar.js'), {
258
281
  definition: './components/ui-avatar/ui-avatar.html',
259
282
  },
260
283
  props: checkedProps,
284
+ propInputs: (name: string) => {
285
+ const incoming = hydrationInstance?.vnode.props
286
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
287
+ return incoming !== null && incoming !== undefined
288
+ ? (incoming[name] ?? incoming[kebab] ?? null)
289
+ : null
290
+ },
291
+ propNames: ['active', 'alt', 'decorative', 'fallback', 'name', 'shape', 'size', 'src'],
292
+ propValidity: (name: string) =>
293
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
261
294
  refs: { image: imageElement },
262
295
  state: { hasImage, hasAuthoredImage, initials, showGlyph },
263
296
  })
@@ -267,7 +300,7 @@ useComponentHost(() => import('../components/ui-avatar/ui-avatar.js'), {
267
300
  <span
268
301
  data-component="ui-avatar"
269
302
  v-bind="nativeAttrs($attrs)"
270
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
303
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
271
304
  :data-active="reflectedProp('active', 'active', checkedProps.active, undefined, false)"
272
305
  :data-alt="reflectedProp('alt', 'alt', checkedProps.alt, undefined, false)"
273
306
  :data-decorative="reflectedProp('decorative', 'decorative', checkedProps.decorative, undefined, false)"
@@ -1,9 +1,9 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
5
5
  import { createDispatch, useComponentHost } from './host'
6
- import { checkedProp, vPropValidity } from './props'
6
+ import { checkedProp, propValidityState, vPropValidity } from './props'
7
7
 
8
8
  defineOptions({ inheritAttrs: false })
9
9
 
@@ -50,7 +50,7 @@ const propValidityContract = {
50
50
  'The true number of people when only some avatars are authored. The overflow badge counts the people beyond the visible avatars; it never counts fewer than\n the authored avatars.',
51
51
  },
52
52
  },
53
- }
53
+ } as const
54
54
  const props = defineProps({
55
55
  label: { type: null as unknown as PropType<string | null>, default: 'People' },
56
56
  max: { type: null as unknown as PropType<number | null>, default: 5 },
@@ -58,32 +58,49 @@ const props = defineProps({
58
58
  size: { type: null as unknown as PropType<'xs' | 'sm' | 'md' | null>, default: 'md' },
59
59
  total: { type: null as unknown as PropType<number | null>, default: null },
60
60
  })
61
+ const acceptedProps: Record<string, unknown> = {
62
+ label: 'People',
63
+ max: 5,
64
+ overflowLabel: '{count} more',
65
+ size: 'md',
66
+ total: null,
67
+ }
61
68
  const checkedProps = computed(() => ({
62
69
  label: checkedProp<string>(
63
70
  props['label'],
64
71
  { kind: 'terminal', name: 'string' },
65
72
  false,
66
73
  'label',
74
+ acceptedProps,
67
75
  ) as string,
68
76
  max: checkedProp<number>(
69
77
  props['max'],
70
78
  { kind: 'terminal', name: 'number' },
71
79
  false,
72
80
  'max',
81
+ acceptedProps,
73
82
  ) as number,
74
83
  overflowLabel: checkedProp<string>(
75
84
  props['overflowLabel'],
76
85
  { kind: 'terminal', name: 'string' },
77
86
  false,
78
87
  'overflowLabel',
88
+ acceptedProps,
79
89
  ) as string,
80
90
  size: checkedProp<'xs' | 'sm' | 'md'>(
81
91
  props['size'],
82
92
  { kind: 'terminal', name: 'keyword' },
83
93
  false,
84
94
  'size',
95
+ acceptedProps,
85
96
  ) as 'xs' | 'sm' | 'md',
86
- total: checkedProp<number>(props['total'], { kind: 'terminal', name: 'integer' }, false, 'total'),
97
+ total: checkedProp<number>(
98
+ props['total'],
99
+ { kind: 'terminal', name: 'integer' },
100
+ false,
101
+ 'total',
102
+ acceptedProps,
103
+ ),
87
104
  }))
88
105
  void checkedProps.value
89
106
  watchSyncEffect(() => {
@@ -178,6 +195,16 @@ useComponentHost(() => import('../components/ui-avatar-group/ui-avatar-group.js'
178
195
  definition: './components/ui-avatar-group/ui-avatar-group.html',
179
196
  },
180
197
  props: checkedProps,
198
+ propInputs: (name: string) => {
199
+ const incoming = hydrationInstance?.vnode.props
200
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
201
+ return incoming !== null && incoming !== undefined
202
+ ? (incoming[name] ?? incoming[kebab] ?? null)
203
+ : null
204
+ },
205
+ propNames: ['label', 'max', 'overflowLabel', 'size', 'total'],
206
+ propValidity: (name: string) =>
207
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
181
208
  refs: { overflow: overflowElement },
182
209
  state: { overflowCount, overflowAnnouncement },
183
210
  })
@@ -189,7 +216,7 @@ useComponentHost(() => import('../components/ui-avatar-group/ui-avatar-group.js'
189
216
  role="group"
190
217
  v-bind="nativeAttrs($attrs)"
191
218
  :aria-label="checkedProps.label ?? undefined"
192
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
219
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
193
220
  :data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
194
221
  :data-max="reflectedProp('max', 'max', checkedProps.max, undefined, false)"
195
222
  :data-overflow-label="reflectedProp('overflowLabel', 'overflow-label', checkedProps.overflowLabel, undefined, false)"
package/vue/UiBadge.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 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'
@@ -45,7 +45,7 @@ const propValidityContract = {
45
45
  default: 'subtle',
46
46
  },
47
47
  },
48
- }
48
+ } as const
49
49
  const props = defineProps({
50
50
  shape: { type: null as unknown as PropType<'pill' | 'tag' | null>, default: 'pill' },
51
51
  size: { type: null as unknown as PropType<'xs' | 'md' | null>, default: 'md' },
@@ -60,30 +60,40 @@ const props = defineProps({
60
60
  default: 'subtle',
61
61
  },
62
62
  })
63
+ const acceptedProps: Record<string, unknown> = {
64
+ shape: 'pill',
65
+ size: 'md',
66
+ tone: 'neutral',
67
+ variant: 'subtle',
68
+ }
63
69
  const checkedProps = computed(() => ({
64
70
  shape: checkedProp<'pill' | 'tag'>(
65
71
  props['shape'],
66
72
  { kind: 'terminal', name: 'keyword' },
67
73
  false,
68
74
  'shape',
75
+ acceptedProps,
69
76
  ) as 'pill' | 'tag',
70
77
  size: checkedProp<'xs' | 'md'>(
71
78
  props['size'],
72
79
  { kind: 'terminal', name: 'keyword' },
73
80
  false,
74
81
  'size',
82
+ acceptedProps,
75
83
  ) as 'xs' | 'md',
76
84
  tone: checkedProp<'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'>(
77
85
  props['tone'],
78
86
  { kind: 'terminal', name: 'keyword' },
79
87
  false,
80
88
  'tone',
89
+ acceptedProps,
81
90
  ) as 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger',
82
91
  variant: checkedProp<'solid' | 'subtle' | 'outline'>(
83
92
  props['variant'],
84
93
  { kind: 'terminal', name: 'keyword' },
85
94
  false,
86
95
  'variant',
96
+ acceptedProps,
87
97
  ) as 'solid' | 'subtle' | 'outline',
88
98
  }))
89
99
  void checkedProps.value
@@ -158,7 +168,7 @@ const hostState = computed(() =>
158
168
  <span
159
169
  data-component="ui-badge"
160
170
  v-bind="nativeAttrs($attrs)"
161
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
171
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
162
172
  :data-shape="reflectedProp('shape', 'shape', checkedProps.shape, undefined, false)"
163
173
  :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
164
174
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 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'
@@ -18,16 +18,18 @@ const propValidityContract = {
18
18
  default: false,
19
19
  },
20
20
  },
21
- }
21
+ } as const
22
22
  const props = defineProps({
23
23
  current: { type: null as unknown as PropType<boolean | null>, default: false },
24
24
  })
25
+ const acceptedProps: Record<string, unknown> = { current: false }
25
26
  const checkedProps = computed(() => ({
26
27
  current: checkedProp<boolean>(
27
28
  props['current'],
28
29
  { kind: 'terminal', name: 'boolean' },
29
30
  false,
30
31
  'current',
32
+ acceptedProps,
31
33
  ) as boolean,
32
34
  }))
33
35
  void checkedProps.value
@@ -118,7 +120,7 @@ function attribute(value: unknown): any {
118
120
  : attribute(
119
121
  (({ true: 'page', false: null }) as Record<string, any>)[`${checkedProps.current ?? ''}`],
120
122
  )"
121
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
123
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
122
124
  :data-current="reflectedProp('current', 'current', checkedProps.current, undefined, false)"
123
125
  :data-ui-breadcrumb-item-state="hostState || undefined"
124
126
  >
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 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'
@@ -16,16 +16,18 @@ const propValidityContract = {
16
16
  default: 'Breadcrumb',
17
17
  },
18
18
  },
19
- }
19
+ } as const
20
20
  const props = defineProps({
21
21
  label: { type: null as unknown as PropType<string | null>, default: 'Breadcrumb' },
22
22
  })
23
+ const acceptedProps: Record<string, unknown> = { label: 'Breadcrumb' }
23
24
  const checkedProps = computed(() => ({
24
25
  label: checkedProp<string>(
25
26
  props['label'],
26
27
  { kind: 'terminal', name: 'string' },
27
28
  false,
28
29
  'label',
30
+ acceptedProps,
29
31
  ) as string,
30
32
  }))
31
33
  void checkedProps.value
@@ -89,7 +91,7 @@ if (
89
91
  data-component="ui-breadcrumbs"
90
92
  v-bind="nativeAttrs($attrs)"
91
93
  :aria-label="checkedProps.label ?? undefined"
92
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
94
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
93
95
  :data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
94
96
  >
95
97
  <ol role="list"><slot /></ol>
package/vue/UiButton.vue CHANGED
@@ -1,9 +1,9 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 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 { createDispatch, preserveRootFocus, useComponentHost } from './host'
6
- import { checkedProp, vPropValidity } from './props'
6
+ import { checkedProp, propValidityState, vPropValidity } from './props'
7
7
  import UiSpinner from './UiSpinner.vue'
8
8
 
9
9
  defineOptions({ inheritAttrs: false })
@@ -124,7 +124,7 @@ const propValidityContract = {
124
124
  default: 'outline',
125
125
  },
126
126
  },
127
- }
127
+ } as const
128
128
  const props = defineProps({
129
129
  align: { type: null as unknown as PropType<'center' | 'start' | null>, default: 'center' },
130
130
  as: { type: null as unknown as PropType<'button' | 'a' | null>, default: 'button' },
@@ -152,80 +152,120 @@ const props = defineProps({
152
152
  default: 'outline',
153
153
  },
154
154
  })
155
+ const acceptedProps: Record<string, unknown> = {
156
+ align: 'center',
157
+ as: 'button',
158
+ disabled: false,
159
+ href: null,
160
+ loading: false,
161
+ pending: false,
162
+ rel: null,
163
+ shape: 'rounded',
164
+ size: 'md',
165
+ stretch: false,
166
+ target: null,
167
+ tone: 'accent',
168
+ type: 'button',
169
+ variant: 'outline',
170
+ }
155
171
  const checkedProps = computed(() => ({
156
172
  align: checkedProp<'center' | 'start'>(
157
173
  props['align'],
158
174
  { kind: 'terminal', name: 'keyword' },
159
175
  false,
160
176
  'align',
177
+ acceptedProps,
161
178
  ) as 'center' | 'start',
162
179
  as: checkedProp<'button' | 'a'>(
163
180
  props['as'],
164
181
  { kind: 'terminal', name: 'keyword' },
165
182
  false,
166
183
  'as',
184
+ acceptedProps,
167
185
  ) as 'button' | 'a',
168
186
  disabled: checkedProp<boolean>(
169
187
  props['disabled'],
170
188
  { kind: 'terminal', name: 'boolean' },
171
189
  false,
172
190
  'disabled',
191
+ acceptedProps,
173
192
  ) as boolean,
174
- href: checkedProp<string>(props['href'], { kind: 'terminal', name: 'string' }, false, 'href'),
193
+ href: checkedProp<string>(
194
+ props['href'],
195
+ { kind: 'terminal', name: 'string' },
196
+ false,
197
+ 'href',
198
+ acceptedProps,
199
+ ),
175
200
  loading: checkedProp<boolean>(
176
201
  props['loading'],
177
202
  { kind: 'terminal', name: 'boolean' },
178
203
  false,
179
204
  'loading',
205
+ acceptedProps,
180
206
  ) as boolean,
181
207
  pending: checkedProp<boolean>(
182
208
  props['pending'],
183
209
  { kind: 'terminal', name: 'boolean' },
184
210
  false,
185
211
  'pending',
212
+ acceptedProps,
186
213
  ) as boolean,
187
- rel: checkedProp<string>(props['rel'], { kind: 'terminal', name: 'string' }, false, 'rel'),
214
+ rel: checkedProp<string>(
215
+ props['rel'],
216
+ { kind: 'terminal', name: 'string' },
217
+ false,
218
+ 'rel',
219
+ acceptedProps,
220
+ ),
188
221
  shape: checkedProp<'rounded' | 'pill'>(
189
222
  props['shape'],
190
223
  { kind: 'terminal', name: 'keyword' },
191
224
  false,
192
225
  'shape',
226
+ acceptedProps,
193
227
  ) as 'rounded' | 'pill',
194
228
  size: checkedProp<'xs' | 'sm' | 'md' | 'lg'>(
195
229
  props['size'],
196
230
  { kind: 'terminal', name: 'keyword' },
197
231
  false,
198
232
  'size',
233
+ acceptedProps,
199
234
  ) as 'xs' | 'sm' | 'md' | 'lg',
200
235
  stretch: checkedProp<boolean>(
201
236
  props['stretch'],
202
237
  { kind: 'terminal', name: 'boolean' },
203
238
  false,
204
239
  'stretch',
240
+ acceptedProps,
205
241
  ) as boolean,
206
242
  target: checkedProp<string>(
207
243
  props['target'],
208
244
  { kind: 'terminal', name: 'string' },
209
245
  false,
210
246
  'target',
247
+ acceptedProps,
211
248
  ),
212
249
  tone: checkedProp<'accent' | 'neutral' | 'danger' | 'success' | 'warning' | 'info'>(
213
250
  props['tone'],
214
251
  { kind: 'terminal', name: 'keyword' },
215
252
  false,
216
253
  'tone',
254
+ acceptedProps,
217
255
  ) as 'accent' | 'neutral' | 'danger' | 'success' | 'warning' | 'info',
218
256
  type: checkedProp<'button' | 'submit' | 'reset'>(
219
257
  props['type'],
220
258
  { kind: 'terminal', name: 'keyword' },
221
259
  false,
222
260
  'type',
261
+ acceptedProps,
223
262
  ) as 'button' | 'submit' | 'reset',
224
263
  variant: checkedProp<'outline' | 'solid' | 'danger' | 'ghost' | 'link'>(
225
264
  props['variant'],
226
265
  { kind: 'terminal', name: 'keyword' },
227
266
  false,
228
267
  'variant',
268
+ acceptedProps,
229
269
  ) as 'outline' | 'solid' | 'danger' | 'ghost' | 'link',
230
270
  }))
231
271
  void checkedProps.value
@@ -314,6 +354,31 @@ useComponentHost(() => import('../components/ui-button/ui-button.js'), {
314
354
  definition: './components/ui-button/ui-button.html',
315
355
  },
316
356
  props: checkedProps,
357
+ propInputs: (name: string) => {
358
+ const incoming = hydrationInstance?.vnode.props
359
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
360
+ return incoming !== null && incoming !== undefined
361
+ ? (incoming[name] ?? incoming[kebab] ?? null)
362
+ : null
363
+ },
364
+ propNames: [
365
+ 'align',
366
+ 'as',
367
+ 'disabled',
368
+ 'href',
369
+ 'loading',
370
+ 'pending',
371
+ 'rel',
372
+ 'shape',
373
+ 'size',
374
+ 'stretch',
375
+ 'target',
376
+ 'tone',
377
+ 'type',
378
+ 'variant',
379
+ ],
380
+ propValidity: (name: string) =>
381
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
317
382
  })
318
383
 
319
384
  function text(value: unknown): string {
@@ -361,7 +426,7 @@ function attribute(value: unknown): any {
361
426
  `${(checkedProps.loading || checkedProps.pending) && !checkedProps.disabled}`
362
427
  ],
363
428
  )"
364
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
429
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
365
430
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
366
431
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
367
432
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
@@ -402,7 +467,7 @@ function attribute(value: unknown): any {
402
467
  ],
403
468
  )"
404
469
  :aria-busy="checkedProps.loading || checkedProps.pending"
405
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
470
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
406
471
  :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
407
472
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
408
473
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
package/vue/UiCallout.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 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'
@@ -18,7 +18,7 @@ const propValidityContract = {
18
18
  default: 'info',
19
19
  },
20
20
  },
21
- }
21
+ } as const
22
22
  const props = defineProps({
23
23
  tone: {
24
24
  type: null as unknown as PropType<
@@ -27,12 +27,14 @@ const props = defineProps({
27
27
  default: 'info',
28
28
  },
29
29
  })
30
+ const acceptedProps: Record<string, unknown> = { tone: 'info' }
30
31
  const checkedProps = computed(() => ({
31
32
  tone: checkedProp<'info' | 'neutral' | 'note' | 'warning' | 'success' | 'danger'>(
32
33
  props['tone'],
33
34
  { kind: 'terminal', name: 'keyword' },
34
35
  false,
35
36
  'tone',
37
+ acceptedProps,
36
38
  ) as 'info' | 'neutral' | 'note' | 'warning' | 'success' | 'danger',
37
39
  }))
38
40
  void checkedProps.value
@@ -104,7 +106,7 @@ const hostState = computed(() =>
104
106
  data-component="ui-callout"
105
107
  role="note"
106
108
  v-bind="nativeAttrs($attrs)"
107
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
109
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
108
110
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
109
111
  :data-ui-callout-state="hostState || undefined"
110
112
  >
package/vue/UiCard.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.18 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.19 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'
@@ -46,7 +46,7 @@ const propValidityContract = {
46
46
  default: 'outlined',
47
47
  },
48
48
  },
49
- }
49
+ } as const
50
50
  const props = defineProps({
51
51
  as: {
52
52
  type: null as unknown as PropType<'div' | 'section' | 'article' | 'aside' | null>,
@@ -59,30 +59,40 @@ const props = defineProps({
59
59
  default: 'outlined',
60
60
  },
61
61
  })
62
+ const acceptedProps: Record<string, unknown> = {
63
+ as: 'div',
64
+ padding: 'md',
65
+ tone: 'neutral',
66
+ variant: 'outlined',
67
+ }
62
68
  const checkedProps = computed(() => ({
63
69
  as: checkedProp<'div' | 'section' | 'article' | 'aside'>(
64
70
  props['as'],
65
71
  { kind: 'terminal', name: 'keyword' },
66
72
  false,
67
73
  'as',
74
+ acceptedProps,
68
75
  ) as 'div' | 'section' | 'article' | 'aside',
69
76
  padding: checkedProp<'sm' | 'md' | 'lg'>(
70
77
  props['padding'],
71
78
  { kind: 'terminal', name: 'keyword' },
72
79
  false,
73
80
  'padding',
81
+ acceptedProps,
74
82
  ) as 'sm' | 'md' | 'lg',
75
83
  tone: checkedProp<'neutral' | 'danger'>(
76
84
  props['tone'],
77
85
  { kind: 'terminal', name: 'keyword' },
78
86
  false,
79
87
  'tone',
88
+ acceptedProps,
80
89
  ) as 'neutral' | 'danger',
81
90
  variant: checkedProp<'outlined' | 'subtle' | 'elevated'>(
82
91
  props['variant'],
83
92
  { kind: 'terminal', name: 'keyword' },
84
93
  false,
85
94
  'variant',
95
+ acceptedProps,
86
96
  ) as 'outlined' | 'subtle' | 'elevated',
87
97
  }))
88
98
  void checkedProps.value
@@ -165,7 +175,7 @@ const hostState = computed(() =>
165
175
  v-if="checkedProps.as === 'section'"
166
176
  data-component="ui-card"
167
177
  v-bind="nativeAttrs($attrs)"
168
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
178
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
169
179
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
170
180
  :data-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
171
181
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
@@ -179,7 +189,7 @@ const hostState = computed(() =>
179
189
  v-else-if="checkedProps.as === 'article'"
180
190
  data-component="ui-card"
181
191
  v-bind="nativeAttrs($attrs)"
182
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
192
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
183
193
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
184
194
  :data-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
185
195
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
@@ -193,7 +203,7 @@ const hostState = computed(() =>
193
203
  v-else-if="checkedProps.as === 'aside'"
194
204
  data-component="ui-card"
195
205
  v-bind="nativeAttrs($attrs)"
196
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
206
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
197
207
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
198
208
  :data-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
199
209
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
@@ -207,7 +217,7 @@ const hostState = computed(() =>
207
217
  v-else
208
218
  data-component="ui-card"
209
219
  v-bind="nativeAttrs($attrs)"
210
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
220
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
211
221
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
212
222
  :data-padding="reflectedProp('padding', 'padding', checkedProps.padding, undefined, false)"
213
223
  :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"