@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
@@ -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, ref, 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
 
@@ -34,30 +34,34 @@ const propValidityContract = {
34
34
  default: false,
35
35
  },
36
36
  },
37
- }
37
+ } as const
38
38
  const props = defineProps({
39
39
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
40
40
  invalid: { type: null as unknown as PropType<boolean | null>, default: false },
41
41
  required: { type: null as unknown as PropType<boolean | null>, default: false },
42
42
  })
43
+ const acceptedProps: Record<string, unknown> = { disabled: false, invalid: false, required: false }
43
44
  const checkedProps = computed(() => ({
44
45
  disabled: checkedProp<boolean>(
45
46
  props['disabled'],
46
47
  { kind: 'terminal', name: 'boolean' },
47
48
  false,
48
49
  'disabled',
50
+ acceptedProps,
49
51
  ) as boolean,
50
52
  invalid: checkedProp<boolean>(
51
53
  props['invalid'],
52
54
  { kind: 'terminal', name: 'boolean' },
53
55
  false,
54
56
  'invalid',
57
+ acceptedProps,
55
58
  ) as boolean,
56
59
  required: checkedProp<boolean>(
57
60
  props['required'],
58
61
  { kind: 'terminal', name: 'boolean' },
59
62
  false,
60
63
  'required',
64
+ acceptedProps,
61
65
  ) as boolean,
62
66
  }))
63
67
  void checkedProps.value
@@ -133,6 +137,16 @@ useComponentHost(() => import('../components/ui-form-field/ui-form-field.js'), {
133
137
  definition: './components/ui-form-field/ui-form-field.html',
134
138
  },
135
139
  props: checkedProps,
140
+ propInputs: (name: string) => {
141
+ const incoming = hydrationInstance?.vnode.props
142
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
143
+ return incoming !== null && incoming !== undefined
144
+ ? (incoming[name] ?? incoming[kebab] ?? null)
145
+ : null
146
+ },
147
+ propNames: ['disabled', 'invalid', 'required'],
148
+ propValidity: (name: string) =>
149
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
136
150
  })
137
151
  </script>
138
152
 
@@ -140,7 +154,7 @@ useComponentHost(() => import('../components/ui-form-field/ui-form-field.js'), {
140
154
  <div
141
155
  data-component="ui-form-field"
142
156
  v-bind="nativeAttrs($attrs)"
143
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
157
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
144
158
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
145
159
  :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
146
160
  :data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
package/vue/UiGrid.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'
@@ -32,30 +32,34 @@ const propValidityContract = {
32
32
  values: ['sm', 'md', 'lg'],
33
33
  },
34
34
  },
35
- }
35
+ } as const
36
36
  const props = defineProps({
37
37
  columns: { type: null as unknown as PropType<number | null>, default: null },
38
38
  gap: { type: null as unknown as PropType<'xs' | 's' | 'm' | 'l' | 'xl' | null>, default: null },
39
39
  min: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: null },
40
40
  })
41
+ const acceptedProps: Record<string, unknown> = { columns: null, gap: null, min: null }
41
42
  const checkedProps = computed(() => ({
42
43
  columns: checkedProp<number>(
43
44
  props['columns'],
44
45
  { kind: 'terminal', name: 'integer' },
45
46
  false,
46
47
  'columns',
48
+ acceptedProps,
47
49
  ),
48
50
  gap: checkedProp<'xs' | 's' | 'm' | 'l' | 'xl'>(
49
51
  props['gap'],
50
52
  { kind: 'terminal', name: 'keyword' },
51
53
  false,
52
54
  'gap',
55
+ acceptedProps,
53
56
  ),
54
57
  min: checkedProp<'sm' | 'md' | 'lg'>(
55
58
  props['min'],
56
59
  { kind: 'terminal', name: 'keyword' },
57
60
  false,
58
61
  'min',
62
+ acceptedProps,
59
63
  ),
60
64
  }))
61
65
  void checkedProps.value
@@ -126,7 +130,7 @@ const hostState = computed(() =>
126
130
  data-component="ui-grid"
127
131
  v-bind="nativeAttrs($attrs)"
128
132
  :style="{ '--_grid-column-cap': checkedProps.columns ?? undefined }"
129
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
133
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
130
134
  :data-columns="reflectedProp('columns', 'columns', checkedProps.columns, undefined, false)"
131
135
  :data-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
132
136
  :data-min="reflectedProp('min', 'min', checkedProps.min, undefined, false)"
package/vue/UiIcon.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'
@@ -17,16 +17,18 @@ const propValidityContract = {
17
17
  default: '',
18
18
  },
19
19
  },
20
- }
20
+ } as const
21
21
  const props = defineProps({
22
22
  name: { type: null as unknown as PropType<string | null>, default: '' },
23
23
  })
24
+ const acceptedProps: Record<string, unknown> = { name: '' }
24
25
  const checkedProps = computed(() => ({
25
26
  name: checkedProp<string>(
26
27
  props['name'],
27
28
  { kind: 'terminal', name: 'string' },
28
29
  false,
29
30
  'name',
31
+ acceptedProps,
30
32
  ) as string,
31
33
  }))
32
34
  void checkedProps.value
@@ -448,7 +450,7 @@ function list(value: unknown): any[] {
448
450
  data-component="ui-icon"
449
451
  aria-hidden="true"
450
452
  v-bind="nativeAttrs($attrs)"
451
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
453
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
452
454
  :data-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
453
455
  ><svg
454
456
  viewBox="0 0 24 24"
@@ -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, ref, 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 UiSpinner from './UiSpinner.vue'
8
8
 
9
9
  defineOptions({ inheritAttrs: false })
@@ -73,7 +73,7 @@ const propValidityContract = {
73
73
  default: 'ghost',
74
74
  },
75
75
  },
76
- }
76
+ } as const
77
77
  const props = defineProps({
78
78
  anticipatory: { type: null as unknown as PropType<boolean | null>, default: false },
79
79
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -87,49 +87,72 @@ const props = defineProps({
87
87
  default: 'ghost',
88
88
  },
89
89
  })
90
+ const acceptedProps: Record<string, unknown> = {
91
+ anticipatory: false,
92
+ disabled: false,
93
+ label: null,
94
+ loading: false,
95
+ pending: false,
96
+ round: false,
97
+ size: 'md',
98
+ variant: 'ghost',
99
+ }
90
100
  const checkedProps = computed(() => ({
91
101
  anticipatory: checkedProp<boolean>(
92
102
  props['anticipatory'],
93
103
  { kind: 'terminal', name: 'boolean' },
94
104
  false,
95
105
  'anticipatory',
106
+ acceptedProps,
96
107
  ) as boolean,
97
108
  disabled: checkedProp<boolean>(
98
109
  props['disabled'],
99
110
  { kind: 'terminal', name: 'boolean' },
100
111
  false,
101
112
  'disabled',
113
+ acceptedProps,
102
114
  ) as boolean,
103
- label: checkedProp<string>(props['label'], { kind: 'terminal', name: 'string' }, false, 'label'),
115
+ label: checkedProp<string>(
116
+ props['label'],
117
+ { kind: 'terminal', name: 'string' },
118
+ false,
119
+ 'label',
120
+ acceptedProps,
121
+ ),
104
122
  loading: checkedProp<boolean>(
105
123
  props['loading'],
106
124
  { kind: 'terminal', name: 'boolean' },
107
125
  false,
108
126
  'loading',
127
+ acceptedProps,
109
128
  ) as boolean,
110
129
  pending: checkedProp<boolean>(
111
130
  props['pending'],
112
131
  { kind: 'terminal', name: 'boolean' },
113
132
  false,
114
133
  'pending',
134
+ acceptedProps,
115
135
  ) as boolean,
116
136
  round: checkedProp<boolean>(
117
137
  props['round'],
118
138
  { kind: 'terminal', name: 'boolean' },
119
139
  false,
120
140
  'round',
141
+ acceptedProps,
121
142
  ) as boolean,
122
143
  size: checkedProp<'sm' | 'md' | 'lg'>(
123
144
  props['size'],
124
145
  { kind: 'terminal', name: 'keyword' },
125
146
  false,
126
147
  'size',
148
+ acceptedProps,
127
149
  ) as 'sm' | 'md' | 'lg',
128
150
  variant: checkedProp<'ghost' | 'outline' | 'solid'>(
129
151
  props['variant'],
130
152
  { kind: 'terminal', name: 'keyword' },
131
153
  false,
132
154
  'variant',
155
+ acceptedProps,
133
156
  ) as 'ghost' | 'outline' | 'solid',
134
157
  }))
135
158
  void checkedProps.value
@@ -213,6 +236,25 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
213
236
  definition: './components/ui-icon-button/ui-icon-button.html',
214
237
  },
215
238
  props: checkedProps,
239
+ propInputs: (name: string) => {
240
+ const incoming = hydrationInstance?.vnode.props
241
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
242
+ return incoming !== null && incoming !== undefined
243
+ ? (incoming[name] ?? incoming[kebab] ?? null)
244
+ : null
245
+ },
246
+ propNames: [
247
+ 'anticipatory',
248
+ 'disabled',
249
+ 'label',
250
+ 'loading',
251
+ 'pending',
252
+ 'round',
253
+ 'size',
254
+ 'variant',
255
+ ],
256
+ propValidity: (name: string) =>
257
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
216
258
  })
217
259
 
218
260
  function text(value: unknown): string {
@@ -250,7 +292,7 @@ function attribute(value: unknown): any {
250
292
  ],
251
293
  )"
252
294
  :aria-busy="checkedProps.loading || checkedProps.pending"
253
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
295
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
254
296
  :data-anticipatory="reflectedProp('anticipatory', 'anticipatory', checkedProps.anticipatory, undefined, false)"
255
297
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
256
298
  :data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
package/vue/UiInput.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
3
3
  setup
4
4
  lang="ts"
@@ -23,7 +23,7 @@ import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
23
23
  import type { PropType } from 'vue'
24
24
  import { readBoundControl, vBindControl } from './control'
25
25
  import { createDispatch, useComponentHost } from './host'
26
- import { checkedProp, selectedPropNode, vPropValidity } from './props'
26
+ import { checkedProp, propValidityState, selectedPropNode, vPropValidity } from './props'
27
27
 
28
28
  defineOptions({ inheritAttrs: false })
29
29
 
@@ -136,7 +136,7 @@ const propValidityContract = {
136
136
  },
137
137
  },
138
138
  },
139
- }
139
+ } as const
140
140
  const props = defineProps({
141
141
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
142
142
  invalid: { type: null as unknown as PropType<boolean | null>, default: false },
@@ -184,38 +184,58 @@ const props = defineProps({
184
184
  >,
185
185
  },
186
186
  })
187
+ const acceptedProps: Record<string, unknown> = {
188
+ disabled: false,
189
+ invalid: false,
190
+ readonly: false,
191
+ required: false,
192
+ size: 'md',
193
+ type: 'text',
194
+ value: null,
195
+ }
187
196
  const checkedProps = computed(() => ({
188
197
  disabled: checkedProp<boolean>(
189
198
  props['disabled'],
190
199
  { kind: 'terminal', name: 'boolean' },
191
200
  false,
192
201
  'disabled',
202
+ acceptedProps,
193
203
  ) as boolean,
194
204
  invalid: checkedProp<boolean>(
195
205
  props['invalid'],
196
206
  { kind: 'terminal', name: 'boolean' },
197
207
  false,
198
208
  'invalid',
209
+ acceptedProps,
199
210
  ) as boolean,
200
211
  readonly: checkedProp<boolean>(
201
212
  props['readonly'],
202
213
  { kind: 'terminal', name: 'boolean' },
203
214
  false,
204
215
  'readonly',
216
+ acceptedProps,
205
217
  ) as boolean,
206
218
  required: checkedProp<boolean>(
207
219
  props['required'],
208
220
  { kind: 'terminal', name: 'boolean' },
209
221
  false,
210
222
  'required',
223
+ acceptedProps,
211
224
  ) as boolean,
212
225
  size: checkedProp<'sm' | 'md' | 'lg'>(
213
226
  props['size'],
214
227
  { kind: 'terminal', name: 'keyword' },
215
228
  false,
216
229
  'size',
230
+ acceptedProps,
217
231
  ) as 'sm' | 'md' | 'lg',
218
- type: checkedProp<T0>(props['type'], { kind: 'terminal', name: 'keyword' }, false, 'type') as T0,
232
+ type: checkedProp<T0>(
233
+ props['type'],
234
+ { kind: 'terminal', name: 'keyword' },
235
+ false,
236
+ 'type',
237
+ acceptedProps,
238
+ ) as T0,
219
239
  value: checkedProp<
220
240
  T0 extends 'text' ? string | null
221
241
  : T0 extends 'search' ? string | null
@@ -234,24 +254,34 @@ const checkedProps = computed(() => ({
234
254
  : null
235
255
  >(
236
256
  props['value'],
237
- selectedPropNode(props['type'], [
238
- { value: 'text', type: { kind: 'terminal', name: 'string' } },
239
- { value: 'search', type: { kind: 'terminal', name: 'string' } },
240
- { value: 'tel', type: { kind: 'terminal', name: 'string' } },
241
- { value: 'url', type: { kind: 'terminal', name: 'string' } },
242
- { value: 'email', type: { kind: 'terminal', name: 'string' } },
243
- { value: 'password', type: { kind: 'terminal', name: 'string' } },
244
- { value: 'date', type: { kind: 'terminal', name: 'string' } },
245
- { value: 'month', type: { kind: 'terminal', name: 'string' } },
246
- { value: 'week', type: { kind: 'terminal', name: 'string' } },
247
- { value: 'time', type: { kind: 'terminal', name: 'string' } },
248
- { value: 'datetime-local', type: { kind: 'terminal', name: 'string' } },
249
- { value: 'number', type: { kind: 'terminal', name: 'number' } },
250
- { value: 'range', type: { kind: 'terminal', name: 'number' } },
251
- { value: 'color', type: { kind: 'terminal', name: 'string' } },
252
- ]),
257
+ selectedPropNode(
258
+ checkedProp<unknown>(
259
+ props['type'],
260
+ { kind: 'terminal', name: 'keyword' },
261
+ false,
262
+ 'type',
263
+ acceptedProps,
264
+ ),
265
+ [
266
+ { value: 'text', type: { kind: 'terminal', name: 'string' } },
267
+ { value: 'search', type: { kind: 'terminal', name: 'string' } },
268
+ { value: 'tel', type: { kind: 'terminal', name: 'string' } },
269
+ { value: 'url', type: { kind: 'terminal', name: 'string' } },
270
+ { value: 'email', type: { kind: 'terminal', name: 'string' } },
271
+ { value: 'password', type: { kind: 'terminal', name: 'string' } },
272
+ { value: 'date', type: { kind: 'terminal', name: 'string' } },
273
+ { value: 'month', type: { kind: 'terminal', name: 'string' } },
274
+ { value: 'week', type: { kind: 'terminal', name: 'string' } },
275
+ { value: 'time', type: { kind: 'terminal', name: 'string' } },
276
+ { value: 'datetime-local', type: { kind: 'terminal', name: 'string' } },
277
+ { value: 'number', type: { kind: 'terminal', name: 'number' } },
278
+ { value: 'range', type: { kind: 'terminal', name: 'number' } },
279
+ { value: 'color', type: { kind: 'terminal', name: 'string' } },
280
+ ],
281
+ ),
253
282
  false,
254
283
  'value',
284
+ acceptedProps,
255
285
  ),
256
286
  modelValue: checkedProp<
257
287
  T0 extends 'text' ? string | null
@@ -271,24 +301,34 @@ const checkedProps = computed(() => ({
271
301
  : null
272
302
  >(
273
303
  props.modelValue,
274
- selectedPropNode(props['type'], [
275
- { value: 'text', type: { kind: 'terminal', name: 'string' } },
276
- { value: 'search', type: { kind: 'terminal', name: 'string' } },
277
- { value: 'tel', type: { kind: 'terminal', name: 'string' } },
278
- { value: 'url', type: { kind: 'terminal', name: 'string' } },
279
- { value: 'email', type: { kind: 'terminal', name: 'string' } },
280
- { value: 'password', type: { kind: 'terminal', name: 'string' } },
281
- { value: 'date', type: { kind: 'terminal', name: 'string' } },
282
- { value: 'month', type: { kind: 'terminal', name: 'string' } },
283
- { value: 'week', type: { kind: 'terminal', name: 'string' } },
284
- { value: 'time', type: { kind: 'terminal', name: 'string' } },
285
- { value: 'datetime-local', type: { kind: 'terminal', name: 'string' } },
286
- { value: 'number', type: { kind: 'terminal', name: 'number' } },
287
- { value: 'range', type: { kind: 'terminal', name: 'number' } },
288
- { value: 'color', type: { kind: 'terminal', name: 'string' } },
289
- ]),
304
+ selectedPropNode(
305
+ checkedProp<unknown>(
306
+ props['type'],
307
+ { kind: 'terminal', name: 'keyword' },
308
+ false,
309
+ 'type',
310
+ acceptedProps,
311
+ ),
312
+ [
313
+ { value: 'text', type: { kind: 'terminal', name: 'string' } },
314
+ { value: 'search', type: { kind: 'terminal', name: 'string' } },
315
+ { value: 'tel', type: { kind: 'terminal', name: 'string' } },
316
+ { value: 'url', type: { kind: 'terminal', name: 'string' } },
317
+ { value: 'email', type: { kind: 'terminal', name: 'string' } },
318
+ { value: 'password', type: { kind: 'terminal', name: 'string' } },
319
+ { value: 'date', type: { kind: 'terminal', name: 'string' } },
320
+ { value: 'month', type: { kind: 'terminal', name: 'string' } },
321
+ { value: 'week', type: { kind: 'terminal', name: 'string' } },
322
+ { value: 'time', type: { kind: 'terminal', name: 'string' } },
323
+ { value: 'datetime-local', type: { kind: 'terminal', name: 'string' } },
324
+ { value: 'number', type: { kind: 'terminal', name: 'number' } },
325
+ { value: 'range', type: { kind: 'terminal', name: 'number' } },
326
+ { value: 'color', type: { kind: 'terminal', name: 'string' } },
327
+ ],
328
+ ),
290
329
  false,
291
330
  'modelValue',
331
+ acceptedProps,
292
332
  ),
293
333
  }))
294
334
  void checkedProps.value
@@ -403,6 +443,19 @@ useComponentHost(() => import('../components/ui-input/ui-input.js'), {
403
443
  definition: './components/ui-input/ui-input.html',
404
444
  },
405
445
  props: checkedProps,
446
+ propInputs: (name: string) => {
447
+ const incoming = hydrationInstance?.vnode.props
448
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
449
+ return incoming !== null && incoming !== undefined
450
+ ? (incoming[name] ?? incoming[kebab] ?? null)
451
+ : null
452
+ },
453
+ propNames: ['disabled', 'invalid', 'readonly', 'required', 'size', 'type', 'value'],
454
+ propValidity: (name: string) =>
455
+ propValidityState({
456
+ contract: propValidityContract,
457
+ values: { ...props, type: checkedProps.value['type'] },
458
+ }, name),
406
459
  })
407
460
  </script>
408
461
 
@@ -415,7 +468,7 @@ useComponentHost(() => import('../components/ui-input/ui-input.js'), {
415
468
  :readonly="checkedProps.readonly ?? undefined"
416
469
  :required="checkedProps.required ?? undefined"
417
470
  :aria-invalid="checkedProps.invalid ?? undefined"
418
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
471
+ v-prop-validity="{ contract: propValidityContract, values: { ...props, type: checkedProps['type'] } }"
419
472
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
420
473
  :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
421
474
  :data-readonly="reflectedProp('readonly', 'readonly', checkedProps.readonly, 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, ref, 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
 
@@ -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
  disabled: { type: null as unknown as PropType<boolean | null>, default: false },
24
24
  })
25
+ const acceptedProps: Record<string, unknown> = { disabled: false }
25
26
  const checkedProps = computed(() => ({
26
27
  disabled: checkedProp<boolean>(
27
28
  props['disabled'],
28
29
  { kind: 'terminal', name: 'boolean' },
29
30
  false,
30
31
  'disabled',
32
+ acceptedProps,
31
33
  ) as boolean,
32
34
  }))
33
35
  void checkedProps.value
@@ -103,6 +105,16 @@ useComponentHost(() => import('../components/ui-input-group/ui-input-group.js'),
103
105
  definition: './components/ui-input-group/ui-input-group.html',
104
106
  },
105
107
  props: checkedProps,
108
+ propInputs: (name: string) => {
109
+ const incoming = hydrationInstance?.vnode.props
110
+ const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
111
+ return incoming !== null && incoming !== undefined
112
+ ? (incoming[name] ?? incoming[kebab] ?? null)
113
+ : null
114
+ },
115
+ propNames: ['disabled'],
116
+ propValidity: (name: string) =>
117
+ propValidityState({ contract: propValidityContract, values: { ...props } }, name),
106
118
  })
107
119
  </script>
108
120
 
@@ -110,7 +122,7 @@ useComponentHost(() => import('../components/ui-input-group/ui-input-group.js'),
110
122
  <div
111
123
  data-component="ui-input-group"
112
124
  v-bind="nativeAttrs($attrs)"
113
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
125
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
114
126
  :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
115
127
  :data-ui-input-group-state="hostState || undefined"
116
128
  ref="root"
@@ -257,6 +269,20 @@ useComponentHost(() => import('../components/ui-input-group/ui-input-group.js'),
257
269
  white-space: nowrap;
258
270
  }
259
271
 
272
+ /* Fixed text is part of the value, but should not look editable. */
273
+ .affix:has([slot="prefix"]),
274
+ .affix:has([slot="suffix"]) {
275
+ background: var(--ui-surface-muted);
276
+ }
277
+
278
+ .affix:has([slot="prefix"]) {
279
+ border-inline-end: 1px solid var(--ui-border-divider);
280
+ }
281
+
282
+ .affix:has([slot="suffix"]) {
283
+ border-inline-start: 1px solid var(--ui-border-divider);
284
+ }
285
+
260
286
  /* Centred rather than padded above and below: the group is exactly a lone Input's height, so a
261
287
  small button sits inside it with the difference split evenly, and the field keeps its height. */
262
288
  .action {
package/vue/UiList.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: 'none',
47
47
  },
48
48
  },
49
- }
49
+ } as const
50
50
  const props = defineProps({
51
51
  as: { type: null as unknown as PropType<'ul' | 'ol' | null>, default: 'ul' },
52
52
  density: {
@@ -56,27 +56,40 @@ const props = defineProps({
56
56
  layout: { type: null as unknown as PropType<'rows' | 'grid' | null>, default: 'rows' },
57
57
  markers: { type: null as unknown as PropType<'none' | 'disc' | null>, default: 'none' },
58
58
  })
59
+ const acceptedProps: Record<string, unknown> = {
60
+ as: 'ul',
61
+ density: 'comfortable',
62
+ layout: 'rows',
63
+ markers: 'none',
64
+ }
59
65
  const checkedProps = computed(() => ({
60
- as: checkedProp<'ul' | 'ol'>(props['as'], { kind: 'terminal', name: 'keyword' }, false, 'as') as
61
- | 'ul'
62
- | 'ol',
66
+ as: checkedProp<'ul' | 'ol'>(
67
+ props['as'],
68
+ { kind: 'terminal', name: 'keyword' },
69
+ false,
70
+ 'as',
71
+ acceptedProps,
72
+ ) as 'ul' | 'ol',
63
73
  density: checkedProp<'comfortable' | 'compact'>(
64
74
  props['density'],
65
75
  { kind: 'terminal', name: 'keyword' },
66
76
  false,
67
77
  'density',
78
+ acceptedProps,
68
79
  ) as 'comfortable' | 'compact',
69
80
  layout: checkedProp<'rows' | 'grid'>(
70
81
  props['layout'],
71
82
  { kind: 'terminal', name: 'keyword' },
72
83
  false,
73
84
  'layout',
85
+ acceptedProps,
74
86
  ) as 'rows' | 'grid',
75
87
  markers: checkedProp<'none' | 'disc'>(
76
88
  props['markers'],
77
89
  { kind: 'terminal', name: 'keyword' },
78
90
  false,
79
91
  'markers',
92
+ acceptedProps,
80
93
  ) as 'none' | 'disc',
81
94
  }))
82
95
  void checkedProps.value
@@ -157,7 +170,7 @@ const hostState = computed(() =>
157
170
  v-if="checkedProps.as === 'ol'"
158
171
  data-component="ui-list"
159
172
  v-bind="nativeAttrs($attrs)"
160
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
173
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
161
174
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
162
175
  :data-density="reflectedProp('density', 'density', checkedProps.density, undefined, false)"
163
176
  :data-layout="reflectedProp('layout', 'layout', checkedProps.layout, undefined, false)"
@@ -172,7 +185,7 @@ const hostState = computed(() =>
172
185
  data-component="ui-list"
173
186
  role="list"
174
187
  v-bind="nativeAttrs($attrs)"
175
- v-prop-validity="{ contract: propValidityContract, values: { ...checkedProps } }"
188
+ v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
176
189
  :data-as="reflectedProp('as', 'as', checkedProps.as, undefined, false)"
177
190
  :data-density="reflectedProp('density', 'density', checkedProps.density, undefined, false)"
178
191
  :data-layout="reflectedProp('layout', 'layout', checkedProps.layout, undefined, false)"