@threadlabs/looma 0.30.2 → 0.30.4

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 (504) hide show
  1. package/components/ui-combobox/ui-combobox.html +10 -10
  2. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +2 -4
  3. package/components/ui-image/ui-image.html +2 -2
  4. package/components/ui-listbox/ui-listbox.html +1 -1
  5. package/components/ui-tree-item/ui-tree-item.html +4 -2
  6. package/dist/index.js +5 -4
  7. package/package.json +3 -3
  8. package/styles/ui-action-bar.css +1 -1
  9. package/styles/ui-affordance-scope.css +1 -1
  10. package/styles/ui-avatar-group.css +1 -1
  11. package/styles/ui-avatar.css +1 -1
  12. package/styles/ui-badge.css +1 -1
  13. package/styles/ui-breadcrumb-item.css +1 -1
  14. package/styles/ui-breadcrumbs.css +1 -1
  15. package/styles/ui-button.css +1 -1
  16. package/styles/ui-callout.css +1 -1
  17. package/styles/ui-card.css +1 -1
  18. package/styles/ui-checkbox.css +1 -1
  19. package/styles/ui-cluster.css +1 -1
  20. package/styles/ui-combobox.css +1 -1
  21. package/styles/ui-container.css +1 -1
  22. package/styles/ui-context-menu.css +1 -1
  23. package/styles/ui-cover.css +1 -1
  24. package/styles/ui-description-item.css +1 -1
  25. package/styles/ui-description-list.css +1 -1
  26. package/styles/ui-dialog.css +1 -1
  27. package/styles/ui-disclosure.css +1 -1
  28. package/styles/ui-editable.css +1 -1
  29. package/styles/ui-editor-block-actions.css +1 -1
  30. package/styles/ui-editor-chip-editor.css +1 -1
  31. package/styles/ui-editor-code-language.css +1 -1
  32. package/styles/ui-editor-image-toolbar.css +1 -1
  33. package/styles/ui-editor-insert-table-grid.css +1 -1
  34. package/styles/ui-editor-link-card.css +1 -1
  35. package/styles/ui-editor-link-form.css +1 -1
  36. package/styles/ui-editor-mention-menu-item.css +1 -1
  37. package/styles/ui-editor-mention-menu.css +1 -1
  38. package/styles/ui-editor-slash-menu-group.css +1 -1
  39. package/styles/ui-editor-slash-menu-item.css +1 -1
  40. package/styles/ui-editor-slash-menu.css +1 -1
  41. package/styles/ui-editor-surface.css +1 -1
  42. package/styles/ui-editor-table-context-menu.css +1 -1
  43. package/styles/ui-editor-table-overlay.css +1 -1
  44. package/styles/ui-editor-table-toolbar.css +1 -1
  45. package/styles/ui-editor-toolbar.css +1 -1
  46. package/styles/ui-floating-action-button.css +1 -1
  47. package/styles/ui-form-field.css +1 -1
  48. package/styles/ui-grid.css +1 -1
  49. package/styles/ui-icon-button.css +1 -1
  50. package/styles/ui-icon.css +1 -1
  51. package/styles/ui-image.css +1 -1
  52. package/styles/ui-input-group.css +1 -1
  53. package/styles/ui-input.css +1 -1
  54. package/styles/ui-list-item.css +1 -1
  55. package/styles/ui-list.css +1 -1
  56. package/styles/ui-listbox.css +1 -1
  57. package/styles/ui-menu-group.css +1 -1
  58. package/styles/ui-menu-item.css +1 -1
  59. package/styles/ui-menu.css +1 -1
  60. package/styles/ui-meter.css +1 -1
  61. package/styles/ui-nav-item.css +1 -1
  62. package/styles/ui-page-header.css +1 -1
  63. package/styles/ui-popover.css +1 -1
  64. package/styles/ui-radio-group.css +1 -1
  65. package/styles/ui-radio.css +1 -1
  66. package/styles/ui-reel.css +1 -1
  67. package/styles/ui-scroll-area.css +1 -1
  68. package/styles/ui-search-result-row.css +1 -1
  69. package/styles/ui-search-shell.css +1 -1
  70. package/styles/ui-section.css +1 -1
  71. package/styles/ui-select.css +1 -1
  72. package/styles/ui-separator.css +1 -1
  73. package/styles/ui-sidebar.css +1 -1
  74. package/styles/ui-spinner.css +1 -1
  75. package/styles/ui-stack.css +1 -1
  76. package/styles/ui-status-message.css +1 -1
  77. package/styles/ui-swatch.css +1 -1
  78. package/styles/ui-switch.css +1 -1
  79. package/styles/ui-switcher.css +1 -1
  80. package/styles/ui-table.css +1 -1
  81. package/styles/ui-tabs.css +1 -1
  82. package/styles/ui-text.css +1 -1
  83. package/styles/ui-textarea.css +1 -1
  84. package/styles/ui-toast-region.css +1 -1
  85. package/styles/ui-toast.css +1 -1
  86. package/styles/ui-tooltip.css +1 -1
  87. package/styles/ui-top-bar.css +1 -1
  88. package/styles/ui-tree-item.css +1 -1
  89. package/styles/ui-tree.css +1 -1
  90. package/vanilla/UiActionBar.d.ts +1 -1
  91. package/vanilla/UiActionBar.js +1 -1
  92. package/vanilla/UiAffordanceScope.d.ts +1 -1
  93. package/vanilla/UiAffordanceScope.js +4 -4
  94. package/vanilla/UiAvatar.d.ts +1 -1
  95. package/vanilla/UiAvatar.js +4 -4
  96. package/vanilla/UiAvatarGroup.d.ts +1 -1
  97. package/vanilla/UiAvatarGroup.js +4 -4
  98. package/vanilla/UiBadge.d.ts +1 -1
  99. package/vanilla/UiBadge.js +4 -4
  100. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  101. package/vanilla/UiBreadcrumbItem.js +3 -3
  102. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  103. package/vanilla/UiBreadcrumbs.js +3 -3
  104. package/vanilla/UiButton.d.ts +1 -1
  105. package/vanilla/UiButton.js +6 -6
  106. package/vanilla/UiCallout.d.ts +1 -1
  107. package/vanilla/UiCallout.js +4 -4
  108. package/vanilla/UiCard.d.ts +1 -1
  109. package/vanilla/UiCard.js +6 -6
  110. package/vanilla/UiCheckbox.d.ts +1 -1
  111. package/vanilla/UiCheckbox.js +4 -4
  112. package/vanilla/UiCluster.d.ts +1 -1
  113. package/vanilla/UiCluster.js +4 -4
  114. package/vanilla/UiCombobox.d.ts +12 -12
  115. package/vanilla/UiCombobox.js +12 -10
  116. package/vanilla/UiContainer.d.ts +1 -1
  117. package/vanilla/UiContainer.js +4 -4
  118. package/vanilla/UiContextMenu.d.ts +2 -2
  119. package/vanilla/UiContextMenu.js +3 -3
  120. package/vanilla/UiCover.d.ts +1 -1
  121. package/vanilla/UiCover.js +4 -4
  122. package/vanilla/UiDescriptionItem.d.ts +1 -1
  123. package/vanilla/UiDescriptionItem.js +3 -3
  124. package/vanilla/UiDescriptionList.d.ts +1 -1
  125. package/vanilla/UiDescriptionList.js +4 -4
  126. package/vanilla/UiDialog.d.ts +1 -1
  127. package/vanilla/UiDialog.js +4 -4
  128. package/vanilla/UiDisclosure.d.ts +1 -1
  129. package/vanilla/UiDisclosure.js +4 -4
  130. package/vanilla/UiEditable.d.ts +1 -1
  131. package/vanilla/UiEditable.js +3 -3
  132. package/vanilla/UiEditorBlockActions.d.ts +1 -1
  133. package/vanilla/UiEditorBlockActions.js +4 -4
  134. package/vanilla/UiEditorChipEditor.d.ts +1 -1
  135. package/vanilla/UiEditorChipEditor.js +4 -4
  136. package/vanilla/UiEditorCodeLanguage.d.ts +1 -1
  137. package/vanilla/UiEditorCodeLanguage.js +3 -3
  138. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  139. package/vanilla/UiEditorImageToolbar.js +4 -4
  140. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  141. package/vanilla/UiEditorInsertTableGrid.js +3 -3
  142. package/vanilla/UiEditorLinkCard.d.ts +1 -1
  143. package/vanilla/UiEditorLinkCard.js +8 -6
  144. package/vanilla/UiEditorLinkForm.d.ts +2 -2
  145. package/vanilla/UiEditorLinkForm.js +9 -7
  146. package/vanilla/UiEditorMentionMenu.d.ts +3 -3
  147. package/vanilla/UiEditorMentionMenu.js +3 -3
  148. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  149. package/vanilla/UiEditorMentionMenuItem.js +3 -3
  150. package/vanilla/UiEditorSlashMenu.d.ts +3 -3
  151. package/vanilla/UiEditorSlashMenu.js +3 -3
  152. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  153. package/vanilla/UiEditorSlashMenuGroup.js +3 -3
  154. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  155. package/vanilla/UiEditorSlashMenuItem.js +3 -3
  156. package/vanilla/UiEditorSurface.d.ts +1 -1
  157. package/vanilla/UiEditorSurface.js +4 -4
  158. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  159. package/vanilla/UiEditorTableContextMenu.js +4 -4
  160. package/vanilla/UiEditorTableOverlay.d.ts +2 -2
  161. package/vanilla/UiEditorTableOverlay.js +4 -4
  162. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  163. package/vanilla/UiEditorTableToolbar.js +4 -4
  164. package/vanilla/UiEditorToolbar.d.ts +1 -1
  165. package/vanilla/UiEditorToolbar.js +3 -3
  166. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  167. package/vanilla/UiFloatingActionButton.js +3 -3
  168. package/vanilla/UiFormField.d.ts +1 -1
  169. package/vanilla/UiFormField.js +3 -3
  170. package/vanilla/UiGrid.d.ts +1 -1
  171. package/vanilla/UiGrid.js +4 -4
  172. package/vanilla/UiIcon.d.ts +1 -1
  173. package/vanilla/UiIcon.js +9 -7
  174. package/vanilla/UiIconButton.d.ts +1 -1
  175. package/vanilla/UiIconButton.js +4 -4
  176. package/vanilla/UiImage.d.ts +1 -1
  177. package/vanilla/UiImage.js +4 -4
  178. package/vanilla/UiInput.d.ts +1 -1
  179. package/vanilla/UiInput.js +4 -4
  180. package/vanilla/UiInputGroup.d.ts +1 -1
  181. package/vanilla/UiInputGroup.js +4 -4
  182. package/vanilla/UiList.d.ts +1 -1
  183. package/vanilla/UiList.js +6 -6
  184. package/vanilla/UiListItem.d.ts +1 -1
  185. package/vanilla/UiListItem.js +4 -4
  186. package/vanilla/UiListbox.d.ts +2 -2
  187. package/vanilla/UiListbox.js +3 -3
  188. package/vanilla/UiMenu.d.ts +2 -2
  189. package/vanilla/UiMenu.js +4 -4
  190. package/vanilla/UiMenuGroup.d.ts +1 -1
  191. package/vanilla/UiMenuGroup.js +3 -3
  192. package/vanilla/UiMenuItem.d.ts +1 -1
  193. package/vanilla/UiMenuItem.js +6 -6
  194. package/vanilla/UiMeter.d.ts +1 -1
  195. package/vanilla/UiMeter.js +9 -7
  196. package/vanilla/UiNavItem.d.ts +1 -1
  197. package/vanilla/UiNavItem.js +6 -6
  198. package/vanilla/UiPageHeader.d.ts +1 -1
  199. package/vanilla/UiPageHeader.js +4 -4
  200. package/vanilla/UiPopover.d.ts +1 -1
  201. package/vanilla/UiPopover.js +4 -4
  202. package/vanilla/UiRadio.d.ts +1 -1
  203. package/vanilla/UiRadio.js +4 -4
  204. package/vanilla/UiRadioGroup.d.ts +1 -1
  205. package/vanilla/UiRadioGroup.js +4 -4
  206. package/vanilla/UiReel.d.ts +1 -1
  207. package/vanilla/UiReel.js +4 -4
  208. package/vanilla/UiScrollArea.d.ts +1 -1
  209. package/vanilla/UiScrollArea.js +4 -4
  210. package/vanilla/UiSearchResultRow.d.ts +1 -1
  211. package/vanilla/UiSearchResultRow.js +4 -4
  212. package/vanilla/UiSearchShell.d.ts +1 -1
  213. package/vanilla/UiSearchShell.js +3 -3
  214. package/vanilla/UiSection.d.ts +1 -1
  215. package/vanilla/UiSection.js +4 -4
  216. package/vanilla/UiSelect.d.ts +1 -1
  217. package/vanilla/UiSelect.js +4 -4
  218. package/vanilla/UiSeparator.d.ts +1 -1
  219. package/vanilla/UiSeparator.js +4 -4
  220. package/vanilla/UiSidebar.d.ts +1 -1
  221. package/vanilla/UiSidebar.js +4 -4
  222. package/vanilla/UiSpinner.d.ts +1 -1
  223. package/vanilla/UiSpinner.js +4 -4
  224. package/vanilla/UiStack.d.ts +1 -1
  225. package/vanilla/UiStack.js +4 -4
  226. package/vanilla/UiStatusMessage.d.ts +1 -1
  227. package/vanilla/UiStatusMessage.js +4 -4
  228. package/vanilla/UiSwatch.d.ts +1 -1
  229. package/vanilla/UiSwatch.js +9 -7
  230. package/vanilla/UiSwitch.d.ts +1 -1
  231. package/vanilla/UiSwitch.js +4 -4
  232. package/vanilla/UiSwitcher.d.ts +1 -1
  233. package/vanilla/UiSwitcher.js +4 -4
  234. package/vanilla/UiTable.d.ts +1 -1
  235. package/vanilla/UiTable.js +4 -4
  236. package/vanilla/UiTabs.d.ts +1 -1
  237. package/vanilla/UiTabs.js +4 -4
  238. package/vanilla/UiText.d.ts +1 -1
  239. package/vanilla/UiText.js +6 -6
  240. package/vanilla/UiTextarea.d.ts +1 -1
  241. package/vanilla/UiTextarea.js +4 -4
  242. package/vanilla/UiToast.d.ts +1 -1
  243. package/vanilla/UiToast.js +4 -4
  244. package/vanilla/UiToastRegion.d.ts +2 -2
  245. package/vanilla/UiToastRegion.js +4 -4
  246. package/vanilla/UiTooltip.d.ts +1 -1
  247. package/vanilla/UiTooltip.js +4 -4
  248. package/vanilla/UiTopBar.d.ts +1 -1
  249. package/vanilla/UiTopBar.js +1 -1
  250. package/vanilla/UiTree.d.ts +1 -1
  251. package/vanilla/UiTree.js +4 -4
  252. package/vanilla/UiTreeItem.d.ts +1 -1
  253. package/vanilla/UiTreeItem.js +35 -23
  254. package/vue/UiActionBar.vue +1 -1
  255. package/vue/UiAffordanceScope.d.ts +8 -8
  256. package/vue/UiAffordanceScope.vue +57 -20
  257. package/vue/UiAvatar.d.ts +9 -27
  258. package/vue/UiAvatar.vue +100 -68
  259. package/vue/UiAvatarGroup.d.ts +9 -18
  260. package/vue/UiAvatarGroup.vue +73 -44
  261. package/vue/UiBadge.d.ts +9 -15
  262. package/vue/UiBadge.vue +67 -39
  263. package/vue/UiBreadcrumbItem.d.ts +8 -5
  264. package/vue/UiBreadcrumbItem.vue +45 -12
  265. package/vue/UiBreadcrumbs.d.ts +8 -5
  266. package/vue/UiBreadcrumbs.vue +45 -12
  267. package/vue/UiButton.d.ts +9 -45
  268. package/vue/UiButton.vue +148 -119
  269. package/vue/UiCallout.d.ts +8 -8
  270. package/vue/UiCallout.vue +68 -25
  271. package/vue/UiCard.d.ts +8 -17
  272. package/vue/UiCard.vue +77 -53
  273. package/vue/UiCheckbox.d.ts +8 -29
  274. package/vue/UiCheckbox.vue +118 -76
  275. package/vue/UiCluster.d.ts +9 -24
  276. package/vue/UiCluster.vue +91 -66
  277. package/vue/UiCombobox.d.ts +135 -219
  278. package/vue/UiCombobox.vue +528 -496
  279. package/vue/UiContainer.d.ts +8 -11
  280. package/vue/UiContainer.vue +61 -28
  281. package/vue/UiContextMenu.d.ts +10 -10
  282. package/vue/UiContextMenu.vue +55 -22
  283. package/vue/UiCover.d.ts +8 -5
  284. package/vue/UiCover.vue +45 -12
  285. package/vue/UiDescriptionItem.d.ts +8 -5
  286. package/vue/UiDescriptionItem.vue +40 -12
  287. package/vue/UiDescriptionList.d.ts +8 -11
  288. package/vue/UiDescriptionList.vue +61 -34
  289. package/vue/UiDialog.d.ts +8 -26
  290. package/vue/UiDialog.vue +99 -74
  291. package/vue/UiDisclosure.d.ts +8 -29
  292. package/vue/UiDisclosure.vue +118 -79
  293. package/vue/UiEditable.d.ts +8 -35
  294. package/vue/UiEditable.vue +136 -92
  295. package/vue/UiEditorBlockActions.d.ts +8 -8
  296. package/vue/UiEditorBlockActions.vue +58 -23
  297. package/vue/UiEditorChipEditor.d.ts +8 -8
  298. package/vue/UiEditorChipEditor.vue +65 -20
  299. package/vue/UiEditorCodeLanguage.d.ts +8 -11
  300. package/vue/UiEditorCodeLanguage.vue +74 -31
  301. package/vue/UiEditorImageToolbar.d.ts +8 -11
  302. package/vue/UiEditorImageToolbar.vue +175 -144
  303. package/vue/UiEditorInsertTableGrid.d.ts +8 -14
  304. package/vue/UiEditorInsertTableGrid.vue +73 -36
  305. package/vue/UiEditorLinkCard.d.ts +8 -17
  306. package/vue/UiEditorLinkCard.vue +157 -90
  307. package/vue/UiEditorLinkForm.d.ts +10 -44
  308. package/vue/UiEditorLinkForm.vue +336 -228
  309. package/vue/UiEditorMentionMenu.d.ts +28 -60
  310. package/vue/UiEditorMentionMenu.vue +166 -121
  311. package/vue/UiEditorMentionMenuItem.d.ts +8 -11
  312. package/vue/UiEditorMentionMenuItem.vue +61 -28
  313. package/vue/UiEditorSlashMenu.d.ts +26 -52
  314. package/vue/UiEditorSlashMenu.vue +141 -104
  315. package/vue/UiEditorSlashMenuGroup.d.ts +8 -5
  316. package/vue/UiEditorSlashMenuGroup.vue +40 -12
  317. package/vue/UiEditorSlashMenuItem.d.ts +8 -17
  318. package/vue/UiEditorSlashMenuItem.vue +90 -48
  319. package/vue/UiEditorSurface.d.ts +8 -5
  320. package/vue/UiEditorSurface.vue +45 -15
  321. package/vue/UiEditorTableContextMenu.d.ts +8 -20
  322. package/vue/UiEditorTableContextMenu.vue +151 -113
  323. package/vue/UiEditorTableOverlay.d.ts +10 -29
  324. package/vue/UiEditorTableOverlay.vue +180 -153
  325. package/vue/UiEditorTableToolbar.d.ts +8 -20
  326. package/vue/UiEditorTableToolbar.vue +158 -116
  327. package/vue/UiEditorToolbar.d.ts +8 -5
  328. package/vue/UiEditorToolbar.vue +48 -12
  329. package/vue/UiFloatingActionButton.d.ts +8 -11
  330. package/vue/UiFloatingActionButton.vue +60 -28
  331. package/vue/UiFormField.d.ts +8 -11
  332. package/vue/UiFormField.vue +63 -28
  333. package/vue/UiGrid.d.ts +8 -11
  334. package/vue/UiGrid.vue +56 -28
  335. package/vue/UiIcon.d.ts +8 -8
  336. package/vue/UiIcon.vue +444 -395
  337. package/vue/UiIconButton.d.ts +9 -39
  338. package/vue/UiIconButton.vue +138 -103
  339. package/vue/UiImage.d.ts +8 -23
  340. package/vue/UiImage.vue +80 -60
  341. package/vue/UiInput.d.ts +4 -7
  342. package/vue/UiInput.vue +169 -149
  343. package/vue/UiInputGroup.d.ts +8 -17
  344. package/vue/UiInputGroup.vue +81 -47
  345. package/vue/UiList.d.ts +9 -15
  346. package/vue/UiList.vue +67 -39
  347. package/vue/UiListItem.d.ts +8 -20
  348. package/vue/UiListItem.vue +87 -52
  349. package/vue/UiListbox.d.ts +10 -28
  350. package/vue/UiListbox.vue +111 -71
  351. package/vue/UiMenu.d.ts +10 -25
  352. package/vue/UiMenu.vue +96 -65
  353. package/vue/UiMenuGroup.d.ts +8 -5
  354. package/vue/UiMenuGroup.vue +40 -12
  355. package/vue/UiMenuItem.d.ts +8 -20
  356. package/vue/UiMenuItem.vue +91 -55
  357. package/vue/UiMeter.d.ts +9 -33
  358. package/vue/UiMeter.vue +203 -148
  359. package/vue/UiNavItem.d.ts +9 -24
  360. package/vue/UiNavItem.vue +78 -63
  361. package/vue/UiPageHeader.d.ts +8 -5
  362. package/vue/UiPageHeader.vue +45 -12
  363. package/vue/UiPopover.d.ts +8 -14
  364. package/vue/UiPopover.vue +90 -58
  365. package/vue/UiRadio.d.ts +8 -20
  366. package/vue/UiRadio.vue +91 -52
  367. package/vue/UiRadioGroup.d.ts +8 -26
  368. package/vue/UiRadioGroup.vue +109 -74
  369. package/vue/UiReel.d.ts +8 -11
  370. package/vue/UiReel.vue +56 -28
  371. package/vue/UiScrollArea.d.ts +9 -18
  372. package/vue/UiScrollArea.vue +81 -53
  373. package/vue/UiSearchResultRow.d.ts +8 -11
  374. package/vue/UiSearchResultRow.vue +60 -31
  375. package/vue/UiSearchShell.d.ts +8 -14
  376. package/vue/UiSearchShell.vue +73 -36
  377. package/vue/UiSection.d.ts +8 -11
  378. package/vue/UiSection.vue +60 -31
  379. package/vue/UiSelect.d.ts +8 -17
  380. package/vue/UiSelect.vue +83 -51
  381. package/vue/UiSeparator.d.ts +9 -15
  382. package/vue/UiSeparator.vue +69 -39
  383. package/vue/UiSidebar.d.ts +8 -29
  384. package/vue/UiSidebar.vue +118 -76
  385. package/vue/UiSpinner.d.ts +8 -8
  386. package/vue/UiSpinner.vue +51 -20
  387. package/vue/UiStack.d.ts +9 -18
  388. package/vue/UiStack.vue +73 -53
  389. package/vue/UiStatusMessage.d.ts +8 -11
  390. package/vue/UiStatusMessage.vue +60 -33
  391. package/vue/UiSwatch.d.ts +8 -5
  392. package/vue/UiSwatch.vue +64 -22
  393. package/vue/UiSwitch.d.ts +8 -20
  394. package/vue/UiSwitch.vue +91 -52
  395. package/vue/UiSwitcher.d.ts +9 -15
  396. package/vue/UiSwitcher.vue +64 -39
  397. package/vue/UiTable.d.ts +8 -8
  398. package/vue/UiTable.vue +56 -23
  399. package/vue/UiTabs.d.ts +8 -23
  400. package/vue/UiTabs.vue +100 -66
  401. package/vue/UiText.d.ts +9 -36
  402. package/vue/UiText.vue +152 -109
  403. package/vue/UiTextarea.d.ts +8 -29
  404. package/vue/UiTextarea.vue +118 -83
  405. package/vue/UiToast.d.ts +8 -8
  406. package/vue/UiToast.vue +55 -20
  407. package/vue/UiToastRegion.d.ts +14 -14
  408. package/vue/UiToastRegion.vue +66 -28
  409. package/vue/UiTooltip.d.ts +8 -23
  410. package/vue/UiTooltip.vue +117 -82
  411. package/vue/UiTopBar.vue +1 -1
  412. package/vue/UiTree.d.ts +8 -23
  413. package/vue/UiTree.vue +99 -69
  414. package/vue/UiTreeItem.d.ts +8 -47
  415. package/vue/UiTreeItem.vue +178 -127
  416. package/vue/chunks/UiActionBar.js +1 -1
  417. package/vue/chunks/UiAffordanceScope.js +35 -22
  418. package/vue/chunks/UiAvatar.js +81 -70
  419. package/vue/chunks/UiAvatarGroup.js +58 -46
  420. package/vue/chunks/UiBadge.js +46 -38
  421. package/vue/chunks/UiBreadcrumbItem.js +22 -11
  422. package/vue/chunks/UiBreadcrumbs.js +22 -11
  423. package/vue/chunks/UiButton.js +115 -118
  424. package/vue/chunks/UiCallout.js +32 -22
  425. package/vue/chunks/UiCard.js +53 -46
  426. package/vue/chunks/UiCheckbox.js +84 -78
  427. package/vue/chunks/UiCluster.js +63 -62
  428. package/vue/chunks/UiCombobox.js +359 -382
  429. package/vue/chunks/UiContainer.js +35 -30
  430. package/vue/chunks/UiContextMenu.js +36 -23
  431. package/vue/chunks/UiCover.js +22 -11
  432. package/vue/chunks/UiDescriptionItem.js +22 -11
  433. package/vue/chunks/UiDescriptionList.js +38 -30
  434. package/vue/chunks/UiDialog.js +78 -70
  435. package/vue/chunks/UiDisclosure.js +87 -78
  436. package/vue/chunks/UiEditable.js +102 -94
  437. package/vue/chunks/UiEditorBlockActions.js +49 -23
  438. package/vue/chunks/UiEditorChipEditor.js +48 -25
  439. package/vue/chunks/UiEditorCodeLanguage.js +58 -41
  440. package/vue/chunks/UiEditorImageToolbar.js +153 -148
  441. package/vue/chunks/UiEditorInsertTableGrid.js +55 -38
  442. package/vue/chunks/UiEditorLinkCard.js +104 -82
  443. package/vue/chunks/UiEditorLinkForm.js +282 -258
  444. package/vue/chunks/UiEditorMentionMenu.js +156 -145
  445. package/vue/chunks/UiEditorMentionMenuItem.js +39 -30
  446. package/vue/chunks/UiEditorSlashMenu.js +141 -130
  447. package/vue/chunks/UiEditorSlashMenuGroup.js +22 -11
  448. package/vue/chunks/UiEditorSlashMenuItem.js +62 -47
  449. package/vue/chunks/UiEditorSurface.js +22 -11
  450. package/vue/chunks/UiEditorTableContextMenu.js +98 -87
  451. package/vue/chunks/UiEditorTableOverlay.js +286 -308
  452. package/vue/chunks/UiEditorTableToolbar.js +102 -87
  453. package/vue/chunks/UiEditorToolbar.js +24 -11
  454. package/vue/chunks/UiFloatingActionButton.js +39 -30
  455. package/vue/chunks/UiFormField.js +41 -30
  456. package/vue/chunks/UiGrid.js +35 -30
  457. package/vue/chunks/UiIcon.js +38 -25
  458. package/vue/chunks/UiIconButton.js +102 -102
  459. package/vue/chunks/UiImage.js +67 -62
  460. package/vue/chunks/UiInput.js +275 -274
  461. package/vue/chunks/UiInputGroup.js +55 -46
  462. package/vue/chunks/UiList.js +46 -38
  463. package/vue/chunks/UiListItem.js +60 -54
  464. package/vue/chunks/UiListbox.js +83 -72
  465. package/vue/chunks/UiMenu.js +71 -63
  466. package/vue/chunks/UiMenuGroup.js +22 -11
  467. package/vue/chunks/UiMenuItem.js +63 -54
  468. package/vue/chunks/UiMeter.js +125 -120
  469. package/vue/chunks/UiNavItem.js +64 -62
  470. package/vue/chunks/UiPageHeader.js +22 -11
  471. package/vue/chunks/UiPopover.js +49 -38
  472. package/vue/chunks/UiRadio.js +63 -54
  473. package/vue/chunks/UiRadioGroup.js +77 -70
  474. package/vue/chunks/UiReel.js +35 -30
  475. package/vue/chunks/UiScrollArea.js +55 -46
  476. package/vue/chunks/UiSearchResultRow.js +39 -30
  477. package/vue/chunks/UiSearchShell.js +49 -38
  478. package/vue/chunks/UiSection.js +39 -30
  479. package/vue/chunks/UiSelect.js +57 -48
  480. package/vue/chunks/UiSeparator.js +46 -38
  481. package/vue/chunks/UiSidebar.js +88 -78
  482. package/vue/chunks/UiSpinner.js +32 -22
  483. package/vue/chunks/UiStack.js +47 -46
  484. package/vue/chunks/UiStatusMessage.js +39 -30
  485. package/vue/chunks/UiSwatch.js +28 -14
  486. package/vue/chunks/UiSwitch.js +63 -54
  487. package/vue/chunks/UiSwitcher.js +44 -38
  488. package/vue/chunks/UiTable.js +34 -22
  489. package/vue/chunks/UiTabs.js +73 -62
  490. package/vue/chunks/UiText.js +95 -94
  491. package/vue/chunks/UiTextarea.js +84 -80
  492. package/vue/chunks/UiToast.js +34 -22
  493. package/vue/chunks/UiToastRegion.js +36 -23
  494. package/vue/chunks/UiTooltip.js +70 -62
  495. package/vue/chunks/UiTopBar.js +1 -1
  496. package/vue/chunks/UiTree.js +69 -62
  497. package/vue/chunks/UiTreeItem.js +154 -151
  498. package/vue/chunks/_plugin-vue_export-helper.js +185 -36
  499. package/vue/chunks/control.js +6 -1
  500. package/vue/chunks/props.js +435 -11
  501. package/vue/components.css +39 -39
  502. package/vue/editor/index.js +129 -291
  503. package/vue/host.ts +320 -14
  504. package/vue/props.d.ts +272 -0
@@ -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.64 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'
@@ -17,7 +17,18 @@ import {
17
17
  warnUnless,
18
18
  } from './host'
19
19
  import { acceptsControllerWrite } from './props'
20
- import { checkedProp, propValidityState, vPropValidity } from './props'
20
+ import {
21
+ BINDING_INPUTS_PROP,
22
+ checkedProp,
23
+ checkPropInput,
24
+ type InputBindings,
25
+ propValidityState,
26
+ READY_INPUT,
27
+ requireInputStatus,
28
+ UNRESOLVED_INPUT,
29
+ vPropValidity,
30
+ vuePropInputs,
31
+ } from './props'
21
32
  import UiBadge from './UiBadge.vue'
22
33
  import UiTooltip from './UiTooltip.vue'
23
34
 
@@ -268,52 +279,49 @@ const propValidityContract = {
268
279
  },
269
280
  } as const
270
281
  const props = defineProps({
271
- allowCreate: { type: null as unknown as PropType<boolean | null>, default: false },
272
- allowFreeText: { type: null as unknown as PropType<boolean | null>, default: false },
273
- autoHighlight: { type: null as unknown as PropType<'none' | 'single' | null>, default: 'none' },
274
- clearQueryOnBlur: { type: null as unknown as PropType<boolean | null>, default: false },
275
- clearable: { type: null as unknown as PropType<boolean | null>, default: false },
276
- disabled: { type: null as unknown as PropType<boolean | null>, default: false },
277
- disclosure: { type: null as unknown as PropType<boolean | null>, default: false },
278
- filter: { type: null as unknown as PropType<'label' | 'none' | null>, default: 'label' },
279
- help: { type: null as unknown as PropType<string | null>, default: '' },
280
- invalid: { type: null as unknown as PropType<boolean | null>, default: false },
282
+ allowCreate: { type: null as unknown as PropType<boolean | null> },
283
+ allowFreeText: { type: null as unknown as PropType<boolean | null> },
284
+ autoHighlight: { type: null as unknown as PropType<'none' | 'single' | null> },
285
+ clearQueryOnBlur: { type: null as unknown as PropType<boolean | null> },
286
+ clearable: { type: null as unknown as PropType<boolean | null> },
287
+ disabled: { type: null as unknown as PropType<boolean | null> },
288
+ disclosure: { type: null as unknown as PropType<boolean | null> },
289
+ filter: { type: null as unknown as PropType<'label' | 'none' | null> },
290
+ help: { type: null as unknown as PropType<string | null> },
291
+ invalid: { type: null as unknown as PropType<boolean | null> },
281
292
  items: {
282
293
  type: null as unknown as PropType<
283
294
  readonly ({
284
295
  readonly id: string
285
296
  readonly value: string
286
297
  readonly label: string
287
- readonly group?: string
288
- readonly disabled?: boolean
289
- readonly description?: string
298
+ readonly group?: string | null
299
+ readonly disabled?: boolean | null
300
+ readonly description?: string | null
290
301
  readonly tag?: {
291
302
  readonly label: string
292
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
293
- readonly color?: string
294
- }
303
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
304
+ readonly color?: string | null
305
+ } | null
295
306
  })[] | null
296
307
  >,
297
- default: null,
298
308
  },
299
- label: { type: null as unknown as PropType<string | null>, default: '' },
300
- labelVisibility: {
301
- type: null as unknown as PropType<'visible' | 'sr-only' | null>,
302
- default: 'visible',
303
- },
304
- loading: { type: null as unknown as PropType<boolean | null>, default: false },
305
- multiple: { type: null as unknown as PropType<boolean | null>, default: false },
306
- name: { type: null as unknown as PropType<string | null>, default: '' },
307
- openOnFocus: { type: null as unknown as PropType<boolean | null>, default: false },
308
- placeholder: { type: null as unknown as PropType<string | null>, default: '' },
309
- query: { type: null as unknown as PropType<string | null>, default: null },
310
- readonly: { type: null as unknown as PropType<boolean | null>, default: false },
311
- required: { type: null as unknown as PropType<boolean | null>, default: false },
312
- selectOnTab: { type: null as unknown as PropType<boolean | null>, default: false },
313
- selectedValues: { type: null as unknown as PropType<readonly (string)[] | null>, default: null },
314
- size: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null>, default: 'md' },
315
- tokenSeparators: { type: null as unknown as PropType<readonly (string)[] | null>, default: null },
316
- value: { type: null as unknown as PropType<string | null>, default: null },
309
+ label: { type: null as unknown as PropType<string | null> },
310
+ labelVisibility: { type: null as unknown as PropType<'visible' | 'sr-only' | null> },
311
+ loading: { type: null as unknown as PropType<boolean | null> },
312
+ multiple: { type: null as unknown as PropType<boolean | null> },
313
+ name: { type: null as unknown as PropType<string | null> },
314
+ openOnFocus: { type: null as unknown as PropType<boolean | null> },
315
+ placeholder: { type: null as unknown as PropType<string | null> },
316
+ query: { type: null as unknown as PropType<string | null> },
317
+ readonly: { type: null as unknown as PropType<boolean | null> },
318
+ required: { type: null as unknown as PropType<boolean | null> },
319
+ selectOnTab: { type: null as unknown as PropType<boolean | null> },
320
+ selectedValues: { type: null as unknown as PropType<readonly (string)[] | null> },
321
+ size: { type: null as unknown as PropType<'sm' | 'md' | 'lg' | null> },
322
+ tokenSeparators: { type: null as unknown as PropType<readonly (string)[] | null> },
323
+ value: { type: null as unknown as PropType<string | null> },
324
+ [BINDING_INPUTS_PROP]: { type: null as unknown as PropType<InputBindings> },
317
325
  })
318
326
  const acceptedProps: Record<string, unknown> = {
319
327
  allowCreate: false,
@@ -343,239 +351,281 @@ const acceptedProps: Record<string, unknown> = {
343
351
  tokenSeparators: null,
344
352
  value: null,
345
353
  }
346
- const checkedProps = computed(() => ({
347
- allowCreate: checkedProp<boolean>(
348
- props['allowCreate'],
349
- { kind: 'terminal', name: 'boolean' },
350
- false,
351
- 'allowCreate',
352
- acceptedProps,
353
- ) as boolean,
354
- allowFreeText: checkedProp<boolean>(
355
- props['allowFreeText'],
356
- { kind: 'terminal', name: 'boolean' },
357
- false,
358
- 'allowFreeText',
359
- acceptedProps,
360
- ) as boolean,
361
- autoHighlight: checkedProp<'none' | 'single'>(
362
- props['autoHighlight'],
363
- { kind: 'terminal', name: 'keyword' },
364
- false,
365
- 'autoHighlight',
366
- acceptedProps,
367
- ) as 'none' | 'single',
368
- clearQueryOnBlur: checkedProp<boolean>(
369
- props['clearQueryOnBlur'],
370
- { kind: 'terminal', name: 'boolean' },
371
- false,
372
- 'clearQueryOnBlur',
373
- acceptedProps,
374
- ) as boolean,
375
- clearable: checkedProp<boolean>(
376
- props['clearable'],
377
- { kind: 'terminal', name: 'boolean' },
378
- false,
379
- 'clearable',
380
- acceptedProps,
381
- ) as boolean,
382
- disabled: checkedProp<boolean>(
383
- props['disabled'],
384
- { kind: 'terminal', name: 'boolean' },
385
- false,
386
- 'disabled',
387
- acceptedProps,
388
- ) as boolean,
389
- disclosure: checkedProp<boolean>(
390
- props['disclosure'],
391
- { kind: 'terminal', name: 'boolean' },
392
- false,
393
- 'disclosure',
394
- acceptedProps,
395
- ) as boolean,
396
- filter: checkedProp<'label' | 'none'>(
397
- props['filter'],
398
- { kind: 'terminal', name: 'keyword' },
399
- false,
400
- 'filter',
401
- acceptedProps,
402
- ) as 'label' | 'none',
403
- help: checkedProp<string>(
404
- props['help'],
405
- { kind: 'terminal', name: 'string' },
406
- false,
407
- 'help',
408
- acceptedProps,
409
- ) as string,
410
- invalid: checkedProp<boolean>(
411
- props['invalid'],
412
- { kind: 'terminal', name: 'boolean' },
413
- false,
414
- 'invalid',
415
- acceptedProps,
416
- ) as boolean,
417
- items: checkedProp<
418
- readonly ({
419
- readonly id: string
420
- readonly value: string
421
- readonly label: string
422
- readonly group?: string
423
- readonly disabled?: boolean
424
- readonly description?: string
425
- readonly tag?: {
426
- readonly label: string
427
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
428
- readonly color?: string
429
- }
430
- })[]
431
- >(
432
- props['items'],
433
- {
434
- kind: 'list',
435
- item: {
436
- kind: 'object',
437
- fields: [
438
- { name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false },
439
- { name: 'value', type: { kind: 'terminal', name: 'string' }, optional: false },
440
- { name: 'label', type: { kind: 'terminal', name: 'string' }, optional: false },
441
- { name: 'group', type: { kind: 'terminal', name: 'string' }, optional: true },
442
- { name: 'disabled', type: { kind: 'terminal', name: 'boolean' }, optional: true },
443
- { name: 'description', type: { kind: 'terminal', name: 'string' }, optional: true },
444
- {
445
- name: 'tag',
446
- type: {
447
- kind: 'object',
448
- fields: [{
449
- name: 'label',
450
- type: { kind: 'terminal', name: 'string' },
451
- optional: false,
452
- }, {
453
- name: 'tone',
354
+ const inputTracking = vuePropInputs(acceptedProps, {
355
+ allowCreate: false,
356
+ allowFreeText: false,
357
+ autoHighlight: 'none',
358
+ clearQueryOnBlur: false,
359
+ clearable: false,
360
+ disabled: false,
361
+ disclosure: false,
362
+ filter: 'label',
363
+ help: '',
364
+ invalid: false,
365
+ label: '',
366
+ labelVisibility: 'visible',
367
+ loading: false,
368
+ multiple: false,
369
+ name: '',
370
+ openOnFocus: false,
371
+ placeholder: '',
372
+ readonly: false,
373
+ required: false,
374
+ selectOnTab: false,
375
+ size: 'md',
376
+ }, (name, value, source, values) => {
377
+ switch (name) {
378
+ case 'allowCreate':
379
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
380
+ case 'allowFreeText':
381
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
382
+ case 'autoHighlight':
383
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
384
+ case 'clearQueryOnBlur':
385
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
386
+ case 'clearable':
387
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
388
+ case 'disabled':
389
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
390
+ case 'disclosure':
391
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
392
+ case 'filter':
393
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
394
+ case 'help':
395
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
396
+ case 'invalid':
397
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
398
+ case 'items':
399
+ return checkPropInput(
400
+ value,
401
+ {
402
+ kind: 'list',
403
+ item: {
404
+ kind: 'object',
405
+ fields: [
406
+ { name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false },
407
+ { name: 'value', type: { kind: 'terminal', name: 'string' }, optional: false },
408
+ { name: 'label', type: { kind: 'terminal', name: 'string' }, optional: false },
409
+ { name: 'group', type: { kind: 'terminal', name: 'string' }, optional: true },
410
+ { name: 'disabled', type: { kind: 'terminal', name: 'boolean' }, optional: true },
411
+ { name: 'description', type: { kind: 'terminal', name: 'string' }, optional: true },
412
+ {
413
+ name: 'tag',
454
414
  type: {
455
- kind: 'constrained',
456
- base: { kind: 'terminal', name: 'keyword' },
457
- values: ['neutral', 'accent', 'info', 'success', 'warning', 'danger'],
415
+ kind: 'object',
416
+ fields: [{
417
+ name: 'label',
418
+ type: { kind: 'terminal', name: 'string' },
419
+ optional: false,
420
+ }, {
421
+ name: 'tone',
422
+ type: {
423
+ kind: 'constrained',
424
+ base: { kind: 'terminal', name: 'keyword' },
425
+ values: ['neutral', 'accent', 'info', 'success', 'warning', 'danger'],
426
+ },
427
+ optional: true,
428
+ }, { name: 'color', type: { kind: 'terminal', name: 'string' }, optional: true }],
429
+ open: false,
458
430
  },
459
431
  optional: true,
460
- }, { name: 'color', type: { kind: 'terminal', name: 'string' }, optional: true }],
461
- open: false,
462
- },
463
- optional: true,
432
+ },
433
+ ],
434
+ open: false,
464
435
  },
465
- ],
466
- open: false,
467
- },
468
- },
469
- false,
470
- 'items',
471
- acceptedProps,
472
- ),
473
- label: checkedProp<string>(
474
- props['label'],
475
- { kind: 'terminal', name: 'string' },
476
- false,
477
- 'label',
478
- acceptedProps,
479
- ) as string,
480
- labelVisibility: checkedProp<'visible' | 'sr-only'>(
481
- props['labelVisibility'],
482
- { kind: 'terminal', name: 'keyword' },
483
- false,
484
- 'labelVisibility',
485
- acceptedProps,
486
- ) as 'visible' | 'sr-only',
487
- loading: checkedProp<boolean>(
488
- props['loading'],
489
- { kind: 'terminal', name: 'boolean' },
490
- false,
491
- 'loading',
492
- acceptedProps,
493
- ) as boolean,
494
- multiple: checkedProp<boolean>(
495
- props['multiple'],
496
- { kind: 'terminal', name: 'boolean' },
497
- false,
498
- 'multiple',
499
- acceptedProps,
500
- ) as boolean,
501
- name: checkedProp<string>(
502
- props['name'],
503
- { kind: 'terminal', name: 'string' },
504
- false,
505
- 'name',
506
- acceptedProps,
507
- ) as string,
508
- openOnFocus: checkedProp<boolean>(
509
- props['openOnFocus'],
510
- { kind: 'terminal', name: 'boolean' },
511
- false,
512
- 'openOnFocus',
513
- acceptedProps,
514
- ) as boolean,
515
- placeholder: checkedProp<string>(
516
- props['placeholder'],
517
- { kind: 'terminal', name: 'string' },
518
- false,
519
- 'placeholder',
520
- acceptedProps,
521
- ) as string,
522
- query: checkedProp<string>(
523
- props['query'],
524
- { kind: 'terminal', name: 'string' },
525
- false,
526
- 'query',
527
- acceptedProps,
528
- ),
529
- readonly: checkedProp<boolean>(
530
- props['readonly'],
531
- { kind: 'terminal', name: 'boolean' },
532
- false,
533
- 'readonly',
534
- acceptedProps,
535
- ) as boolean,
536
- required: checkedProp<boolean>(
537
- props['required'],
538
- { kind: 'terminal', name: 'boolean' },
539
- false,
540
- 'required',
541
- acceptedProps,
542
- ) as boolean,
543
- selectOnTab: checkedProp<boolean>(
544
- props['selectOnTab'],
545
- { kind: 'terminal', name: 'boolean' },
546
- false,
547
- 'selectOnTab',
548
- acceptedProps,
549
- ) as boolean,
550
- selectedValues: checkedProp<readonly (string)[]>(
551
- props['selectedValues'],
552
- { kind: 'list', item: { kind: 'terminal', name: 'string' } },
553
- false,
554
- 'selectedValues',
555
- acceptedProps,
556
- ),
557
- size: checkedProp<'sm' | 'md' | 'lg'>(
558
- props['size'],
559
- { kind: 'terminal', name: 'keyword' },
560
- false,
561
- 'size',
562
- acceptedProps,
563
- ) as 'sm' | 'md' | 'lg',
564
- tokenSeparators: checkedProp<readonly (string)[]>(
565
- props['tokenSeparators'],
566
- { kind: 'list', item: { kind: 'terminal', name: 'string' } },
567
- false,
568
- 'tokenSeparators',
569
- acceptedProps,
570
- ),
571
- value: checkedProp<string>(
572
- props['value'],
573
- { kind: 'terminal', name: 'string' },
574
- false,
575
- 'value',
576
- acceptedProps,
577
- ),
578
- }))
436
+ },
437
+ true,
438
+ true,
439
+ )
440
+ case 'label':
441
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
442
+ case 'labelVisibility':
443
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
444
+ case 'loading':
445
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
446
+ case 'multiple':
447
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
448
+ case 'name':
449
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
450
+ case 'openOnFocus':
451
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
452
+ case 'placeholder':
453
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
454
+ case 'query':
455
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
456
+ case 'readonly':
457
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
458
+ case 'required':
459
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
460
+ case 'selectOnTab':
461
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
462
+ case 'selectedValues':
463
+ return checkPropInput(
464
+ value,
465
+ { kind: 'list', item: { kind: 'terminal', name: 'string' } },
466
+ true,
467
+ true,
468
+ )
469
+ case 'size':
470
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
471
+ case 'tokenSeparators':
472
+ return checkPropInput(
473
+ value,
474
+ { kind: 'list', item: { kind: 'terminal', name: 'string' } },
475
+ true,
476
+ true,
477
+ )
478
+ case 'value':
479
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
480
+ default:
481
+ return { ok: false }
482
+ }
483
+ }, () => {
484
+ void checkedProps.value
485
+ })
486
+ const propInputs = inputTracking.inputs
487
+ const checkedProps = computed(() => {
488
+ void inputTracking.version.value
489
+ return ({
490
+ allowCreate: propInputs.value<boolean | null>(
491
+ 'allowCreate',
492
+ props['allowCreate'],
493
+ props[BINDING_INPUTS_PROP],
494
+ ) as boolean,
495
+ allowFreeText: propInputs.value<boolean | null>(
496
+ 'allowFreeText',
497
+ props['allowFreeText'],
498
+ props[BINDING_INPUTS_PROP],
499
+ ) as boolean,
500
+ autoHighlight: propInputs.value<'none' | 'single' | null>(
501
+ 'autoHighlight',
502
+ props['autoHighlight'],
503
+ props[BINDING_INPUTS_PROP],
504
+ ) as 'none' | 'single',
505
+ clearQueryOnBlur: propInputs.value<boolean | null>(
506
+ 'clearQueryOnBlur',
507
+ props['clearQueryOnBlur'],
508
+ props[BINDING_INPUTS_PROP],
509
+ ) as boolean,
510
+ clearable: propInputs.value<boolean | null>(
511
+ 'clearable',
512
+ props['clearable'],
513
+ props[BINDING_INPUTS_PROP],
514
+ ) as boolean,
515
+ disabled: propInputs.value<boolean | null>(
516
+ 'disabled',
517
+ props['disabled'],
518
+ props[BINDING_INPUTS_PROP],
519
+ ) as boolean,
520
+ disclosure: propInputs.value<boolean | null>(
521
+ 'disclosure',
522
+ props['disclosure'],
523
+ props[BINDING_INPUTS_PROP],
524
+ ) as boolean,
525
+ filter: propInputs.value<'label' | 'none' | null>(
526
+ 'filter',
527
+ props['filter'],
528
+ props[BINDING_INPUTS_PROP],
529
+ ) as 'label' | 'none',
530
+ help: propInputs.value<string | null>(
531
+ 'help',
532
+ props['help'],
533
+ props[BINDING_INPUTS_PROP],
534
+ ) as string,
535
+ invalid: propInputs.value<boolean | null>(
536
+ 'invalid',
537
+ props['invalid'],
538
+ props[BINDING_INPUTS_PROP],
539
+ ) as boolean,
540
+ items: propInputs.value<
541
+ readonly ({
542
+ readonly id: string
543
+ readonly value: string
544
+ readonly label: string
545
+ readonly group?: string | null
546
+ readonly disabled?: boolean | null
547
+ readonly description?: string | null
548
+ readonly tag?: {
549
+ readonly label: string
550
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
551
+ readonly color?: string | null
552
+ } | null
553
+ })[] | null
554
+ >('items', props['items'], props[BINDING_INPUTS_PROP]),
555
+ label: propInputs.value<string | null>(
556
+ 'label',
557
+ props['label'],
558
+ props[BINDING_INPUTS_PROP],
559
+ ) as string,
560
+ labelVisibility: propInputs.value<'visible' | 'sr-only' | null>(
561
+ 'labelVisibility',
562
+ props['labelVisibility'],
563
+ props[BINDING_INPUTS_PROP],
564
+ ) as 'visible' | 'sr-only',
565
+ loading: propInputs.value<boolean | null>(
566
+ 'loading',
567
+ props['loading'],
568
+ props[BINDING_INPUTS_PROP],
569
+ ) as boolean,
570
+ multiple: propInputs.value<boolean | null>(
571
+ 'multiple',
572
+ props['multiple'],
573
+ props[BINDING_INPUTS_PROP],
574
+ ) as boolean,
575
+ name: propInputs.value<string | null>(
576
+ 'name',
577
+ props['name'],
578
+ props[BINDING_INPUTS_PROP],
579
+ ) as string,
580
+ openOnFocus: propInputs.value<boolean | null>(
581
+ 'openOnFocus',
582
+ props['openOnFocus'],
583
+ props[BINDING_INPUTS_PROP],
584
+ ) as boolean,
585
+ placeholder: propInputs.value<string | null>(
586
+ 'placeholder',
587
+ props['placeholder'],
588
+ props[BINDING_INPUTS_PROP],
589
+ ) as string,
590
+ query: propInputs.value<string | null>('query', props['query'], props[BINDING_INPUTS_PROP]),
591
+ readonly: propInputs.value<boolean | null>(
592
+ 'readonly',
593
+ props['readonly'],
594
+ props[BINDING_INPUTS_PROP],
595
+ ) as boolean,
596
+ required: propInputs.value<boolean | null>(
597
+ 'required',
598
+ props['required'],
599
+ props[BINDING_INPUTS_PROP],
600
+ ) as boolean,
601
+ selectOnTab: propInputs.value<boolean | null>(
602
+ 'selectOnTab',
603
+ props['selectOnTab'],
604
+ props[BINDING_INPUTS_PROP],
605
+ ) as boolean,
606
+ selectedValues: propInputs.value<readonly (string)[] | null>(
607
+ 'selectedValues',
608
+ props['selectedValues'],
609
+ props[BINDING_INPUTS_PROP],
610
+ ),
611
+ size: propInputs.value<'sm' | 'md' | 'lg' | null>(
612
+ 'size',
613
+ props['size'],
614
+ props[BINDING_INPUTS_PROP],
615
+ ) as 'sm' | 'md' | 'lg',
616
+ tokenSeparators: propInputs.value<readonly (string)[] | null>(
617
+ 'tokenSeparators',
618
+ props['tokenSeparators'],
619
+ props[BINDING_INPUTS_PROP],
620
+ ),
621
+ value: propInputs.value<string | null>('value', props['value'], props[BINDING_INPUTS_PROP]),
622
+ })
623
+ })
624
+ const inputStatus = (name: string, handlesError: boolean) => {
625
+ void checkedProps.value
626
+ void inputTracking.version.value
627
+ return requireInputStatus(propInputs.status(name), handlesError)
628
+ }
579
629
  void checkedProps.value
580
630
  watchSyncEffect(() => {
581
631
  void checkedProps.value
@@ -598,20 +648,20 @@ const emit = defineEmits<{
598
648
  'value-change': [
599
649
  event: CustomEvent<
600
650
  {
601
- readonly value: string | null
651
+ readonly value?: string | null
602
652
  readonly query: string
603
- readonly option: {
653
+ readonly option?: {
604
654
  readonly id: string
605
655
  readonly value: string
606
656
  readonly label: string
607
- readonly group?: string
608
- readonly disabled?: boolean
609
- readonly description?: string
657
+ readonly group?: string | null
658
+ readonly disabled?: boolean | null
659
+ readonly description?: string | null
610
660
  readonly tag?: {
611
661
  readonly label: string
612
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
613
- readonly color?: string
614
- }
662
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
663
+ readonly color?: string | null
664
+ } | null
615
665
  } | null
616
666
  readonly kind: 'selection' | 'clear' | 'free-entry' | 'create'
617
667
  readonly trigger: 'keyboard' | 'pointer' | 'programmatic'
@@ -624,34 +674,34 @@ const emit = defineEmits<{
624
674
  readonly id: string
625
675
  readonly value: string
626
676
  readonly label: string
627
- readonly group?: string
628
- readonly disabled?: boolean
629
- readonly description?: string
677
+ readonly group?: string | null
678
+ readonly disabled?: boolean | null
679
+ readonly description?: string | null
630
680
  readonly tag?: {
631
681
  readonly label: string
632
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
633
- readonly color?: string
634
- }
682
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
683
+ readonly color?: string | null
684
+ } | null
635
685
  })[]
636
686
  >,
637
687
  ]
638
688
  'free-entry': [
639
689
  event: CustomEvent<
640
690
  {
641
- readonly value: string | null
691
+ readonly value?: string | null
642
692
  readonly query: string
643
- readonly option: {
693
+ readonly option?: {
644
694
  readonly id: string
645
695
  readonly value: string
646
696
  readonly label: string
647
- readonly group?: string
648
- readonly disabled?: boolean
649
- readonly description?: string
697
+ readonly group?: string | null
698
+ readonly disabled?: boolean | null
699
+ readonly description?: string | null
650
700
  readonly tag?: {
651
701
  readonly label: string
652
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
653
- readonly color?: string
654
- }
702
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
703
+ readonly color?: string | null
704
+ } | null
655
705
  } | null
656
706
  readonly kind: 'selection' | 'clear' | 'free-entry' | 'create'
657
707
  readonly trigger: 'keyboard' | 'pointer' | 'programmatic'
@@ -661,20 +711,20 @@ const emit = defineEmits<{
661
711
  'create-entry': [
662
712
  event: CustomEvent<
663
713
  {
664
- readonly value: string | null
714
+ readonly value?: string | null
665
715
  readonly query: string
666
- readonly option: {
716
+ readonly option?: {
667
717
  readonly id: string
668
718
  readonly value: string
669
719
  readonly label: string
670
- readonly group?: string
671
- readonly disabled?: boolean
672
- readonly description?: string
720
+ readonly group?: string | null
721
+ readonly disabled?: boolean | null
722
+ readonly description?: string | null
673
723
  readonly tag?: {
674
724
  readonly label: string
675
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
676
- readonly color?: string
677
- }
725
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
726
+ readonly color?: string | null
727
+ } | null
678
728
  } | null
679
729
  readonly kind: 'selection' | 'clear' | 'free-entry' | 'create'
680
730
  readonly trigger: 'keyboard' | 'pointer' | 'programmatic'
@@ -690,10 +740,10 @@ const emit = defineEmits<{
690
740
  readonly issues:
691
741
  readonly ({
692
742
  readonly message: string
693
- readonly path?: readonly (unknown)[]
694
- readonly severity?: 'error' | 'warning'
743
+ readonly path?: readonly (unknown)[] | null
744
+ readonly severity?: 'error' | 'warning' | null
695
745
  })[]
696
- readonly output?: unknown
746
+ readonly output?: unknown | null
697
747
  }
698
748
  >,
699
749
  ]
@@ -703,14 +753,14 @@ const emit = defineEmits<{
703
753
  readonly id: string
704
754
  readonly value: string
705
755
  readonly label: string
706
- readonly group?: string
707
- readonly disabled?: boolean
708
- readonly description?: string
756
+ readonly group?: string | null
757
+ readonly disabled?: boolean | null
758
+ readonly description?: string | null
709
759
  readonly tag?: {
710
760
  readonly label: string
711
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
712
- readonly color?: string
713
- }
761
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
762
+ readonly color?: string | null
763
+ } | null
714
764
  })[]
715
765
  >,
716
766
  ]
@@ -721,14 +771,14 @@ const emit = defineEmits<{
721
771
  readonly id: string
722
772
  readonly value: string
723
773
  readonly label: string
724
- readonly group?: string
725
- readonly disabled?: boolean
726
- readonly description?: string
774
+ readonly group?: string | null
775
+ readonly disabled?: boolean | null
776
+ readonly description?: string | null
727
777
  readonly tag?: {
728
778
  readonly label: string
729
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
730
- readonly color?: string
731
- }
779
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
780
+ readonly color?: string | null
781
+ } | null
732
782
  }
733
783
  readonly index: number
734
784
  readonly trigger: 'keyboard' | 'pointer' | 'programmatic'
@@ -742,14 +792,14 @@ const emit = defineEmits<{
742
792
  readonly id: string
743
793
  readonly value: string
744
794
  readonly label: string
745
- readonly group?: string
746
- readonly disabled?: boolean
747
- readonly description?: string
795
+ readonly group?: string | null
796
+ readonly disabled?: boolean | null
797
+ readonly description?: string | null
748
798
  readonly tag?: {
749
799
  readonly label: string
750
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
751
- readonly color?: string
752
- }
800
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
801
+ readonly color?: string | null
802
+ } | null
753
803
  }
754
804
  readonly index: number
755
805
  readonly trigger: 'keyboard' | 'pointer' | 'programmatic'
@@ -830,7 +880,7 @@ const groups = ref<
830
880
  {
831
881
  name: string
832
882
  role: 'group' | 'presentation'
833
- label: string | null
883
+ label?: string
834
884
  rows: {
835
885
  id: string
836
886
  value: string
@@ -845,8 +895,8 @@ const groups = ref<
845
895
  color?: string
846
896
  }
847
897
  index: number
848
- labelledBy: string | null
849
- detail: string | null
898
+ labelledBy?: string
899
+ detail?: string
850
900
  option: {
851
901
  id: string
852
902
  value: string
@@ -901,83 +951,71 @@ const guardedBinding3 = computed(() => {
901
951
  return guardedBinding3Previous = checkedProps.value.required
902
952
  && !(checkedProps.value.multiple && internalItems.value[0])
903
953
  })
904
- let guardedBinding4Previous: any
954
+ let guardedBinding4Previous: any = null
905
955
  const guardedBinding4 = computed(() => {
906
- if (
907
- !(warnUnless(
908
- selected.value == null || (typeof selected.value === 'string' || selected.value === null),
909
- '$disabled or $readonly or (not $raw and ($multiple or $selected = null)):selected',
910
- './components/ui-combobox/ui-combobox.html: HR007: Reference selected does not satisfy its declared type.',
911
- ))
912
- ) return guardedBinding4Previous
913
- return guardedBinding4Previous = checkedProps.value.disabled || checkedProps.value.readonly
914
- || (!raw.value && (checkedProps.value.multiple || selected.value === null))
956
+ const candidate: any = concat(uid.value, '-listbox')
957
+ if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding4Previous
958
+ return guardedBinding4Previous = candidate
915
959
  })
916
960
  let guardedBinding5Previous: any = null
917
961
  const guardedBinding5 = computed(() => {
918
- const candidate: any = concat(uid.value, '-listbox')
962
+ const candidate: any = concat(uid.value, '-help')
919
963
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding5Previous
920
964
  return guardedBinding5Previous = candidate
921
965
  })
922
966
  let guardedBinding6Previous: any = null
923
967
  const guardedBinding6 = computed(() => {
924
- const candidate: any = concat(uid.value, '-help')
968
+ const candidate: any = concat(uid.value, '-help-text')
925
969
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding6Previous
926
970
  return guardedBinding6Previous = candidate
927
971
  })
928
972
  let guardedBinding7Previous: any = null
929
973
  const guardedBinding7 = computed(() => {
930
- const candidate: any = concat(uid.value, '-help-text')
974
+ const candidate: any = concat(uid.value, '-help')
931
975
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding7Previous
932
976
  return guardedBinding7Previous = candidate
933
977
  })
934
978
  let guardedBinding8Previous: any = null
935
979
  const guardedBinding8 = computed(() => {
936
- const candidate: any = concat(uid.value, '-help')
980
+ const candidate: any = concat(uid.value, '-listbox')
937
981
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding8Previous
938
982
  return guardedBinding8Previous = candidate
939
983
  })
940
984
  let guardedBinding9Previous: any = null
941
985
  const guardedBinding9 = computed(() => {
942
- const candidate: any = concat(uid.value, '-listbox')
986
+ const candidate: any = concat(checkedProps.value.label, ' suggestions')
943
987
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding9Previous
944
988
  return guardedBinding9Previous = candidate
945
989
  })
946
- let guardedBinding10Previous: any = null
990
+ let guardedBinding10Previous: any
947
991
  const guardedBinding10 = computed(() => {
948
- const candidate: any = concat(checkedProps.value.label, ' suggestions')
949
- if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding10Previous
950
- return guardedBinding10Previous = candidate
951
- })
952
- let guardedBinding11Previous: any
953
- const guardedBinding11 = computed(() => {
954
992
  if (
955
993
  !(warnUnless(
956
994
  active.value == null || Number.isInteger(active.value),
957
995
  '$createIndex = $active:active',
958
996
  './components/ui-combobox/ui-combobox.html: HR007: Reference active does not satisfy its declared type.',
959
997
  ))
960
- ) return guardedBinding11Previous
961
- return guardedBinding11Previous = createIndex.value === active.value
998
+ ) return guardedBinding10Previous
999
+ return guardedBinding10Previous = createIndex.value === active.value
1000
+ })
1001
+ let guardedBinding11Previous: any = null
1002
+ const guardedBinding11 = computed(() => {
1003
+ const candidate: any = concat(uid.value, '-option-', createIndex.value)
1004
+ if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding11Previous
1005
+ return guardedBinding11Previous = candidate
962
1006
  })
963
1007
  let guardedBinding12Previous: any = null
964
1008
  const guardedBinding12 = computed(() => {
965
- const candidate: any = concat(uid.value, '-option-', createIndex.value)
1009
+ const candidate: any = concat('Create “', raw.value, '”')
966
1010
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding12Previous
967
1011
  return guardedBinding12Previous = candidate
968
1012
  })
969
1013
  let guardedBinding13Previous: any = null
970
1014
  const guardedBinding13 = computed(() => {
971
- const candidate: any = concat('Create “', raw.value, '”')
1015
+ const candidate: any = concat(uid.value, '-validation')
972
1016
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding13Previous
973
1017
  return guardedBinding13Previous = candidate
974
1018
  })
975
- let guardedBinding14Previous: any = null
976
- const guardedBinding14 = computed(() => {
977
- const candidate: any = concat(uid.value, '-validation')
978
- if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding14Previous
979
- return guardedBinding14Previous = candidate
980
- })
981
1019
  provide('html-next:ui-combobox:internalItems', internalItems)
982
1020
  provide('html-next:ui-combobox:raw', raw)
983
1021
  provide('html-next:ui-combobox:display', display)
@@ -1006,14 +1044,14 @@ defineSlots<
1006
1044
  readonly id: string
1007
1045
  readonly value: string
1008
1046
  readonly label: string
1009
- readonly group?: string
1010
- readonly disabled?: boolean
1011
- readonly description?: string
1047
+ readonly group?: string | null
1048
+ readonly disabled?: boolean | null
1049
+ readonly description?: string | null
1012
1050
  readonly tag?: {
1013
1051
  readonly label: string
1014
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
1015
- readonly color?: string
1016
- }
1052
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
1053
+ readonly color?: string | null
1054
+ } | null
1017
1055
  }
1018
1056
  },
1019
1057
  ): any
@@ -1023,15 +1061,15 @@ defineSlots<
1023
1061
  readonly id: string
1024
1062
  readonly value: string
1025
1063
  readonly label: string
1026
- readonly group?: string
1027
- readonly disabled?: boolean
1028
- readonly description?: string
1064
+ readonly group?: string | null
1065
+ readonly disabled?: boolean | null
1066
+ readonly description?: string | null
1029
1067
  readonly tag?: {
1030
1068
  readonly label: string
1031
- readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger'
1032
- readonly color?: string
1033
- }
1034
- readonly selected?: boolean
1069
+ readonly tone?: 'neutral' | 'accent' | 'info' | 'success' | 'warning' | 'danger' | null
1070
+ readonly color?: string | null
1071
+ } | null
1072
+ readonly selected?: boolean | null
1035
1073
  }
1036
1074
  },
1037
1075
  ): any
@@ -1066,78 +1104,81 @@ const isQueryChangeDetail = (
1066
1104
  const isValueChangeDetail = (
1067
1105
  detail: unknown,
1068
1106
  ): boolean => (detail !== null && typeof detail === 'object' && !Array.isArray(detail)
1069
- && (typeof (detail as Record<string, unknown>)['value'] === 'string'
1070
- || (detail as Record<string, unknown>)['value'] === null)
1107
+ && ((detail as Record<string, unknown>)['value'] == null
1108
+ || typeof (detail as Record<string, unknown>)['value'] === 'string')
1071
1109
  && typeof (detail as Record<string, unknown>)['query'] === 'string'
1072
- && (((detail as Record<string, unknown>)['option'] !== null
1073
- && typeof (detail as Record<string, unknown>)['option'] === 'object'
1074
- && !Array.isArray((detail as Record<string, unknown>)['option'])
1075
- && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['id']
1076
- === 'string'
1077
- && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['value']
1078
- === 'string'
1079
- && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['label']
1080
- === 'string'
1081
- && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['group']
1082
- === undefined
1083
- || typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['group']
1084
- === 'string')
1085
- && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['disabled']
1086
- === undefined
1087
- || typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1088
- 'disabled'
1089
- ] === 'boolean')
1090
- && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['description']
1091
- === undefined
1092
- || typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1093
- 'description'
1094
- ] === 'string')
1095
- && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag']
1096
- === undefined
1097
- || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag'] !== null
1098
- && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag']
1099
- === 'object'
1100
- && !Array.isArray(
1101
- ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag'],
1102
- )
1103
- && typeof (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1104
- 'tag'
1105
- ] as Record<string, unknown>)['label'] === 'string'
1106
- && ((((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1110
+ && ((detail as Record<string, unknown>)['option'] == null
1111
+ || ((detail as Record<string, unknown>)['option'] !== null
1112
+ && typeof (detail as Record<string, unknown>)['option'] === 'object'
1113
+ && !Array.isArray((detail as Record<string, unknown>)['option'])
1114
+ && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['id']
1115
+ === 'string'
1116
+ && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['value']
1117
+ === 'string'
1118
+ && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['label']
1119
+ === 'string'
1120
+ && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['group']
1121
+ == null
1122
+ || typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1123
+ 'group'
1124
+ ] === 'string')
1125
+ && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['disabled']
1126
+ == null
1127
+ || typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1128
+ 'disabled'
1129
+ ] === 'boolean')
1130
+ && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['description']
1131
+ == null
1132
+ || typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1133
+ 'description'
1134
+ ] === 'string')
1135
+ && (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag'] == null
1136
+ || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag']
1137
+ !== null
1138
+ && typeof ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1107
1139
  'tag'
1108
- ] as Record<string, unknown>)['tone'] === undefined
1109
- || ((((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1110
- 'tag'
1111
- ] as Record<string, unknown>)['tone'] === 'neutral'
1112
- || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1113
- 'tag'
1114
- ] as Record<string, unknown>)['tone'] === 'accent'
1115
- || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1140
+ ] === 'object'
1141
+ && !Array.isArray(
1142
+ ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)['tag'],
1143
+ )
1144
+ && typeof (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1145
+ 'tag'
1146
+ ] as Record<string, unknown>)['label'] === 'string'
1147
+ && ((((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1116
1148
  'tag'
1117
- ] as Record<string, unknown>)['tone'] === 'info'
1118
- || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1149
+ ] as Record<string, unknown>)['tone'] == null
1150
+ || ((((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1151
+ 'tag'
1152
+ ] as Record<string, unknown>)['tone'] === 'neutral'
1153
+ || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1154
+ 'tag'
1155
+ ] as Record<string, unknown>)['tone'] === 'accent'
1156
+ || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1157
+ 'tag'
1158
+ ] as Record<string, unknown>)['tone'] === 'info'
1159
+ || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1160
+ 'tag'
1161
+ ] as Record<string, unknown>)['tone'] === 'success'
1162
+ || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1163
+ 'tag'
1164
+ ] as Record<string, unknown>)['tone'] === 'warning'
1165
+ || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1166
+ 'tag'
1167
+ ] as Record<string, unknown>)['tone'] === 'danger'))
1168
+ && ((((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1119
1169
  'tag'
1120
- ] as Record<string, unknown>)['tone'] === 'success'
1121
- || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1170
+ ] as Record<string, unknown>)['color'] == null
1171
+ || typeof (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1122
1172
  'tag'
1123
- ] as Record<string, unknown>)['tone'] === 'warning'
1124
- || (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1125
- 'tag'
1126
- ] as Record<string, unknown>)['tone'] === 'danger'))
1127
- && ((((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1128
- 'tag'
1129
- ] as Record<string, unknown>)['color'] === undefined
1130
- || typeof (((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1173
+ ] as Record<string, unknown>)['color'] === 'string')
1174
+ && Object.keys(
1175
+ ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1131
1176
  'tag'
1132
- ] as Record<string, unknown>)['color'] === 'string')
1133
- && Object.keys(
1134
- ((detail as Record<string, unknown>)['option'] as Record<string, unknown>)[
1135
- 'tag'
1136
- ] as object,
1137
- ).every((key) => ['label', 'tone', 'color'].includes(key))))
1138
- && Object.keys((detail as Record<string, unknown>)['option'] as object).every((key) =>
1139
- ['id', 'value', 'label', 'group', 'disabled', 'description', 'tag'].includes(key)
1140
- )) || (detail as Record<string, unknown>)['option'] === null)
1177
+ ] as object,
1178
+ ).every((key) => ['label', 'tone', 'color'].includes(key))))
1179
+ && Object.keys((detail as Record<string, unknown>)['option'] as object).every((key) =>
1180
+ ['id', 'value', 'label', 'group', 'disabled', 'description', 'tag'].includes(key)
1181
+ )))
1141
1182
  && ((detail as Record<string, unknown>)['kind'] === 'selection'
1142
1183
  || (detail as Record<string, unknown>)['kind'] === 'clear'
1143
1184
  || (detail as Record<string, unknown>)['kind'] === 'free-entry'
@@ -1157,20 +1198,19 @@ const isItemsChangeDetail = (
1157
1198
  && typeof (item as Record<string, unknown>)['id'] === 'string'
1158
1199
  && typeof (item as Record<string, unknown>)['value'] === 'string'
1159
1200
  && typeof (item as Record<string, unknown>)['label'] === 'string'
1160
- && ((item as Record<string, unknown>)['group'] === undefined
1201
+ && ((item as Record<string, unknown>)['group'] == null
1161
1202
  || typeof (item as Record<string, unknown>)['group'] === 'string')
1162
- && ((item as Record<string, unknown>)['disabled'] === undefined
1203
+ && ((item as Record<string, unknown>)['disabled'] == null
1163
1204
  || typeof (item as Record<string, unknown>)['disabled'] === 'boolean')
1164
- && ((item as Record<string, unknown>)['description'] === undefined
1205
+ && ((item as Record<string, unknown>)['description'] == null
1165
1206
  || typeof (item as Record<string, unknown>)['description'] === 'string')
1166
- && ((item as Record<string, unknown>)['tag'] === undefined
1207
+ && ((item as Record<string, unknown>)['tag'] == null
1167
1208
  || ((item as Record<string, unknown>)['tag'] !== null
1168
1209
  && typeof (item as Record<string, unknown>)['tag'] === 'object'
1169
1210
  && !Array.isArray((item as Record<string, unknown>)['tag'])
1170
1211
  && typeof ((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['label']
1171
1212
  === 'string'
1172
- && (((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['tone']
1173
- === undefined
1213
+ && (((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['tone'] == null
1174
1214
  || (((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['tone']
1175
1215
  === 'neutral'
1176
1216
  || ((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['tone']
@@ -1183,8 +1223,7 @@ const isItemsChangeDetail = (
1183
1223
  === 'warning'
1184
1224
  || ((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['tone']
1185
1225
  === 'danger'))
1186
- && (((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['color']
1187
- === undefined
1226
+ && (((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['color'] == null
1188
1227
  || typeof ((item as Record<string, unknown>)['tag'] as Record<string, unknown>)['color']
1189
1228
  === 'string')
1190
1229
  && Object.keys((item as Record<string, unknown>)['tag'] as object).every((key) =>
@@ -1209,17 +1248,17 @@ const isValidationChangeDetail = (
1209
1248
  item: unknown,
1210
1249
  ) => (item !== null && typeof item === 'object' && !Array.isArray(item)
1211
1250
  && typeof (item as Record<string, unknown>)['message'] === 'string'
1212
- && ((item as Record<string, unknown>)['path'] === undefined
1251
+ && ((item as Record<string, unknown>)['path'] == null
1213
1252
  || (Array.isArray((item as Record<string, unknown>)['path'])
1214
1253
  && ((item as Record<string, unknown>)['path'] as unknown[]).every((item: unknown) =>
1215
1254
  true
1216
1255
  )))
1217
- && ((item as Record<string, unknown>)['severity'] === undefined
1256
+ && ((item as Record<string, unknown>)['severity'] == null
1218
1257
  || ((item as Record<string, unknown>)['severity'] === 'error'
1219
1258
  || (item as Record<string, unknown>)['severity'] === 'warning'))
1220
1259
  && Object.keys(item as object).every((key) => ['message', 'path', 'severity'].includes(key)))
1221
1260
  ))
1222
- && ((detail as Record<string, unknown>)['output'] === undefined || true)
1261
+ && ((detail as Record<string, unknown>)['output'] == null || true)
1223
1262
  && Object.keys(detail as object).every((key) =>
1224
1263
  ['status', 'touched', 'dirty', 'issues', 'output'].includes(key)
1225
1264
  ))
@@ -1235,21 +1274,18 @@ const isAddItemDetail = (
1235
1274
  === 'string'
1236
1275
  && typeof ((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['label']
1237
1276
  === 'string'
1238
- && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['group']
1239
- === undefined
1277
+ && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['group'] == null
1240
1278
  || typeof ((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['group']
1241
1279
  === 'string')
1242
- && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['disabled']
1243
- === undefined
1280
+ && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['disabled'] == null
1244
1281
  || typeof ((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['disabled']
1245
1282
  === 'boolean')
1246
1283
  && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['description']
1247
- === undefined
1284
+ == null
1248
1285
  || typeof ((detail as Record<string, unknown>)['item'] as Record<string, unknown>)[
1249
1286
  'description'
1250
1287
  ] === 'string')
1251
- && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['tag']
1252
- === undefined
1288
+ && (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['tag'] == null
1253
1289
  || (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['tag'] !== null
1254
1290
  && typeof ((detail as Record<string, unknown>)['item'] as Record<string, unknown>)['tag']
1255
1291
  === 'object'
@@ -1261,7 +1297,7 @@ const isAddItemDetail = (
1261
1297
  ] as Record<string, unknown>)['label'] === 'string'
1262
1298
  && ((((detail as Record<string, unknown>)['item'] as Record<string, unknown>)[
1263
1299
  'tag'
1264
- ] as Record<string, unknown>)['tone'] === undefined
1300
+ ] as Record<string, unknown>)['tone'] == null
1265
1301
  || ((((detail as Record<string, unknown>)['item'] as Record<string, unknown>)[
1266
1302
  'tag'
1267
1303
  ] as Record<string, unknown>)['tone'] === 'neutral'
@@ -1282,7 +1318,7 @@ const isAddItemDetail = (
1282
1318
  ] as Record<string, unknown>)['tone'] === 'danger'))
1283
1319
  && ((((detail as Record<string, unknown>)['item'] as Record<string, unknown>)[
1284
1320
  'tag'
1285
- ] as Record<string, unknown>)['color'] === undefined
1321
+ ] as Record<string, unknown>)['color'] == null
1286
1322
  || typeof (((detail as Record<string, unknown>)['item'] as Record<string, unknown>)[
1287
1323
  'tag'
1288
1324
  ] as Record<string, unknown>)['color'] === 'string')
@@ -1378,10 +1414,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1378
1414
  },
1379
1415
  raw: { kind: 'terminal', name: 'string' },
1380
1416
  display: { kind: 'terminal', name: 'string' },
1381
- selected: {
1382
- kind: 'union',
1383
- members: [{ kind: 'terminal', name: 'string' }, { kind: 'terminal', name: 'null' }],
1384
- },
1417
+ selected: { kind: 'terminal', name: 'string' },
1385
1418
  expanded: { kind: 'terminal', name: 'boolean' },
1386
1419
  rows: {
1387
1420
  kind: 'list',
@@ -1473,17 +1506,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1473
1506
  },
1474
1507
  optional: false,
1475
1508
  },
1476
- {
1477
- name: 'label',
1478
- type: {
1479
- kind: 'union',
1480
- members: [{ kind: 'terminal', name: 'string' }, {
1481
- kind: 'terminal',
1482
- name: 'null',
1483
- }],
1484
- },
1485
- optional: false,
1486
- },
1509
+ { name: 'label', type: { kind: 'terminal', name: 'string' }, optional: true },
1487
1510
  {
1488
1511
  name: 'rows',
1489
1512
  type: {
@@ -1548,24 +1571,12 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1548
1571
  optional: false,
1549
1572
  }, {
1550
1573
  name: 'labelledBy',
1551
- type: {
1552
- kind: 'union',
1553
- members: [{ kind: 'terminal', name: 'string' }, {
1554
- kind: 'terminal',
1555
- name: 'null',
1556
- }],
1557
- },
1558
- optional: false,
1574
+ type: { kind: 'terminal', name: 'string' },
1575
+ optional: true,
1559
1576
  }, {
1560
1577
  name: 'detail',
1561
- type: {
1562
- kind: 'union',
1563
- members: [{ kind: 'terminal', name: 'string' }, {
1564
- kind: 'terminal',
1565
- name: 'null',
1566
- }],
1567
- },
1568
- optional: false,
1578
+ type: { kind: 'terminal', name: 'string' },
1579
+ optional: true,
1569
1580
  }, {
1570
1581
  name: 'option',
1571
1582
  type: {
@@ -1651,11 +1662,31 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1651
1662
  } as Record<string, any>)[name],
1652
1663
  keys,
1653
1664
  ),
1665
+ initials: {
1666
+ internalItems: [],
1667
+ raw: '',
1668
+ display: '',
1669
+ expanded: false,
1670
+ rows: [],
1671
+ helpOpen: false,
1672
+ lookupError: '',
1673
+ validation: { status: 'pristine', touched: false, dirty: false, issues: [] },
1674
+ uid: '',
1675
+ submitted: '',
1676
+ groups: [],
1677
+ creatable: false,
1678
+ createIndex: 0,
1679
+ message: '',
1680
+ statusText: '',
1681
+ validationStatus: 'pristine',
1682
+ },
1654
1683
  controllerSource: {
1655
1684
  specifier: '../components/ui-combobox/ui-combobox.js',
1656
1685
  definition: './components/ui-combobox/ui-combobox.html',
1657
1686
  },
1658
1687
  props: checkedProps,
1688
+ inputs: propInputs,
1689
+ inputTracking,
1659
1690
  propInputs: (name: string) => {
1660
1691
  const incoming = hydrationInstance?.vnode.props
1661
1692
  const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
@@ -1831,7 +1862,8 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1831
1862
  data-combobox-action="clear"
1832
1863
  aria-label="Clear"
1833
1864
  data-hn-ui-combobox
1834
- :disabled="guardedBinding4"
1865
+ :disabled="checkedProps.disabled || checkedProps.readonly
1866
+ || (!raw && (checkedProps.multiple || selected === null))"
1835
1867
  >
1836
1868
  <svg
1837
1869
  class="affordance-icon"
@@ -1852,7 +1884,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1852
1884
  tabindex="-1"
1853
1885
  aria-label="Show suggestions"
1854
1886
  data-hn-ui-combobox
1855
- :aria-controls="guardedBinding5"
1887
+ :aria-controls="guardedBinding4"
1856
1888
  :disabled="checkedProps.disabled || checkedProps.readonly"
1857
1889
  >
1858
1890
  <svg
@@ -1876,7 +1908,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1876
1908
  type="button"
1877
1909
  aria-label="Help"
1878
1910
  data-hn-ui-combobox
1879
- :id="guardedBinding6"
1911
+ :id="guardedBinding5"
1880
1912
  :disabled="checkedProps.disabled ?? undefined"
1881
1913
  >
1882
1914
  <svg
@@ -1900,15 +1932,15 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1900
1932
  v-if="checkedProps.help"
1901
1933
  class="ui-tooltip"
1902
1934
  trigger="click"
1903
- :id="guardedBinding7"
1904
- :for="guardedBinding8"
1935
+ :id="guardedBinding6"
1936
+ :for="guardedBinding7"
1905
1937
  >{{ checkedProps.help }}</UiTooltip>
1906
1938
  <div class="popup" data-hn-ui-combobox :hidden="!expanded" ref="popupElement">
1907
1939
  <div
1908
1940
  role="listbox"
1909
1941
  data-hn-ui-combobox
1910
- :id="guardedBinding9"
1911
- :aria-label="guardedBinding10"
1942
+ :id="guardedBinding8"
1943
+ :aria-label="guardedBinding9"
1912
1944
  :aria-busy="checkedProps.loading ?? undefined"
1913
1945
  ref="listboxElement"
1914
1946
  >
@@ -1917,7 +1949,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1917
1949
  :key="group.name"
1918
1950
  data-hn-ui-combobox
1919
1951
  :role="group.role"
1920
- :aria-label="group.label ?? undefined"
1952
+ :aria-label="group.label"
1921
1953
  >
1922
1954
  <div v-if="group.name" class="group" data-hn-ui-combobox>{{ group.name }}</div>{{
1923
1955
  ' '
@@ -1933,8 +1965,8 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1933
1965
  :aria-selected="row.selected"
1934
1966
  :aria-disabled="row.disabled"
1935
1967
  :data-index="row.index"
1936
- :aria-labelledby="row.labelledBy ?? undefined"
1937
- :aria-describedby="row.detail ?? undefined"
1968
+ :aria-labelledby="row.labelledBy"
1969
+ :aria-describedby="row.detail"
1938
1970
  :class="{ active: row.index === active }"
1939
1971
  >
1940
1972
  <slot :name="scopedSlotName('option')" :option="row.option">{{ ' ' }}<span
@@ -1971,11 +2003,11 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1971
2003
  aria-selected="false"
1972
2004
  data-hn-ui-combobox
1973
2005
  :data-multiple="checkedProps.multiple ? '' : undefined"
1974
- :id="guardedBinding12"
2006
+ :id="guardedBinding11"
1975
2007
  :data-index="createIndex"
1976
- :class="{ active: guardedBinding11 }"
2008
+ :class="{ active: guardedBinding10 }"
1977
2009
  >
1978
- {{ guardedBinding13 }}
2010
+ {{ guardedBinding12 }}
1979
2011
  </div>{{ ' ' }}<div v-if="message" class="message" data-hn-ui-combobox>{{ message }}</div>{{
1980
2012
  ' '
1981
2013
  }}<div
@@ -1991,7 +2023,7 @@ useComponentHost(() => import('../components/ui-combobox/ui-combobox.js'), {
1991
2023
  <div
1992
2024
  class="message"
1993
2025
  data-hn-ui-combobox
1994
- :id="guardedBinding14"
2026
+ :id="guardedBinding13"
1995
2027
  :hidden="!validation.issues.length"
1996
2028
  >
1997
2029
  <div v-for="(issue, indexLoop3) in validation.issues" :key="indexLoop3" data-hn-ui-combobox>