@threadlabs/looma 0.28.13 → 0.28.15

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 (429) hide show
  1. package/components/ui-affordance-scope/ui-affordance-scope.html +1 -1
  2. package/components/ui-avatar/ui-avatar.html +1 -1
  3. package/components/ui-combobox/ui-combobox.html +1 -1
  4. package/components/ui-disclosure/ui-disclosure.html +4 -4
  5. package/components/ui-editable/ui-editable.html +3 -3
  6. package/components/ui-menu/ui-menu.html +1 -1
  7. package/components/ui-popover/ui-popover.html +1 -1
  8. package/components/ui-sidebar/ui-sidebar.html +4 -4
  9. package/components/ui-switcher/ui-switcher.html +1 -1
  10. package/components/ui-tree-item/ui-tree-item.html +2 -2
  11. package/dist/index.js +1 -1
  12. package/editor/image-delivery.d.ts +10 -1
  13. package/package.json +3 -3
  14. package/styles/ui-action-bar.css +1 -1
  15. package/styles/ui-affordance-scope.css +1 -1
  16. package/styles/ui-avatar-group.css +1 -1
  17. package/styles/ui-avatar.css +1 -1
  18. package/styles/ui-badge.css +1 -1
  19. package/styles/ui-breadcrumb-item.css +1 -1
  20. package/styles/ui-breadcrumbs.css +1 -1
  21. package/styles/ui-button.css +1 -1
  22. package/styles/ui-callout.css +1 -1
  23. package/styles/ui-card.css +1 -1
  24. package/styles/ui-checkbox.css +1 -1
  25. package/styles/ui-cluster.css +1 -1
  26. package/styles/ui-combobox.css +1 -1
  27. package/styles/ui-container.css +1 -1
  28. package/styles/ui-context-menu.css +1 -1
  29. package/styles/ui-cover.css +1 -1
  30. package/styles/ui-description-item.css +1 -1
  31. package/styles/ui-description-list.css +1 -1
  32. package/styles/ui-dialog.css +1 -1
  33. package/styles/ui-disclosure.css +2 -2
  34. package/styles/ui-editable.css +1 -1
  35. package/styles/ui-editor-block-actions.css +1 -1
  36. package/styles/ui-editor-chip-editor.css +1 -1
  37. package/styles/ui-editor-code-language.css +1 -1
  38. package/styles/ui-editor-image-toolbar.css +1 -1
  39. package/styles/ui-editor-insert-table-grid.css +1 -1
  40. package/styles/ui-editor-link-card.css +1 -1
  41. package/styles/ui-editor-link-form.css +1 -1
  42. package/styles/ui-editor-mention-menu-item.css +1 -1
  43. package/styles/ui-editor-mention-menu.css +1 -1
  44. package/styles/ui-editor-slash-menu-group.css +1 -1
  45. package/styles/ui-editor-slash-menu-item.css +1 -1
  46. package/styles/ui-editor-slash-menu.css +1 -1
  47. package/styles/ui-editor-surface.css +1 -1
  48. package/styles/ui-editor-table-context-menu.css +1 -1
  49. package/styles/ui-editor-table-overlay.css +1 -1
  50. package/styles/ui-editor-table-toolbar.css +1 -1
  51. package/styles/ui-editor-toolbar.css +1 -1
  52. package/styles/ui-floating-action-button.css +1 -1
  53. package/styles/ui-form-field.css +1 -1
  54. package/styles/ui-grid.css +1 -1
  55. package/styles/ui-icon-button.css +1 -1
  56. package/styles/ui-icon.css +1 -1
  57. package/styles/ui-image.css +1 -1
  58. package/styles/ui-input-group.css +1 -1
  59. package/styles/ui-input.css +1 -1
  60. package/styles/ui-list-item.css +1 -1
  61. package/styles/ui-list.css +1 -1
  62. package/styles/ui-listbox.css +1 -1
  63. package/styles/ui-menu-group.css +1 -1
  64. package/styles/ui-menu-item.css +1 -1
  65. package/styles/ui-menu.css +2 -2
  66. package/styles/ui-meter.css +1 -1
  67. package/styles/ui-nav-item.css +1 -1
  68. package/styles/ui-page-header.css +1 -1
  69. package/styles/ui-popover.css +2 -2
  70. package/styles/ui-radio-group.css +1 -1
  71. package/styles/ui-radio.css +1 -1
  72. package/styles/ui-reel.css +1 -1
  73. package/styles/ui-scroll-area.css +1 -1
  74. package/styles/ui-search-result-row.css +1 -1
  75. package/styles/ui-search-shell.css +1 -1
  76. package/styles/ui-section.css +1 -1
  77. package/styles/ui-select.css +1 -1
  78. package/styles/ui-separator.css +1 -1
  79. package/styles/ui-sidebar.css +2 -2
  80. package/styles/ui-spinner.css +1 -1
  81. package/styles/ui-stack.css +1 -1
  82. package/styles/ui-status-message.css +1 -1
  83. package/styles/ui-swatch.css +1 -1
  84. package/styles/ui-switch.css +1 -1
  85. package/styles/ui-switcher.css +1 -1
  86. package/styles/ui-table.css +1 -1
  87. package/styles/ui-tabs.css +1 -1
  88. package/styles/ui-text.css +1 -1
  89. package/styles/ui-textarea.css +1 -1
  90. package/styles/ui-toast-region.css +1 -1
  91. package/styles/ui-toast.css +1 -1
  92. package/styles/ui-tooltip.css +1 -1
  93. package/styles/ui-top-bar.css +1 -1
  94. package/styles/ui-tree-item.css +1 -1
  95. package/styles/ui-tree.css +1 -1
  96. package/vanilla/UiActionBar.d.ts +1 -1
  97. package/vanilla/UiActionBar.js +1 -1
  98. package/vanilla/UiAffordanceScope.d.ts +1 -1
  99. package/vanilla/UiAffordanceScope.js +2 -2
  100. package/vanilla/UiAvatar.d.ts +1 -1
  101. package/vanilla/UiAvatar.js +2 -2
  102. package/vanilla/UiAvatarGroup.d.ts +1 -1
  103. package/vanilla/UiAvatarGroup.js +2 -2
  104. package/vanilla/UiBadge.d.ts +1 -1
  105. package/vanilla/UiBadge.js +2 -2
  106. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  107. package/vanilla/UiBreadcrumbItem.js +2 -2
  108. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  109. package/vanilla/UiBreadcrumbs.js +2 -2
  110. package/vanilla/UiButton.d.ts +1 -1
  111. package/vanilla/UiButton.js +3 -3
  112. package/vanilla/UiCallout.d.ts +1 -1
  113. package/vanilla/UiCallout.js +2 -2
  114. package/vanilla/UiCard.d.ts +1 -1
  115. package/vanilla/UiCard.js +3 -3
  116. package/vanilla/UiCheckbox.d.ts +1 -1
  117. package/vanilla/UiCheckbox.js +2 -2
  118. package/vanilla/UiCluster.d.ts +1 -1
  119. package/vanilla/UiCluster.js +2 -2
  120. package/vanilla/UiCombobox.d.ts +1 -1
  121. package/vanilla/UiCombobox.js +2 -2
  122. package/vanilla/UiContainer.d.ts +1 -1
  123. package/vanilla/UiContainer.js +2 -2
  124. package/vanilla/UiContextMenu.d.ts +1 -1
  125. package/vanilla/UiContextMenu.js +2 -2
  126. package/vanilla/UiCover.d.ts +1 -1
  127. package/vanilla/UiCover.js +2 -2
  128. package/vanilla/UiDescriptionItem.d.ts +1 -1
  129. package/vanilla/UiDescriptionItem.js +2 -2
  130. package/vanilla/UiDescriptionList.d.ts +1 -1
  131. package/vanilla/UiDescriptionList.js +2 -2
  132. package/vanilla/UiDialog.d.ts +1 -1
  133. package/vanilla/UiDialog.js +2 -2
  134. package/vanilla/UiDisclosure.d.ts +1 -1
  135. package/vanilla/UiDisclosure.js +2 -2
  136. package/vanilla/UiEditable.d.ts +1 -1
  137. package/vanilla/UiEditable.js +2 -2
  138. package/vanilla/UiEditorBlockActions.d.ts +1 -1
  139. package/vanilla/UiEditorBlockActions.js +2 -2
  140. package/vanilla/UiEditorChipEditor.d.ts +1 -1
  141. package/vanilla/UiEditorChipEditor.js +2 -2
  142. package/vanilla/UiEditorCodeLanguage.d.ts +1 -1
  143. package/vanilla/UiEditorCodeLanguage.js +2 -2
  144. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  145. package/vanilla/UiEditorImageToolbar.js +2 -2
  146. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  147. package/vanilla/UiEditorInsertTableGrid.js +2 -2
  148. package/vanilla/UiEditorLinkCard.d.ts +1 -1
  149. package/vanilla/UiEditorLinkCard.js +2 -2
  150. package/vanilla/UiEditorLinkForm.d.ts +1 -1
  151. package/vanilla/UiEditorLinkForm.js +2 -2
  152. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  153. package/vanilla/UiEditorMentionMenu.js +2 -2
  154. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  155. package/vanilla/UiEditorMentionMenuItem.js +3 -3
  156. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  157. package/vanilla/UiEditorSlashMenu.js +2 -2
  158. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  159. package/vanilla/UiEditorSlashMenuGroup.js +2 -2
  160. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  161. package/vanilla/UiEditorSlashMenuItem.js +3 -3
  162. package/vanilla/UiEditorSurface.d.ts +1 -1
  163. package/vanilla/UiEditorSurface.js +2 -2
  164. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  165. package/vanilla/UiEditorTableContextMenu.js +2 -2
  166. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  167. package/vanilla/UiEditorTableOverlay.js +2 -2
  168. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  169. package/vanilla/UiEditorTableToolbar.js +2 -2
  170. package/vanilla/UiEditorToolbar.d.ts +1 -1
  171. package/vanilla/UiEditorToolbar.js +2 -2
  172. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  173. package/vanilla/UiFloatingActionButton.js +2 -2
  174. package/vanilla/UiFormField.d.ts +1 -1
  175. package/vanilla/UiFormField.js +2 -2
  176. package/vanilla/UiGrid.d.ts +1 -1
  177. package/vanilla/UiGrid.js +2 -2
  178. package/vanilla/UiIcon.d.ts +1 -1
  179. package/vanilla/UiIcon.js +2 -2
  180. package/vanilla/UiIconButton.d.ts +1 -1
  181. package/vanilla/UiIconButton.js +3 -3
  182. package/vanilla/UiImage.d.ts +1 -1
  183. package/vanilla/UiImage.js +2 -2
  184. package/vanilla/UiInput.d.ts +1 -1
  185. package/vanilla/UiInput.js +2 -2
  186. package/vanilla/UiInputGroup.d.ts +1 -1
  187. package/vanilla/UiInputGroup.js +2 -2
  188. package/vanilla/UiList.d.ts +1 -1
  189. package/vanilla/UiList.js +3 -3
  190. package/vanilla/UiListItem.d.ts +1 -1
  191. package/vanilla/UiListItem.js +2 -2
  192. package/vanilla/UiListbox.d.ts +1 -1
  193. package/vanilla/UiListbox.js +2 -2
  194. package/vanilla/UiMenu.d.ts +1 -1
  195. package/vanilla/UiMenu.js +2 -2
  196. package/vanilla/UiMenuGroup.d.ts +1 -1
  197. package/vanilla/UiMenuGroup.js +2 -2
  198. package/vanilla/UiMenuItem.d.ts +1 -1
  199. package/vanilla/UiMenuItem.js +4 -4
  200. package/vanilla/UiMeter.d.ts +1 -1
  201. package/vanilla/UiMeter.js +2 -2
  202. package/vanilla/UiNavItem.d.ts +1 -1
  203. package/vanilla/UiNavItem.js +3 -3
  204. package/vanilla/UiPageHeader.d.ts +1 -1
  205. package/vanilla/UiPageHeader.js +2 -2
  206. package/vanilla/UiPopover.d.ts +1 -1
  207. package/vanilla/UiPopover.js +2 -2
  208. package/vanilla/UiRadio.d.ts +1 -1
  209. package/vanilla/UiRadio.js +2 -2
  210. package/vanilla/UiRadioGroup.d.ts +1 -1
  211. package/vanilla/UiRadioGroup.js +2 -2
  212. package/vanilla/UiReel.d.ts +1 -1
  213. package/vanilla/UiReel.js +2 -2
  214. package/vanilla/UiScrollArea.d.ts +1 -1
  215. package/vanilla/UiScrollArea.js +2 -2
  216. package/vanilla/UiSearchResultRow.d.ts +1 -1
  217. package/vanilla/UiSearchResultRow.js +2 -2
  218. package/vanilla/UiSearchShell.d.ts +1 -1
  219. package/vanilla/UiSearchShell.js +2 -2
  220. package/vanilla/UiSection.d.ts +1 -1
  221. package/vanilla/UiSection.js +2 -2
  222. package/vanilla/UiSelect.d.ts +1 -1
  223. package/vanilla/UiSelect.js +2 -2
  224. package/vanilla/UiSeparator.d.ts +1 -1
  225. package/vanilla/UiSeparator.js +2 -2
  226. package/vanilla/UiSidebar.d.ts +1 -1
  227. package/vanilla/UiSidebar.js +2 -2
  228. package/vanilla/UiSpinner.d.ts +1 -1
  229. package/vanilla/UiSpinner.js +2 -2
  230. package/vanilla/UiStack.d.ts +1 -1
  231. package/vanilla/UiStack.js +2 -2
  232. package/vanilla/UiStatusMessage.d.ts +1 -1
  233. package/vanilla/UiStatusMessage.js +2 -2
  234. package/vanilla/UiSwatch.d.ts +1 -1
  235. package/vanilla/UiSwatch.js +2 -2
  236. package/vanilla/UiSwitch.d.ts +1 -1
  237. package/vanilla/UiSwitch.js +2 -2
  238. package/vanilla/UiSwitcher.d.ts +1 -1
  239. package/vanilla/UiSwitcher.js +2 -2
  240. package/vanilla/UiTable.d.ts +1 -1
  241. package/vanilla/UiTable.js +2 -2
  242. package/vanilla/UiTabs.d.ts +1 -1
  243. package/vanilla/UiTabs.js +2 -2
  244. package/vanilla/UiText.d.ts +1 -1
  245. package/vanilla/UiText.js +3 -3
  246. package/vanilla/UiTextarea.d.ts +1 -1
  247. package/vanilla/UiTextarea.js +2 -2
  248. package/vanilla/UiToast.d.ts +1 -1
  249. package/vanilla/UiToast.js +2 -2
  250. package/vanilla/UiToastRegion.d.ts +1 -1
  251. package/vanilla/UiToastRegion.js +2 -2
  252. package/vanilla/UiTooltip.d.ts +1 -1
  253. package/vanilla/UiTooltip.js +2 -2
  254. package/vanilla/UiTopBar.d.ts +1 -1
  255. package/vanilla/UiTopBar.js +1 -1
  256. package/vanilla/UiTree.d.ts +1 -1
  257. package/vanilla/UiTree.js +2 -2
  258. package/vanilla/UiTreeItem.d.ts +1 -1
  259. package/vanilla/UiTreeItem.js +3 -3
  260. package/vue/UiActionBar.vue +23 -15
  261. package/vue/UiAffordanceScope.vue +11 -9
  262. package/vue/UiAvatar.vue +34 -27
  263. package/vue/UiAvatarGroup.vue +22 -17
  264. package/vue/UiBadge.vue +78 -69
  265. package/vue/UiBreadcrumbItem.vue +17 -14
  266. package/vue/UiBreadcrumbs.vue +9 -7
  267. package/vue/UiButton.vue +150 -138
  268. package/vue/UiCallout.vue +68 -43
  269. package/vue/UiCard.vue +52 -44
  270. package/vue/UiCheckbox.vue +48 -40
  271. package/vue/UiCluster.vue +35 -33
  272. package/vue/UiCombobox.vue +158 -107
  273. package/vue/UiContainer.vue +16 -14
  274. package/vue/UiContextMenu.vue +24 -13
  275. package/vue/UiCover.vue +10 -8
  276. package/vue/UiDescriptionItem.vue +11 -9
  277. package/vue/UiDescriptionList.vue +20 -18
  278. package/vue/UiDialog.vue +41 -37
  279. package/vue/UiDisclosure.vue +65 -51
  280. package/vue/UiEditable.vue +34 -33
  281. package/vue/UiEditorBlockActions.vue +4 -3
  282. package/vue/UiEditorChipEditor.vue +4 -3
  283. package/vue/UiEditorCodeLanguage.vue +5 -4
  284. package/vue/UiEditorImageToolbar.vue +5 -4
  285. package/vue/UiEditorInsertTableGrid.vue +19 -18
  286. package/vue/UiEditorLinkCard.vue +7 -6
  287. package/vue/UiEditorLinkForm.vue +15 -14
  288. package/vue/UiEditorMentionMenu.vue +52 -37
  289. package/vue/UiEditorMentionMenuItem.vue +30 -20
  290. package/vue/UiEditorSlashMenu.vue +49 -36
  291. package/vue/UiEditorSlashMenuGroup.vue +16 -10
  292. package/vue/UiEditorSlashMenuItem.vue +36 -26
  293. package/vue/UiEditorSurface.vue +8 -6
  294. package/vue/UiEditorTableContextMenu.vue +26 -25
  295. package/vue/UiEditorTableOverlay.vue +56 -51
  296. package/vue/UiEditorTableToolbar.vue +37 -36
  297. package/vue/UiEditorToolbar.vue +24 -20
  298. package/vue/UiFloatingActionButton.vue +17 -15
  299. package/vue/UiFormField.vue +27 -22
  300. package/vue/UiGrid.vue +17 -15
  301. package/vue/UiIcon.vue +7 -6
  302. package/vue/UiIconButton.vue +75 -70
  303. package/vue/UiImage.vue +61 -46
  304. package/vue/UiInput.vue +28 -28
  305. package/vue/UiInputGroup.vue +48 -43
  306. package/vue/UiList.vue +25 -21
  307. package/vue/UiListItem.vue +54 -44
  308. package/vue/UiListbox.vue +29 -22
  309. package/vue/UiMenu.vue +25 -23
  310. package/vue/UiMenuGroup.vue +11 -7
  311. package/vue/UiMenuItem.vue +52 -43
  312. package/vue/UiMeter.vue +42 -41
  313. package/vue/UiNavItem.vue +60 -47
  314. package/vue/UiPageHeader.vue +27 -20
  315. package/vue/UiPopover.vue +21 -19
  316. package/vue/UiRadio.vue +32 -28
  317. package/vue/UiRadioGroup.vue +24 -19
  318. package/vue/UiReel.vue +24 -22
  319. package/vue/UiScrollArea.vue +30 -24
  320. package/vue/UiSearchResultRow.vue +41 -26
  321. package/vue/UiSearchShell.vue +37 -29
  322. package/vue/UiSection.vue +31 -24
  323. package/vue/UiSelect.vue +23 -21
  324. package/vue/UiSeparator.vue +14 -13
  325. package/vue/UiSidebar.vue +48 -40
  326. package/vue/UiSpinner.vue +14 -13
  327. package/vue/UiStack.vue +26 -24
  328. package/vue/UiStatusMessage.vue +26 -21
  329. package/vue/UiSwatch.vue +13 -12
  330. package/vue/UiSwitch.vue +37 -33
  331. package/vue/UiSwitcher.vue +27 -22
  332. package/vue/UiTable.vue +23 -19
  333. package/vue/UiTabs.vue +48 -33
  334. package/vue/UiText.vue +173 -151
  335. package/vue/UiTextarea.vue +27 -27
  336. package/vue/UiToast.vue +17 -15
  337. package/vue/UiToastRegion.vue +36 -31
  338. package/vue/UiTooltip.vue +40 -34
  339. package/vue/UiTopBar.vue +17 -13
  340. package/vue/UiTree.vue +17 -15
  341. package/vue/UiTreeItem.vue +202 -133
  342. package/vue/chunks/UiActionBar.js +21 -6
  343. package/vue/chunks/UiAffordanceScope.js +8 -6
  344. package/vue/chunks/UiAvatar.js +30 -20
  345. package/vue/chunks/UiAvatarGroup.js +16 -13
  346. package/vue/chunks/UiBadge.js +19 -13
  347. package/vue/chunks/UiBreadcrumbItem.js +13 -7
  348. package/vue/chunks/UiBreadcrumbs.js +9 -4
  349. package/vue/chunks/UiButton.js +158 -124
  350. package/vue/chunks/UiCallout.js +105 -37
  351. package/vue/chunks/UiCard.js +50 -42
  352. package/vue/chunks/UiCheckbox.js +32 -22
  353. package/vue/chunks/UiCluster.js +18 -16
  354. package/vue/chunks/UiCombobox.js +130 -73
  355. package/vue/chunks/UiContainer.js +10 -8
  356. package/vue/chunks/UiContextMenu.js +7 -4
  357. package/vue/chunks/UiCover.js +7 -5
  358. package/vue/chunks/UiDescriptionItem.js +9 -3
  359. package/vue/chunks/UiDescriptionList.js +10 -8
  360. package/vue/chunks/UiDialog.js +26 -19
  361. package/vue/chunks/UiDisclosure.js +43 -25
  362. package/vue/chunks/UiEditable.js +25 -24
  363. package/vue/chunks/UiEditorBlockActions.js +4 -3
  364. package/vue/chunks/UiEditorChipEditor.js +4 -3
  365. package/vue/chunks/UiEditorCodeLanguage.js +5 -4
  366. package/vue/chunks/UiEditorImageToolbar.js +7 -6
  367. package/vue/chunks/UiEditorInsertTableGrid.js +10 -9
  368. package/vue/chunks/UiEditorLinkCard.js +11 -10
  369. package/vue/chunks/UiEditorLinkForm.js +26 -25
  370. package/vue/chunks/UiEditorMentionMenu.js +41 -24
  371. package/vue/chunks/UiEditorMentionMenuItem.js +23 -11
  372. package/vue/chunks/UiEditorSlashMenu.js +41 -20
  373. package/vue/chunks/UiEditorSlashMenuGroup.js +16 -5
  374. package/vue/chunks/UiEditorSlashMenuItem.js +28 -14
  375. package/vue/chunks/UiEditorSurface.js +6 -4
  376. package/vue/chunks/UiEditorTableContextMenu.js +14 -13
  377. package/vue/chunks/UiEditorTableOverlay.js +6 -5
  378. package/vue/chunks/UiEditorTableToolbar.js +14 -13
  379. package/vue/chunks/UiEditorToolbar.js +8 -5
  380. package/vue/chunks/UiFloatingActionButton.js +11 -9
  381. package/vue/chunks/UiFormField.js +30 -16
  382. package/vue/chunks/UiGrid.js +10 -8
  383. package/vue/chunks/UiIcon.js +6 -3
  384. package/vue/chunks/UiIconButton.js +33 -26
  385. package/vue/chunks/UiImage.js +31 -22
  386. package/vue/chunks/UiInput.js +17 -16
  387. package/vue/chunks/UiInputGroup.js +30 -16
  388. package/vue/chunks/UiList.js +24 -20
  389. package/vue/chunks/UiListItem.js +39 -22
  390. package/vue/chunks/UiListbox.js +35 -25
  391. package/vue/chunks/UiMenu.js +22 -17
  392. package/vue/chunks/UiMenuGroup.js +7 -4
  393. package/vue/chunks/UiMenuItem.js +57 -38
  394. package/vue/chunks/UiMeter.js +22 -21
  395. package/vue/chunks/UiNavItem.js +78 -42
  396. package/vue/chunks/UiPageHeader.js +30 -10
  397. package/vue/chunks/UiPopover.js +16 -11
  398. package/vue/chunks/UiRadio.js +26 -16
  399. package/vue/chunks/UiRadioGroup.js +24 -19
  400. package/vue/chunks/UiReel.js +11 -9
  401. package/vue/chunks/UiScrollArea.js +16 -13
  402. package/vue/chunks/UiSearchResultRow.js +39 -19
  403. package/vue/chunks/UiSearchShell.js +36 -18
  404. package/vue/chunks/UiSection.js +31 -13
  405. package/vue/chunks/UiSelect.js +14 -12
  406. package/vue/chunks/UiSeparator.js +11 -10
  407. package/vue/chunks/UiSidebar.js +33 -23
  408. package/vue/chunks/UiSpinner.js +7 -6
  409. package/vue/chunks/UiStack.js +14 -12
  410. package/vue/chunks/UiStatusMessage.js +23 -11
  411. package/vue/chunks/UiSwatch.js +5 -4
  412. package/vue/chunks/UiSwitch.js +26 -16
  413. package/vue/chunks/UiSwitcher.js +13 -11
  414. package/vue/chunks/UiTable.js +9 -7
  415. package/vue/chunks/UiTabs.js +23 -18
  416. package/vue/chunks/UiText.js +277 -255
  417. package/vue/chunks/UiTextarea.js +21 -20
  418. package/vue/chunks/UiToast.js +13 -7
  419. package/vue/chunks/UiToastRegion.js +15 -8
  420. package/vue/chunks/UiTooltip.js +27 -19
  421. package/vue/chunks/UiTopBar.js +21 -6
  422. package/vue/chunks/UiTree.js +18 -16
  423. package/vue/chunks/UiTreeItem.js +82 -45
  424. package/vue/chunks/_plugin-vue_export-helper.js +17 -4
  425. package/vue/components.css +1507 -1479
  426. package/vue/editor/LoomaEditor.d.ts +10 -1
  427. package/vue/editor/index.d.ts +1 -1
  428. package/vue/editor/index.js +25 -11
  429. package/vue/host.ts +26 -6
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.52 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -196,7 +196,7 @@ const model = computed({
196
196
  const root = ref<HTMLElement | null>(null)
197
197
  checkHydratedRoot('textarea', 'ui-textarea')
198
198
 
199
- /** The values the styles' :host-state() rules test. */
199
+ /** The values the styles' :host() prop and state rules test. */
200
200
  const hostState = computed(() =>
201
201
  [
202
202
  checkedProps.value.size && 'size',
@@ -244,6 +244,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
244
244
  <textarea
245
245
  class="ui-textarea"
246
246
  v-bind="nativeAttrs($attrs)"
247
+ data-hn
247
248
  :disabled="checkedProps.disabled ?? undefined"
248
249
  :readonly="checkedProps.readonly ?? undefined"
249
250
  :required="checkedProps.required ?? undefined"
@@ -251,15 +252,15 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
251
252
  :rows="checkedProps.rows ?? undefined"
252
253
  :style="{ '--_rows': checkedProps.rows?.toString(), '--_max-rows': checkedProps.maxRows?.toString() }"
253
254
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
254
- :data-autosize="reflectedProp('autosize', 'autosize', checkedProps.autosize, undefined, false)"
255
- :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
256
- :data-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
257
- :data-max-rows="reflectedProp('maxRows', 'max-rows', checkedProps.maxRows, undefined, false)"
258
- :data-readonly="reflectedProp('readonly', 'readonly', checkedProps.readonly, undefined, false)"
259
- :data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
260
- :data-rows="reflectedProp('rows', 'rows', checkedProps.rows, undefined, false)"
261
- :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
262
- :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
255
+ :data-ui-textarea-prop-autosize="reflectedProp('autosize', 'autosize', checkedProps.autosize, undefined, false)"
256
+ :data-ui-textarea-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
257
+ :data-ui-textarea-prop-invalid="reflectedProp('invalid', 'invalid', checkedProps.invalid, undefined, false)"
258
+ :data-ui-textarea-prop-max-rows="reflectedProp('maxRows', 'max-rows', checkedProps.maxRows, undefined, false)"
259
+ :data-ui-textarea-prop-readonly="reflectedProp('readonly', 'readonly', checkedProps.readonly, undefined, false)"
260
+ :data-ui-textarea-prop-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
261
+ :data-ui-textarea-prop-rows="reflectedProp('rows', 'rows', checkedProps.rows, undefined, false)"
262
+ :data-ui-textarea-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
263
+ :data-ui-textarea-prop-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
263
264
  v-bind-control="{ tag: 'textarea', name: 'value', value: model, optionalValue: true, defaultValue: '' }"
264
265
  @input="model = readBoundControl(
265
266
  $event.currentTarget as HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement,
@@ -328,8 +329,8 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
328
329
 
329
330
  /* A component that sets its display still honours the hidden attribute on its root. */
330
331
 
331
- @scope (.ui-textarea) {
332
- :scope:where(:scope) {
332
+ @scope (.ui-textarea) to ([data-hn]) {
333
+ :global(:scope) {
333
334
  box-sizing: border-box;
334
335
  display: inline-block;
335
336
  inline-size: 100%;
@@ -372,17 +373,17 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
372
373
  box-shadow var(--ui-motion-fast) var(--ui-motion-ease),
373
374
  background-color var(--ui-motion-fast) var(--ui-motion-ease);
374
375
  }
375
- :scope:where(:scope)::selection {
376
+ :global(:scope::selection) {
376
377
  background: color-mix(in srgb, var(--ui-accent-solid) 20%, transparent);
377
378
  color: inherit;
378
379
  }
379
380
 
380
- :scope:where(:scope)::placeholder {
381
+ :global(:scope::placeholder) {
381
382
  color: var(--ui-control-placeholder, var(--ui-text-secondary));
382
383
  opacity: 1;
383
384
  }
384
385
 
385
- :scope:where(:scope):is(:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid]))) {
386
+ :global(:scope:hover:not(:focus):not(:disabled):not(:read-only):not([aria-invalid="true"]):not(:is(:user-invalid, [data-user-invalid]))) {
386
387
  border-color: var(
387
388
  --ui-textarea-border-hover,
388
389
  var(
@@ -392,7 +393,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
392
393
  );
393
394
  }
394
395
 
395
- :scope:where(:scope):is(:focus-visible) {
396
+ :global(:scope:focus-visible) {
396
397
  border-color: var(
397
398
  --ui-textarea-focus-border,
398
399
  var(--_ui-default-textarea-focus-border, var(--ui-control-focus, var(--ui-accent-solid)))
@@ -407,15 +408,14 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
407
408
  )
408
409
  );
409
410
  }
410
- :scope:where(:scope):is([aria-invalid="true"]),
411
- :scope:where(:scope):is(:is(:user-invalid, [data-user-invalid])) {
411
+ :global(:scope[aria-invalid="true"]), :global(:scope:is(:user-invalid, [data-user-invalid])) {
412
412
  border-color: var(
413
413
  --ui-textarea-invalid-border,
414
414
  var(--_ui-default-textarea-invalid-border, var(--ui-field-danger, var(--ui-danger-solid)))
415
415
  );
416
416
  }
417
417
 
418
- :scope:where(:scope):is(:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
418
+ :global(:scope:is([aria-invalid="true"], :is(:user-invalid, [data-user-invalid])):focus-visible) {
419
419
  box-shadow: var(
420
420
  --ui-textarea-invalid-focus-shadow,
421
421
  var(
@@ -436,14 +436,14 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
436
436
  );
437
437
  }
438
438
 
439
- :scope:where(:scope):is(:disabled) {
439
+ :global(:scope:disabled) {
440
440
  background: var(--ui-control-surface-disabled, var(--ui-surface-muted));
441
441
  color: var(--ui-disabled-text);
442
442
  box-shadow: none;
443
443
  cursor: not-allowed;
444
444
  }
445
445
 
446
- :scope:where(:scope):is([data-ui-textarea-state~="size=sm"]) {
446
+ :global(:scope[data-ui-textarea-state~="size=sm"]) {
447
447
  --_padding-block: var(--ui-space-1);
448
448
  padding: var(--ui-space-1) var(--ui-space-2);
449
449
  padding-inline-end: var(
@@ -453,7 +453,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
453
453
  font-size: var(--ui-font-size-sm);
454
454
  }
455
455
 
456
- :scope:where(:scope):is([data-ui-textarea-state~="size=lg"]) {
456
+ :global(:scope[data-ui-textarea-state~="size=lg"]) {
457
457
  --_padding-block: var(--ui-space-3);
458
458
  padding: var(--ui-space-3) var(--ui-space-4);
459
459
  padding-inline-end: var(
@@ -463,7 +463,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
463
463
  font-size: var(--ui-font-size-md);
464
464
  }
465
465
 
466
- :scope:where(:scope):is([data-ui-textarea-state~="maxRows"]) {
466
+ :global(:scope[data-ui-textarea-state~="maxRows"]) {
467
467
  max-block-size: calc(
468
468
  max(var(--_rows), var(--_max-rows)) * 1lh + var(--_padding-block) + var(--_padding-block) +
469
469
  2px
@@ -471,7 +471,7 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
471
471
  }
472
472
 
473
473
  @supports (field-sizing: content) {
474
- :scope:where(:scope):is([data-ui-textarea-state~="autosize"]) {
474
+ :global(:scope[data-ui-textarea-state~="autosize"]) {
475
475
  field-sizing: content;
476
476
  min-block-size: calc(
477
477
  var(--_rows) * 1lh + var(--_padding-block) + var(--_padding-block) + 2px
@@ -479,11 +479,11 @@ useComponentHost(() => import('../components/ui-textarea/ui-textarea.js'), {
479
479
  }
480
480
  }
481
481
  @media (pointer: coarse) {
482
- :scope:where(:scope):is([data-ui-textarea-state~="size=sm"]) {
482
+ :global(:scope[data-ui-textarea-state~="size=sm"]) {
483
483
  font-size: inherit;
484
484
  }
485
485
  }
486
- :scope:where(:scope):is([hidden]) {
486
+ :global(:scope[hidden]) {
487
487
  display: none;
488
488
  }
489
489
  }
package/vue/UiToast.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.52 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, ref, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -83,7 +83,7 @@ const root = ref<HTMLElement | null>(null)
83
83
  const actionElement = useTemplateRef<HTMLElement>('actionElement')
84
84
  checkHydratedRoot('div', 'ui-toast')
85
85
 
86
- /** The values the styles' :host-state() rules test. */
86
+ /** The values the styles' :host() prop and state rules test. */
87
87
  const hostState = computed(() =>
88
88
  [
89
89
  checkedProps.value.tone && 'tone',
@@ -133,6 +133,8 @@ useComponentHost(() => import('../components/ui-toast/ui-toast.js'), {
133
133
  <div
134
134
  class="ui-toast"
135
135
  v-bind="nativeAttrs($attrs)"
136
+ data-hn
137
+ data-hn-ui-toast
136
138
  :role="attribute(
137
139
  (({
138
140
  neutral: 'status',
@@ -143,13 +145,13 @@ useComponentHost(() => import('../components/ui-toast/ui-toast.js'), {
143
145
  }) as Record<string, any>)[checkedProps.tone],
144
146
  )"
145
147
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
146
- :data-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
147
- :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
148
+ :data-ui-toast-prop-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
149
+ :data-ui-toast-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
148
150
  :data-ui-toast-state="hostState || undefined"
149
151
  ref="root"
150
152
  >
151
- <div class="message"><slot /></div>
152
- <div class="action" ref="actionElement"><slot name="action" /></div>
153
+ <div class="message" data-hn-ui-toast><slot /></div>
154
+ <div class="action" data-hn-ui-toast ref="actionElement"><slot name="action" /></div>
153
155
  <UiIconButton
154
156
  class="ui-icon-button dismiss"
155
157
  size="sm"
@@ -182,8 +184,8 @@ useComponentHost(() => import('../components/ui-toast/ui-toast.js'), {
182
184
  syntax: "*";
183
185
  inherits: false;
184
186
  }
185
- @scope (.ui-toast) to (.ui-icon-button, .ui-icon) {
186
- :scope:where(:scope) {
187
+ @scope (.ui-toast) to ([data-hn]) {
188
+ :global(:scope:where([data-hn-ui-toast])) {
187
189
  --_ui-toast-accent: var(--ui-border-strong);
188
190
  --_ui-toast-surface: var(--ui-surface-muted);
189
191
 
@@ -215,31 +217,31 @@ useComponentHost(() => import('../components/ui-toast/ui-toast.js'), {
215
217
  pointer-events: auto;
216
218
  }
217
219
 
218
- :scope:where(:scope):is([data-ui-toast-state~="tone=info"]) {
220
+ :global(:scope[data-ui-toast-state~="tone=info"]:where([data-hn-ui-toast])) {
219
221
  --_ui-toast-accent: var(--ui-info-solid);
220
222
  --_ui-toast-surface: var(--ui-info-soft);
221
223
  }
222
- :scope:where(:scope):is([data-ui-toast-state~="tone=success"]) {
224
+ :global(:scope[data-ui-toast-state~="tone=success"]:where([data-hn-ui-toast])) {
223
225
  --_ui-toast-accent: var(--ui-success-solid);
224
226
  --_ui-toast-surface: var(--ui-success-soft);
225
227
  }
226
- :scope:where(:scope):is([data-ui-toast-state~="tone=warning"]) {
228
+ :global(:scope[data-ui-toast-state~="tone=warning"]:where([data-hn-ui-toast])) {
227
229
  --_ui-toast-accent: var(--ui-warning-solid);
228
230
  --_ui-toast-surface: var(--ui-warning-soft);
229
231
  }
230
- :scope:where(:scope):is([data-ui-toast-state~="tone=danger"]) {
232
+ :global(:scope[data-ui-toast-state~="tone=danger"]:where([data-hn-ui-toast])) {
231
233
  --_ui-toast-accent: var(--ui-danger-solid);
232
234
  --_ui-toast-surface: var(--ui-danger-soft);
233
235
  }
234
236
 
235
- .message {
237
+ :global(.message:where([data-hn-ui-toast])) {
236
238
  min-inline-size: 0;
237
239
  flex: 1;
238
240
  }
239
- .action:not(:has(> *)) {
241
+ :global(.action:not(:has(> *)):where([data-hn-ui-toast])) {
240
242
  display: none;
241
243
  }
242
- :scope:where(:scope):is([hidden]) {
244
+ :global(:scope[hidden]:where([data-hn-ui-toast])) {
243
245
  display: none;
244
246
  }
245
247
  }
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.52 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -110,7 +110,7 @@ const toasts = ref<
110
110
  provide('html-next:ui-toast-region:toasts', toasts)
111
111
  checkHydratedRoot('div', 'ui-toast-region')
112
112
 
113
- /** The values the styles' :host-state() rules test. */
113
+ /** The values the styles' :host() prop and state rules test. */
114
114
  const hostState = computed(() =>
115
115
  [
116
116
  checkedProps.value.placement && 'placement',
@@ -220,9 +220,11 @@ useComponentHost(() => import('../components/ui-toast-region/ui-toast-region.js'
220
220
  aria-live="polite"
221
221
  popover="manual"
222
222
  v-bind="nativeAttrs($attrs)"
223
+ data-hn
224
+ data-hn-ui-toast-region
223
225
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
224
- :data-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
225
- :data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
226
+ :data-ui-toast-region-prop-duration="reflectedProp('duration', 'duration', checkedProps.duration, undefined, false)"
227
+ :data-ui-toast-region-prop-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
226
228
  :data-ui-toast-region-state="hostState || undefined"
227
229
  ref="root"
228
230
  >
@@ -231,13 +233,14 @@ useComponentHost(() => import('../components/ui-toast-region/ui-toast-region.js'
231
233
  v-for="toast in uniqueKeys(toasts, (toast, index, loop) => toast.id)"
232
234
  :key="toast.id"
233
235
  class="toast"
236
+ data-hn-ui-toast-region
234
237
  :id="toast.id"
235
238
  :role="toast.role"
236
239
  :data-tone="toast.tone"
237
240
  :class="{ closing: toast.closing }"
238
241
  >
239
- <span class="message">{{ toast.message }}</span>
240
- <span class="dismiss" :data-toast="toast.id"><UiIconButton
242
+ <span class="message" data-hn-ui-toast-region>{{ toast.message }}</span>
243
+ <span class="dismiss" data-hn-ui-toast-region :data-toast="toast.id"><UiIconButton
241
244
  class="ui-icon-button"
242
245
  size="sm"
243
246
  variant="ghost"
@@ -323,8 +326,8 @@ useComponentHost(() => import('../components/ui-toast-region/ui-toast-region.js'
323
326
 
324
327
  /* A component that sets its display still honours the hidden attribute on its root. */
325
328
 
326
- @scope (.ui-toast-region) to (.ui-icon-button, .ui-icon) {
327
- :scope:where(:scope) {
329
+ @scope (.ui-toast-region) to ([data-hn]) {
330
+ :global(:scope:where([data-hn-ui-toast-region])) {
328
331
  /* Hooks do not inherit, so the parts below read them from the root. */
329
332
  --_ui-toast-region-surface: var(--ui-toast-region-surface);
330
333
  --_ui-toast-region-border: var(--ui-toast-region-border);
@@ -355,38 +358,39 @@ useComponentHost(() => import('../components/ui-toast-region/ui-toast-region.js'
355
358
  pointer-events: none;
356
359
  }
357
360
 
358
- :scope:where(:scope):is(:not(:popover-open)) {
361
+ :global(:scope:not(:popover-open):where([data-hn-ui-toast-region])) {
359
362
  display: none;
360
363
  }
361
364
 
362
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=top-start"]),
363
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=bottom-start"]) {
365
+ :global(:scope[data-ui-toast-region-state~="placement=top-start"]:where([data-hn-ui-toast-region])),
366
+ :global(:scope[data-ui-toast-region-state~="placement=bottom-start"]:where([data-hn-ui-toast-region])) {
364
367
  left: auto;
365
368
  right: auto;
366
369
  inset-inline-start: calc(var(--ui-space-4) + env(safe-area-inset-left));
367
370
  transform: none;
368
371
  }
369
372
 
370
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=top-end"]),
371
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=bottom-end"]) {
373
+ :global(:scope[data-ui-toast-region-state~="placement=top-end"]:where([data-hn-ui-toast-region])),
374
+ :global(:scope[data-ui-toast-region-state~="placement=bottom-end"]:where([data-hn-ui-toast-region])) {
372
375
  left: auto;
373
376
  right: auto;
374
377
  inset-inline-end: calc(var(--ui-space-4) + env(safe-area-inset-right));
375
378
  transform: none;
376
379
  }
377
380
 
378
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=bottom"]),
379
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=bottom-start"]),
380
- :scope:where(:scope):is([data-ui-toast-region-state~="placement=bottom-end"]) {
381
+ :global(:scope[data-ui-toast-region-state~="placement=bottom"]:where([data-hn-ui-toast-region])),
382
+ :global(:scope[data-ui-toast-region-state~="placement=bottom-start"]:where([data-hn-ui-toast-region])),
383
+ :global(:scope[data-ui-toast-region-state~="placement=bottom-end"]:where([data-hn-ui-toast-region])) {
381
384
  top: auto;
382
385
  bottom: calc(var(--ui-space-4) + env(safe-area-inset-bottom));
383
386
  }
384
387
 
385
- :scope > .toast, :scope > :slotted(*) {
388
+ :global(:scope > .toast:where([data-hn-ui-toast-region])),
389
+ :global(:scope > :where(:not([data-hn-ui-toast-region])):is(*)) {
386
390
  pointer-events: auto;
387
391
  }
388
392
 
389
- .toast {
393
+ :global(.toast:where([data-hn-ui-toast-region])) {
390
394
  --_ui-toast-region-accent: var(--ui-border-strong);
391
395
  --_ui-toast-region-tone-surface: var(--ui-surface-muted);
392
396
  display: grid;
@@ -416,53 +420,54 @@ useComponentHost(() => import('../components/ui-toast-region/ui-toast-region.js'
416
420
  var(--ui-motion-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) both;
417
421
  }
418
422
 
419
- .toast[data-tone="info"] {
423
+ :global(.toast[data-tone="info"]:where([data-hn-ui-toast-region])) {
420
424
  --_ui-toast-region-accent: var(--ui-info-solid);
421
425
  --_ui-toast-region-tone-surface: var(--ui-info-soft);
422
426
  }
423
- .toast[data-tone="success"] {
427
+ :global(.toast[data-tone="success"]:where([data-hn-ui-toast-region])) {
424
428
  --_ui-toast-region-accent: var(--ui-success-solid);
425
429
  --_ui-toast-region-tone-surface: var(--ui-success-soft);
426
430
  }
427
- .toast[data-tone="warning"] {
431
+ :global(.toast[data-tone="warning"]:where([data-hn-ui-toast-region])) {
428
432
  --_ui-toast-region-accent: var(--ui-warning-solid);
429
433
  --_ui-toast-region-tone-surface: var(--ui-warning-soft);
430
434
  }
431
- .toast[data-tone="danger"] {
435
+ :global(.toast[data-tone="danger"]:where([data-hn-ui-toast-region])) {
432
436
  --_ui-toast-region-accent: var(--ui-danger-solid);
433
437
  --_ui-toast-region-tone-surface: var(--ui-danger-soft);
434
438
  }
435
- .toast.closing {
439
+ :global(.toast.closing:where([data-hn-ui-toast-region])) {
436
440
  animation: ui-toast-exit var(--_ui-toast-region-exit-duration, 0.22s) var(--ui-motion-ease)
437
441
  both;
438
442
  pointer-events: none;
439
443
  }
440
444
 
441
- :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"])
442
- .toast {
445
+ :global(: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"])
446
+ .toast:where([data-hn-ui-toast-region])) {
443
447
  animation-name: ui-toast-enter-bottom;
444
448
  }
445
449
 
446
- :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"])
447
- .toast.closing {
450
+ :global(: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"])
451
+ .toast.closing:where([data-hn-ui-toast-region])) {
448
452
  animation-name: ui-toast-exit-bottom;
449
453
  }
450
454
 
451
455
  @media (prefers-reduced-motion: reduce) {
452
- .toast, .toast.closing {
456
+ :global(.toast:where([data-hn-ui-toast-region])),
457
+ :global(.toast.closing:where([data-hn-ui-toast-region])) {
453
458
  animation: none;
454
459
  }
455
460
  }
456
461
 
457
- .message {
462
+ :global(.message:where([data-hn-ui-toast-region])) {
458
463
  min-inline-size: 0;
459
464
  align-self: center;
460
465
  }
461
466
 
462
- .dismiss {
467
+ :global(.dismiss:where([data-hn-ui-toast-region])) {
463
468
  align-self: center;
464
469
  }
465
- :scope:where(:scope):is([hidden]) {
470
+ :global(:scope[hidden]:where([data-hn-ui-toast-region])) {
466
471
  display: none;
467
472
  }
468
473
  }
package/vue/UiTooltip.vue CHANGED
@@ -1,4 +1,4 @@
1
- <!-- Generated by HTML Next 1.0.0-alpha.51 for Vue 3.5. Do not edit. -->
1
+ <!-- Generated by HTML Next 1.0.0-alpha.52 for Vue 3.5. Do not edit. -->
2
2
  <script setup lang="ts">
3
3
  import { computed, getCurrentInstance, provide, ref, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -227,7 +227,7 @@ const internalOpen = ref(false)
227
227
  provide('html-next:ui-tooltip:internalOpen', internalOpen)
228
228
  checkHydratedRoot('span', 'ui-tooltip')
229
229
 
230
- /** The values the styles' :host-state() rules test. */
230
+ /** The values the styles' :host() prop and state rules test. */
231
231
  const hostState = computed(() =>
232
232
  [
233
233
  checkedProps.value.inverse && 'inverse',
@@ -287,20 +287,22 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
287
287
  class="ui-tooltip"
288
288
  role="tooltip"
289
289
  v-bind="nativeAttrs($attrs)"
290
+ data-hn
291
+ data-hn-ui-tooltip
290
292
  :hidden="!internalOpen"
291
293
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
292
- :data-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
293
- :data-hide-delay="reflectedProp('hideDelay', 'hide-delay', checkedProps.hideDelay, undefined, false)"
294
- :data-inverse="reflectedProp('inverse', 'inverse', checkedProps.inverse, undefined, false)"
295
- :data-open="reflectedProp('open', 'open', checkedProps.open, undefined, false)"
296
- :data-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
297
- :data-show-delay="reflectedProp('showDelay', 'show-delay', checkedProps.showDelay, undefined, false)"
298
- :data-trigger="reflectedProp('trigger', 'trigger', checkedProps.trigger, undefined, false)"
294
+ :data-ui-tooltip-prop-for="reflectedProp('for', 'for', checkedProps.for, undefined, false)"
295
+ :data-ui-tooltip-prop-hide-delay="reflectedProp('hideDelay', 'hide-delay', checkedProps.hideDelay, undefined, false)"
296
+ :data-ui-tooltip-prop-inverse="reflectedProp('inverse', 'inverse', checkedProps.inverse, undefined, false)"
297
+ :data-ui-tooltip-prop-open="reflectedProp('open', 'open', checkedProps.open, undefined, false)"
298
+ :data-ui-tooltip-prop-placement="reflectedProp('placement', 'placement', checkedProps.placement, undefined, false)"
299
+ :data-ui-tooltip-prop-show-delay="reflectedProp('showDelay', 'show-delay', checkedProps.showDelay, undefined, false)"
300
+ :data-ui-tooltip-prop-trigger="reflectedProp('trigger', 'trigger', checkedProps.trigger, undefined, false)"
299
301
  :data-ui-tooltip-state="hostState || undefined"
300
302
  ref="root"
301
- ><div class="surface">
303
+ ><div class="surface" data-hn-ui-tooltip>
302
304
  <slot />
303
- <span class="shortcut"><slot name="shortcut" /></span>
305
+ <span class="shortcut" data-hn-ui-tooltip><slot name="shortcut" /></span>
304
306
  </div></span>
305
307
  </template>
306
308
 
@@ -355,8 +357,8 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
355
357
  /* A rotated square shares the surface fill and draws the two outward border edges. Its centre sits on
356
358
  * the surface border line, so the fill covers that stretch of border and the outline runs unbroken. */
357
359
 
358
- @scope (.ui-tooltip) {
359
- :scope:where(:scope) {
360
+ @scope (.ui-tooltip) to ([data-hn]) {
361
+ :global(:scope:where([data-hn-ui-tooltip])) {
360
362
  /* Hooks do not inherit, so the parts below read them from the root. */
361
363
  --_ui-tooltip-border: var(--ui-tooltip-border);
362
364
  --_ui-tooltip-max-inline-size: var(--ui-tooltip-max-inline-size);
@@ -389,7 +391,7 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
389
391
  overlay var(--ui-motion-fast) allow-discrete;
390
392
  }
391
393
 
392
- .surface {
394
+ :global(.surface:where([data-hn-ui-tooltip])) {
393
395
  --_tooltip-line: var(--_ui-tooltip-border, var(--ui-overlay-border, var(--ui-border-strong)));
394
396
  position: relative;
395
397
  box-sizing: border-box;
@@ -407,7 +409,7 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
407
409
  var(--ui-overlay-shadow, var(--ui-elevation-tooltip, var(--ui-shadow-md)))
408
410
  );
409
411
  }
410
- .shortcut {
412
+ :global(.shortcut:where([data-hn-ui-tooltip])) {
411
413
  display: inline-flex;
412
414
  align-items: center;
413
415
  margin-inline-start: var(--ui-space-2);
@@ -420,19 +422,19 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
420
422
  vertical-align: baseline;
421
423
  }
422
424
 
423
- .shortcut:empty {
425
+ :global(.shortcut:empty:where([data-hn-ui-tooltip])) {
424
426
  display: none;
425
427
  }
426
- .shortcut :slotted(kbd) {
428
+ :global(.shortcut :where(:not([data-hn-ui-tooltip])):is(kbd)) {
427
429
  font: inherit;
428
430
  }
429
431
 
430
- :scope[data-ui-tooltip-state~="inverse"] .surface {
432
+ :global(:scope[data-ui-tooltip-state~="inverse"] .surface:where([data-hn-ui-tooltip])) {
431
433
  --_tooltip-line: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
432
434
  background: var(--_ui-tooltip-inverse-surface, var(--ui-text-primary));
433
435
  color: var(--_ui-tooltip-inverse-text, var(--ui-surface-default));
434
436
  }
435
- .surface::after {
437
+ :global(.surface:where([data-hn-ui-tooltip])::after) {
436
438
  content: "";
437
439
  position: absolute;
438
440
  z-index: 1;
@@ -451,7 +453,7 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
451
453
  transform: rotate(45deg) scaleX(1.25) scaleY(0.85);
452
454
  }
453
455
 
454
- :scope[data-ui-actual-placement="bottom"] .surface::after {
456
+ :global(:scope[data-ui-actual-placement="bottom"] .surface:where([data-hn-ui-tooltip])::after) {
455
457
  inset-block-start: calc(
456
458
  var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
457
459
  );
@@ -464,23 +466,23 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
464
466
  border-start-start-radius: var(--ui-border-width);
465
467
  }
466
468
 
467
- :scope[data-ui-actual-align="center"] .surface::after {
469
+ :global(:scope[data-ui-actual-align="center"] .surface:where([data-hn-ui-tooltip])::after) {
468
470
  inset-inline-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
469
471
  }
470
472
 
471
- :scope[data-ui-actual-align="end"] .surface::after {
473
+ :global(:scope[data-ui-actual-align="end"] .surface:where([data-hn-ui-tooltip])::after) {
472
474
  inset-inline-start: auto;
473
475
  inset-inline-end: var(--ui-space-3);
474
476
  }
475
477
 
476
- :scope[data-ui-actual-placement="left"] .surface::after,
477
- :scope[data-ui-actual-placement="right"] .surface::after {
478
+ :global(:scope[data-ui-actual-placement="left"] .surface:where([data-hn-ui-tooltip])::after),
479
+ :global(:scope[data-ui-actual-placement="right"] .surface:where([data-hn-ui-tooltip])::after) {
478
480
  inset-block-start: calc(50% - var(--_ui-tooltip-arrow-size, 0.625rem) / 2);
479
481
  inset-block-end: auto;
480
482
  border: 0 solid var(--_tooltip-line);
481
483
  }
482
484
 
483
- :scope[data-ui-actual-placement="left"] .surface::after {
485
+ :global(:scope[data-ui-actual-placement="left"] .surface:where([data-hn-ui-tooltip])::after) {
484
486
  inset-inline-start: auto;
485
487
  inset-inline-end: calc(
486
488
  var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
@@ -489,7 +491,7 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
489
491
  border-block-start-width: var(--ui-border-width);
490
492
  }
491
493
 
492
- :scope[data-ui-actual-placement="right"] .surface::after {
494
+ :global(:scope[data-ui-actual-placement="right"] .surface:where([data-hn-ui-tooltip])::after) {
493
495
  inset-inline-start: calc(
494
496
  var(--_ui-tooltip-arrow-size, 0.625rem) / -2 - var(--ui-border-width) / 2
495
497
  );
@@ -498,35 +500,39 @@ useComponentHost(() => import('../components/ui-tooltip/ui-tooltip.js'), {
498
500
  border-block-end-width: var(--ui-border-width);
499
501
  }
500
502
 
501
- :scope[data-ui-actual-placement="left"][data-ui-actual-align="start"] .surface::after,
502
- :scope[data-ui-actual-placement="right"][data-ui-actual-align="start"] .surface::after {
503
+ :global(:scope[data-ui-actual-placement="left"][data-ui-actual-align="start"]
504
+ .surface:where([data-hn-ui-tooltip])::after),
505
+ :global(:scope[data-ui-actual-placement="right"][data-ui-actual-align="start"]
506
+ .surface:where([data-hn-ui-tooltip])::after) {
503
507
  inset-block-start: var(--ui-space-3);
504
508
  }
505
509
 
506
- :scope[data-ui-actual-placement="left"][data-ui-actual-align="end"] .surface::after,
507
- :scope[data-ui-actual-placement="right"][data-ui-actual-align="end"] .surface::after {
510
+ :global(:scope[data-ui-actual-placement="left"][data-ui-actual-align="end"]
511
+ .surface:where([data-hn-ui-tooltip])::after),
512
+ :global(:scope[data-ui-actual-placement="right"][data-ui-actual-align="end"]
513
+ .surface:where([data-hn-ui-tooltip])::after) {
508
514
  inset-block-start: auto;
509
515
  inset-block-end: var(--ui-space-3);
510
516
  }
511
517
 
512
- :scope:where(:scope):is(:popover-open) {
518
+ :global(:scope:popover-open:where([data-hn-ui-tooltip])) {
513
519
  opacity: 1;
514
520
  transform: translateY(0);
515
521
  }
516
522
 
517
523
  @starting-style {
518
- :scope:where(:scope):is(:popover-open) {
524
+ :global(:scope:popover-open:where([data-hn-ui-tooltip])) {
519
525
  opacity: 0;
520
526
  transform: translateY(4px);
521
527
  }
522
528
  }
523
529
 
524
- :scope:where(:scope):is([hidden]) {
530
+ :global(:scope[hidden]:where([data-hn-ui-tooltip])) {
525
531
  display: none;
526
532
  }
527
533
 
528
534
  @media (prefers-reduced-motion: reduce) {
529
- :scope:where(:scope) {
535
+ :global(:scope:where([data-hn-ui-tooltip])) {
530
536
  transition: none;
531
537
  }
532
538
  }