@threadlabs/looma 0.29.0 → 0.29.2

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 (423) hide show
  1. package/components/ui-editor-code-language/ui-editor-code-language.html +1 -1
  2. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.html +1 -2
  3. package/components/ui-editor-link-form/ui-editor-link-form.html +2 -3
  4. package/components/ui-tooltip/ui-tooltip.html +5 -2
  5. package/dist/index.js +1 -1
  6. package/editor/chip-editing.d.ts +39 -0
  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 +7 -2
  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 +6 -6
  92. package/vanilla/UiAffordanceScope.d.ts +1 -1
  93. package/vanilla/UiAffordanceScope.js +1 -1
  94. package/vanilla/UiAvatar.d.ts +1 -1
  95. package/vanilla/UiAvatar.js +7 -7
  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 +1 -1
  104. package/vanilla/UiButton.d.ts +1 -1
  105. package/vanilla/UiButton.js +17 -17
  106. package/vanilla/UiCallout.d.ts +1 -1
  107. package/vanilla/UiCallout.js +13 -13
  108. package/vanilla/UiCard.d.ts +1 -1
  109. package/vanilla/UiCard.js +1 -1
  110. package/vanilla/UiCheckbox.d.ts +1 -1
  111. package/vanilla/UiCheckbox.js +6 -6
  112. package/vanilla/UiCluster.d.ts +1 -1
  113. package/vanilla/UiCluster.js +1 -1
  114. package/vanilla/UiCombobox.d.ts +1 -1
  115. package/vanilla/UiCombobox.js +48 -48
  116. package/vanilla/UiContainer.d.ts +1 -1
  117. package/vanilla/UiContainer.js +1 -1
  118. package/vanilla/UiContextMenu.d.ts +1 -1
  119. package/vanilla/UiContextMenu.js +1 -1
  120. package/vanilla/UiCover.d.ts +1 -1
  121. package/vanilla/UiCover.js +1 -1
  122. package/vanilla/UiDescriptionItem.d.ts +1 -1
  123. package/vanilla/UiDescriptionItem.js +4 -4
  124. package/vanilla/UiDescriptionList.d.ts +1 -1
  125. package/vanilla/UiDescriptionList.js +1 -1
  126. package/vanilla/UiDialog.d.ts +1 -1
  127. package/vanilla/UiDialog.js +7 -7
  128. package/vanilla/UiDisclosure.d.ts +1 -1
  129. package/vanilla/UiDisclosure.js +8 -8
  130. package/vanilla/UiEditable.d.ts +1 -1
  131. package/vanilla/UiEditable.js +11 -11
  132. package/vanilla/UiEditorBlockActions.d.ts +1 -1
  133. package/vanilla/UiEditorBlockActions.js +3 -3
  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 +7 -12
  138. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  139. package/vanilla/UiEditorImageToolbar.js +90 -95
  140. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  141. package/vanilla/UiEditorInsertTableGrid.js +7 -7
  142. package/vanilla/UiEditorLinkCard.d.ts +1 -1
  143. package/vanilla/UiEditorLinkCard.js +13 -13
  144. package/vanilla/UiEditorLinkForm.d.ts +1 -1
  145. package/vanilla/UiEditorLinkForm.js +32 -44
  146. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  147. package/vanilla/UiEditorMentionMenu.js +12 -12
  148. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  149. package/vanilla/UiEditorMentionMenuItem.js +4 -4
  150. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  151. package/vanilla/UiEditorSlashMenu.js +11 -11
  152. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  153. package/vanilla/UiEditorSlashMenuGroup.js +5 -5
  154. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  155. package/vanilla/UiEditorSlashMenuItem.js +4 -4
  156. package/vanilla/UiEditorSurface.d.ts +1 -1
  157. package/vanilla/UiEditorSurface.js +1 -1
  158. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  159. package/vanilla/UiEditorTableContextMenu.js +16 -16
  160. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  161. package/vanilla/UiEditorTableOverlay.js +18 -18
  162. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  163. package/vanilla/UiEditorTableToolbar.js +33 -33
  164. package/vanilla/UiEditorToolbar.d.ts +1 -1
  165. package/vanilla/UiEditorToolbar.js +1 -1
  166. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  167. package/vanilla/UiFloatingActionButton.js +1 -1
  168. package/vanilla/UiFormField.d.ts +1 -1
  169. package/vanilla/UiFormField.js +8 -8
  170. package/vanilla/UiGrid.d.ts +1 -1
  171. package/vanilla/UiGrid.js +1 -1
  172. package/vanilla/UiIcon.d.ts +1 -1
  173. package/vanilla/UiIcon.js +4 -4
  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 +6 -6
  178. package/vanilla/UiInput.d.ts +1 -1
  179. package/vanilla/UiInput.js +1 -1
  180. package/vanilla/UiInputGroup.d.ts +1 -1
  181. package/vanilla/UiInputGroup.js +6 -6
  182. package/vanilla/UiList.d.ts +1 -1
  183. package/vanilla/UiList.js +1 -1
  184. package/vanilla/UiListItem.d.ts +1 -1
  185. package/vanilla/UiListItem.js +7 -7
  186. package/vanilla/UiListbox.d.ts +1 -1
  187. package/vanilla/UiListbox.js +12 -12
  188. package/vanilla/UiMenu.d.ts +1 -1
  189. package/vanilla/UiMenu.js +1 -1
  190. package/vanilla/UiMenuGroup.d.ts +1 -1
  191. package/vanilla/UiMenuGroup.js +4 -4
  192. package/vanilla/UiMenuItem.d.ts +1 -1
  193. package/vanilla/UiMenuItem.js +11 -11
  194. package/vanilla/UiMeter.d.ts +1 -1
  195. package/vanilla/UiMeter.js +8 -8
  196. package/vanilla/UiNavItem.d.ts +1 -1
  197. package/vanilla/UiNavItem.js +13 -13
  198. package/vanilla/UiPageHeader.d.ts +1 -1
  199. package/vanilla/UiPageHeader.js +8 -8
  200. package/vanilla/UiPopover.d.ts +1 -1
  201. package/vanilla/UiPopover.js +1 -1
  202. package/vanilla/UiRadio.d.ts +1 -1
  203. package/vanilla/UiRadio.js +6 -6
  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 +1 -1
  208. package/vanilla/UiScrollArea.d.ts +1 -1
  209. package/vanilla/UiScrollArea.js +1 -1
  210. package/vanilla/UiSearchResultRow.d.ts +1 -1
  211. package/vanilla/UiSearchResultRow.js +8 -8
  212. package/vanilla/UiSearchShell.d.ts +1 -1
  213. package/vanilla/UiSearchShell.js +8 -8
  214. package/vanilla/UiSection.d.ts +1 -1
  215. package/vanilla/UiSection.js +8 -8
  216. package/vanilla/UiSelect.d.ts +1 -1
  217. package/vanilla/UiSelect.js +1 -1
  218. package/vanilla/UiSeparator.d.ts +1 -1
  219. package/vanilla/UiSeparator.js +1 -1
  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 +2 -2
  224. package/vanilla/UiStack.d.ts +1 -1
  225. package/vanilla/UiStack.js +1 -1
  226. package/vanilla/UiStatusMessage.d.ts +1 -1
  227. package/vanilla/UiStatusMessage.js +7 -7
  228. package/vanilla/UiSwatch.d.ts +1 -1
  229. package/vanilla/UiSwatch.js +1 -1
  230. package/vanilla/UiSwitch.d.ts +1 -1
  231. package/vanilla/UiSwitch.js +6 -6
  232. package/vanilla/UiSwitcher.d.ts +1 -1
  233. package/vanilla/UiSwitcher.js +1 -1
  234. package/vanilla/UiTable.d.ts +1 -1
  235. package/vanilla/UiTable.js +1 -1
  236. package/vanilla/UiTabs.d.ts +1 -1
  237. package/vanilla/UiTabs.js +7 -7
  238. package/vanilla/UiText.d.ts +1 -1
  239. package/vanilla/UiText.js +1 -1
  240. package/vanilla/UiTextarea.d.ts +1 -1
  241. package/vanilla/UiTextarea.js +1 -1
  242. package/vanilla/UiToast.d.ts +1 -1
  243. package/vanilla/UiToast.js +5 -5
  244. package/vanilla/UiToastRegion.d.ts +1 -1
  245. package/vanilla/UiToastRegion.js +8 -8
  246. package/vanilla/UiTooltip.d.ts +1 -1
  247. package/vanilla/UiTooltip.js +9 -8
  248. package/vanilla/UiTopBar.d.ts +1 -1
  249. package/vanilla/UiTopBar.js +6 -6
  250. package/vanilla/UiTree.d.ts +1 -1
  251. package/vanilla/UiTree.js +1 -1
  252. package/vanilla/UiTreeItem.d.ts +1 -1
  253. package/vanilla/UiTreeItem.js +13 -13
  254. package/vue/UiActionBar.vue +8 -5
  255. package/vue/UiAffordanceScope.vue +1 -1
  256. package/vue/UiAvatar.vue +10 -11
  257. package/vue/UiAvatarGroup.vue +2 -3
  258. package/vue/UiBadge.vue +5 -3
  259. package/vue/UiBreadcrumbItem.vue +2 -3
  260. package/vue/UiBreadcrumbs.vue +1 -1
  261. package/vue/UiButton.vue +15 -13
  262. package/vue/UiCallout.vue +8 -15
  263. package/vue/UiCard.vue +1 -1
  264. package/vue/UiCheckbox.vue +5 -4
  265. package/vue/UiCluster.vue +1 -1
  266. package/vue/UiCombobox.vue +25 -27
  267. package/vue/UiContainer.vue +1 -1
  268. package/vue/UiContextMenu.vue +1 -1
  269. package/vue/UiCover.vue +1 -1
  270. package/vue/UiDescriptionItem.vue +1 -1
  271. package/vue/UiDescriptionList.vue +1 -1
  272. package/vue/UiDialog.vue +4 -3
  273. package/vue/UiDisclosure.vue +9 -8
  274. package/vue/UiEditable.vue +13 -9
  275. package/vue/UiEditorBlockActions.vue +5 -4
  276. package/vue/UiEditorChipEditor.vue +7 -9
  277. package/vue/UiEditorCodeLanguage.vue +2 -2
  278. package/vue/UiEditorImageToolbar.vue +25 -32
  279. package/vue/UiEditorInsertTableGrid.vue +1 -1
  280. package/vue/UiEditorLinkCard.vue +17 -20
  281. package/vue/UiEditorLinkForm.vue +21 -23
  282. package/vue/UiEditorMentionMenu.vue +9 -7
  283. package/vue/UiEditorMentionMenuItem.vue +5 -6
  284. package/vue/UiEditorSlashMenu.vue +3 -5
  285. package/vue/UiEditorSlashMenuGroup.vue +1 -1
  286. package/vue/UiEditorSlashMenuItem.vue +5 -6
  287. package/vue/UiEditorSurface.vue +1 -1
  288. package/vue/UiEditorTableContextMenu.vue +4 -7
  289. package/vue/UiEditorTableOverlay.vue +26 -18
  290. package/vue/UiEditorTableToolbar.vue +23 -21
  291. package/vue/UiEditorToolbar.vue +1 -1
  292. package/vue/UiFloatingActionButton.vue +1 -1
  293. package/vue/UiFormField.vue +4 -3
  294. package/vue/UiGrid.vue +1 -1
  295. package/vue/UiIcon.vue +1 -1
  296. package/vue/UiIconButton.vue +4 -3
  297. package/vue/UiImage.vue +4 -7
  298. package/vue/UiInput.vue +1 -1
  299. package/vue/UiInputGroup.vue +7 -5
  300. package/vue/UiList.vue +1 -1
  301. package/vue/UiListItem.vue +10 -7
  302. package/vue/UiListbox.vue +3 -5
  303. package/vue/UiMenu.vue +1 -1
  304. package/vue/UiMenuGroup.vue +2 -3
  305. package/vue/UiMenuItem.vue +15 -10
  306. package/vue/UiMeter.vue +4 -5
  307. package/vue/UiNavItem.vue +19 -13
  308. package/vue/UiPageHeader.vue +8 -7
  309. package/vue/UiPopover.vue +1 -1
  310. package/vue/UiRadio.vue +10 -6
  311. package/vue/UiRadioGroup.vue +1 -1
  312. package/vue/UiReel.vue +1 -1
  313. package/vue/UiScrollArea.vue +1 -1
  314. package/vue/UiSearchResultRow.vue +11 -8
  315. package/vue/UiSearchShell.vue +1 -1
  316. package/vue/UiSection.vue +7 -4
  317. package/vue/UiSelect.vue +1 -1
  318. package/vue/UiSeparator.vue +1 -1
  319. package/vue/UiSidebar.vue +1 -1
  320. package/vue/UiSpinner.vue +1 -1
  321. package/vue/UiStack.vue +1 -1
  322. package/vue/UiStatusMessage.vue +10 -6
  323. package/vue/UiSwatch.vue +1 -1
  324. package/vue/UiSwitch.vue +10 -6
  325. package/vue/UiSwitcher.vue +1 -1
  326. package/vue/UiTable.vue +1 -1
  327. package/vue/UiTabs.vue +3 -3
  328. package/vue/UiText.vue +1 -1
  329. package/vue/UiTextarea.vue +1 -1
  330. package/vue/UiToast.vue +1 -1
  331. package/vue/UiToastRegion.vue +7 -5
  332. package/vue/UiTooltip.vue +10 -5
  333. package/vue/UiTopBar.vue +1 -1
  334. package/vue/UiTree.vue +1 -1
  335. package/vue/UiTreeItem.vue +14 -13
  336. package/vue/chunks/UiActionBar.js +4 -2
  337. package/vue/chunks/UiAffordanceScope.js +1 -1
  338. package/vue/chunks/UiAvatar.js +18 -12
  339. package/vue/chunks/UiAvatarGroup.js +15 -11
  340. package/vue/chunks/UiBadge.js +7 -3
  341. package/vue/chunks/UiBreadcrumbItem.js +10 -6
  342. package/vue/chunks/UiBreadcrumbs.js +1 -1
  343. package/vue/chunks/UiButton.js +10 -2
  344. package/vue/chunks/UiCallout.js +13 -3
  345. package/vue/chunks/UiCard.js +1 -1
  346. package/vue/chunks/UiCheckbox.js +35 -27
  347. package/vue/chunks/UiCluster.js +1 -1
  348. package/vue/chunks/UiCombobox.js +108 -74
  349. package/vue/chunks/UiContainer.js +1 -1
  350. package/vue/chunks/UiContextMenu.js +1 -1
  351. package/vue/chunks/UiCover.js +1 -1
  352. package/vue/chunks/UiDescriptionItem.js +1 -1
  353. package/vue/chunks/UiDescriptionList.js +1 -1
  354. package/vue/chunks/UiDialog.js +14 -10
  355. package/vue/chunks/UiDisclosure.js +3 -1
  356. package/vue/chunks/UiEditable.js +36 -24
  357. package/vue/chunks/UiEditorBlockActions.js +3 -1
  358. package/vue/chunks/UiEditorChipEditor.js +31 -22
  359. package/vue/chunks/UiEditorCodeLanguage.js +1 -1
  360. package/vue/chunks/UiEditorImageToolbar.js +45 -27
  361. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  362. package/vue/chunks/UiEditorLinkCard.js +58 -42
  363. package/vue/chunks/UiEditorLinkForm.js +110 -90
  364. package/vue/chunks/UiEditorMentionMenu.js +23 -14
  365. package/vue/chunks/UiEditorMentionMenuItem.js +6 -2
  366. package/vue/chunks/UiEditorSlashMenu.js +24 -16
  367. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  368. package/vue/chunks/UiEditorSlashMenuItem.js +10 -6
  369. package/vue/chunks/UiEditorSurface.js +1 -1
  370. package/vue/chunks/UiEditorTableContextMenu.js +65 -53
  371. package/vue/chunks/UiEditorTableOverlay.js +60 -40
  372. package/vue/chunks/UiEditorTableToolbar.js +100 -74
  373. package/vue/chunks/UiEditorToolbar.js +1 -1
  374. package/vue/chunks/UiFloatingActionButton.js +1 -1
  375. package/vue/chunks/UiFormField.js +7 -3
  376. package/vue/chunks/UiGrid.js +1 -1
  377. package/vue/chunks/UiIcon.js +1 -1
  378. package/vue/chunks/UiIconButton.js +11 -7
  379. package/vue/chunks/UiImage.js +5 -2
  380. package/vue/chunks/UiInput.js +1 -1
  381. package/vue/chunks/UiInputGroup.js +5 -2
  382. package/vue/chunks/UiList.js +1 -1
  383. package/vue/chunks/UiListItem.js +9 -3
  384. package/vue/chunks/UiListbox.js +17 -11
  385. package/vue/chunks/UiMenu.js +1 -1
  386. package/vue/chunks/UiMenuGroup.js +7 -3
  387. package/vue/chunks/UiMenuItem.js +7 -2
  388. package/vue/chunks/UiMeter.js +28 -16
  389. package/vue/chunks/UiNavItem.js +20 -6
  390. package/vue/chunks/UiPageHeader.js +4 -2
  391. package/vue/chunks/UiPopover.js +1 -1
  392. package/vue/chunks/UiRadio.js +32 -24
  393. package/vue/chunks/UiRadioGroup.js +1 -1
  394. package/vue/chunks/UiReel.js +1 -1
  395. package/vue/chunks/UiScrollArea.js +1 -1
  396. package/vue/chunks/UiSearchResultRow.js +6 -2
  397. package/vue/chunks/UiSearchShell.js +1 -1
  398. package/vue/chunks/UiSection.js +15 -7
  399. package/vue/chunks/UiSelect.js +1 -1
  400. package/vue/chunks/UiSeparator.js +1 -1
  401. package/vue/chunks/UiSidebar.js +1 -1
  402. package/vue/chunks/UiSpinner.js +1 -1
  403. package/vue/chunks/UiStack.js +1 -1
  404. package/vue/chunks/UiStatusMessage.js +13 -7
  405. package/vue/chunks/UiSwatch.js +1 -1
  406. package/vue/chunks/UiSwitch.js +33 -25
  407. package/vue/chunks/UiSwitcher.js +1 -1
  408. package/vue/chunks/UiTable.js +1 -1
  409. package/vue/chunks/UiTabs.js +21 -17
  410. package/vue/chunks/UiText.js +1 -1
  411. package/vue/chunks/UiTextarea.js +1 -1
  412. package/vue/chunks/UiToast.js +1 -1
  413. package/vue/chunks/UiToastRegion.js +39 -31
  414. package/vue/chunks/UiTooltip.js +11 -3
  415. package/vue/chunks/UiTopBar.js +1 -1
  416. package/vue/chunks/UiTree.js +1 -1
  417. package/vue/chunks/UiTreeItem.js +25 -15
  418. package/vue/chunks/_plugin-vue_export-helper.js +1 -0
  419. package/vue/components.css +25 -21
  420. package/vue/editor/LoomaEditor.d.ts +2 -2
  421. package/vue/editor/compact/index.d.ts +2 -2
  422. package/vue/editor/index.js +241 -77
  423. package/vue/host.ts +4 -1
@@ -1,7 +1,7 @@
1
1
  import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
3
3
  import { r as vBindControl } from "./control.js";
4
- import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
4
+ import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withDirectives } from "vue";
5
5
  //#region .build/vue/UiSwitch.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = [
7
7
  "data-ui-switch-prop-checked",
@@ -241,34 +241,42 @@ var UiSwitch_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
241
241
  "data-ui-switch-state": hostState.value || void 0,
242
242
  ref_key: "root",
243
243
  ref: root
244
- }), [withDirectives(createElementVNode("input", {
245
- type: "checkbox",
246
- role: "switch",
247
- "data-hn-ui-switch": "",
248
- disabled: checkedProps.value.disabled ?? void 0,
249
- required: checkedProps.value.required ?? void 0,
250
- name: checkedProps.value.name ?? void 0,
251
- "^value": checkedProps.value.value ?? void 0,
252
- ref_key: "inputElement",
253
- ref: inputElement
254
- }, null, 8, _hoisted_2), [[unref(vBindControl), {
255
- tag: "input",
256
- name: "checked",
257
- value: internalChecked.value,
258
- nativeProperty: true,
259
- defaultChecked: false
260
- }]]), createElementVNode("span", _hoisted_3, [createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), createElementVNode("span", {
261
- class: "description",
262
- "aria-hidden": "true",
263
- "data-hn-ui-switch": "",
264
- ref_key: "descriptionElement",
265
- ref: descriptionElement
266
- }, [renderSlot(_ctx.$slots, "description", {}, void 0, true)], 512)])], 16, _hoisted_1)), [[unref(vPropValidity), {
244
+ }), [
245
+ withDirectives(createElementVNode("input", {
246
+ type: "checkbox",
247
+ role: "switch",
248
+ "data-hn-ui-switch": "",
249
+ disabled: checkedProps.value.disabled ?? void 0,
250
+ required: checkedProps.value.required ?? void 0,
251
+ name: checkedProps.value.name ?? void 0,
252
+ "^value": checkedProps.value.value ?? void 0,
253
+ ref_key: "inputElement",
254
+ ref: inputElement
255
+ }, null, 8, _hoisted_2), [[unref(vBindControl), {
256
+ tag: "input",
257
+ name: "checked",
258
+ value: internalChecked.value,
259
+ nativeProperty: true,
260
+ defaultChecked: false
261
+ }]]),
262
+ _cache[1] || (_cache[1] = createTextVNode(toDisplayString(" "), -1)),
263
+ createElementVNode("span", _hoisted_3, [
264
+ createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
265
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
266
+ createElementVNode("span", {
267
+ class: "description",
268
+ "aria-hidden": "true",
269
+ "data-hn-ui-switch": "",
270
+ ref_key: "descriptionElement",
271
+ ref: descriptionElement
272
+ }, [renderSlot(_ctx.$slots, "description", {}, void 0, true)], 512)
273
+ ])
274
+ ], 16, _hoisted_1)), [[unref(vPropValidity), {
267
275
  contract: propValidityContract,
268
276
  values: { ...props }
269
277
  }]]);
270
278
  };
271
279
  }
272
- }), [["__scopeId", "data-v-df95cf7c"]]);
280
+ }), [["__scopeId", "data-v-65de4e5a"]]);
273
281
  //#endregion
274
282
  export { UiSwitch_default as t };
@@ -182,6 +182,6 @@ var UiSwitcher_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
182
182
  }]]);
183
183
  };
184
184
  }
185
- }), [["__scopeId", "data-v-657992bf"]]);
185
+ }), [["__scopeId", "data-v-67d5efc7"]]);
186
186
  //#endregion
187
187
  export { UiSwitcher_default as t };
@@ -110,6 +110,6 @@ var UiTable_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
110
110
  }]]);
111
111
  };
112
112
  }
113
- }), [["__scopeId", "data-v-6aae3d46"]]);
113
+ }), [["__scopeId", "data-v-68a07a41"]]);
114
114
  //#endregion
115
115
  export { UiTable_default as t };
@@ -1,6 +1,6 @@
1
1
  import { _ as uniqueKeys, a as concat, i as checkHydratedRoot, n as KeyedBoundary, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
3
- import { Fragment, computed, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx, withDirectives } from "vue";
3
+ import { Fragment, computed, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, useTemplateRef, watchSyncEffect, withCtx, withDirectives } from "vue";
4
4
  //#region .build/vue/UiTabs.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
6
6
  "data-ui-tabs-prop-activation",
@@ -288,21 +288,25 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
288
288
  "aria-orientation": checkedProps.value.orientation ?? void 0,
289
289
  ref_key: "listElement",
290
290
  ref: listElement
291
- }, [renderSlot(_ctx.$slots, "tab", {}, () => [createVNode(unref(KeyedBoundary), null, {
292
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(tabs.value, (tab, index, loop) => tab.id), (tab) => {
293
- return openBlock(), createElementBlock("button", {
294
- key: tab.id,
295
- type: "button",
296
- role: "tab",
297
- "data-hn-ui-tabs": "",
298
- id: unref(concat)(tab.id, "-tab"),
299
- value: tab.id,
300
- "aria-controls": tab.id,
301
- "aria-selected": tab.id === internalValue.value
302
- }, toDisplayString(tab.label), 9, _hoisted_3);
303
- }), 128))]),
304
- _: 1
305
- })], true)], 8, _hoisted_2), createElementVNode("div", {
291
+ }, [renderSlot(_ctx.$slots, "tab", {}, () => [
292
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
293
+ createVNode(unref(KeyedBoundary), null, {
294
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(tabs.value, (tab, index, loop) => tab.id), (tab) => {
295
+ return openBlock(), createElementBlock("button", {
296
+ key: tab.id,
297
+ type: "button",
298
+ role: "tab",
299
+ "data-hn-ui-tabs": "",
300
+ id: unref(concat)(tab.id, "-tab"),
301
+ value: tab.id,
302
+ "aria-controls": tab.id,
303
+ "aria-selected": tab.id === internalValue.value
304
+ }, toDisplayString(tab.label), 9, _hoisted_3);
305
+ }), 128))]),
306
+ _: 1
307
+ }),
308
+ _cache[1] || (_cache[1] = createTextVNode(toDisplayString(" "), -1))
309
+ ], true)], 8, _hoisted_2), createElementVNode("div", {
306
310
  class: "panels",
307
311
  "data-hn-ui-tabs": "",
308
312
  ref_key: "panelsElement",
@@ -313,6 +317,6 @@ var UiTabs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
313
317
  }]]);
314
318
  };
315
319
  }
316
- }), [["__scopeId", "data-v-34fb5f5c"]]);
320
+ }), [["__scopeId", "data-v-1fd60e13"]]);
317
321
  //#endregion
318
322
  export { UiTabs_default as t };
@@ -698,6 +698,6 @@ var UiText_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
698
698
  }]]);
699
699
  };
700
700
  }
701
- }), [["__scopeId", "data-v-7b76939b"]]);
701
+ }), [["__scopeId", "data-v-90b431ab"]]);
702
702
  //#endregion
703
703
  export { UiText_default as t };
@@ -303,6 +303,6 @@ var UiTextarea_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
303
303
  }]]);
304
304
  };
305
305
  }
306
- }), [["__scopeId", "data-v-a9196919"]]);
306
+ }), [["__scopeId", "data-v-2ab296aa"]]);
307
307
  //#endregion
308
308
  export { UiTextarea_default as t };
@@ -156,6 +156,6 @@ var UiToast_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE
156
156
  }]]);
157
157
  };
158
158
  }
159
- }), [["__scopeId", "data-v-0c94c15a"]]);
159
+ }), [["__scopeId", "data-v-a61ebbe5"]]);
160
160
  //#endregion
161
161
  export { UiToast_default as t };
@@ -2,7 +2,7 @@ import { _ as uniqueKeys, a as concat, i as checkHydratedRoot, n as KeyedBoundar
2
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
3
3
  import { t as UiIcon_default } from "./UiIcon.js";
4
4
  import { t as UiIconButton_default } from "./UiIconButton.js";
5
- import { Fragment, computed, createElementBlock, createElementVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
5
+ import { Fragment, computed, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeProps, normalizeClass, openBlock, provide, ref, renderList, renderSlot, toDisplayString, unref, watchSyncEffect, withCtx, withDirectives } from "vue";
6
6
  //#region .build/vue/UiToastRegion.vue?vue&type=script&setup=true&lang.ts
7
7
  var _hoisted_1 = [
8
8
  "data-ui-toast-region-prop-duration",
@@ -214,40 +214,48 @@ var UiToastRegion_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
214
214
  "data-ui-toast-region-state": hostState.value || void 0,
215
215
  ref_key: "root",
216
216
  ref: root
217
- }), [renderSlot(_ctx.$slots, "default", {}, void 0, true), createVNode(unref(KeyedBoundary), null, {
218
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(toasts.value, (toast, index, loop) => toast.id), (toast) => {
219
- return openBlock(), createElementBlock("div", {
220
- key: toast.id,
221
- class: normalizeClass(["toast", { closing: toast.closing }]),
222
- "data-hn-ui-toast-region": "",
223
- id: toast.id,
224
- role: toast.role,
225
- "data-tone": toast.tone
226
- }, [createElementVNode("span", _hoisted_3, toDisplayString(toast.message), 1), createElementVNode("span", {
227
- class: "dismiss",
228
- "data-hn-ui-toast-region": "",
229
- "data-toast": toast.id
230
- }, [createVNode(UiIconButton_default, {
231
- class: "ui-icon-button",
232
- size: "sm",
233
- variant: "ghost",
234
- round: true,
235
- label: unref(concat)("Dismiss ", toast.message)
236
- }, {
237
- default: withCtx(() => [createVNode(UiIcon_default, {
238
- class: "ui-icon",
239
- name: "x"
240
- })]),
241
- _: 1
242
- }, 8, ["label"])], 8, _hoisted_4)], 10, _hoisted_2);
243
- }), 128))]),
244
- _: 1
245
- })], 16, _hoisted_1)), [[unref(vPropValidity), {
217
+ }), [
218
+ renderSlot(_ctx.$slots, "default", {}, void 0, true),
219
+ _cache[1] || (_cache[1] = createTextVNode(toDisplayString(" "), -1)),
220
+ createVNode(unref(KeyedBoundary), null, {
221
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(uniqueKeys)(toasts.value, (toast, index, loop) => toast.id), (toast) => {
222
+ return openBlock(), createElementBlock("div", {
223
+ key: toast.id,
224
+ class: normalizeClass(["toast", { closing: toast.closing }]),
225
+ "data-hn-ui-toast-region": "",
226
+ id: toast.id,
227
+ role: toast.role,
228
+ "data-tone": toast.tone
229
+ }, [
230
+ createElementVNode("span", _hoisted_3, toDisplayString(toast.message), 1),
231
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
232
+ createElementVNode("span", {
233
+ class: "dismiss",
234
+ "data-hn-ui-toast-region": "",
235
+ "data-toast": toast.id
236
+ }, [createVNode(UiIconButton_default, {
237
+ class: "ui-icon-button",
238
+ size: "sm",
239
+ variant: "ghost",
240
+ round: true,
241
+ label: unref(concat)("Dismiss ", toast.message)
242
+ }, {
243
+ default: withCtx(() => [createVNode(UiIcon_default, {
244
+ class: "ui-icon",
245
+ name: "x"
246
+ })]),
247
+ _: 1
248
+ }, 8, ["label"])], 8, _hoisted_4)
249
+ ], 10, _hoisted_2);
250
+ }), 128))]),
251
+ _: 1
252
+ })
253
+ ], 16, _hoisted_1)), [[unref(vPropValidity), {
246
254
  contract: propValidityContract,
247
255
  values: { ...props }
248
256
  }]]);
249
257
  };
250
258
  }
251
- }), [["__scopeId", "data-v-eb136028"]]);
259
+ }), [["__scopeId", "data-v-1ec5cbec"]]);
252
260
  //#endregion
253
261
  export { UiToastRegion_default as t };
@@ -1,6 +1,6 @@
1
1
  import { i as checkHydratedRoot, o as createDispatch, p as nativeAttrs, t as _plugin_vue_export_helper_default, v as useComponentHost, y as useReflectedProp } from "./_plugin-vue_export-helper.js";
2
2
  import { a as vPropValidity, n as checkedProp, r as propValidityState, t as acceptsControllerWrite } from "./props.js";
3
- import { computed, createElementBlock, createElementVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, unref, watchSyncEffect, withDirectives } from "vue";
3
+ import { computed, createElementBlock, createElementVNode, createTextVNode, defineComponent, getCurrentInstance, mergeProps, openBlock, provide, ref, renderSlot, toDisplayString, unref, watchSyncEffect, withDirectives } from "vue";
4
4
  //#region .build/vue/UiTooltip.vue?vue&type=script&setup=true&lang.ts
5
5
  var _hoisted_1 = [
6
6
  "hidden",
@@ -18,6 +18,10 @@ var _hoisted_2 = {
18
18
  "data-hn-ui-tooltip": ""
19
19
  };
20
20
  var _hoisted_3 = {
21
+ class: "label",
22
+ "data-hn-ui-tooltip": ""
23
+ };
24
+ var _hoisted_4 = {
21
25
  class: "shortcut",
22
26
  "data-hn-ui-tooltip": ""
23
27
  };
@@ -269,12 +273,16 @@ var UiTooltip_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PU
269
273
  "data-ui-tooltip-state": hostState.value || void 0,
270
274
  ref_key: "root",
271
275
  ref: root
272
- }), [createElementVNode("div", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "shortcut", {}, void 0, true)])])], 16, _hoisted_1)), [[unref(vPropValidity), {
276
+ }), [createElementVNode("div", _hoisted_2, [
277
+ createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
278
+ _cache[0] || (_cache[0] = createTextVNode(toDisplayString(" "), -1)),
279
+ createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "shortcut", {}, void 0, true)])
280
+ ])], 16, _hoisted_1)), [[unref(vPropValidity), {
273
281
  contract: propValidityContract,
274
282
  values: { ...props }
275
283
  }]]);
276
284
  };
277
285
  }
278
- }), [["__scopeId", "data-v-cbf1f070"]]);
286
+ }), [["__scopeId", "data-v-d355258d"]]);
279
287
  //#endregion
280
288
  export { UiTooltip_default as t };
@@ -36,6 +36,6 @@ var UiTopBar_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PUR
36
36
  ], 16);
37
37
  };
38
38
  }
39
- }), [["__scopeId", "data-v-3dafe49c"]]);
39
+ }), [["__scopeId", "data-v-68b1594a"]]);
40
40
  //#endregion
41
41
  export { UiTopBar_default as t };
@@ -269,6 +269,6 @@ var UiTree_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE_
269
269
  }]]);
270
270
  };
271
271
  }
272
- }), [["__scopeId", "data-v-6f1dde85"]]);
272
+ }), [["__scopeId", "data-v-f9abbef8"]]);
273
273
  //#endregion
274
274
  export { UiTree_default as t };
@@ -599,6 +599,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
599
599
  "data-hn-ui-tree-item": ""
600
600
  })
601
601
  ], -1)])], 8, _hoisted_2)) : createCommentVNode("v-if", true),
602
+ _cache[4] || (_cache[4] = createTextVNode(toDisplayString(" "), -1)),
602
603
  createElementVNode("button", {
603
604
  class: "disclosure",
604
605
  type: "button",
@@ -612,6 +613,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
612
613
  "aria-hidden": "true",
613
614
  "data-hn-ui-tree-item": ""
614
615
  }, null, -1)])], 8, _hoisted_3),
616
+ _cache[5] || (_cache[5] = createTextVNode(toDisplayString(" "), -1)),
615
617
  createElementVNode("label", _hoisted_4, [createElementVNode("input", {
616
618
  class: "selection-checkbox",
617
619
  type: "checkbox",
@@ -621,12 +623,14 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
621
623
  disabled: checkedProps.value.disabled ?? void 0,
622
624
  "aria-label": guardedBinding.value
623
625
  }, null, 8, _hoisted_5)]),
626
+ _cache[6] || (_cache[6] = createTextVNode(toDisplayString(" "), -1)),
624
627
  createElementVNode("span", {
625
628
  class: "leading",
626
629
  "data-hn-ui-tree-item": "",
627
630
  ref_key: "leadingElement",
628
631
  ref: leadingElement
629
632
  }, [renderSlot(_ctx.$slots, "leading", {}, void 0, true)], 512),
633
+ _cache[7] || (_cache[7] = createTextVNode(toDisplayString(" "), -1)),
630
634
  createElementVNode("span", {
631
635
  class: "label",
632
636
  "data-hn-ui-tree-item": "",
@@ -638,24 +642,30 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
638
642
  ref_key: "labelTextElement",
639
643
  ref: labelTextElement
640
644
  }, [renderSlot(_ctx.$slots, "label", {}, () => [createTextVNode(toDisplayString(checkedProps.value.label), 1)], true)], 512)], 512),
645
+ _cache[8] || (_cache[8] = createTextVNode(toDisplayString(" "), -1)),
641
646
  createElementVNode("span", {
642
647
  class: "actions",
643
648
  "data-hn-ui-tree-item": "",
644
649
  ref_key: "actionsElement",
645
650
  ref: actionsElement
646
- }, [moving.value ? (openBlock(), createBlock(UiButton_default, {
647
- key: 0,
648
- class: "ui-button",
649
- "data-tree-cancel-move": "",
650
- variant: "ghost",
651
- tone: "neutral",
652
- size: "sm",
653
- "aria-label": "Cancel move"
654
- }, {
655
- default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Cancel", -1)])]),
656
- _: 1
657
- })) : createCommentVNode("v-if", true), createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])], 512),
658
- _cache[3] || (_cache[3] = createElementVNode("span", {
651
+ }, [
652
+ moving.value ? (openBlock(), createBlock(UiButton_default, {
653
+ key: 0,
654
+ class: "ui-button",
655
+ "data-tree-cancel-move": "",
656
+ variant: "ghost",
657
+ tone: "neutral",
658
+ size: "sm",
659
+ "aria-label": "Cancel move"
660
+ }, {
661
+ default: withCtx(() => [..._cache[2] || (_cache[2] = [createTextVNode("Cancel", -1)])]),
662
+ _: 1
663
+ })) : createCommentVNode("v-if", true),
664
+ _cache[3] || (_cache[3] = createTextVNode(toDisplayString(" "), -1)),
665
+ createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])
666
+ ], 512),
667
+ _cache[9] || (_cache[9] = createTextVNode(toDisplayString(" "), -1)),
668
+ _cache[10] || (_cache[10] = createElementVNode("span", {
659
669
  class: "drop-indicator row-drop-indicator",
660
670
  "aria-hidden": "true",
661
671
  "data-hn-ui-tree-item": ""
@@ -669,7 +679,7 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
669
679
  ref_key: "childrenElement",
670
680
  ref: childrenElement
671
681
  }, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 8, _hoisted_7),
672
- _cache[4] || (_cache[4] = createElementVNode("span", {
682
+ _cache[11] || (_cache[11] = createElementVNode("span", {
673
683
  class: "drop-indicator subtree-drop-indicator",
674
684
  "aria-hidden": "true",
675
685
  "data-hn-ui-tree-item": ""
@@ -680,6 +690,6 @@ var UiTreeItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__P
680
690
  }]]);
681
691
  };
682
692
  }
683
- }), [["__scopeId", "data-v-ecab748f"]]);
693
+ }), [["__scopeId", "data-v-facde003"]]);
684
694
  //#endregion
685
695
  export { UiTreeItem_default as t };
@@ -325,6 +325,7 @@ function useComponentHost(controllerLoader, options) {
325
325
  data: Object.fromEntries(Object.entries(data).map(([name, value]) => [name, () => value.value])),
326
326
  ...options.acceptsState === void 0 ? {} : { acceptsState: options.acceptsState }
327
327
  }, options.controllerSource?.definition ?? "<component>"),
328
+ scripts: options.scripts ?? Object.freeze({}),
328
329
  on(type, callback) {
329
330
  const entry = {
330
331
  type,
@@ -939,12 +939,12 @@ ol:where([data-hn-ui-breadcrumbs]) {
939
939
  }
940
940
 
941
941
  /* A rounded SVG arc grows and recedes over a quiet full-circle track. */
942
- @keyframes ui-spinner-rotate-b406e90c {
942
+ @keyframes ui-spinner-rotate-416c566c {
943
943
  100% {
944
944
  transform: rotate(1turn);
945
945
  }
946
946
  }
947
- @keyframes ui-spinner-dash-b406e90c {
947
+ @keyframes ui-spinner-dash-416c566c {
948
948
  0% {
949
949
  stroke-dasharray: 1, 150;
950
950
  stroke-dashoffset: 0;
@@ -980,7 +980,7 @@ svg {
980
980
  display: block;
981
981
  inline-size: 100%;
982
982
  block-size: 100%;
983
- animation: ui-spinner-rotate-b406e90c 2s linear infinite;
983
+ animation: ui-spinner-rotate-416c566c 2s linear infinite;
984
984
  }
985
985
  circle {
986
986
  stroke-width: 3;
@@ -993,7 +993,7 @@ circle {
993
993
  stroke: currentColor;
994
994
  stroke-dasharray: 90, 150;
995
995
  stroke-dashoffset: 0;
996
- animation: ui-spinner-dash-b406e90c 1.5s ease-in-out infinite;
996
+ animation: ui-spinner-dash-416c566c 1.5s ease-in-out infinite;
997
997
  }
998
998
  @media (prefers-reduced-motion: reduce) {
999
999
  svg,.arc {
@@ -1777,7 +1777,7 @@ html[data-ui-input-modality="touch"]
1777
1777
  /* The label, and under it an optional line saying what the choice means. */
1778
1778
 
1779
1779
  /* Centre the tick's box and lift it slightly for the rotated check shape. */
1780
- @keyframes ui-checkbox-check-48b85ef3 {
1780
+ @keyframes ui-checkbox-check-228919dd {
1781
1781
  from {
1782
1782
  opacity: 0;
1783
1783
  transform: translateY(-0.09rem) rotate(45deg) scale(0.55);
@@ -1872,7 +1872,7 @@ input:checked:where([data-hn-ui-checkbox])::after {
1872
1872
  border-width: 0 0.125rem 0.125rem 0;
1873
1873
  opacity: 1;
1874
1874
  transform: translateY(-0.09rem) rotate(45deg);
1875
- animation: ui-checkbox-check-48b85ef3 180ms var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1))
1875
+ animation: ui-checkbox-check-228919dd 180ms var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1))
1876
1876
  both;
1877
1877
  }
1878
1878
  input:indeterminate:where([data-hn-ui-checkbox])::after {
@@ -2066,6 +2066,8 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
2066
2066
  inherits: false;
2067
2067
  }
2068
2068
 
2069
+ /* The label and the shortcut sit side by side, a gap apart, with the label wrapping on its own. */
2070
+
2069
2071
  /* A keyboard shortcut follows the label after a thin divider, smaller and quieter, as menus show
2070
2072
  it. The label stays first in the description, so a screen reader hears the name, then the keys. */
2071
2073
 
@@ -2109,6 +2111,9 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
2109
2111
  .surface:where([data-hn-ui-tooltip]) {
2110
2112
  --_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-strong)));
2111
2113
  position: relative;
2114
+ display: flex;
2115
+ align-items: baseline;
2116
+ gap: var(--ui-space-2);
2112
2117
  box-sizing: border-box;
2113
2118
  max-inline-size: var(--_ui-tooltip-max-inline-size, 18rem);
2114
2119
  border: var(--ui-border-width) solid var(--_tooltip-line);
@@ -2127,7 +2132,6 @@ input:focus-visible:where([data-hn-ui-checkbox]) {
2127
2132
  .shortcut:where([data-hn-ui-tooltip]) {
2128
2133
  display: inline-flex;
2129
2134
  align-items: center;
2130
- margin-inline-start: var(--ui-space-2);
2131
2135
  padding-inline-start: var(--ui-space-2);
2132
2136
  border-inline-start: 1px solid color-mix(in oklab, currentColor 28%, transparent);
2133
2137
  color: color-mix(in oklab, currentColor 72%, transparent);
@@ -3032,13 +3036,13 @@ dd:where([data-hn-ui-description-item]) {
3032
3036
  /* A CSS-drawn X. */
3033
3037
 
3034
3038
  /* A touch target, like Button on coarse pointers. */
3035
- @keyframes ui-dialog-enter-d07f3be8 {
3039
+ @keyframes ui-dialog-enter-7c6e4c7d {
3036
3040
  from {
3037
3041
  opacity: 0;
3038
3042
  transform: scale(0.96);
3039
3043
  }
3040
3044
  }
3041
- @keyframes ui-dialog-backdrop-enter-d07f3be8 {
3045
+ @keyframes ui-dialog-backdrop-enter-7c6e4c7d {
3042
3046
  from {
3043
3047
  background-color: transparent;
3044
3048
  }
@@ -3086,7 +3090,7 @@ from {
3086
3090
  pointer-events: auto;
3087
3091
  opacity: 1;
3088
3092
  transform: scale(1);
3089
- animation: ui-dialog-enter-d07f3be8 var(--ui-dialog-duration, var(--ui-motion-base))
3093
+ animation: ui-dialog-enter-7c6e4c7d var(--ui-dialog-duration, var(--ui-motion-base))
3090
3094
  var(--ui-motion-ease);
3091
3095
  }
3092
3096
  :scope[data-ui-dialog-state~="size=sm"]:where([data-hn-ui-dialog]) {
@@ -3204,7 +3208,7 @@ footer:empty:where([data-hn-ui-dialog]) {
3204
3208
  }
3205
3209
  :scope[open]:modal:where([data-hn-ui-dialog])::backdrop {
3206
3210
  background-color: var(--ui-overlay-backdrop);
3207
- animation: ui-dialog-backdrop-enter-d07f3be8 var(--_ui-dialog-duration, var(--ui-motion-base))
3211
+ animation: ui-dialog-backdrop-enter-7c6e4c7d var(--_ui-dialog-duration, var(--ui-motion-base))
3208
3212
  var(--ui-motion-ease);
3209
3213
  }
3210
3214
  :scope[open][data-ui-backdrop-hidden]:where([data-hn-ui-dialog])::backdrop {
@@ -9428,7 +9432,7 @@ input:where([data-hn-ui-switch]),input:where([data-hn-ui-switch])::after {
9428
9432
  }
9429
9433
 
9430
9434
  /* Leaving slides on down and fades; the controller removes the toast when this ends. */
9431
- @keyframes ui-toast-enter-eb136028 {
9435
+ @keyframes ui-toast-enter-1ec5cbec {
9432
9436
  from {
9433
9437
  opacity: 0;
9434
9438
  transform: translateY(-1rem);
@@ -9438,7 +9442,7 @@ to {
9438
9442
  transform: translateY(0);
9439
9443
  }
9440
9444
  }
9441
- @keyframes ui-toast-exit-eb136028 {
9445
+ @keyframes ui-toast-exit-1ec5cbec {
9442
9446
  from {
9443
9447
  opacity: 1;
9444
9448
  transform: translateY(0);
@@ -9448,7 +9452,7 @@ to {
9448
9452
  transform: translateY(0.75rem);
9449
9453
  }
9450
9454
  }
9451
- @keyframes ui-toast-enter-bottom-eb136028 {
9455
+ @keyframes ui-toast-enter-bottom-1ec5cbec {
9452
9456
  from {
9453
9457
  opacity: 0;
9454
9458
  transform: translateY(1rem);
@@ -9458,7 +9462,7 @@ to {
9458
9462
  transform: translateY(0);
9459
9463
  }
9460
9464
  }
9461
- @keyframes ui-toast-exit-bottom-eb136028 {
9465
+ @keyframes ui-toast-exit-bottom-1ec5cbec {
9462
9466
  from {
9463
9467
  opacity: 1;
9464
9468
  transform: translateY(0);
@@ -9549,7 +9553,7 @@ to {
9549
9553
  --_ui-toast-region-shadow,
9550
9554
  var(--ui-overlay-shadow, var(--ui-elevation-overlay, var(--ui-shadow-lg)))
9551
9555
  );
9552
- animation: ui-toast-enter-eb136028 var(--_ui-toast-region-enter-duration, 0.32s)
9556
+ animation: ui-toast-enter-1ec5cbec var(--_ui-toast-region-enter-duration, 0.32s)
9553
9557
  var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
9554
9558
  }
9555
9559
  .toast[data-tone="info"]:where([data-hn-ui-toast-region]) {
@@ -9569,17 +9573,17 @@ to {
9569
9573
  --_ui-toast-region-tone-surface: var(--ui-danger-soft);
9570
9574
  }
9571
9575
  .toast.closing:where([data-hn-ui-toast-region]) {
9572
- animation: ui-toast-exit-eb136028 var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
9576
+ animation: ui-toast-exit-1ec5cbec var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
9573
9577
  both;
9574
9578
  pointer-events: none;
9575
9579
  }
9576
9580
  :is(:scope[data-ui-toast-region-state~="placement=bottom"], :scope[data-ui-toast-region-state~="placement=bottom-start"], :scope[data-ui-toast-region-state~="placement=bottom-end"])
9577
9581
  .toast:where([data-hn-ui-toast-region]) {
9578
- animation-name: ui-toast-enter-bottom-eb136028;
9582
+ animation-name: ui-toast-enter-bottom-1ec5cbec;
9579
9583
  }
9580
9584
  :is(:scope[data-ui-toast-region-state~="placement=bottom"], :scope[data-ui-toast-region-state~="placement=bottom-start"], :scope[data-ui-toast-region-state~="placement=bottom-end"])
9581
9585
  .toast.closing:where([data-hn-ui-toast-region]) {
9582
- animation-name: ui-toast-exit-bottom-eb136028;
9586
+ animation-name: ui-toast-exit-bottom-1ec5cbec;
9583
9587
  }
9584
9588
  @media (prefers-reduced-motion: reduce) {
9585
9589
  .toast:where([data-hn-ui-toast-region]),.toast.closing:where([data-hn-ui-toast-region]) {
@@ -9780,7 +9784,7 @@ to {
9780
9784
  slides, the label reaches back under the icon (the controller measures how far) with its text
9781
9785
  where it was, and fades out across the gap before the icon, fully gone where the icon begins
9782
9786
  to cover it: the name slips under the icon rather than stopping at a hard edge beside it. */
9783
- @keyframes ui-tree-item-marquee-ecab748f {
9787
+ @keyframes ui-tree-item-marquee-facde003 {
9784
9788
  from {
9785
9789
  transform: translateX(0);
9786
9790
  }
@@ -10036,7 +10040,7 @@ to {
10036
10040
  .row[data-ui-marquee] > .label > .label-text:where([data-hn-ui-tree-item]) {
10037
10041
  /* Once per pass: the controller restarts it after a rest at the end, so the name holds still
10038
10042
  long enough to read rather than sliding back and forth. */
10039
- animation: ui-tree-item-marquee-ecab748f var(--_marquee-duration) linear 0.5s 1 normal forwards;
10043
+ animation: ui-tree-item-marquee-facde003 var(--_marquee-duration) linear 0.5s 1 normal forwards;
10040
10044
  will-change: transform;
10041
10045
  }
10042
10046
  .row[data-ui-marquee] > .label:where([data-hn-ui-tree-item]) {
@@ -402,10 +402,10 @@ export declare const LoomaEditor: import("vue").DefineComponent<import("vue").Ex
402
402
  onImageActivate?: ((_detail: LoomaImageActivationDetail) => any) | undefined;
403
403
  onImageRenditionError?: ((_detail: LoomaImageRenditionErrorDetail) => any) | undefined;
404
404
  }>, {
405
- extensions: LoomaEditorExtensions | undefined;
406
- editable: boolean;
407
405
  label: string;
408
406
  placeholder: string;
407
+ extensions: LoomaEditorExtensions | undefined;
408
+ editable: boolean;
409
409
  linkBaseUrl: string;
410
410
  disableHighlight: boolean;
411
411
  codeLanguages: Readonly<Record<string, import("highlight.js").LanguageFn>> | null;
@@ -62,10 +62,10 @@ export declare const LoomaCompactEditor: import("vue").DefineComponent<import("v
62
62
  "onUpdate:modelValue"?: ((_value: JSONContent) => any) | undefined;
63
63
  onReady?: ((_editor: Editor) => any) | undefined;
64
64
  }>, {
65
+ id: string;
66
+ label: string;
65
67
  extensions: AnyExtension[];
66
68
  editable: boolean;
67
- label: string;
68
- id: string;
69
69
  modelValue: JSONContent;
70
70
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
71
71
  /** Renders basic compact JSON as escaped Vue nodes, including during SSR. */