@threadlabs/looma 0.29.17 → 0.30.0

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 (428) hide show
  1. package/components/ui-combobox/ui-combobox.html +47 -2
  2. package/components/ui-combobox/ui-combobox.js +2 -1
  3. package/components/ui-cover/ui-cover.html +2 -5
  4. package/components/ui-editor-link-card/ui-editor-link-card.html +5 -5
  5. package/components/ui-form-field/ui-form-field.html +1 -1
  6. package/components/ui-icon/ui-icon.html +10 -0
  7. package/components/ui-reel/ui-reel.html +7 -10
  8. package/components/ui-switcher/ui-switcher.html +17 -22
  9. package/components/ui-tooltip/ui-tooltip.js +2 -0
  10. package/dist/index.js +1 -1
  11. package/package.json +3 -3
  12. package/styles/ui-action-bar.css +1 -1
  13. package/styles/ui-affordance-scope.css +1 -1
  14. package/styles/ui-avatar-group.css +1 -1
  15. package/styles/ui-avatar.css +1 -1
  16. package/styles/ui-badge.css +1 -1
  17. package/styles/ui-breadcrumb-item.css +1 -1
  18. package/styles/ui-breadcrumbs.css +1 -1
  19. package/styles/ui-button.css +1 -1
  20. package/styles/ui-callout.css +1 -1
  21. package/styles/ui-card.css +1 -1
  22. package/styles/ui-checkbox.css +1 -1
  23. package/styles/ui-cluster.css +1 -1
  24. package/styles/ui-combobox.css +1 -1
  25. package/styles/ui-container.css +1 -1
  26. package/styles/ui-context-menu.css +1 -1
  27. package/styles/ui-cover.css +3 -6
  28. package/styles/ui-description-item.css +1 -1
  29. package/styles/ui-description-list.css +1 -1
  30. package/styles/ui-dialog.css +1 -1
  31. package/styles/ui-disclosure.css +1 -1
  32. package/styles/ui-editable.css +1 -1
  33. package/styles/ui-editor-block-actions.css +1 -1
  34. package/styles/ui-editor-chip-editor.css +1 -1
  35. package/styles/ui-editor-code-language.css +1 -1
  36. package/styles/ui-editor-image-toolbar.css +1 -1
  37. package/styles/ui-editor-insert-table-grid.css +1 -1
  38. package/styles/ui-editor-link-card.css +1 -1
  39. package/styles/ui-editor-link-form.css +1 -1
  40. package/styles/ui-editor-mention-menu-item.css +1 -1
  41. package/styles/ui-editor-mention-menu.css +1 -1
  42. package/styles/ui-editor-slash-menu-group.css +1 -1
  43. package/styles/ui-editor-slash-menu-item.css +1 -1
  44. package/styles/ui-editor-slash-menu.css +1 -1
  45. package/styles/ui-editor-surface.css +1 -1
  46. package/styles/ui-editor-table-context-menu.css +1 -1
  47. package/styles/ui-editor-table-overlay.css +1 -1
  48. package/styles/ui-editor-table-toolbar.css +1 -1
  49. package/styles/ui-editor-toolbar.css +1 -1
  50. package/styles/ui-floating-action-button.css +1 -1
  51. package/styles/ui-form-field.css +1 -1
  52. package/styles/ui-grid.css +1 -1
  53. package/styles/ui-icon-button.css +1 -1
  54. package/styles/ui-icon.css +9 -1
  55. package/styles/ui-image.css +1 -1
  56. package/styles/ui-input-group.css +1 -1
  57. package/styles/ui-input.css +1 -1
  58. package/styles/ui-list-item.css +1 -1
  59. package/styles/ui-list.css +1 -1
  60. package/styles/ui-listbox.css +1 -1
  61. package/styles/ui-menu-group.css +1 -1
  62. package/styles/ui-menu-item.css +1 -1
  63. package/styles/ui-menu.css +1 -1
  64. package/styles/ui-meter.css +1 -1
  65. package/styles/ui-nav-item.css +1 -1
  66. package/styles/ui-page-header.css +1 -1
  67. package/styles/ui-popover.css +1 -1
  68. package/styles/ui-radio-group.css +1 -1
  69. package/styles/ui-radio.css +1 -1
  70. package/styles/ui-reel.css +8 -11
  71. package/styles/ui-scroll-area.css +1 -1
  72. package/styles/ui-search-result-row.css +1 -1
  73. package/styles/ui-search-shell.css +1 -1
  74. package/styles/ui-section.css +1 -1
  75. package/styles/ui-select.css +1 -1
  76. package/styles/ui-separator.css +1 -1
  77. package/styles/ui-sidebar.css +1 -1
  78. package/styles/ui-spinner.css +1 -1
  79. package/styles/ui-stack.css +1 -1
  80. package/styles/ui-status-message.css +1 -1
  81. package/styles/ui-swatch.css +1 -1
  82. package/styles/ui-switch.css +1 -1
  83. package/styles/ui-switcher.css +23 -28
  84. package/styles/ui-table.css +1 -1
  85. package/styles/ui-tabs.css +1 -1
  86. package/styles/ui-text.css +1 -1
  87. package/styles/ui-textarea.css +1 -1
  88. package/styles/ui-toast-region.css +1 -1
  89. package/styles/ui-toast.css +1 -1
  90. package/styles/ui-tooltip.css +1 -1
  91. package/styles/ui-top-bar.css +1 -1
  92. package/styles/ui-tree-item.css +1 -1
  93. package/styles/ui-tree.css +1 -1
  94. package/vanilla/UiActionBar.d.ts +10 -1
  95. package/vanilla/UiActionBar.js +3 -2
  96. package/vanilla/UiAffordanceScope.d.ts +10 -1
  97. package/vanilla/UiAffordanceScope.js +3 -2
  98. package/vanilla/UiAvatar.d.ts +10 -1
  99. package/vanilla/UiAvatar.js +3 -2
  100. package/vanilla/UiAvatarGroup.d.ts +10 -1
  101. package/vanilla/UiAvatarGroup.js +3 -2
  102. package/vanilla/UiBadge.d.ts +10 -1
  103. package/vanilla/UiBadge.js +3 -2
  104. package/vanilla/UiBreadcrumbItem.d.ts +10 -1
  105. package/vanilla/UiBreadcrumbItem.js +3 -2
  106. package/vanilla/UiBreadcrumbs.d.ts +10 -1
  107. package/vanilla/UiBreadcrumbs.js +3 -2
  108. package/vanilla/UiButton.d.ts +10 -1
  109. package/vanilla/UiButton.js +3 -2
  110. package/vanilla/UiCallout.d.ts +10 -1
  111. package/vanilla/UiCallout.js +3 -2
  112. package/vanilla/UiCard.d.ts +10 -1
  113. package/vanilla/UiCard.js +3 -2
  114. package/vanilla/UiCheckbox.d.ts +10 -1
  115. package/vanilla/UiCheckbox.js +3 -2
  116. package/vanilla/UiCluster.d.ts +10 -1
  117. package/vanilla/UiCluster.js +3 -2
  118. package/vanilla/UiCombobox.d.ts +14 -1
  119. package/vanilla/UiCombobox.js +34 -11
  120. package/vanilla/UiContainer.d.ts +10 -1
  121. package/vanilla/UiContainer.js +3 -2
  122. package/vanilla/UiContextMenu.d.ts +10 -1
  123. package/vanilla/UiContextMenu.js +3 -2
  124. package/vanilla/UiCover.d.ts +10 -1
  125. package/vanilla/UiCover.js +3 -2
  126. package/vanilla/UiDescriptionItem.d.ts +10 -1
  127. package/vanilla/UiDescriptionItem.js +3 -2
  128. package/vanilla/UiDescriptionList.d.ts +10 -1
  129. package/vanilla/UiDescriptionList.js +3 -2
  130. package/vanilla/UiDialog.d.ts +10 -1
  131. package/vanilla/UiDialog.js +3 -2
  132. package/vanilla/UiDisclosure.d.ts +10 -1
  133. package/vanilla/UiDisclosure.js +3 -2
  134. package/vanilla/UiEditable.d.ts +10 -1
  135. package/vanilla/UiEditable.js +3 -2
  136. package/vanilla/UiEditorBlockActions.d.ts +10 -1
  137. package/vanilla/UiEditorBlockActions.js +3 -2
  138. package/vanilla/UiEditorChipEditor.d.ts +10 -1
  139. package/vanilla/UiEditorChipEditor.js +3 -2
  140. package/vanilla/UiEditorCodeLanguage.d.ts +10 -1
  141. package/vanilla/UiEditorCodeLanguage.js +3 -2
  142. package/vanilla/UiEditorImageToolbar.d.ts +10 -1
  143. package/vanilla/UiEditorImageToolbar.js +3 -2
  144. package/vanilla/UiEditorInsertTableGrid.d.ts +10 -1
  145. package/vanilla/UiEditorInsertTableGrid.js +3 -2
  146. package/vanilla/UiEditorLinkCard.d.ts +10 -1
  147. package/vanilla/UiEditorLinkCard.js +6 -5
  148. package/vanilla/UiEditorLinkForm.d.ts +10 -1
  149. package/vanilla/UiEditorLinkForm.js +3 -2
  150. package/vanilla/UiEditorMentionMenu.d.ts +10 -1
  151. package/vanilla/UiEditorMentionMenu.js +3 -2
  152. package/vanilla/UiEditorMentionMenuItem.d.ts +10 -1
  153. package/vanilla/UiEditorMentionMenuItem.js +3 -2
  154. package/vanilla/UiEditorSlashMenu.d.ts +10 -1
  155. package/vanilla/UiEditorSlashMenu.js +3 -2
  156. package/vanilla/UiEditorSlashMenuGroup.d.ts +10 -1
  157. package/vanilla/UiEditorSlashMenuGroup.js +3 -2
  158. package/vanilla/UiEditorSlashMenuItem.d.ts +10 -1
  159. package/vanilla/UiEditorSlashMenuItem.js +3 -2
  160. package/vanilla/UiEditorSurface.d.ts +10 -1
  161. package/vanilla/UiEditorSurface.js +3 -2
  162. package/vanilla/UiEditorTableContextMenu.d.ts +10 -1
  163. package/vanilla/UiEditorTableContextMenu.js +3 -2
  164. package/vanilla/UiEditorTableOverlay.d.ts +10 -1
  165. package/vanilla/UiEditorTableOverlay.js +3 -2
  166. package/vanilla/UiEditorTableToolbar.d.ts +10 -1
  167. package/vanilla/UiEditorTableToolbar.js +3 -2
  168. package/vanilla/UiEditorToolbar.d.ts +10 -1
  169. package/vanilla/UiEditorToolbar.js +3 -2
  170. package/vanilla/UiFloatingActionButton.d.ts +10 -1
  171. package/vanilla/UiFloatingActionButton.js +3 -2
  172. package/vanilla/UiFormField.d.ts +10 -1
  173. package/vanilla/UiFormField.js +4 -3
  174. package/vanilla/UiGrid.d.ts +10 -1
  175. package/vanilla/UiGrid.js +3 -2
  176. package/vanilla/UiIcon.d.ts +11 -1
  177. package/vanilla/UiIcon.js +11 -5
  178. package/vanilla/UiIconButton.d.ts +10 -1
  179. package/vanilla/UiIconButton.js +3 -2
  180. package/vanilla/UiImage.d.ts +10 -1
  181. package/vanilla/UiImage.js +3 -2
  182. package/vanilla/UiInput.d.ts +10 -1
  183. package/vanilla/UiInput.js +3 -2
  184. package/vanilla/UiInputGroup.d.ts +10 -1
  185. package/vanilla/UiInputGroup.js +3 -2
  186. package/vanilla/UiList.d.ts +10 -1
  187. package/vanilla/UiList.js +3 -2
  188. package/vanilla/UiListItem.d.ts +10 -1
  189. package/vanilla/UiListItem.js +3 -2
  190. package/vanilla/UiListbox.d.ts +10 -1
  191. package/vanilla/UiListbox.js +3 -2
  192. package/vanilla/UiMenu.d.ts +10 -1
  193. package/vanilla/UiMenu.js +3 -2
  194. package/vanilla/UiMenuGroup.d.ts +10 -1
  195. package/vanilla/UiMenuGroup.js +3 -2
  196. package/vanilla/UiMenuItem.d.ts +10 -1
  197. package/vanilla/UiMenuItem.js +3 -2
  198. package/vanilla/UiMeter.d.ts +10 -1
  199. package/vanilla/UiMeter.js +3 -2
  200. package/vanilla/UiNavItem.d.ts +10 -1
  201. package/vanilla/UiNavItem.js +3 -2
  202. package/vanilla/UiPageHeader.d.ts +10 -1
  203. package/vanilla/UiPageHeader.js +3 -2
  204. package/vanilla/UiPopover.d.ts +10 -1
  205. package/vanilla/UiPopover.js +3 -2
  206. package/vanilla/UiRadio.d.ts +10 -1
  207. package/vanilla/UiRadio.js +3 -2
  208. package/vanilla/UiRadioGroup.d.ts +10 -1
  209. package/vanilla/UiRadioGroup.js +3 -2
  210. package/vanilla/UiReel.d.ts +10 -1
  211. package/vanilla/UiReel.js +3 -2
  212. package/vanilla/UiScrollArea.d.ts +10 -1
  213. package/vanilla/UiScrollArea.js +3 -2
  214. package/vanilla/UiSearchResultRow.d.ts +10 -1
  215. package/vanilla/UiSearchResultRow.js +3 -2
  216. package/vanilla/UiSearchShell.d.ts +10 -1
  217. package/vanilla/UiSearchShell.js +3 -2
  218. package/vanilla/UiSection.d.ts +10 -1
  219. package/vanilla/UiSection.js +3 -2
  220. package/vanilla/UiSelect.d.ts +10 -1
  221. package/vanilla/UiSelect.js +3 -2
  222. package/vanilla/UiSeparator.d.ts +10 -1
  223. package/vanilla/UiSeparator.js +3 -2
  224. package/vanilla/UiSidebar.d.ts +10 -1
  225. package/vanilla/UiSidebar.js +3 -2
  226. package/vanilla/UiSpinner.d.ts +10 -1
  227. package/vanilla/UiSpinner.js +3 -2
  228. package/vanilla/UiStack.d.ts +10 -1
  229. package/vanilla/UiStack.js +3 -2
  230. package/vanilla/UiStatusMessage.d.ts +10 -1
  231. package/vanilla/UiStatusMessage.js +3 -2
  232. package/vanilla/UiSwatch.d.ts +10 -1
  233. package/vanilla/UiSwatch.js +3 -2
  234. package/vanilla/UiSwitch.d.ts +10 -1
  235. package/vanilla/UiSwitch.js +3 -2
  236. package/vanilla/UiSwitcher.d.ts +10 -1
  237. package/vanilla/UiSwitcher.js +4 -3
  238. package/vanilla/UiTable.d.ts +10 -1
  239. package/vanilla/UiTable.js +3 -2
  240. package/vanilla/UiTabs.d.ts +10 -1
  241. package/vanilla/UiTabs.js +3 -2
  242. package/vanilla/UiText.d.ts +10 -1
  243. package/vanilla/UiText.js +3 -2
  244. package/vanilla/UiTextarea.d.ts +10 -1
  245. package/vanilla/UiTextarea.js +3 -2
  246. package/vanilla/UiToast.d.ts +10 -1
  247. package/vanilla/UiToast.js +3 -2
  248. package/vanilla/UiToastRegion.d.ts +10 -1
  249. package/vanilla/UiToastRegion.js +3 -2
  250. package/vanilla/UiTooltip.d.ts +10 -1
  251. package/vanilla/UiTooltip.js +3 -2
  252. package/vanilla/UiTopBar.d.ts +10 -1
  253. package/vanilla/UiTopBar.js +3 -2
  254. package/vanilla/UiTree.d.ts +10 -1
  255. package/vanilla/UiTree.js +3 -2
  256. package/vanilla/UiTreeItem.d.ts +10 -1
  257. package/vanilla/UiTreeItem.js +3 -2
  258. package/vue/UiActionBar.vue +1 -1
  259. package/vue/UiAffordanceScope.vue +2 -2
  260. package/vue/UiAvatar.vue +2 -2
  261. package/vue/UiAvatarGroup.vue +2 -2
  262. package/vue/UiBadge.d.ts +1 -1
  263. package/vue/UiBadge.vue +2 -2
  264. package/vue/UiBreadcrumbItem.vue +2 -2
  265. package/vue/UiBreadcrumbs.vue +1 -1
  266. package/vue/UiButton.d.ts +1 -1
  267. package/vue/UiButton.vue +2 -2
  268. package/vue/UiCallout.vue +2 -2
  269. package/vue/UiCard.vue +2 -2
  270. package/vue/UiCheckbox.vue +2 -2
  271. package/vue/UiCluster.vue +2 -2
  272. package/vue/UiCombobox.d.ts +36 -13
  273. package/vue/UiCombobox.vue +130 -4
  274. package/vue/UiContainer.vue +2 -2
  275. package/vue/UiContextMenu.vue +1 -1
  276. package/vue/UiCover.vue +4 -7
  277. package/vue/UiDescriptionItem.vue +1 -1
  278. package/vue/UiDescriptionList.vue +2 -2
  279. package/vue/UiDialog.vue +2 -2
  280. package/vue/UiDisclosure.vue +2 -2
  281. package/vue/UiEditable.vue +2 -2
  282. package/vue/UiEditorBlockActions.vue +1 -1
  283. package/vue/UiEditorChipEditor.vue +1 -1
  284. package/vue/UiEditorCodeLanguage.vue +1 -1
  285. package/vue/UiEditorImageToolbar.vue +7 -4
  286. package/vue/UiEditorInsertTableGrid.vue +1 -1
  287. package/vue/UiEditorLinkCard.vue +6 -5
  288. package/vue/UiEditorLinkForm.vue +45 -45
  289. package/vue/UiEditorMentionMenu.vue +1 -1
  290. package/vue/UiEditorMentionMenuItem.vue +1 -1
  291. package/vue/UiEditorSlashMenu.vue +1 -1
  292. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  293. package/vue/UiEditorSlashMenuItem.vue +1 -1
  294. package/vue/UiEditorSurface.vue +2 -2
  295. package/vue/UiEditorTableContextMenu.vue +1 -1
  296. package/vue/UiEditorTableOverlay.vue +1 -1
  297. package/vue/UiEditorTableToolbar.vue +1 -1
  298. package/vue/UiEditorToolbar.vue +2 -2
  299. package/vue/UiFloatingActionButton.vue +2 -2
  300. package/vue/UiFormField.d.ts +1 -1
  301. package/vue/UiFormField.vue +3 -3
  302. package/vue/UiGrid.vue +2 -2
  303. package/vue/UiIcon.d.ts +9 -0
  304. package/vue/UiIcon.vue +40 -2
  305. package/vue/UiIconButton.vue +2 -2
  306. package/vue/UiImage.vue +2 -2
  307. package/vue/UiInput.vue +2 -2
  308. package/vue/UiInputGroup.vue +2 -2
  309. package/vue/UiList.vue +2 -2
  310. package/vue/UiListItem.vue +2 -2
  311. package/vue/UiListbox.vue +1 -1
  312. package/vue/UiMenu.vue +2 -2
  313. package/vue/UiMenuGroup.vue +1 -1
  314. package/vue/UiMenuItem.vue +2 -2
  315. package/vue/UiMeter.vue +2 -2
  316. package/vue/UiNavItem.vue +2 -2
  317. package/vue/UiPageHeader.vue +2 -2
  318. package/vue/UiPopover.vue +2 -2
  319. package/vue/UiRadio.vue +2 -2
  320. package/vue/UiRadioGroup.vue +2 -2
  321. package/vue/UiReel.vue +9 -12
  322. package/vue/UiScrollArea.vue +3 -3
  323. package/vue/UiSearchResultRow.vue +2 -2
  324. package/vue/UiSearchShell.vue +1 -1
  325. package/vue/UiSection.vue +2 -2
  326. package/vue/UiSelect.vue +2 -2
  327. package/vue/UiSeparator.vue +2 -2
  328. package/vue/UiSidebar.vue +2 -2
  329. package/vue/UiSpinner.vue +2 -2
  330. package/vue/UiStack.vue +2 -2
  331. package/vue/UiStatusMessage.vue +2 -2
  332. package/vue/UiSwatch.vue +2 -2
  333. package/vue/UiSwitch.vue +2 -2
  334. package/vue/UiSwitcher.vue +23 -27
  335. package/vue/UiTable.vue +2 -2
  336. package/vue/UiTabs.vue +2 -2
  337. package/vue/UiText.d.ts +1 -1
  338. package/vue/UiText.vue +2 -2
  339. package/vue/UiTextarea.vue +2 -2
  340. package/vue/UiToast.vue +2 -2
  341. package/vue/UiToastRegion.vue +2 -2
  342. package/vue/UiTooltip.vue +2 -2
  343. package/vue/UiTopBar.vue +1 -1
  344. package/vue/UiTree.vue +2 -2
  345. package/vue/UiTreeItem.vue +2 -2
  346. package/vue/chunks/UiActionBar.js +1 -1
  347. package/vue/chunks/UiAffordanceScope.js +2 -2
  348. package/vue/chunks/UiAvatar.js +2 -2
  349. package/vue/chunks/UiAvatarGroup.js +2 -2
  350. package/vue/chunks/UiBadge.js +2 -2
  351. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  352. package/vue/chunks/UiBreadcrumbs.js +1 -1
  353. package/vue/chunks/UiButton.js +2 -2
  354. package/vue/chunks/UiCallout.js +2 -2
  355. package/vue/chunks/UiCard.js +2 -2
  356. package/vue/chunks/UiCheckbox.js +2 -2
  357. package/vue/chunks/UiCluster.js +2 -2
  358. package/vue/chunks/UiCombobox.js +117 -5
  359. package/vue/chunks/UiContainer.js +2 -2
  360. package/vue/chunks/UiContextMenu.js +1 -1
  361. package/vue/chunks/UiCover.js +2 -2
  362. package/vue/chunks/UiDescriptionItem.js +1 -1
  363. package/vue/chunks/UiDescriptionList.js +2 -2
  364. package/vue/chunks/UiDialog.js +2 -2
  365. package/vue/chunks/UiDisclosure.js +3 -3
  366. package/vue/chunks/UiEditable.js +2 -2
  367. package/vue/chunks/UiEditorImageToolbar.js +3 -2
  368. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  369. package/vue/chunks/UiEditorLinkCard.js +18 -22
  370. package/vue/chunks/UiEditorLinkForm.js +68 -71
  371. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  372. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  373. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  374. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  375. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  376. package/vue/chunks/UiEditorSurface.js +2 -2
  377. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  378. package/vue/chunks/UiEditorTableOverlay.js +2 -2
  379. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  380. package/vue/chunks/UiEditorToolbar.js +2 -2
  381. package/vue/chunks/UiFloatingActionButton.js +2 -2
  382. package/vue/chunks/UiFormField.js +3 -3
  383. package/vue/chunks/UiGrid.js +2 -2
  384. package/vue/chunks/UiIcon.js +61 -21
  385. package/vue/chunks/UiIconButton.js +2 -2
  386. package/vue/chunks/UiImage.js +2 -2
  387. package/vue/chunks/UiInput.js +2 -2
  388. package/vue/chunks/UiInputGroup.js +2 -2
  389. package/vue/chunks/UiList.js +2 -2
  390. package/vue/chunks/UiListItem.js +2 -2
  391. package/vue/chunks/UiListbox.js +1 -1
  392. package/vue/chunks/UiMenu.js +2 -2
  393. package/vue/chunks/UiMenuGroup.js +1 -1
  394. package/vue/chunks/UiMenuItem.js +2 -2
  395. package/vue/chunks/UiMeter.js +2 -2
  396. package/vue/chunks/UiNavItem.js +2 -2
  397. package/vue/chunks/UiPageHeader.js +2 -2
  398. package/vue/chunks/UiPopover.js +2 -2
  399. package/vue/chunks/UiRadio.js +2 -2
  400. package/vue/chunks/UiRadioGroup.js +2 -2
  401. package/vue/chunks/UiReel.js +2 -2
  402. package/vue/chunks/UiScrollArea.js +4 -4
  403. package/vue/chunks/UiSearchResultRow.js +2 -2
  404. package/vue/chunks/UiSearchShell.js +1 -1
  405. package/vue/chunks/UiSection.js +2 -2
  406. package/vue/chunks/UiSelect.js +2 -2
  407. package/vue/chunks/UiSeparator.js +2 -2
  408. package/vue/chunks/UiSidebar.js +2 -2
  409. package/vue/chunks/UiSpinner.js +2 -2
  410. package/vue/chunks/UiStack.js +2 -2
  411. package/vue/chunks/UiStatusMessage.js +2 -2
  412. package/vue/chunks/UiSwatch.js +2 -2
  413. package/vue/chunks/UiSwitch.js +2 -2
  414. package/vue/chunks/UiSwitcher.js +2 -2
  415. package/vue/chunks/UiTable.js +2 -2
  416. package/vue/chunks/UiTabs.js +2 -2
  417. package/vue/chunks/UiText.js +2 -2
  418. package/vue/chunks/UiTextarea.js +2 -2
  419. package/vue/chunks/UiToast.js +2 -2
  420. package/vue/chunks/UiToastRegion.js +2 -2
  421. package/vue/chunks/UiTooltip.js +2 -2
  422. package/vue/chunks/UiTopBar.js +1 -1
  423. package/vue/chunks/UiTree.js +2 -2
  424. package/vue/chunks/UiTreeItem.js +2 -2
  425. package/vue/chunks/_plugin-vue_export-helper.js +13 -3
  426. package/vue/components.css +83 -76
  427. package/vue/editor/index.js +211 -30
  428. package/vue/host.ts +9 -5
@@ -6,12 +6,12 @@ import { Editor as Editor$1 } from "@tiptap/vue-3";
6
6
  import { AllSelection, NodeSelection, Plugin, PluginKey, TextSelection } from "@tiptap/pm/state";
7
7
  import { Decoration, DecorationSet } from "@tiptap/pm/view";
8
8
  import { createLowlight } from "lowlight";
9
- import { RequestEvent, updateComponentProps } from "@nextwebwg/html-next/runtime";
9
+ import { RequestEvent, componentRegistry } from "@nextwebwg/html-next/runtime";
10
10
  import "@tiptap/pm/tables";
11
11
  import "@tiptap/pm/transform";
12
12
  import { closeHistory } from "@tiptap/pm/history";
13
13
  import { DOMParser, DOMSerializer, Fragment as Fragment$1 } from "@tiptap/pm/model";
14
- import { IndexedList, NONCONFORMING, acceptProps, armElement, attachGeneratedController, buildTemplate, checkBoolean, checkConstrained, checkFormat, checkInteger, checkNumber, checkObject, checkSelected, checkString, clearRegion, computedCycle, detailCheck, dispatchDeclared, dispose, fillSlot, formatOf, hostState, keywordFormat, manageProps, project, readIndex, readMember, readonlyView, readsChanged, rec, replaceRoot, textCall, toAttribute, toText, trackContainer, truthy, writeAttribute, writeUrlAttribute } from "@nextwebwg/html-next/generated-runtime";
14
+ import { IndexedList, NONCONFORMING, acceptProps, armElement, attachGeneratedController, buildTemplate, checkBoolean, checkConstrained, checkFormat, checkInteger, checkNumber, checkObject, checkSelected, checkString, clearRegion, computedCycle, defineComponent as defineComponent$1, detailCheck, dispatchDeclared, dispose, fillSlot, formatOf, hostState, keywordFormat, manageProps, project, readIndex, readMember, readonlyView, readsChanged, rec, replaceRoot, textCall, toAttribute, toText, trackContainer, truthy, writeAttribute, writeUrlAttribute } from "@nextwebwg/html-next/generated-runtime";
15
15
  export * from "@threadlabs/looma/editor";
16
16
  //#region src/vue/editor/primitives.ts
17
17
  /** Each Vue editor component's element tag, for tooling that enumerates them. */
@@ -3859,6 +3859,22 @@ function createUiButton(options = {}, html) {
3859
3859
  manageProps(I);
3860
3860
  return element;
3861
3861
  }
3862
+ defineComponent$1("ui-button", createUiButton, [
3863
+ "align",
3864
+ "as",
3865
+ "disabled",
3866
+ "href",
3867
+ "loading",
3868
+ "pending",
3869
+ "rel",
3870
+ "shape",
3871
+ "size",
3872
+ "stretch",
3873
+ "target",
3874
+ "tone",
3875
+ "type",
3876
+ "variant"
3877
+ ]);
3862
3878
  //#endregion
3863
3879
  //#region components/shared/overlay.js
3864
3880
  function stateFor(document) {
@@ -4651,6 +4667,7 @@ function createUiAffordanceScope(options = {}, html) {
4651
4667
  manageProps(I);
4652
4668
  return element;
4653
4669
  }
4670
+ defineComponent$1("ui-affordance-scope", createUiAffordanceScope, ["guide", "nearRadius"]);
4654
4671
  //#endregion
4655
4672
  //#region vanilla/UiCluster.js
4656
4673
  var T0$14 = [
@@ -4853,6 +4870,15 @@ function createUiCluster(options = {}, html) {
4853
4870
  manageProps(I);
4854
4871
  return element;
4855
4872
  }
4873
+ defineComponent$1("ui-cluster", createUiCluster, [
4874
+ "align",
4875
+ "fixed",
4876
+ "gap",
4877
+ "justify",
4878
+ "padding",
4879
+ "paddingEnd",
4880
+ "wrap"
4881
+ ]);
4856
4882
  //#endregion
4857
4883
  //#region components/shared/authoring.js
4858
4884
  var DEV = (() => {
@@ -5085,7 +5111,7 @@ function createUiFormField(options = {}, html) {
5085
5111
  }
5086
5112
  if (r.f1 === void 0) {
5087
5113
  r.f1 = 1;
5088
- const at = fillSlot(r.a1, r.e1, "label-action", J, false, void 0, d);
5114
+ const at = fillSlot(r.a1, r.e1, "labelAction", J, false, void 0, d);
5089
5115
  if (Array.isArray(at)) (r.z ??= []).push(() => {
5090
5116
  at[0].l.delete(at[1]);
5091
5117
  dispose(at[1]);
@@ -5181,6 +5207,11 @@ function createUiFormField(options = {}, html) {
5181
5207
  manageProps(I);
5182
5208
  return element;
5183
5209
  }
5210
+ defineComponent$1("ui-form-field", createUiFormField, [
5211
+ "disabled",
5212
+ "invalid",
5213
+ "required"
5214
+ ]);
5184
5215
  //#endregion
5185
5216
  //#region vanilla/UiIcon.js
5186
5217
  var T0$12 = [
@@ -5242,14 +5273,33 @@ var S$14 = {
5242
5273
  };
5243
5274
  var D$14 = {
5244
5275
  g: "ui-icon",
5245
- props: { "name": {
5246
- "required": false,
5247
- "default": "",
5248
- c: checkString,
5249
- t: "string",
5250
- j: 0,
5251
- m: "s"
5252
- } }
5276
+ props: {
5277
+ "name": {
5278
+ "required": false,
5279
+ "default": "",
5280
+ c: checkString,
5281
+ t: "string",
5282
+ j: 0,
5283
+ m: "s"
5284
+ },
5285
+ "tone": {
5286
+ "required": false,
5287
+ "values": [
5288
+ "inherit",
5289
+ "secondary",
5290
+ "muted"
5291
+ ],
5292
+ "default": "inherit",
5293
+ c: checkFormat("keyword", keywordFormat),
5294
+ t: "keyword",
5295
+ j: 0,
5296
+ m: [
5297
+ "p",
5298
+ formatOf(keywordFormat),
5299
+ false
5300
+ ]
5301
+ }
5302
+ }
5253
5303
  };
5254
5304
  function createUiIcon(options = {}, html) {
5255
5305
  const { attributes = {}, children = [], slots = {}, ...componentProps } = options;
@@ -5261,7 +5311,11 @@ function createUiIcon(options = {}, html) {
5261
5311
  if (!element.hasAttribute("aria-hidden")) element.setAttribute("aria-hidden", "true");
5262
5312
  element.setAttribute("data-component", "ui-icon");
5263
5313
  element.append((P0$12 ??= buildTemplate(T0$12)).cloneNode(true));
5264
- const v = [void 0, null];
5314
+ const v = [
5315
+ void 0,
5316
+ null,
5317
+ null
5318
+ ];
5265
5319
  const B = acceptProps(element, D$14, S$14.n, v, componentProps, [], html);
5266
5320
  const X = {
5267
5321
  e: 0,
@@ -6562,15 +6616,24 @@ function createUiIcon(options = {}, html) {
6562
6616
  }
6563
6617
  };
6564
6618
  const p0 = (r, c, d) => {
6619
+ if (c & 4) {
6620
+ const s0 = hostState(["tone"], [v[2]]);
6621
+ if (s0 !== r.v0) writeAttribute(r.n, "data-ui-icon-state", (r.v0 = s0) === "" ? null : s0);
6622
+ }
6565
6623
  if (c & 1073741826) r.L0.update(g(0), d, c);
6566
6624
  };
6567
6625
  const t0 = element.firstChild.nextSibling.firstChild;
6568
- const R = { L0: new IndexedList(t0, t0.nextSibling, m1, p1, void 0, "shape") };
6626
+ const R = {
6627
+ n: element,
6628
+ v0: void 0,
6629
+ L0: new IndexedList(t0, t0.nextSibling, m1, p1, void 0, "shape")
6630
+ };
6569
6631
  const I = { B };
6570
6632
  attachGeneratedController(element, S$14, v, ((c, d) => p0(R, c, d)), void 0, X, I);
6571
6633
  manageProps(I);
6572
6634
  return element;
6573
6635
  }
6636
+ defineComponent$1("ui-icon", createUiIcon, ["name", "tone"]);
6574
6637
  //#endregion
6575
6638
  //#region components/ui-icon-button/ui-icon-button.js
6576
6639
  function connect$8(host) {
@@ -6881,6 +6944,20 @@ function createUiIconButton(options = {}, html) {
6881
6944
  manageProps(I);
6882
6945
  return element;
6883
6946
  }
6947
+ defineComponent$1("ui-icon-button", createUiIconButton, [
6948
+ "anticipatory",
6949
+ "disabled",
6950
+ "guide",
6951
+ "label",
6952
+ "loading",
6953
+ "matchButton",
6954
+ "pending",
6955
+ "revealed",
6956
+ "round",
6957
+ "size",
6958
+ "tone",
6959
+ "variant"
6960
+ ]);
6884
6961
  //#endregion
6885
6962
  //#region vanilla/UiList.js
6886
6963
  var T0$10 = [
@@ -7138,6 +7215,12 @@ function createUiList(options = {}, html) {
7138
7215
  manageProps(I);
7139
7216
  return element;
7140
7217
  }
7218
+ defineComponent$1("ui-list", createUiList, [
7219
+ "as",
7220
+ "density",
7221
+ "layout",
7222
+ "markers"
7223
+ ]);
7141
7224
  //#endregion
7142
7225
  //#region components/shared/menu-navigation.js
7143
7226
  var itemSelector = "[role=\"menuitem\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"]";
@@ -7620,6 +7703,15 @@ function createUiMenu(options = {}, html) {
7620
7703
  manageProps(I);
7621
7704
  return element;
7622
7705
  }
7706
+ defineComponent$1("ui-menu", createUiMenu, [
7707
+ "density",
7708
+ "for",
7709
+ "icons",
7710
+ "inline",
7711
+ "open",
7712
+ "placement",
7713
+ "size"
7714
+ ]);
7623
7715
  //#endregion
7624
7716
  //#region components/ui-menu-item/ui-menu-item.js
7625
7717
  function radioScope(item) {
@@ -8217,6 +8309,14 @@ function createUiMenuItem(options = {}, html) {
8217
8309
  manageProps(I);
8218
8310
  return element;
8219
8311
  }
8312
+ defineComponent$1("ui-menu-item", createUiMenuItem, [
8313
+ "checked",
8314
+ "disabled",
8315
+ "href",
8316
+ "tone",
8317
+ "type",
8318
+ "value"
8319
+ ]);
8220
8320
  //#endregion
8221
8321
  //#region components/ui-popover/ui-popover.js
8222
8322
  function connect$5(host) {
@@ -8548,6 +8648,12 @@ function createUiPopover(options = {}, html) {
8548
8648
  manageProps(I);
8549
8649
  return element;
8550
8650
  }
8651
+ defineComponent$1("ui-popover", createUiPopover, [
8652
+ "for",
8653
+ "open",
8654
+ "placement",
8655
+ "size"
8656
+ ]);
8551
8657
  //#endregion
8552
8658
  //#region vanilla/UiStack.js
8553
8659
  var T0$6 = [
@@ -8708,6 +8814,13 @@ function createUiStack(options = {}, html) {
8708
8814
  manageProps(I);
8709
8815
  return element;
8710
8816
  }
8817
+ defineComponent$1("ui-stack", createUiStack, [
8818
+ "align",
8819
+ "fill",
8820
+ "gap",
8821
+ "height",
8822
+ "justify"
8823
+ ]);
8711
8824
  //#endregion
8712
8825
  //#region vanilla/UiText.js
8713
8826
  var T0$5 = [
@@ -9997,6 +10110,19 @@ function createUiText(options = {}, html) {
9997
10110
  manageProps(I);
9998
10111
  return element;
9999
10112
  }
10113
+ defineComponent$1("ui-text", createUiText, [
10114
+ "align",
10115
+ "as",
10116
+ "font",
10117
+ "grow",
10118
+ "size",
10119
+ "tone",
10120
+ "trim",
10121
+ "truncate",
10122
+ "variant",
10123
+ "weight",
10124
+ "wrap"
10125
+ ]);
10000
10126
  //#endregion
10001
10127
  //#region components/ui-tooltip/ui-tooltip.js
10002
10128
  var warmTooltips = /* @__PURE__ */ new WeakMap();
@@ -10146,6 +10272,7 @@ function connect$4(host) {
10146
10272
  }
10147
10273
  trigger.addEventListener("focusin", onFocusin);
10148
10274
  trigger.addEventListener("focusout", onFocusout);
10275
+ onFocusin();
10149
10276
  };
10150
10277
  const ids = createIdResolver(document, () => {
10151
10278
  lastFor = void 0;
@@ -10514,6 +10641,15 @@ function createUiTooltip(options = {}, html) {
10514
10641
  manageProps(I);
10515
10642
  return element;
10516
10643
  }
10644
+ defineComponent$1("ui-tooltip", createUiTooltip, [
10645
+ "for",
10646
+ "hideDelay",
10647
+ "inverse",
10648
+ "open",
10649
+ "placement",
10650
+ "showDelay",
10651
+ "trigger"
10652
+ ]);
10517
10653
  //#endregion
10518
10654
  //#region src/editor/extensions/expand.ts
10519
10655
  /**
@@ -11045,7 +11181,7 @@ var tableOfContentsNodeView = ({ editor, node, getPos }) => {
11045
11181
  const showDraft = () => {
11046
11182
  for (const field of ["format", "depth"]) {
11047
11183
  choices[field]?.replaceChildren(choiceLabel(field, draft));
11048
- for (const [value, item] of items[field]) updateComponentProps(item, { checked: String(draft[field]) === value });
11184
+ for (const [value, item] of items[field]) componentRegistry.update(item, { checked: String(draft[field]) === value });
11049
11185
  }
11050
11186
  };
11051
11187
  const dropdown = (field) => {
@@ -11133,7 +11269,7 @@ var tableOfContentsNodeView = ({ editor, node, getPos }) => {
11133
11269
  });
11134
11270
  const setSettingsOpen = (open) => {
11135
11271
  settingsOpen = open;
11136
- updateComponentProps(popover, { open });
11272
+ componentRegistry.update(popover, { open });
11137
11273
  revealSettings();
11138
11274
  };
11139
11275
  popover.addEventListener("open", (event) => {
@@ -11161,13 +11297,12 @@ var tableOfContentsNodeView = ({ editor, node, getPos }) => {
11161
11297
  size: "sm",
11162
11298
  anticipatory: true,
11163
11299
  attributes: { id },
11164
- children: [element(createUiText({
11165
- as: "span",
11166
- tone: "secondary",
11167
- children: [element(createUiIcon({ name: "settings" }))]
11300
+ children: [element(createUiIcon({
11301
+ name: "settings",
11302
+ tone: "secondary"
11168
11303
  }))]
11169
11304
  }));
11170
- const revealSettings = () => updateComponentProps(settingsButton, { revealed: selected || hovered || settingsOpen });
11305
+ const revealSettings = () => componentRegistry.update(settingsButton, { revealed: selected || hovered || settingsOpen });
11171
11306
  const tooltip = element(createUiTooltip({
11172
11307
  for: id,
11173
11308
  children: ["Table of contents settings"]
@@ -11653,6 +11788,17 @@ function createUiCheckbox(options = {}, html) {
11653
11788
  I.r["description"] = t4;
11654
11789
  return element;
11655
11790
  }
11791
+ defineComponent$1("ui-checkbox", createUiCheckbox, [
11792
+ "checked",
11793
+ "disabled",
11794
+ "indeterminate",
11795
+ "invalid",
11796
+ "label",
11797
+ "name",
11798
+ "required",
11799
+ "size",
11800
+ "value"
11801
+ ]);
11656
11802
  //#endregion
11657
11803
  //#region components/ui-disclosure/ui-disclosure.js
11658
11804
  var disclosures = 0;
@@ -12234,6 +12380,17 @@ function createUiDisclosure(options = {}, html) {
12234
12380
  I.r["panel"] = t7;
12235
12381
  return element;
12236
12382
  }
12383
+ defineComponent$1("ui-disclosure", createUiDisclosure, [
12384
+ "density",
12385
+ "disabled",
12386
+ "fill",
12387
+ "headingLevel",
12388
+ "name",
12389
+ "open",
12390
+ "requiredOpen",
12391
+ "summary",
12392
+ "variant"
12393
+ ]);
12237
12394
  //#endregion
12238
12395
  //#region components/ui-input/ui-input.js
12239
12396
  function connect$1(host) {
@@ -12609,6 +12766,15 @@ function createUiInput(options = {}, html) {
12609
12766
  manageProps(I);
12610
12767
  return element;
12611
12768
  }
12769
+ defineComponent$1("ui-input", createUiInput, [
12770
+ "disabled",
12771
+ "invalid",
12772
+ "readonly",
12773
+ "required",
12774
+ "size",
12775
+ "type",
12776
+ "value"
12777
+ ]);
12612
12778
  //#endregion
12613
12779
  //#region src/editor/node-views/expand.ts
12614
12780
  var expandSequence = 0;
@@ -12637,7 +12803,7 @@ var expandNodeView = ({ editor, node, getPos }) => {
12637
12803
  });
12638
12804
  const setExpanded = (open) => {
12639
12805
  expanded = open;
12640
- updateComponentProps(disclosure, {
12806
+ componentRegistry.update(disclosure, {
12641
12807
  summary: current.attrs.summary,
12642
12808
  open
12643
12809
  });
@@ -12655,7 +12821,7 @@ var expandNodeView = ({ editor, node, getPos }) => {
12655
12821
  });
12656
12822
  summary.addEventListener("input", () => {
12657
12823
  draft.summary = summary.value;
12658
- updateComponentProps(summary, { value: draft.summary });
12824
+ componentRegistry.update(summary, { value: draft.summary });
12659
12825
  });
12660
12826
  const label = document.createElement("label");
12661
12827
  label.htmlFor = `${id}-summary`;
@@ -12666,7 +12832,7 @@ var expandNodeView = ({ editor, node, getPos }) => {
12666
12832
  });
12667
12833
  initiallyExpanded.addEventListener("change", (event) => {
12668
12834
  draft.open = event.detail.checked;
12669
- updateComponentProps(initiallyExpanded, { checked: draft.open });
12835
+ componentRegistry.update(initiallyExpanded, { checked: draft.open });
12670
12836
  });
12671
12837
  const cancel = createUiButton({
12672
12838
  variant: "ghost",
@@ -12705,13 +12871,13 @@ var expandNodeView = ({ editor, node, getPos }) => {
12705
12871
  ]
12706
12872
  }))]
12707
12873
  });
12708
- const setSettingsOpen = (open) => updateComponentProps(popover, { open });
12874
+ const setSettingsOpen = (open) => componentRegistry.update(popover, { open });
12709
12875
  popover.addEventListener("open", (event) => {
12710
12876
  if (event.target !== popover) return;
12711
12877
  draft.summary = String(current.attrs.summary);
12712
12878
  draft.open = Boolean(current.attrs.open);
12713
- updateComponentProps(summary, { value: draft.summary });
12714
- updateComponentProps(initiallyExpanded, { checked: draft.open });
12879
+ componentRegistry.update(summary, { value: draft.summary });
12880
+ componentRegistry.update(initiallyExpanded, { checked: draft.open });
12715
12881
  setSettingsOpen(true);
12716
12882
  });
12717
12883
  popover.addEventListener("close", (event) => {
@@ -12891,6 +13057,12 @@ function createUiSeparator(options = {}, html) {
12891
13057
  manageProps(I);
12892
13058
  return element;
12893
13059
  }
13060
+ defineComponent$1("ui-separator", createUiSeparator, [
13061
+ "emphasis",
13062
+ "orientation",
13063
+ "selectable",
13064
+ "selected"
13065
+ ]);
12894
13066
  //#endregion
12895
13067
  //#region src/editor/node-views/divider.ts
12896
13068
  /**
@@ -12905,7 +13077,7 @@ var dividerNodeView = ({ editor, getPos }) => {
12905
13077
  selectable: editor.isEditable,
12906
13078
  attributes: { contenteditable: "false" }
12907
13079
  });
12908
- const render = () => updateComponentProps(dom, {
13080
+ const render = () => componentRegistry.update(dom, {
12909
13081
  selectable: editor.isEditable,
12910
13082
  selected: editor.isEditable && selected
12911
13083
  });
@@ -13384,6 +13556,7 @@ function createUiCallout(options = {}, html) {
13384
13556
  manageProps(I);
13385
13557
  return element;
13386
13558
  }
13559
+ defineComponent$1("ui-callout", createUiCallout, ["heading", "tone"]);
13387
13560
  //#endregion
13388
13561
  //#region src/editor/node-views/callout.ts
13389
13562
  var calloutProps = (node) => ({
@@ -13412,7 +13585,7 @@ var calloutNodeView = ({ node }) => {
13412
13585
  update(next) {
13413
13586
  if (next.type !== current.type) return false;
13414
13587
  current = next;
13415
- updateComponentProps(callout, calloutProps(next));
13588
+ componentRegistry.update(callout, calloutProps(next));
13416
13589
  return true;
13417
13590
  },
13418
13591
  ignoreMutation: (mutation) => mutation.type !== "selection" && !contentDOM.contains(mutation.target)
@@ -13866,6 +14039,15 @@ function createUiImage(options = {}, html) {
13866
14039
  I.r["frame"] = t0;
13867
14040
  return element;
13868
14041
  }
14042
+ defineComponent$1("ui-image", createUiImage, [
14043
+ "alt",
14044
+ "height",
14045
+ "placement",
14046
+ "resizable",
14047
+ "selected",
14048
+ "src",
14049
+ "width"
14050
+ ]);
13869
14051
  //#endregion
13870
14052
  //#region src/editor/node-views/image.ts
13871
14053
  /** The delivery attributes the editor's decorations lay over the stored ones, such as `srcset`. */
@@ -13922,7 +14104,7 @@ var imageNodeView = ({ editor, node, getPos, decorations }) => {
13922
14104
  const dom = element(image);
13923
14105
  const render = () => {
13924
14106
  writeMedia(current.attrs);
13925
- updateComponentProps(dom, props(current));
14107
+ componentRegistry.update(dom, props(current));
13926
14108
  };
13927
14109
  dom.addEventListener("click", (event) => {
13928
14110
  if (event.target.closest("button")) return;
@@ -14920,7 +15102,6 @@ var LoomaEditor = defineComponent({
14920
15102
  element,
14921
15103
  pluginKey: "looma-link-context-menu",
14922
15104
  shouldShow: ({ editor: menuEditor, from, to }) => (from === to || Boolean(selectedLinkReference(menuEditor))) && isLinkActive(menuEditor) && linkState.value.surface !== "popover" && !formatting?.dismissed(menuEditor.state.selection) && Boolean(menuEditor.isFocused || linkState.value.surface === "context" || linkPopup?.element.contains(document.activeElement)) && !(props.toolbarMode === "contextual" && floatingFormattingMode() && formattingActive()),
14923
- maxWidth: () => Math.min(480, window.innerWidth - 24),
14924
15105
  related: editorRoot,
14925
15106
  onDismiss: (reason) => reason === "escape" ? dismissFormatting() : linkPopup?.hide()
14926
15107
  }));
package/vue/host.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Generated by HTML Next 1.0.0-alpha.57 for Vue 3.5. Do not edit.
1
+ // Generated by HTML Next 1.0.0-alpha.58 for Vue 3.5. Do not edit.
2
2
  import {
3
3
  computed,
4
4
  createTextVNode,
@@ -713,12 +713,15 @@ export function useComponentHost(
713
713
  validate: validity,
714
714
  })
715
715
  }
716
+ // Vue clears a template ref when it removes the element, as when a failed render replaces the
717
+ // root, so cleanup that runs after that still reads the root that disconnected.
718
+ let lastRoot: Element | null = null
716
719
  const host = {
717
720
  get element(): Element {
718
- return root.value as Element
721
+ return (root.value ?? lastRoot) as Element
719
722
  },
720
723
  get root(): Element {
721
- return root.value as Element
724
+ return (root.value ?? lastRoot) as Element
722
725
  },
723
726
  ...controllerNamespaces({
724
727
  state: Object.fromEntries(
@@ -875,6 +878,7 @@ export function useComponentHost(
875
878
  }
876
879
  const synchronize = (): void => {
877
880
  if (unmounted) return
881
+ lastRoot = root.value ?? lastRoot
878
882
  if (root.value?.isConnected !== true) {
879
883
  disconnect()
880
884
  return
@@ -1144,8 +1148,8 @@ export function useReflectedProp() {
1144
1148
  /** A scoped slot's name, which the consumer must fill with a `<template slot>` rather than plain children. */
1145
1149
  export function useScopedSlotName() {
1146
1150
  const slots = useSlots()
1147
- return (value: unknown): string => {
1148
- const name = value == null ? '' : String(value)
1151
+ // A slot's name is a literal, so the outlet keeps its literal type, as declared slots type it.
1152
+ return <Name extends string>(name: Name): Name => {
1149
1153
  if (slots[name] === undefined && slots.default?.().some((node) => node.props?.slot === name)) {
1150
1154
  throw diagnostic(
1151
1155
  'HR007',