@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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -15,7 +15,22 @@ import {
15
15
  useReflectedProp,
16
16
  } from './host'
17
17
  import { acceptsControllerWrite } from './props'
18
- import { checkedProp, propValidityState, vPropValidity } from './props'
18
+ import {
19
+ BINDING_INPUTS_PROP,
20
+ checkedProp,
21
+ checkPropInput,
22
+ evaluateInput,
23
+ type InputBindings,
24
+ inputComputed,
25
+ inputDefault,
26
+ inputRead,
27
+ propValidityState,
28
+ READY_INPUT,
29
+ requireInputStatus,
30
+ UNRESOLVED_INPUT,
31
+ vPropValidity,
32
+ vuePropInputs,
33
+ } from './props'
19
34
  import UiCheckbox from './UiCheckbox.vue'
20
35
  import UiFormField from './UiFormField.vue'
21
36
  import UiIcon from './UiIcon.vue'
@@ -133,23 +148,28 @@ const propValidityContract = {
133
148
  },
134
149
  } as const
135
150
  const props = defineProps({
136
- error: { type: null as unknown as PropType<string | null>, default: '' },
137
- existing: { type: null as unknown as PropType<boolean | null>, default: false },
138
- mode: { type: null as unknown as PropType<'url' | 'target' | null>, default: 'url' },
139
- newTab: { type: null as unknown as PropType<boolean | null>, default: false },
140
- placeholder: { type: null as unknown as PropType<string | null>, default: 'https://example.com' },
151
+ error: { type: null as unknown as PropType<string | null> },
152
+ existing: { type: null as unknown as PropType<boolean | null> },
153
+ mode: { type: null as unknown as PropType<'url' | 'target' | null> },
154
+ newTab: { type: null as unknown as PropType<boolean | null> },
155
+ placeholder: { type: null as unknown as PropType<string | null> },
141
156
  results: {
142
157
  type: null as unknown as PropType<
143
- readonly ({ readonly id: string; readonly label: string; readonly detail?: string })[] | null
158
+ | readonly ({
159
+ readonly id: string
160
+ readonly label: string
161
+ readonly detail?: string | null
162
+ })[]
163
+ | null
144
164
  >,
145
- default: null,
146
165
  },
147
- searchable: { type: null as unknown as PropType<boolean | null>, default: false },
148
- selected: { type: null as unknown as PropType<string | null>, default: '' },
149
- status: { type: null as unknown as PropType<string | null>, default: '' },
150
- text: { type: null as unknown as PropType<string | null>, default: '' },
151
- textEditable: { type: null as unknown as PropType<boolean | null>, default: false },
152
- value: { type: null as unknown as PropType<string | null>, default: '' },
166
+ searchable: { type: null as unknown as PropType<boolean | null> },
167
+ selected: { type: null as unknown as PropType<string | null> },
168
+ status: { type: null as unknown as PropType<string | null> },
169
+ text: { type: null as unknown as PropType<string | null> },
170
+ textEditable: { type: null as unknown as PropType<boolean | null> },
171
+ value: { type: null as unknown as PropType<string | null> },
172
+ [BINDING_INPUTS_PROP]: { type: null as unknown as PropType<InputBindings> },
153
173
  })
154
174
  const acceptedProps: Record<string, unknown> = {
155
175
  error: '',
@@ -165,105 +185,140 @@ const acceptedProps: Record<string, unknown> = {
165
185
  textEditable: false,
166
186
  value: '',
167
187
  }
168
- const checkedProps = computed(() => ({
169
- error: checkedProp<string>(
170
- props['error'],
171
- { kind: 'terminal', name: 'string' },
172
- false,
173
- 'error',
174
- acceptedProps,
175
- ) as string,
176
- existing: checkedProp<boolean>(
177
- props['existing'],
178
- { kind: 'terminal', name: 'boolean' },
179
- false,
180
- 'existing',
181
- acceptedProps,
182
- ) as boolean,
183
- mode: checkedProp<'url' | 'target'>(
184
- props['mode'],
185
- { kind: 'terminal', name: 'keyword' },
186
- false,
187
- 'mode',
188
- acceptedProps,
189
- ) as 'url' | 'target',
190
- newTab: checkedProp<boolean>(
191
- props['newTab'],
192
- { kind: 'terminal', name: 'boolean' },
193
- false,
194
- 'newTab',
195
- acceptedProps,
196
- ) as boolean,
197
- placeholder: checkedProp<string>(
198
- props['placeholder'],
199
- { kind: 'terminal', name: 'string' },
200
- false,
201
- 'placeholder',
202
- acceptedProps,
203
- ) as string,
204
- results: checkedProp<
205
- readonly ({ readonly id: string; readonly label: string; readonly detail?: string })[]
206
- >(
207
- props['results'],
208
- {
209
- kind: 'list',
210
- item: {
211
- kind: 'object',
212
- fields: [{ name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false }, {
213
- name: 'label',
214
- type: { kind: 'terminal', name: 'string' },
215
- optional: false,
216
- }, { name: 'detail', type: { kind: 'terminal', name: 'string' }, optional: true }],
217
- open: false,
218
- },
219
- },
220
- false,
221
- 'results',
222
- acceptedProps,
223
- ),
224
- searchable: checkedProp<boolean>(
225
- props['searchable'],
226
- { kind: 'terminal', name: 'boolean' },
227
- false,
228
- 'searchable',
229
- acceptedProps,
230
- ) as boolean,
231
- selected: checkedProp<string>(
232
- props['selected'],
233
- { kind: 'terminal', name: 'string' },
234
- false,
235
- 'selected',
236
- acceptedProps,
237
- ) as string,
238
- status: checkedProp<string>(
239
- props['status'],
240
- { kind: 'terminal', name: 'string' },
241
- false,
242
- 'status',
243
- acceptedProps,
244
- ) as string,
245
- text: checkedProp<string>(
246
- props['text'],
247
- { kind: 'terminal', name: 'string' },
248
- false,
249
- 'text',
250
- acceptedProps,
251
- ) as string,
252
- textEditable: checkedProp<boolean>(
253
- props['textEditable'],
254
- { kind: 'terminal', name: 'boolean' },
255
- false,
256
- 'textEditable',
257
- acceptedProps,
258
- ) as boolean,
259
- value: checkedProp<string>(
260
- props['value'],
261
- { kind: 'terminal', name: 'string' },
262
- false,
263
- 'value',
264
- acceptedProps,
265
- ) as string,
266
- }))
188
+ const inputTracking = vuePropInputs(acceptedProps, {
189
+ error: '',
190
+ existing: false,
191
+ mode: 'url',
192
+ newTab: false,
193
+ placeholder: 'https://example.com',
194
+ searchable: false,
195
+ selected: '',
196
+ status: '',
197
+ text: '',
198
+ textEditable: false,
199
+ value: '',
200
+ }, (name, value, source, values) => {
201
+ switch (name) {
202
+ case 'error':
203
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
204
+ case 'existing':
205
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
206
+ case 'mode':
207
+ return checkPropInput(value, { kind: 'terminal', name: 'keyword' }, true, true)
208
+ case 'newTab':
209
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
210
+ case 'placeholder':
211
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
212
+ case 'results':
213
+ return checkPropInput(
214
+ value,
215
+ {
216
+ kind: 'list',
217
+ item: {
218
+ kind: 'object',
219
+ fields: [{ name: 'id', type: { kind: 'terminal', name: 'string' }, optional: false }, {
220
+ name: 'label',
221
+ type: { kind: 'terminal', name: 'string' },
222
+ optional: false,
223
+ }, { name: 'detail', type: { kind: 'terminal', name: 'string' }, optional: true }],
224
+ open: false,
225
+ },
226
+ },
227
+ true,
228
+ true,
229
+ )
230
+ case 'searchable':
231
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
232
+ case 'selected':
233
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
234
+ case 'status':
235
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
236
+ case 'text':
237
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
238
+ case 'textEditable':
239
+ return checkPropInput(value, { kind: 'terminal', name: 'boolean' }, true, true)
240
+ case 'value':
241
+ return checkPropInput(value, { kind: 'terminal', name: 'string' }, true, true)
242
+ default:
243
+ return { ok: false }
244
+ }
245
+ }, () => {
246
+ void checkedProps.value
247
+ })
248
+ const propInputs = inputTracking.inputs
249
+ const checkedProps = computed(() => {
250
+ void inputTracking.version.value
251
+ return ({
252
+ error: propInputs.value<string | null>(
253
+ 'error',
254
+ props['error'],
255
+ props[BINDING_INPUTS_PROP],
256
+ ) as string,
257
+ existing: propInputs.value<boolean | null>(
258
+ 'existing',
259
+ props['existing'],
260
+ props[BINDING_INPUTS_PROP],
261
+ ) as boolean,
262
+ mode: propInputs.value<'url' | 'target' | null>(
263
+ 'mode',
264
+ props['mode'],
265
+ props[BINDING_INPUTS_PROP],
266
+ ) as 'url' | 'target',
267
+ newTab: propInputs.value<boolean | null>(
268
+ 'newTab',
269
+ props['newTab'],
270
+ props[BINDING_INPUTS_PROP],
271
+ ) as boolean,
272
+ placeholder: propInputs.value<string | null>(
273
+ 'placeholder',
274
+ props['placeholder'],
275
+ props[BINDING_INPUTS_PROP],
276
+ ) as string,
277
+ results: propInputs.value<
278
+ | readonly ({
279
+ readonly id: string
280
+ readonly label: string
281
+ readonly detail?: string | null
282
+ })[]
283
+ | null
284
+ >('results', props['results'], props[BINDING_INPUTS_PROP]),
285
+ searchable: propInputs.value<boolean | null>(
286
+ 'searchable',
287
+ props['searchable'],
288
+ props[BINDING_INPUTS_PROP],
289
+ ) as boolean,
290
+ selected: propInputs.value<string | null>(
291
+ 'selected',
292
+ props['selected'],
293
+ props[BINDING_INPUTS_PROP],
294
+ ) as string,
295
+ status: propInputs.value<string | null>(
296
+ 'status',
297
+ props['status'],
298
+ props[BINDING_INPUTS_PROP],
299
+ ) as string,
300
+ text: propInputs.value<string | null>(
301
+ 'text',
302
+ props['text'],
303
+ props[BINDING_INPUTS_PROP],
304
+ ) as string,
305
+ textEditable: propInputs.value<boolean | null>(
306
+ 'textEditable',
307
+ props['textEditable'],
308
+ props[BINDING_INPUTS_PROP],
309
+ ) as boolean,
310
+ value: propInputs.value<string | null>(
311
+ 'value',
312
+ props['value'],
313
+ props[BINDING_INPUTS_PROP],
314
+ ) as string,
315
+ })
316
+ })
317
+ const inputStatus = (name: string, handlesError: boolean) => {
318
+ void checkedProps.value
319
+ void inputTracking.version.value
320
+ return requireInputStatus(propInputs.status(name), handlesError)
321
+ }
267
322
  void checkedProps.value
268
323
  watchSyncEffect(() => {
269
324
  void checkedProps.value
@@ -286,35 +341,47 @@ const emit = defineEmits<{
286
341
  const root = ref<HTMLElement | null>(null)
287
342
  const base = ref('ui-editor-link-form')
288
343
  let headingPrevious: any = null
289
- const heading = cycleCheckedComputed(() => {
290
- const next: any = ((objectValue: any, indexValue: any) =>
291
- objectValue === Symbol.for('html-next.invalid-result')
292
- || indexValue === Symbol.for('html-next.invalid-result')
293
- ? Symbol.for('html-next.invalid-result')
294
- : objectValue[indexValue])(
295
- { true: 'Edit link', false: 'Add link' },
296
- concat(checkedProps.value.existing),
297
- )
298
- if (next === Symbol.for('html-next.invalid-result')) {
299
- return headingPrevious
300
- }
301
- return headingPrevious = next
302
- })
344
+ const heading: ReturnType<typeof inputComputed<any>> = inputComputed<any>(
345
+ () => {
346
+ return ((objectValue: any, indexValue: any) =>
347
+ objectValue === Symbol.for('html-next.invalid-result')
348
+ || indexValue === Symbol.for('html-next.invalid-result')
349
+ ? Symbol.for('html-next.invalid-result')
350
+ : objectValue[indexValue])(
351
+ { true: 'Edit link', false: 'Add link' },
352
+ concat(inputRead(checkedProps.value.existing, propInputs.status('existing'))),
353
+ ) as any
354
+ },
355
+ (read) => {
356
+ const value = cycleCheckedComputed(read)
357
+ return { get: () => value.value }
358
+ },
359
+ next =>
360
+ (next as unknown) === Symbol.for('html-next.invalid-result')
361
+ ? headingPrevious
362
+ : (headingPrevious = next),
363
+ )
303
364
  let fieldLabelPrevious: any = null
304
- const fieldLabel = cycleCheckedComputed(() => {
305
- const next: any = ((objectValue: any, indexValue: any) =>
306
- objectValue === Symbol.for('html-next.invalid-result')
307
- || indexValue === Symbol.for('html-next.invalid-result')
308
- ? Symbol.for('html-next.invalid-result')
309
- : objectValue[indexValue])(
310
- { true: 'Link destination', false: 'URL' },
311
- concat(checkedProps.value.searchable),
312
- )
313
- if (next === Symbol.for('html-next.invalid-result')) {
314
- return fieldLabelPrevious
315
- }
316
- return fieldLabelPrevious = next
317
- })
365
+ const fieldLabel: ReturnType<typeof inputComputed<any>> = inputComputed<any>(
366
+ () => {
367
+ return ((objectValue: any, indexValue: any) =>
368
+ objectValue === Symbol.for('html-next.invalid-result')
369
+ || indexValue === Symbol.for('html-next.invalid-result')
370
+ ? Symbol.for('html-next.invalid-result')
371
+ : objectValue[indexValue])(
372
+ { true: 'Link destination', false: 'URL' },
373
+ concat(inputRead(checkedProps.value.searchable, propInputs.status('searchable'))),
374
+ ) as any
375
+ },
376
+ (read) => {
377
+ const value = cycleCheckedComputed(read)
378
+ return { get: () => value.value }
379
+ },
380
+ next =>
381
+ (next as unknown) === Symbol.for('html-next.invalid-result')
382
+ ? fieldLabelPrevious
383
+ : (fieldLabelPrevious = next),
384
+ )
318
385
  let guardedPrevious: any = null
319
386
  const guarded = computed(() => {
320
387
  const candidate: any = concat(base.value, '-destination')
@@ -323,17 +390,8 @@ const guarded = computed(() => {
323
390
  })
324
391
  let guardedBindingPrevious: any = null
325
392
  const guardedBinding = computed(() => {
326
- const candidate: any = ((objectValue: any, indexValue: any) =>
327
- objectValue === Symbol.for('html-next.invalid-result')
328
- || indexValue === Symbol.for('html-next.invalid-result')
329
- ? Symbol.for('html-next.invalid-result')
330
- : objectValue[indexValue])(
331
- { true: 'search', false: 'link' },
332
- concat(checkedProps.value.mode === 'target'),
333
- )
334
- if (candidate === Symbol.for('html-next.invalid-result')) {
335
- return guardedBindingPrevious
336
- }
393
+ const candidate: any = concat(base.value, '-destination')
394
+ if (candidate === Symbol.for('html-next.invalid-result')) return guardedBindingPrevious
337
395
  return guardedBindingPrevious = candidate
338
396
  })
339
397
  let guardedBinding2Previous: any = null
@@ -344,7 +402,7 @@ const guardedBinding2 = computed(() => {
344
402
  })
345
403
  let guardedBinding3Previous: any = null
346
404
  const guardedBinding3 = computed(() => {
347
- const candidate: any = concat(base.value, '-destination')
405
+ const candidate: any = concat(base.value, '-text')
348
406
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding3Previous
349
407
  return guardedBinding3Previous = candidate
350
408
  })
@@ -354,12 +412,6 @@ const guardedBinding4 = computed(() => {
354
412
  if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding4Previous
355
413
  return guardedBinding4Previous = candidate
356
414
  })
357
- let guardedBinding5Previous: any = null
358
- const guardedBinding5 = computed(() => {
359
- const candidate: any = concat(base.value, '-text')
360
- if (candidate === Symbol.for('html-next.invalid-result')) return guardedBinding5Previous
361
- return guardedBinding5Previous = candidate
362
- })
363
415
  provide('html-next:ui-editor-link-form:base', base)
364
416
  checkHydratedRoot('form', 'ui-editor-link-form')
365
417
 
@@ -409,11 +461,14 @@ useComponentHost(() => import('../components/ui-editor-link-form/ui-editor-link-
409
461
  ({ base: { kind: 'terminal', name: 'string' } } as Record<string, any>)[name],
410
462
  keys,
411
463
  ),
464
+ initials: { base: 'ui-editor-link-form' },
412
465
  controllerSource: {
413
466
  specifier: '../components/ui-editor-link-form/ui-editor-link-form.js',
414
467
  definition: './components/ui-editor-link-form/ui-editor-link-form.html',
415
468
  },
416
469
  props: checkedProps,
470
+ inputs: propInputs,
471
+ inputTracking,
417
472
  propInputs: (name: string) => {
418
473
  const incoming = hydrationInstance?.vnode.props
419
474
  const kebab = name.replace(/[A-Z]/g, (letter) => '-' + letter.toLowerCase())
@@ -439,6 +494,7 @@ useComponentHost(() => import('../components/ui-editor-link-form/ui-editor-link-
439
494
  propValidityState({ contract: propValidityContract, values: { ...props } }, name),
440
495
  state: { base },
441
496
  computed: { heading, fieldLabel },
497
+ availability: { heading: () => heading.status(), fieldLabel: () => fieldLabel.status() },
442
498
  })
443
499
  </script>
444
500
 
@@ -462,89 +518,141 @@ useComponentHost(() => import('../components/ui-editor-link-form/ui-editor-link-
462
518
  :data-ui-editor-link-form-prop-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
463
519
  ref="root"
464
520
  >
465
- <UiStack gap="s"><UiText as="h3" size="sm" weight="semibold">{{ text(heading) }}</UiText>{{
466
- ' '
467
- }}<UiStack gap="s"><UiFormField :invalid="checkedProps.error !== ''"><UiInputGroup
468
- v-if="checkedProps.searchable"
469
- prefix-kind="icon"
470
- ><UiInput
471
- data-link-destination=""
472
- data-link-search=""
473
- type="text"
474
- role="searchbox"
475
- autocomplete="off"
476
- :id="guardedBinding2"
477
- :placeholder="checkedProps.placeholder"
478
- :value="checkedProps.value"
479
- />
480
- <template #prefix><UiIcon slot="prefix" :name="guardedBinding" /></template>
481
- <template #action><UiIconButton
482
- v-if="checkedProps.value !== ''"
483
- slot="action"
484
- label="Clear search"
485
- variant="ghost"
521
+ <UiStack gap="s"><UiText as="h3" size="sm" weight="semibold">{{
522
+ text(heading.get())
523
+ }}</UiText>{{ ' ' }}<UiStack gap="s"><template
524
+ v-for="boundInput in [evaluateInput(
525
+ () => (inputRead(checkedProps.error, inputStatus('error', true)) !== '') as any,
526
+ READY_INPUT,
527
+ )]"
528
+ ><UiFormField
529
+ :invalid="boundInput.value"
530
+ v-bind="{ [BINDING_INPUTS_PROP]: { invalid: () => boundInput } }"
531
+ ><UiInputGroup v-if="checkedProps.searchable" prefix-kind="icon"><UiInput
532
+ data-link-destination=""
533
+ data-link-search=""
534
+ type="text"
535
+ role="searchbox"
536
+ autocomplete="off"
537
+ :id="guardedBinding"
538
+ :placeholder="checkedProps.placeholder"
539
+ :value="checkedProps.value"
540
+ v-bind="{
541
+ [BINDING_INPUTS_PROP]: {
542
+ value: () => ({ value: checkedProps.value, status: inputStatus('value', true) }),
543
+ },
544
+ }"
545
+ />
546
+ <template #prefix><template
547
+ v-for="boundInputSnapshot in [evaluateInput(
548
+ () =>
549
+ (((objectValue: any, indexValue: any) =>
550
+ objectValue === Symbol.for('html-next.invalid-result')
551
+ || indexValue === Symbol.for('html-next.invalid-result')
552
+ ? Symbol.for('html-next.invalid-result')
553
+ : objectValue[indexValue])(
554
+ { true: 'search', false: 'link' },
555
+ concat(inputRead(checkedProps.mode, inputStatus('mode', true)) === 'target'),
556
+ )) as any,
557
+ READY_INPUT,
558
+ )]"
559
+ ><UiIcon
560
+ slot="prefix"
561
+ :name="boundInputSnapshot.value"
562
+ v-bind="{ [BINDING_INPUTS_PROP]: { name: () => boundInputSnapshot } }"
563
+ /></template></template>
564
+ <template #action><UiIconButton
565
+ v-if="checkedProps.value !== ''"
566
+ slot="action"
567
+ label="Clear search"
568
+ variant="ghost"
569
+ size="sm"
570
+ data-link-clear=""
571
+ ><UiIcon name="x" /></UiIconButton></template></UiInputGroup>{{ ' ' }}<template
572
+ v-if="!checkedProps.searchable"
573
+ >{{ ' ' }}<UiInput
574
+ data-link-destination=""
575
+ type="text"
576
+ inputmode="url"
486
577
  size="sm"
487
- data-link-clear=""
488
- ><UiIcon name="x" /></UiIconButton></template></UiInputGroup>{{ ' ' }}<template
489
- v-if="!checkedProps.searchable"
490
- >{{ ' ' }}<UiInput
491
- data-link-destination=""
492
- type="text"
493
- inputmode="url"
494
- size="sm"
495
- :id="guardedBinding3"
496
- :placeholder="checkedProps.placeholder"
497
- :value="checkedProps.value"
498
- />{{ ' ' }}</template>
499
- <template #label><label slot="label" :for="guarded">{{
500
- text(fieldLabel)
501
- }}</label></template></UiFormField>{{ ' ' }}<UiScrollArea
578
+ :id="guardedBinding2"
579
+ :placeholder="checkedProps.placeholder"
580
+ :value="checkedProps.value"
581
+ v-bind="{
582
+ [BINDING_INPUTS_PROP]: {
583
+ value: () => ({ value: checkedProps.value, status: inputStatus('value', true) }),
584
+ },
585
+ }"
586
+ />{{ ' ' }}</template>
587
+ <template #label><label slot="label" :for="guarded">{{
588
+ text(fieldLabel.get())
589
+ }}</label></template></UiFormField></template>{{ ' ' }}<UiScrollArea
502
590
  v-if="checkedProps.mode === 'target'"
503
591
  size="sm"
504
592
  aria-label="Destination search results"
505
593
  ><UiText v-if="checkedProps.status !== ''" size="sm" tone="secondary" role="status">{{
506
594
  checkedProps.status
507
- }}</UiText>{{ ' ' }}<KeyedBoundary><UiSearchResultRow
595
+ }}</UiText>{{ ' ' }}<KeyedBoundary><template
508
596
  v-for="result in uniqueKeys(checkedProps.results ?? [], (result, index, loop) => result.id)"
509
597
  :key="result.id"
510
- density="compact"
511
- data-link-result=""
512
- :selected="result.id === checkedProps.selected"
513
- :data-link-id="result.id"
514
- ><template #leading><UiIcon slot="leading" name="file-text" /></template>
515
- <template #title><UiText
516
- slot="title"
517
- as="strong"
518
- size="sm"
519
- weight="medium"
520
- :truncate="true"
521
- :title="result.label"
522
- >{{ result.label }}</UiText></template>
523
- <template #meta><UiText
524
- v-if="result.detail"
525
- slot="meta"
526
- as="span"
527
- size="xs"
528
- tone="secondary"
529
- :truncate="true"
530
- :title="result.detail"
531
- >{{ result.detail }}</UiText></template>
532
- <template #trailing><UiIcon
533
- v-if="result.id === checkedProps.selected"
534
- slot="trailing"
535
- name="check"
536
- /></template></UiSearchResultRow></KeyedBoundary></UiScrollArea>{{ ' ' }}<template
537
- v-if="checkedProps.mode === 'url'"
538
- >{{ ' ' }}<UiCheckbox size="sm" data-link-new-tab="" :checked="checkedProps.newTab"
598
+ ><template
599
+ v-for="boundInputSnapshot2 in [evaluateInput(
600
+ () => (result.id === inputRead(checkedProps.selected, inputStatus('selected', true))) as any,
601
+ READY_INPUT,
602
+ )]"
603
+ ><UiSearchResultRow
604
+ density="compact"
605
+ data-link-result=""
606
+ :selected="boundInputSnapshot2.value"
607
+ :data-link-id="result.id"
608
+ v-bind="{ [BINDING_INPUTS_PROP]: { selected: () => boundInputSnapshot2 } }"
609
+ ><template #leading><UiIcon slot="leading" name="file-text" /></template>
610
+ <template #title><UiText
611
+ slot="title"
612
+ as="strong"
613
+ size="sm"
614
+ weight="medium"
615
+ :truncate="true"
616
+ :title="result.label"
617
+ >{{ result.label }}</UiText></template>
618
+ <template #meta><UiText
619
+ v-if="result.detail"
620
+ slot="meta"
621
+ as="span"
622
+ size="xs"
623
+ tone="secondary"
624
+ :truncate="true"
625
+ :title="result.detail"
626
+ >{{ result.detail }}</UiText></template>
627
+ <template #trailing><UiIcon
628
+ v-if="result.id === checkedProps.selected"
629
+ slot="trailing"
630
+ name="check"
631
+ /></template></UiSearchResultRow></template></template></KeyedBoundary></UiScrollArea>{{
632
+ ' '
633
+ }}<template v-if="checkedProps.mode === 'url'">{{ ' ' }}<UiCheckbox
634
+ size="sm"
635
+ data-link-new-tab=""
636
+ :checked="checkedProps.newTab"
637
+ v-bind="{
638
+ [BINDING_INPUTS_PROP]: {
639
+ checked: () => ({ value: checkedProps.newTab, status: inputStatus('newTab', true) }),
640
+ },
641
+ }"
539
642
  >Open in new tab</UiCheckbox>{{ ' ' }}</template></UiStack>{{ ' ' }}<template
540
643
  v-if="checkedProps.textEditable"
541
644
  >{{ ' ' }}<UiFormField><UiInput
542
645
  data-link-text=""
543
646
  size="sm"
544
- :id="guardedBinding5"
647
+ :id="guardedBinding4"
545
648
  :value="checkedProps.text"
649
+ v-bind="{
650
+ [BINDING_INPUTS_PROP]: {
651
+ value: () => ({ value: checkedProps.text, status: inputStatus('text', true) }),
652
+ },
653
+ }"
546
654
  />
547
- <template #label><label slot="label" :for="guardedBinding4"
655
+ <template #label><label slot="label" :for="guardedBinding3"
548
656
  >Text</label></template></UiFormField>{{ ' ' }}</template>{{ ' ' }}<UiText
549
657
  v-if="checkedProps.error !== ''"
550
658
  size="sm"