@threadlabs/looma 0.30.1 → 0.30.3

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 (505) hide show
  1. package/EXPRESSIVE-MARKDOWN.md +5 -0
  2. package/components/ui-combobox/ui-combobox.html +10 -10
  3. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +2 -4
  4. package/components/ui-image/ui-image.html +2 -2
  5. package/components/ui-listbox/ui-listbox.html +1 -1
  6. package/components/ui-tree-item/ui-tree-item.html +4 -2
  7. package/dist/index.js +5 -4
  8. package/package.json +4 -4
  9. package/styles/ui-action-bar.css +1 -1
  10. package/styles/ui-affordance-scope.css +1 -1
  11. package/styles/ui-avatar-group.css +1 -1
  12. package/styles/ui-avatar.css +1 -1
  13. package/styles/ui-badge.css +1 -1
  14. package/styles/ui-breadcrumb-item.css +1 -1
  15. package/styles/ui-breadcrumbs.css +1 -1
  16. package/styles/ui-button.css +1 -1
  17. package/styles/ui-callout.css +1 -1
  18. package/styles/ui-card.css +1 -1
  19. package/styles/ui-checkbox.css +1 -1
  20. package/styles/ui-cluster.css +1 -1
  21. package/styles/ui-combobox.css +1 -1
  22. package/styles/ui-container.css +1 -1
  23. package/styles/ui-context-menu.css +1 -1
  24. package/styles/ui-cover.css +1 -1
  25. package/styles/ui-description-item.css +1 -1
  26. package/styles/ui-description-list.css +1 -1
  27. package/styles/ui-dialog.css +1 -1
  28. package/styles/ui-disclosure.css +1 -1
  29. package/styles/ui-editable.css +1 -1
  30. package/styles/ui-editor-block-actions.css +1 -1
  31. package/styles/ui-editor-chip-editor.css +1 -1
  32. package/styles/ui-editor-code-language.css +1 -1
  33. package/styles/ui-editor-image-toolbar.css +1 -1
  34. package/styles/ui-editor-insert-table-grid.css +1 -1
  35. package/styles/ui-editor-link-card.css +1 -1
  36. package/styles/ui-editor-link-form.css +1 -1
  37. package/styles/ui-editor-mention-menu-item.css +1 -1
  38. package/styles/ui-editor-mention-menu.css +1 -1
  39. package/styles/ui-editor-slash-menu-group.css +1 -1
  40. package/styles/ui-editor-slash-menu-item.css +1 -1
  41. package/styles/ui-editor-slash-menu.css +1 -1
  42. package/styles/ui-editor-surface.css +1 -1
  43. package/styles/ui-editor-table-context-menu.css +1 -1
  44. package/styles/ui-editor-table-overlay.css +1 -1
  45. package/styles/ui-editor-table-toolbar.css +1 -1
  46. package/styles/ui-editor-toolbar.css +1 -1
  47. package/styles/ui-floating-action-button.css +1 -1
  48. package/styles/ui-form-field.css +1 -1
  49. package/styles/ui-grid.css +1 -1
  50. package/styles/ui-icon-button.css +1 -1
  51. package/styles/ui-icon.css +1 -1
  52. package/styles/ui-image.css +1 -1
  53. package/styles/ui-input-group.css +1 -1
  54. package/styles/ui-input.css +1 -1
  55. package/styles/ui-list-item.css +1 -1
  56. package/styles/ui-list.css +1 -1
  57. package/styles/ui-listbox.css +1 -1
  58. package/styles/ui-menu-group.css +1 -1
  59. package/styles/ui-menu-item.css +1 -1
  60. package/styles/ui-menu.css +1 -1
  61. package/styles/ui-meter.css +1 -1
  62. package/styles/ui-nav-item.css +1 -1
  63. package/styles/ui-page-header.css +1 -1
  64. package/styles/ui-popover.css +1 -1
  65. package/styles/ui-radio-group.css +1 -1
  66. package/styles/ui-radio.css +1 -1
  67. package/styles/ui-reel.css +1 -1
  68. package/styles/ui-scroll-area.css +1 -1
  69. package/styles/ui-search-result-row.css +1 -1
  70. package/styles/ui-search-shell.css +1 -1
  71. package/styles/ui-section.css +1 -1
  72. package/styles/ui-select.css +1 -1
  73. package/styles/ui-separator.css +1 -1
  74. package/styles/ui-sidebar.css +1 -1
  75. package/styles/ui-spinner.css +1 -1
  76. package/styles/ui-stack.css +1 -1
  77. package/styles/ui-status-message.css +1 -1
  78. package/styles/ui-swatch.css +1 -1
  79. package/styles/ui-switch.css +1 -1
  80. package/styles/ui-switcher.css +1 -1
  81. package/styles/ui-table.css +1 -1
  82. package/styles/ui-tabs.css +1 -1
  83. package/styles/ui-text.css +1 -1
  84. package/styles/ui-textarea.css +1 -1
  85. package/styles/ui-toast-region.css +1 -1
  86. package/styles/ui-toast.css +1 -1
  87. package/styles/ui-tooltip.css +1 -1
  88. package/styles/ui-top-bar.css +1 -1
  89. package/styles/ui-tree-item.css +1 -1
  90. package/styles/ui-tree.css +1 -1
  91. package/vanilla/UiActionBar.d.ts +1 -1
  92. package/vanilla/UiActionBar.js +1 -1
  93. package/vanilla/UiAffordanceScope.d.ts +1 -1
  94. package/vanilla/UiAffordanceScope.js +4 -4
  95. package/vanilla/UiAvatar.d.ts +1 -1
  96. package/vanilla/UiAvatar.js +4 -4
  97. package/vanilla/UiAvatarGroup.d.ts +1 -1
  98. package/vanilla/UiAvatarGroup.js +4 -4
  99. package/vanilla/UiBadge.d.ts +1 -1
  100. package/vanilla/UiBadge.js +4 -4
  101. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  102. package/vanilla/UiBreadcrumbItem.js +3 -3
  103. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  104. package/vanilla/UiBreadcrumbs.js +3 -3
  105. package/vanilla/UiButton.d.ts +1 -1
  106. package/vanilla/UiButton.js +6 -6
  107. package/vanilla/UiCallout.d.ts +1 -1
  108. package/vanilla/UiCallout.js +4 -4
  109. package/vanilla/UiCard.d.ts +1 -1
  110. package/vanilla/UiCard.js +6 -6
  111. package/vanilla/UiCheckbox.d.ts +1 -1
  112. package/vanilla/UiCheckbox.js +4 -4
  113. package/vanilla/UiCluster.d.ts +1 -1
  114. package/vanilla/UiCluster.js +4 -4
  115. package/vanilla/UiCombobox.d.ts +12 -12
  116. package/vanilla/UiCombobox.js +12 -10
  117. package/vanilla/UiContainer.d.ts +1 -1
  118. package/vanilla/UiContainer.js +4 -4
  119. package/vanilla/UiContextMenu.d.ts +2 -2
  120. package/vanilla/UiContextMenu.js +3 -3
  121. package/vanilla/UiCover.d.ts +1 -1
  122. package/vanilla/UiCover.js +4 -4
  123. package/vanilla/UiDescriptionItem.d.ts +1 -1
  124. package/vanilla/UiDescriptionItem.js +3 -3
  125. package/vanilla/UiDescriptionList.d.ts +1 -1
  126. package/vanilla/UiDescriptionList.js +4 -4
  127. package/vanilla/UiDialog.d.ts +1 -1
  128. package/vanilla/UiDialog.js +4 -4
  129. package/vanilla/UiDisclosure.d.ts +1 -1
  130. package/vanilla/UiDisclosure.js +4 -4
  131. package/vanilla/UiEditable.d.ts +1 -1
  132. package/vanilla/UiEditable.js +3 -3
  133. package/vanilla/UiEditorBlockActions.d.ts +1 -1
  134. package/vanilla/UiEditorBlockActions.js +4 -4
  135. package/vanilla/UiEditorChipEditor.d.ts +1 -1
  136. package/vanilla/UiEditorChipEditor.js +4 -4
  137. package/vanilla/UiEditorCodeLanguage.d.ts +1 -1
  138. package/vanilla/UiEditorCodeLanguage.js +3 -3
  139. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  140. package/vanilla/UiEditorImageToolbar.js +4 -4
  141. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  142. package/vanilla/UiEditorInsertTableGrid.js +3 -3
  143. package/vanilla/UiEditorLinkCard.d.ts +1 -1
  144. package/vanilla/UiEditorLinkCard.js +8 -6
  145. package/vanilla/UiEditorLinkForm.d.ts +2 -2
  146. package/vanilla/UiEditorLinkForm.js +9 -7
  147. package/vanilla/UiEditorMentionMenu.d.ts +3 -3
  148. package/vanilla/UiEditorMentionMenu.js +3 -3
  149. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  150. package/vanilla/UiEditorMentionMenuItem.js +3 -3
  151. package/vanilla/UiEditorSlashMenu.d.ts +3 -3
  152. package/vanilla/UiEditorSlashMenu.js +3 -3
  153. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  154. package/vanilla/UiEditorSlashMenuGroup.js +3 -3
  155. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  156. package/vanilla/UiEditorSlashMenuItem.js +3 -3
  157. package/vanilla/UiEditorSurface.d.ts +1 -1
  158. package/vanilla/UiEditorSurface.js +4 -4
  159. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  160. package/vanilla/UiEditorTableContextMenu.js +4 -4
  161. package/vanilla/UiEditorTableOverlay.d.ts +2 -2
  162. package/vanilla/UiEditorTableOverlay.js +4 -4
  163. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  164. package/vanilla/UiEditorTableToolbar.js +4 -4
  165. package/vanilla/UiEditorToolbar.d.ts +1 -1
  166. package/vanilla/UiEditorToolbar.js +3 -3
  167. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  168. package/vanilla/UiFloatingActionButton.js +3 -3
  169. package/vanilla/UiFormField.d.ts +1 -1
  170. package/vanilla/UiFormField.js +3 -3
  171. package/vanilla/UiGrid.d.ts +1 -1
  172. package/vanilla/UiGrid.js +4 -4
  173. package/vanilla/UiIcon.d.ts +1 -1
  174. package/vanilla/UiIcon.js +9 -7
  175. package/vanilla/UiIconButton.d.ts +1 -1
  176. package/vanilla/UiIconButton.js +4 -4
  177. package/vanilla/UiImage.d.ts +1 -1
  178. package/vanilla/UiImage.js +4 -4
  179. package/vanilla/UiInput.d.ts +1 -1
  180. package/vanilla/UiInput.js +4 -4
  181. package/vanilla/UiInputGroup.d.ts +1 -1
  182. package/vanilla/UiInputGroup.js +4 -4
  183. package/vanilla/UiList.d.ts +1 -1
  184. package/vanilla/UiList.js +6 -6
  185. package/vanilla/UiListItem.d.ts +1 -1
  186. package/vanilla/UiListItem.js +4 -4
  187. package/vanilla/UiListbox.d.ts +2 -2
  188. package/vanilla/UiListbox.js +3 -3
  189. package/vanilla/UiMenu.d.ts +2 -2
  190. package/vanilla/UiMenu.js +4 -4
  191. package/vanilla/UiMenuGroup.d.ts +1 -1
  192. package/vanilla/UiMenuGroup.js +3 -3
  193. package/vanilla/UiMenuItem.d.ts +1 -1
  194. package/vanilla/UiMenuItem.js +6 -6
  195. package/vanilla/UiMeter.d.ts +1 -1
  196. package/vanilla/UiMeter.js +9 -7
  197. package/vanilla/UiNavItem.d.ts +1 -1
  198. package/vanilla/UiNavItem.js +6 -6
  199. package/vanilla/UiPageHeader.d.ts +1 -1
  200. package/vanilla/UiPageHeader.js +4 -4
  201. package/vanilla/UiPopover.d.ts +1 -1
  202. package/vanilla/UiPopover.js +4 -4
  203. package/vanilla/UiRadio.d.ts +1 -1
  204. package/vanilla/UiRadio.js +4 -4
  205. package/vanilla/UiRadioGroup.d.ts +1 -1
  206. package/vanilla/UiRadioGroup.js +4 -4
  207. package/vanilla/UiReel.d.ts +1 -1
  208. package/vanilla/UiReel.js +4 -4
  209. package/vanilla/UiScrollArea.d.ts +1 -1
  210. package/vanilla/UiScrollArea.js +4 -4
  211. package/vanilla/UiSearchResultRow.d.ts +1 -1
  212. package/vanilla/UiSearchResultRow.js +4 -4
  213. package/vanilla/UiSearchShell.d.ts +1 -1
  214. package/vanilla/UiSearchShell.js +3 -3
  215. package/vanilla/UiSection.d.ts +1 -1
  216. package/vanilla/UiSection.js +4 -4
  217. package/vanilla/UiSelect.d.ts +1 -1
  218. package/vanilla/UiSelect.js +4 -4
  219. package/vanilla/UiSeparator.d.ts +1 -1
  220. package/vanilla/UiSeparator.js +4 -4
  221. package/vanilla/UiSidebar.d.ts +1 -1
  222. package/vanilla/UiSidebar.js +4 -4
  223. package/vanilla/UiSpinner.d.ts +1 -1
  224. package/vanilla/UiSpinner.js +4 -4
  225. package/vanilla/UiStack.d.ts +1 -1
  226. package/vanilla/UiStack.js +4 -4
  227. package/vanilla/UiStatusMessage.d.ts +1 -1
  228. package/vanilla/UiStatusMessage.js +4 -4
  229. package/vanilla/UiSwatch.d.ts +1 -1
  230. package/vanilla/UiSwatch.js +9 -7
  231. package/vanilla/UiSwitch.d.ts +1 -1
  232. package/vanilla/UiSwitch.js +4 -4
  233. package/vanilla/UiSwitcher.d.ts +1 -1
  234. package/vanilla/UiSwitcher.js +4 -4
  235. package/vanilla/UiTable.d.ts +1 -1
  236. package/vanilla/UiTable.js +4 -4
  237. package/vanilla/UiTabs.d.ts +1 -1
  238. package/vanilla/UiTabs.js +4 -4
  239. package/vanilla/UiText.d.ts +1 -1
  240. package/vanilla/UiText.js +6 -6
  241. package/vanilla/UiTextarea.d.ts +1 -1
  242. package/vanilla/UiTextarea.js +4 -4
  243. package/vanilla/UiToast.d.ts +1 -1
  244. package/vanilla/UiToast.js +4 -4
  245. package/vanilla/UiToastRegion.d.ts +2 -2
  246. package/vanilla/UiToastRegion.js +4 -4
  247. package/vanilla/UiTooltip.d.ts +1 -1
  248. package/vanilla/UiTooltip.js +4 -4
  249. package/vanilla/UiTopBar.d.ts +1 -1
  250. package/vanilla/UiTopBar.js +1 -1
  251. package/vanilla/UiTree.d.ts +1 -1
  252. package/vanilla/UiTree.js +4 -4
  253. package/vanilla/UiTreeItem.d.ts +1 -1
  254. package/vanilla/UiTreeItem.js +35 -23
  255. package/vue/UiActionBar.vue +1 -1
  256. package/vue/UiAffordanceScope.d.ts +8 -8
  257. package/vue/UiAffordanceScope.vue +57 -20
  258. package/vue/UiAvatar.d.ts +9 -27
  259. package/vue/UiAvatar.vue +100 -68
  260. package/vue/UiAvatarGroup.d.ts +9 -18
  261. package/vue/UiAvatarGroup.vue +73 -44
  262. package/vue/UiBadge.d.ts +9 -15
  263. package/vue/UiBadge.vue +67 -39
  264. package/vue/UiBreadcrumbItem.d.ts +8 -5
  265. package/vue/UiBreadcrumbItem.vue +45 -12
  266. package/vue/UiBreadcrumbs.d.ts +8 -5
  267. package/vue/UiBreadcrumbs.vue +45 -12
  268. package/vue/UiButton.d.ts +9 -45
  269. package/vue/UiButton.vue +148 -119
  270. package/vue/UiCallout.d.ts +8 -8
  271. package/vue/UiCallout.vue +68 -25
  272. package/vue/UiCard.d.ts +8 -17
  273. package/vue/UiCard.vue +77 -53
  274. package/vue/UiCheckbox.d.ts +8 -29
  275. package/vue/UiCheckbox.vue +118 -76
  276. package/vue/UiCluster.d.ts +9 -24
  277. package/vue/UiCluster.vue +91 -66
  278. package/vue/UiCombobox.d.ts +135 -219
  279. package/vue/UiCombobox.vue +528 -496
  280. package/vue/UiContainer.d.ts +8 -11
  281. package/vue/UiContainer.vue +61 -28
  282. package/vue/UiContextMenu.d.ts +10 -10
  283. package/vue/UiContextMenu.vue +55 -22
  284. package/vue/UiCover.d.ts +8 -5
  285. package/vue/UiCover.vue +45 -12
  286. package/vue/UiDescriptionItem.d.ts +8 -5
  287. package/vue/UiDescriptionItem.vue +40 -12
  288. package/vue/UiDescriptionList.d.ts +8 -11
  289. package/vue/UiDescriptionList.vue +61 -34
  290. package/vue/UiDialog.d.ts +8 -26
  291. package/vue/UiDialog.vue +99 -74
  292. package/vue/UiDisclosure.d.ts +8 -29
  293. package/vue/UiDisclosure.vue +118 -79
  294. package/vue/UiEditable.d.ts +8 -35
  295. package/vue/UiEditable.vue +136 -92
  296. package/vue/UiEditorBlockActions.d.ts +8 -8
  297. package/vue/UiEditorBlockActions.vue +58 -23
  298. package/vue/UiEditorChipEditor.d.ts +8 -8
  299. package/vue/UiEditorChipEditor.vue +65 -20
  300. package/vue/UiEditorCodeLanguage.d.ts +8 -11
  301. package/vue/UiEditorCodeLanguage.vue +74 -31
  302. package/vue/UiEditorImageToolbar.d.ts +8 -11
  303. package/vue/UiEditorImageToolbar.vue +175 -144
  304. package/vue/UiEditorInsertTableGrid.d.ts +8 -14
  305. package/vue/UiEditorInsertTableGrid.vue +73 -36
  306. package/vue/UiEditorLinkCard.d.ts +8 -17
  307. package/vue/UiEditorLinkCard.vue +157 -90
  308. package/vue/UiEditorLinkForm.d.ts +10 -44
  309. package/vue/UiEditorLinkForm.vue +336 -228
  310. package/vue/UiEditorMentionMenu.d.ts +28 -60
  311. package/vue/UiEditorMentionMenu.vue +166 -121
  312. package/vue/UiEditorMentionMenuItem.d.ts +8 -11
  313. package/vue/UiEditorMentionMenuItem.vue +61 -28
  314. package/vue/UiEditorSlashMenu.d.ts +26 -52
  315. package/vue/UiEditorSlashMenu.vue +141 -104
  316. package/vue/UiEditorSlashMenuGroup.d.ts +8 -5
  317. package/vue/UiEditorSlashMenuGroup.vue +40 -12
  318. package/vue/UiEditorSlashMenuItem.d.ts +8 -17
  319. package/vue/UiEditorSlashMenuItem.vue +90 -48
  320. package/vue/UiEditorSurface.d.ts +8 -5
  321. package/vue/UiEditorSurface.vue +45 -15
  322. package/vue/UiEditorTableContextMenu.d.ts +8 -20
  323. package/vue/UiEditorTableContextMenu.vue +151 -113
  324. package/vue/UiEditorTableOverlay.d.ts +10 -29
  325. package/vue/UiEditorTableOverlay.vue +180 -153
  326. package/vue/UiEditorTableToolbar.d.ts +8 -20
  327. package/vue/UiEditorTableToolbar.vue +158 -116
  328. package/vue/UiEditorToolbar.d.ts +8 -5
  329. package/vue/UiEditorToolbar.vue +48 -12
  330. package/vue/UiFloatingActionButton.d.ts +8 -11
  331. package/vue/UiFloatingActionButton.vue +60 -28
  332. package/vue/UiFormField.d.ts +8 -11
  333. package/vue/UiFormField.vue +63 -28
  334. package/vue/UiGrid.d.ts +8 -11
  335. package/vue/UiGrid.vue +56 -28
  336. package/vue/UiIcon.d.ts +8 -8
  337. package/vue/UiIcon.vue +444 -395
  338. package/vue/UiIconButton.d.ts +9 -39
  339. package/vue/UiIconButton.vue +138 -103
  340. package/vue/UiImage.d.ts +8 -23
  341. package/vue/UiImage.vue +80 -60
  342. package/vue/UiInput.d.ts +4 -7
  343. package/vue/UiInput.vue +169 -149
  344. package/vue/UiInputGroup.d.ts +8 -17
  345. package/vue/UiInputGroup.vue +81 -47
  346. package/vue/UiList.d.ts +9 -15
  347. package/vue/UiList.vue +67 -39
  348. package/vue/UiListItem.d.ts +8 -20
  349. package/vue/UiListItem.vue +87 -52
  350. package/vue/UiListbox.d.ts +10 -28
  351. package/vue/UiListbox.vue +111 -71
  352. package/vue/UiMenu.d.ts +10 -25
  353. package/vue/UiMenu.vue +96 -65
  354. package/vue/UiMenuGroup.d.ts +8 -5
  355. package/vue/UiMenuGroup.vue +40 -12
  356. package/vue/UiMenuItem.d.ts +8 -20
  357. package/vue/UiMenuItem.vue +91 -55
  358. package/vue/UiMeter.d.ts +9 -33
  359. package/vue/UiMeter.vue +202 -147
  360. package/vue/UiNavItem.d.ts +9 -24
  361. package/vue/UiNavItem.vue +78 -63
  362. package/vue/UiPageHeader.d.ts +8 -5
  363. package/vue/UiPageHeader.vue +45 -12
  364. package/vue/UiPopover.d.ts +8 -14
  365. package/vue/UiPopover.vue +90 -58
  366. package/vue/UiRadio.d.ts +8 -20
  367. package/vue/UiRadio.vue +91 -52
  368. package/vue/UiRadioGroup.d.ts +8 -26
  369. package/vue/UiRadioGroup.vue +109 -74
  370. package/vue/UiReel.d.ts +8 -11
  371. package/vue/UiReel.vue +56 -28
  372. package/vue/UiScrollArea.d.ts +9 -18
  373. package/vue/UiScrollArea.vue +81 -53
  374. package/vue/UiSearchResultRow.d.ts +8 -11
  375. package/vue/UiSearchResultRow.vue +60 -31
  376. package/vue/UiSearchShell.d.ts +8 -14
  377. package/vue/UiSearchShell.vue +73 -36
  378. package/vue/UiSection.d.ts +8 -11
  379. package/vue/UiSection.vue +60 -31
  380. package/vue/UiSelect.d.ts +8 -17
  381. package/vue/UiSelect.vue +83 -51
  382. package/vue/UiSeparator.d.ts +9 -15
  383. package/vue/UiSeparator.vue +69 -39
  384. package/vue/UiSidebar.d.ts +8 -29
  385. package/vue/UiSidebar.vue +118 -76
  386. package/vue/UiSpinner.d.ts +8 -8
  387. package/vue/UiSpinner.vue +51 -20
  388. package/vue/UiStack.d.ts +9 -18
  389. package/vue/UiStack.vue +73 -53
  390. package/vue/UiStatusMessage.d.ts +8 -11
  391. package/vue/UiStatusMessage.vue +60 -33
  392. package/vue/UiSwatch.d.ts +8 -5
  393. package/vue/UiSwatch.vue +64 -22
  394. package/vue/UiSwitch.d.ts +8 -20
  395. package/vue/UiSwitch.vue +91 -52
  396. package/vue/UiSwitcher.d.ts +9 -15
  397. package/vue/UiSwitcher.vue +64 -39
  398. package/vue/UiTable.d.ts +8 -8
  399. package/vue/UiTable.vue +56 -23
  400. package/vue/UiTabs.d.ts +8 -23
  401. package/vue/UiTabs.vue +100 -66
  402. package/vue/UiText.d.ts +9 -36
  403. package/vue/UiText.vue +152 -109
  404. package/vue/UiTextarea.d.ts +8 -29
  405. package/vue/UiTextarea.vue +118 -83
  406. package/vue/UiToast.d.ts +8 -8
  407. package/vue/UiToast.vue +55 -20
  408. package/vue/UiToastRegion.d.ts +14 -14
  409. package/vue/UiToastRegion.vue +66 -28
  410. package/vue/UiTooltip.d.ts +8 -23
  411. package/vue/UiTooltip.vue +117 -82
  412. package/vue/UiTopBar.vue +1 -1
  413. package/vue/UiTree.d.ts +8 -23
  414. package/vue/UiTree.vue +99 -69
  415. package/vue/UiTreeItem.d.ts +8 -47
  416. package/vue/UiTreeItem.vue +178 -127
  417. package/vue/chunks/UiActionBar.js +1 -1
  418. package/vue/chunks/UiAffordanceScope.js +35 -22
  419. package/vue/chunks/UiAvatar.js +81 -70
  420. package/vue/chunks/UiAvatarGroup.js +58 -46
  421. package/vue/chunks/UiBadge.js +46 -38
  422. package/vue/chunks/UiBreadcrumbItem.js +22 -11
  423. package/vue/chunks/UiBreadcrumbs.js +22 -11
  424. package/vue/chunks/UiButton.js +115 -118
  425. package/vue/chunks/UiCallout.js +32 -22
  426. package/vue/chunks/UiCard.js +53 -46
  427. package/vue/chunks/UiCheckbox.js +84 -78
  428. package/vue/chunks/UiCluster.js +63 -62
  429. package/vue/chunks/UiCombobox.js +359 -382
  430. package/vue/chunks/UiContainer.js +35 -30
  431. package/vue/chunks/UiContextMenu.js +36 -23
  432. package/vue/chunks/UiCover.js +22 -11
  433. package/vue/chunks/UiDescriptionItem.js +22 -11
  434. package/vue/chunks/UiDescriptionList.js +38 -30
  435. package/vue/chunks/UiDialog.js +78 -70
  436. package/vue/chunks/UiDisclosure.js +87 -78
  437. package/vue/chunks/UiEditable.js +102 -94
  438. package/vue/chunks/UiEditorBlockActions.js +49 -23
  439. package/vue/chunks/UiEditorChipEditor.js +48 -25
  440. package/vue/chunks/UiEditorCodeLanguage.js +58 -41
  441. package/vue/chunks/UiEditorImageToolbar.js +153 -148
  442. package/vue/chunks/UiEditorInsertTableGrid.js +55 -38
  443. package/vue/chunks/UiEditorLinkCard.js +104 -82
  444. package/vue/chunks/UiEditorLinkForm.js +282 -258
  445. package/vue/chunks/UiEditorMentionMenu.js +156 -145
  446. package/vue/chunks/UiEditorMentionMenuItem.js +39 -30
  447. package/vue/chunks/UiEditorSlashMenu.js +141 -130
  448. package/vue/chunks/UiEditorSlashMenuGroup.js +22 -11
  449. package/vue/chunks/UiEditorSlashMenuItem.js +62 -47
  450. package/vue/chunks/UiEditorSurface.js +22 -11
  451. package/vue/chunks/UiEditorTableContextMenu.js +98 -87
  452. package/vue/chunks/UiEditorTableOverlay.js +286 -308
  453. package/vue/chunks/UiEditorTableToolbar.js +102 -87
  454. package/vue/chunks/UiEditorToolbar.js +24 -11
  455. package/vue/chunks/UiFloatingActionButton.js +39 -30
  456. package/vue/chunks/UiFormField.js +41 -30
  457. package/vue/chunks/UiGrid.js +35 -30
  458. package/vue/chunks/UiIcon.js +38 -25
  459. package/vue/chunks/UiIconButton.js +102 -102
  460. package/vue/chunks/UiImage.js +67 -62
  461. package/vue/chunks/UiInput.js +275 -274
  462. package/vue/chunks/UiInputGroup.js +55 -46
  463. package/vue/chunks/UiList.js +46 -38
  464. package/vue/chunks/UiListItem.js +60 -54
  465. package/vue/chunks/UiListbox.js +83 -72
  466. package/vue/chunks/UiMenu.js +71 -63
  467. package/vue/chunks/UiMenuGroup.js +22 -11
  468. package/vue/chunks/UiMenuItem.js +63 -54
  469. package/vue/chunks/UiMeter.js +124 -119
  470. package/vue/chunks/UiNavItem.js +64 -62
  471. package/vue/chunks/UiPageHeader.js +22 -11
  472. package/vue/chunks/UiPopover.js +49 -38
  473. package/vue/chunks/UiRadio.js +63 -54
  474. package/vue/chunks/UiRadioGroup.js +77 -70
  475. package/vue/chunks/UiReel.js +35 -30
  476. package/vue/chunks/UiScrollArea.js +55 -46
  477. package/vue/chunks/UiSearchResultRow.js +39 -30
  478. package/vue/chunks/UiSearchShell.js +49 -38
  479. package/vue/chunks/UiSection.js +39 -30
  480. package/vue/chunks/UiSelect.js +57 -48
  481. package/vue/chunks/UiSeparator.js +46 -38
  482. package/vue/chunks/UiSidebar.js +88 -78
  483. package/vue/chunks/UiSpinner.js +32 -22
  484. package/vue/chunks/UiStack.js +47 -46
  485. package/vue/chunks/UiStatusMessage.js +39 -30
  486. package/vue/chunks/UiSwatch.js +28 -14
  487. package/vue/chunks/UiSwitch.js +63 -54
  488. package/vue/chunks/UiSwitcher.js +44 -38
  489. package/vue/chunks/UiTable.js +34 -22
  490. package/vue/chunks/UiTabs.js +73 -62
  491. package/vue/chunks/UiText.js +95 -94
  492. package/vue/chunks/UiTextarea.js +84 -80
  493. package/vue/chunks/UiToast.js +34 -22
  494. package/vue/chunks/UiToastRegion.js +36 -23
  495. package/vue/chunks/UiTooltip.js +70 -62
  496. package/vue/chunks/UiTopBar.js +1 -1
  497. package/vue/chunks/UiTree.js +69 -62
  498. package/vue/chunks/UiTreeItem.js +154 -151
  499. package/vue/chunks/_plugin-vue_export-helper.js +185 -36
  500. package/vue/chunks/control.js +6 -1
  501. package/vue/chunks/props.js +435 -11
  502. package/vue/components.css +39 -39
  503. package/vue/editor/index.js +129 -291
  504. package/vue/host.ts +320 -14
  505. package/vue/props.d.ts +272 -0
@@ -1,4 +1,5 @@
1
1
  import type { PropType } from 'vue';
2
+ import { type InputBindings } from './props.js';
2
3
  declare var __VLS_15: {};
3
4
  type __VLS_Slots = {} & {
4
5
  default?: (props: typeof __VLS_15) => any;
@@ -6,39 +7,34 @@ type __VLS_Slots = {} & {
6
7
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
8
  disabled: {
8
9
  type: PropType<boolean | null>;
9
- default: boolean;
10
10
  };
11
11
  invalid: {
12
12
  type: PropType<boolean | null>;
13
- default: boolean;
14
13
  };
15
14
  multiple: {
16
15
  type: PropType<boolean | null>;
17
- default: boolean;
18
16
  };
19
17
  name: {
20
18
  type: PropType<string | null>;
21
- default: string;
22
19
  };
23
20
  required: {
24
21
  type: PropType<boolean | null>;
25
- default: boolean;
26
22
  };
27
23
  rows: {
28
24
  type: PropType<number | null>;
29
- default: number;
30
25
  };
31
26
  value: {
32
27
  type: PropType<string | null>;
33
- default: null;
34
28
  };
35
29
  values: {
36
30
  type: PropType<readonly (string)[] | null>;
37
- default: null;
31
+ };
32
+ "\0htmlNextInputStatus": {
33
+ type: PropType<InputBindings>;
38
34
  };
39
35
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
40
36
  change: (event: CustomEvent<{
41
- readonly value: string | null;
37
+ readonly value?: string | null;
42
38
  readonly values: readonly (string)[];
43
39
  readonly trigger: "keyboard" | "pointer";
44
40
  }>) => any;
@@ -47,54 +43,40 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
47
43
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
48
44
  disabled: {
49
45
  type: PropType<boolean | null>;
50
- default: boolean;
51
46
  };
52
47
  invalid: {
53
48
  type: PropType<boolean | null>;
54
- default: boolean;
55
49
  };
56
50
  multiple: {
57
51
  type: PropType<boolean | null>;
58
- default: boolean;
59
52
  };
60
53
  name: {
61
54
  type: PropType<string | null>;
62
- default: string;
63
55
  };
64
56
  required: {
65
57
  type: PropType<boolean | null>;
66
- default: boolean;
67
58
  };
68
59
  rows: {
69
60
  type: PropType<number | null>;
70
- default: number;
71
61
  };
72
62
  value: {
73
63
  type: PropType<string | null>;
74
- default: null;
75
64
  };
76
65
  values: {
77
66
  type: PropType<readonly (string)[] | null>;
78
- default: null;
67
+ };
68
+ "\0htmlNextInputStatus": {
69
+ type: PropType<InputBindings>;
79
70
  };
80
71
  }>> & Readonly<{
81
72
  onChange?: ((event: CustomEvent<{
82
- readonly value: string | null;
73
+ readonly value?: string | null;
83
74
  readonly values: readonly (string)[];
84
75
  readonly trigger: "keyboard" | "pointer";
85
76
  }>) => any) | undefined;
86
77
  "onUpdate:value"?: ((value: string) => any) | undefined;
87
78
  "onUpdate:values"?: ((value: readonly string[]) => any) | undefined;
88
- }>, {
89
- values: readonly string[] | null;
90
- name: string | null;
91
- value: string | null;
92
- required: boolean | null;
93
- invalid: boolean | null;
94
- rows: number | null;
95
- disabled: boolean | null;
96
- multiple: boolean | null;
97
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
79
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
80
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
99
81
  declare const _default: typeof __VLS_export;
100
82
  export default _default;
package/vue/UiListbox.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.58 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.63 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'
@@ -14,7 +14,18 @@ import {
14
14
  useReflectedProp,
15
15
  } from './host'
16
16
  import { acceptsControllerWrite } from './props'
17
- import { checkedProp, propValidityState, vPropValidity } from './props'
17
+ import {
18
+ BINDING_INPUTS_PROP,
19
+ checkedProp,
20
+ checkPropInput,
21
+ type InputBindings,
22
+ propValidityState,
23
+ READY_INPUT,
24
+ requireInputStatus,
25
+ UNRESOLVED_INPUT,
26
+ vPropValidity,
27
+ vuePropInputs,
28
+ } from './props'
18
29
  import UiScrollArea from './UiScrollArea.vue'
19
30
 
20
31
  defineOptions({ inheritAttrs: false })
@@ -81,14 +92,15 @@ const propValidityContract = {
81
92
  },
82
93
  } as const
83
94
  const props = defineProps({
84
- disabled: { type: null as unknown as PropType<boolean | null>, default: false },
85
- invalid: { type: null as unknown as PropType<boolean | null>, default: false },
86
- multiple: { type: null as unknown as PropType<boolean | null>, default: false },
87
- name: { type: null as unknown as PropType<string | null>, default: '' },
88
- required: { type: null as unknown as PropType<boolean | null>, default: false },
89
- rows: { type: null as unknown as PropType<number | null>, default: 5 },
90
- value: { type: null as unknown as PropType<string | null>, default: null },
91
- values: { type: null as unknown as PropType<readonly (string)[] | null>, default: null },
95
+ disabled: { type: null as unknown as PropType<boolean | null> },
96
+ invalid: { type: null as unknown as PropType<boolean | null> },
97
+ multiple: { type: null as unknown as PropType<boolean | null> },
98
+ name: { type: null as unknown as PropType<string | null> },
99
+ required: { type: null as unknown as PropType<boolean | null> },
100
+ rows: { type: null as unknown as PropType<number | null> },
101
+ value: { type: null as unknown as PropType<string | null> },
102
+ values: { type: null as unknown as PropType<readonly (string)[] | null> },
103
+ [BINDING_INPUTS_PROP]: { type: null as unknown as PropType<InputBindings> },
92
104
  })
93
105
  const acceptedProps: Record<string, unknown> = {
94
106
  disabled: false,
@@ -100,64 +112,89 @@ const acceptedProps: Record<string, unknown> = {
100
112
  value: null,
101
113
  values: null,
102
114
  }
103
- const checkedProps = computed(() => ({
104
- disabled: checkedProp<boolean>(
105
- props['disabled'],
106
- { kind: 'terminal', name: 'boolean' },
107
- false,
108
- 'disabled',
109
- acceptedProps,
110
- ) as boolean,
111
- invalid: checkedProp<boolean>(
112
- props['invalid'],
113
- { kind: 'terminal', name: 'boolean' },
114
- false,
115
- 'invalid',
116
- acceptedProps,
117
- ) as boolean,
118
- multiple: checkedProp<boolean>(
119
- props['multiple'],
120
- { kind: 'terminal', name: 'boolean' },
121
- false,
122
- 'multiple',
123
- acceptedProps,
124
- ) as boolean,
125
- name: checkedProp<string>(
126
- props['name'],
127
- { kind: 'terminal', name: 'string' },
128
- false,
129
- 'name',
130
- acceptedProps,
131
- ) as string,
132
- required: checkedProp<boolean>(
133
- props['required'],
134
- { kind: 'terminal', name: 'boolean' },
135
- false,
136
- 'required',
137
- acceptedProps,
138
- ) as boolean,
139
- rows: checkedProp<number>(
140
- props['rows'],
141
- { kind: 'terminal', name: 'number' },
142
- false,
143
- 'rows',
144
- acceptedProps,
145
- ) as number,
146
- value: checkedProp<string>(
147
- props['value'],
148
- { kind: 'terminal', name: 'string' },
149
- false,
150
- 'value',
151
- acceptedProps,
152
- ),
153
- values: checkedProp<readonly (string)[]>(
154
- props['values'],
155
- { kind: 'list', item: { kind: 'terminal', name: 'string' } },
156
- false,
157
- 'values',
158
- acceptedProps,
159
- ),
160
- }))
115
+ const inputTracking = vuePropInputs(acceptedProps, {
116
+ disabled: false,
117
+ invalid: false,
118
+ multiple: false,
119
+ name: '',
120
+ required: false,
121
+ rows: 5,
122
+ }, (name, value, source, values) => {
123
+ switch (name) {
124
+ case 'disabled':
125
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
126
+ case 'invalid':
127
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
128
+ case 'multiple':
129
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
130
+ case 'name':
131
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
132
+ case 'required':
133
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
134
+ case 'rows':
135
+ return checkPropInput(value, { kind: 'terminal', name: 'number' }, true, true)
136
+ case 'value':
137
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
138
+ case 'values':
139
+ return checkPropInput(
140
+ value,
141
+ { kind: 'list', item: { kind: 'terminal', name: 'string' } },
142
+ true,
143
+ true,
144
+ )
145
+ default:
146
+ return { ok: false }
147
+ }
148
+ }, () => {
149
+ void checkedProps.value
150
+ })
151
+ const propInputs = inputTracking.inputs
152
+ const checkedProps = computed(() => {
153
+ void inputTracking.version.value
154
+ return ({
155
+ disabled: propInputs.value<boolean | null>(
156
+ 'disabled',
157
+ props['disabled'],
158
+ props[BINDING_INPUTS_PROP],
159
+ ) as boolean,
160
+ invalid: propInputs.value<boolean | null>(
161
+ 'invalid',
162
+ props['invalid'],
163
+ props[BINDING_INPUTS_PROP],
164
+ ) as boolean,
165
+ multiple: propInputs.value<boolean | null>(
166
+ 'multiple',
167
+ props['multiple'],
168
+ props[BINDING_INPUTS_PROP],
169
+ ) as boolean,
170
+ name: propInputs.value<string | null>(
171
+ 'name',
172
+ props['name'],
173
+ props[BINDING_INPUTS_PROP],
174
+ ) as string,
175
+ required: propInputs.value<boolean | null>(
176
+ 'required',
177
+ props['required'],
178
+ props[BINDING_INPUTS_PROP],
179
+ ) as boolean,
180
+ rows: propInputs.value<number | null>(
181
+ 'rows',
182
+ props['rows'],
183
+ props[BINDING_INPUTS_PROP],
184
+ ) as number,
185
+ value: propInputs.value<string | null>('value', props['value'], props[BINDING_INPUTS_PROP]),
186
+ values: propInputs.value<readonly (string)[] | null>(
187
+ 'values',
188
+ props['values'],
189
+ props[BINDING_INPUTS_PROP],
190
+ ),
191
+ })
192
+ })
193
+ const inputStatus = (name: string, handlesError: boolean) => {
194
+ void checkedProps.value
195
+ void inputTracking.version.value
196
+ return requireInputStatus(propInputs.status(name), handlesError)
197
+ }
161
198
  void checkedProps.value
162
199
  watchSyncEffect(() => {
163
200
  void checkedProps.value
@@ -170,7 +207,7 @@ const emit = defineEmits<{
170
207
  change: [
171
208
  event: CustomEvent<
172
209
  {
173
- readonly value: string | null
210
+ readonly value?: string | null
174
211
  readonly values: readonly (string)[]
175
212
  readonly trigger: 'keyboard' | 'pointer'
176
213
  }
@@ -217,8 +254,8 @@ checkHydratedRoot('div', 'ui-listbox')
217
254
  const isChangeDetail = (
218
255
  detail: unknown,
219
256
  ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
220
- && (typeof (detail as Record<string, unknown>)['value'] === 'string'
221
- || (detail as Record<string, unknown>)['value'] === null)
257
+ && ((detail as Record<string, unknown>)['value'] == null
258
+ || typeof (detail as Record<string, unknown>)['value'] === 'string')
222
259
  && (Array.isArray((detail as Record<string, unknown>)['values'])
223
260
  && ((detail as Record<string, unknown>)['values'] as unknown[]).every((item: unknown) =>
224
261
  typeof item === 'string'
@@ -262,11 +299,14 @@ useComponentHost(() => import('../components/ui-listbox/ui-listbox.js'), {
262
299
  } as Record<string, any>)[name],
263
300
  keys,
264
301
  ),
302
+ initials: { choices: [], selection: [], hasSelection: false, uid: '', validationError: false },
265
303
  controllerSource: {
266
304
  specifier: '../components/ui-listbox/ui-listbox.js',
267
305
  definition: './components/ui-listbox/ui-listbox.html',
268
306
  },
269
307
  props: checkedProps,
308
+ inputs: propInputs,
309
+ inputTracking,
270
310
  propInputs: (name: string) => {
271
311
  const incoming = hydrationInstance?.vnode.props
272
312
  const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
package/vue/UiMenu.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { PropType } from 'vue';
2
+ import { type InputBindings } from './props.js';
2
3
  declare var __VLS_1: {};
3
4
  type __VLS_Slots = {} & {
4
5
  default?: (props: typeof __VLS_1) => any;
@@ -6,36 +7,32 @@ type __VLS_Slots = {} & {
6
7
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
7
8
  density: {
8
9
  type: PropType<"comfortable" | "compact" | null>;
9
- default: string;
10
10
  };
11
11
  for: {
12
12
  type: PropType<string | null>;
13
- default: string;
14
13
  };
15
14
  icons: {
16
15
  type: PropType<boolean | null>;
17
- default: boolean;
18
16
  };
19
17
  inline: {
20
18
  type: PropType<boolean | null>;
21
- default: boolean;
22
19
  };
23
20
  open: {
24
21
  type: PropType<boolean | null>;
25
- default: boolean;
26
22
  };
27
23
  placement: {
28
24
  type: PropType<string | null>;
29
- default: string;
30
25
  };
31
26
  size: {
32
27
  type: PropType<"sm" | "md" | null>;
33
- default: string;
28
+ };
29
+ "\0htmlNextInputStatus": {
30
+ type: PropType<InputBindings>;
34
31
  };
35
32
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
36
33
  select: (event: CustomEvent<{
37
34
  readonly value: string;
38
- readonly checked?: boolean;
35
+ readonly checked?: boolean | null;
39
36
  readonly trigger: "keyboard" | "pointer" | "programmatic";
40
37
  }>) => any;
41
38
  close: (event: CustomEvent<{
@@ -52,36 +49,32 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
52
49
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
53
50
  density: {
54
51
  type: PropType<"comfortable" | "compact" | null>;
55
- default: string;
56
52
  };
57
53
  for: {
58
54
  type: PropType<string | null>;
59
- default: string;
60
55
  };
61
56
  icons: {
62
57
  type: PropType<boolean | null>;
63
- default: boolean;
64
58
  };
65
59
  inline: {
66
60
  type: PropType<boolean | null>;
67
- default: boolean;
68
61
  };
69
62
  open: {
70
63
  type: PropType<boolean | null>;
71
- default: boolean;
72
64
  };
73
65
  placement: {
74
66
  type: PropType<string | null>;
75
- default: string;
76
67
  };
77
68
  size: {
78
69
  type: PropType<"sm" | "md" | null>;
79
- default: string;
70
+ };
71
+ "\0htmlNextInputStatus": {
72
+ type: PropType<InputBindings>;
80
73
  };
81
74
  }>> & Readonly<{
82
75
  onSelect?: ((event: CustomEvent<{
83
76
  readonly value: string;
84
- readonly checked?: boolean;
77
+ readonly checked?: boolean | null;
85
78
  readonly trigger: "keyboard" | "pointer" | "programmatic";
86
79
  }>) => any) | undefined;
87
80
  onClose?: ((event: CustomEvent<{
@@ -95,15 +88,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
95
88
  readonly trigger: "keyboard" | "pointer" | "programmatic";
96
89
  }>) => any) | undefined;
97
90
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
98
- }>, {
99
- size: "sm" | "md" | null;
100
- open: boolean | null;
101
- for: string | null;
102
- placement: string | null;
103
- inline: boolean | null;
104
- density: "comfortable" | "compact" | null;
105
- icons: boolean | null;
106
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
91
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
107
92
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
108
93
  declare const _default: typeof __VLS_export;
109
94
  export default _default;
package/vue/UiMenu.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.58 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.63 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -10,7 +10,18 @@ import {
10
10
  useReflectedProp,
11
11
  } from './host'
12
12
  import { acceptsControllerWrite } from './props'
13
- import { checkedProp, propValidityState, vPropValidity } from './props'
13
+ import {
14
+ BINDING_INPUTS_PROP,
15
+ checkedProp,
16
+ checkPropInput,
17
+ type InputBindings,
18
+ propValidityState,
19
+ READY_INPUT,
20
+ requireInputStatus,
21
+ UNRESOLVED_INPUT,
22
+ vPropValidity,
23
+ vuePropInputs,
24
+ } from './props'
14
25
 
15
26
  defineOptions({ inheritAttrs: false })
16
27
 
@@ -73,16 +84,14 @@ const propValidityContract = {
73
84
  },
74
85
  } as const
75
86
  const props = defineProps({
76
- density: {
77
- type: null as unknown as PropType<'comfortable' | 'compact' | null>,
78
- default: 'comfortable',
79
- },
80
- for: { type: null as unknown as PropType<string | null>, default: '' },
81
- icons: { type: null as unknown as PropType<boolean | null>, default: false },
82
- inline: { type: null as unknown as PropType<boolean | null>, default: false },
83
- open: { type: null as unknown as PropType<boolean | null>, default: false },
84
- placement: { type: null as unknown as PropType<string | null>, default: 'bottom-start' },
85
- size: { type: null as unknown as PropType<'sm' | 'md' | null>, default: 'md' },
87
+ density: { type: null as unknown as PropType<'comfortable' | 'compact' | null> },
88
+ for: { type: null as unknown as PropType<string | null> },
89
+ icons: { type: null as unknown as PropType<boolean | null> },
90
+ inline: { type: null as unknown as PropType<boolean | null> },
91
+ open: { type: null as unknown as PropType<boolean | null> },
92
+ placement: { type: null as unknown as PropType<string | null> },
93
+ size: { type: null as unknown as PropType<'sm' | 'md' | null> },
94
+ [BINDING_INPUTS_PROP]: { type: null as unknown as PropType<InputBindings> },
86
95
  })
87
96
  const acceptedProps: Record<string, unknown> = {
88
97
  density: 'comfortable',
@@ -93,57 +102,76 @@ const acceptedProps: Record<string, unknown> = {
93
102
  placement: 'bottom-start',
94
103
  size: 'md',
95
104
  }
96
- const checkedProps = computed(() => ({
97
- density: checkedProp<'comfortable' | 'compact'>(
98
- props['density'],
99
- { kind: 'terminal', name: 'keyword' },
100
- false,
101
- 'density',
102
- acceptedProps,
103
- ) as 'comfortable' | 'compact',
104
- for: checkedProp<string>(
105
- props['for'],
106
- { kind: 'terminal', name: 'string' },
107
- false,
108
- 'for',
109
- acceptedProps,
110
- ) as string,
111
- icons: checkedProp<boolean>(
112
- props['icons'],
113
- { kind: 'terminal', name: 'boolean' },
114
- false,
115
- 'icons',
116
- acceptedProps,
117
- ) as boolean,
118
- inline: checkedProp<boolean>(
119
- props['inline'],
120
- { kind: 'terminal', name: 'boolean' },
121
- false,
122
- 'inline',
123
- acceptedProps,
124
- ) as boolean,
125
- open: checkedProp<boolean>(
126
- props['open'],
127
- { kind: 'terminal', name: 'boolean' },
128
- false,
129
- 'open',
130
- acceptedProps,
131
- ) as boolean,
132
- placement: checkedProp<string>(
133
- props['placement'],
134
- { kind: 'terminal', name: 'string' },
135
- false,
136
- 'placement',
137
- acceptedProps,
138
- ) as string,
139
- size: checkedProp<'sm' | 'md'>(
140
- props['size'],
141
- { kind: 'terminal', name: 'keyword' },
142
- false,
143
- 'size',
144
- acceptedProps,
145
- ) as 'sm' | 'md',
146
- }))
105
+ const inputTracking = vuePropInputs(acceptedProps, {
106
+ density: 'comfortable',
107
+ for: '',
108
+ icons: false,
109
+ inline: false,
110
+ open: false,
111
+ placement: 'bottom-start',
112
+ size: 'md',
113
+ }, (name, value, source, values) => {
114
+ switch (name) {
115
+ case 'density':
116
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
117
+ case 'for':
118
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
119
+ case 'icons':
120
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
121
+ case 'inline':
122
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
123
+ case 'open':
124
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
125
+ case 'placement':
126
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
127
+ case 'size':
128
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
129
+ default:
130
+ return { ok: false }
131
+ }
132
+ }, () => {
133
+ void checkedProps.value
134
+ })
135
+ const propInputs = inputTracking.inputs
136
+ const checkedProps = computed(() => {
137
+ void inputTracking.version.value
138
+ return ({
139
+ density: propInputs.value<'comfortable' | 'compact' | null>(
140
+ 'density',
141
+ props['density'],
142
+ props[BINDING_INPUTS_PROP],
143
+ ) as 'comfortable' | 'compact',
144
+ for: propInputs.value<string | null>('for', props['for'], props[BINDING_INPUTS_PROP]) as string,
145
+ icons: propInputs.value<boolean | null>(
146
+ 'icons',
147
+ props['icons'],
148
+ props[BINDING_INPUTS_PROP],
149
+ ) as boolean,
150
+ inline: propInputs.value<boolean | null>(
151
+ 'inline',
152
+ props['inline'],
153
+ props[BINDING_INPUTS_PROP],
154
+ ) as boolean,
155
+ open: propInputs.value<boolean | null>(
156
+ 'open',
157
+ props['open'],
158
+ props[BINDING_INPUTS_PROP],
159
+ ) as boolean,
160
+ placement: propInputs.value<string | null>(
161
+ 'placement',
162
+ props['placement'],
163
+ props[BINDING_INPUTS_PROP],
164
+ ) as string,
165
+ size: propInputs.value<'sm' | 'md' | null>('size', props['size'], props[BINDING_INPUTS_PROP]) as
166
+ | 'sm'
167
+ | 'md',
168
+ })
169
+ })
170
+ const inputStatus = (name: string, handlesError: boolean) => {
171
+ void checkedProps.value
172
+ void inputTracking.version.value
173
+ return requireInputStatus(propInputs.status(name), handlesError)
174
+ }
147
175
  void checkedProps.value
148
176
  watchSyncEffect(() => {
149
177
  void checkedProps.value
@@ -156,7 +184,7 @@ const emit = defineEmits<{
156
184
  event: CustomEvent<
157
185
  {
158
186
  readonly value: string
159
- readonly checked?: boolean
187
+ readonly checked?: boolean | null
160
188
  readonly trigger: 'keyboard' | 'pointer' | 'programmatic'
161
189
  }
162
190
  >,
@@ -204,7 +232,7 @@ const isSelectDetail = (
204
232
  detail: unknown,
205
233
  ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
206
234
  && typeof (detail as Record<string, unknown>)['value'] === 'string'
207
- && ((detail as Record<string, unknown>)['checked'] === undefined
235
+ && ((detail as Record<string, unknown>)['checked'] == null
208
236
  || typeof (detail as Record<string, unknown>)['checked'] === 'boolean')
209
237
  && ((detail as Record<string, unknown>)['trigger'] === 'keyboard'
210
238
  || (detail as Record<string, unknown>)['trigger'] === 'pointer'
@@ -250,11 +278,14 @@ useComponentHost(() => import('../components/ui-menu/ui-menu.js'), {
250
278
  ({ internalOpen: { kind: 'terminal', name: 'boolean' } } as Record<string, any>)[name],
251
279
  keys,
252
280
  ),
281
+ initials: { internalOpen: false },
253
282
  controllerSource: {
254
283
  specifier: '../components/ui-menu/ui-menu.js',
255
284
  definition: './components/ui-menu/ui-menu.html',
256
285
  },
257
286
  props: checkedProps,
287
+ inputs: propInputs,
288
+ inputTracking,
258
289
  propInputs: (name: string) => {
259
290
  const incoming = hydrationInstance?.vnode.props
260
291
  const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())