@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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -98,7 +98,7 @@ const reflectedProp = useReflectedProp()
98
98
 
99
99
  checkHydratedRoot('hr', 'ui-separator')
100
100
 
101
- /** The values the styles' :host-state() rules test. */
101
+ /** The values the styles' :host() prop and state rules test. */
102
102
  const hostState = computed(() =>
103
103
  [
104
104
  checkedProps.value.emphasis && 'emphasis',
@@ -114,12 +114,13 @@ const hostState = computed(() =>
114
114
  <hr
115
115
  class="ui-separator"
116
116
  v-bind="nativeAttrs($attrs)"
117
+ data-hn
117
118
  :aria-orientation="checkedProps.orientation ?? undefined"
118
119
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
119
- :data-emphasis="reflectedProp('emphasis', 'emphasis', checkedProps.emphasis, undefined, false)"
120
- :data-orientation="reflectedProp('orientation', 'orientation', checkedProps.orientation, undefined, false)"
121
- :data-selectable="reflectedProp('selectable', 'selectable', checkedProps.selectable, undefined, false)"
122
- :data-selected="reflectedProp('selected', 'selected', checkedProps.selected, undefined, false)"
120
+ :data-ui-separator-prop-emphasis="reflectedProp('emphasis', 'emphasis', checkedProps.emphasis, undefined, false)"
121
+ :data-ui-separator-prop-orientation="reflectedProp('orientation', 'orientation', checkedProps.orientation, undefined, false)"
122
+ :data-ui-separator-prop-selectable="reflectedProp('selectable', 'selectable', checkedProps.selectable, undefined, false)"
123
+ :data-ui-separator-prop-selected="reflectedProp('selected', 'selected', checkedProps.selected, undefined, false)"
123
124
  :data-ui-separator-state="hostState || undefined"
124
125
  >
125
126
  </template>
@@ -133,8 +134,8 @@ const hostState = computed(() =>
133
134
 
134
135
  /* The root is the hr, so the rules name :host; a bare hr matches only a descendant. */
135
136
 
136
- @scope (.ui-separator) {
137
- :scope:where(:scope) {
137
+ @scope (.ui-separator) to ([data-hn]) {
138
+ :global(:scope) {
138
139
  box-sizing: border-box;
139
140
  align-self: stretch;
140
141
  margin: 0;
@@ -143,18 +144,18 @@ const hostState = computed(() =>
143
144
  var(--ui-separator-color, var(--_separator-color, var(--ui-border-divider)));
144
145
  }
145
146
 
146
- :scope:where(:scope):is([data-ui-separator-state~="emphasis=strong"]) {
147
+ :global(:scope[data-ui-separator-state~="emphasis=strong"]) {
147
148
  --_separator-color: var(--ui-border-strong);
148
149
  }
149
150
 
150
- :scope:where(:scope):is([aria-orientation="vertical"]) {
151
+ :global(:scope[aria-orientation="vertical"]) {
151
152
  block-size: auto;
152
153
  border-block-start: 0;
153
154
  border-inline-start: var(--ui-border-width) solid
154
155
  var(--ui-separator-color, var(--_separator-color, var(--ui-border-divider)));
155
156
  }
156
157
 
157
- :scope:where(:scope):is([data-ui-separator-state~="selectable"]) {
158
+ :global(:scope[data-ui-separator-state~="selectable"]) {
158
159
  min-block-size: var(--ui-control-size-sm);
159
160
  border: 0;
160
161
  background: linear-gradient(
@@ -163,10 +164,10 @@ const hostState = computed(() =>
163
164
  ) center / 100% var(--ui-border-width) no-repeat;
164
165
  cursor: pointer;
165
166
  }
166
- :scope:where(:scope):is([data-ui-separator-state~="selectable"]:hover) {
167
+ :global(:scope[data-ui-separator-state~="selectable"]:hover) {
167
168
  background-color: var(--ui-surface-hover);
168
169
  }
169
- :scope:where(:scope):is([data-ui-separator-state~="selected"]) {
170
+ :global(:scope[data-ui-separator-state~="selected"]) {
170
171
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
171
172
  outline-offset: var(--ui-focus-width);
172
173
  border-radius: var(--ui-radius-sm);
package/vue/UiSidebar.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, useTemplateRef, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -206,7 +206,7 @@ provide('html-next:ui-sidebar:drawer', drawer)
206
206
  provide('html-next:ui-sidebar:resizing', resizing)
207
207
  checkHydratedRoot('aside', 'ui-sidebar')
208
208
 
209
- /** The values the styles' :host-state() rules test. */
209
+ /** The values the styles' :host() prop and state rules test. */
210
210
  const hostState = computed(() =>
211
211
  [
212
212
  checkedProps.value.side && 'side',
@@ -290,31 +290,36 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
290
290
  <aside
291
291
  class="ui-sidebar"
292
292
  v-bind="nativeAttrs($attrs)"
293
+ data-hn
294
+ data-hn-ui-sidebar
293
295
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
294
- :data-breakpoint="reflectedProp('breakpoint', 'breakpoint', checkedProps.breakpoint, undefined, false)"
295
- :data-collapsed="reflectedProp('collapsed', 'collapsed', checkedProps.collapsed, undefined, false)"
296
- :data-max-width="reflectedProp('maxWidth', 'max-width', checkedProps.maxWidth, undefined, false)"
297
- :data-min-width="reflectedProp('minWidth', 'min-width', checkedProps.minWidth, undefined, false)"
298
- :data-resizable="reflectedProp('resizable', 'resizable', checkedProps.resizable, undefined, false)"
299
- :data-resize-label="reflectedProp('resizeLabel', 'resize-label', checkedProps.resizeLabel, undefined, false)"
300
- :data-resize-step="reflectedProp('resizeStep', 'resize-step', checkedProps.resizeStep, undefined, false)"
301
- :data-side="reflectedProp('side', 'side', checkedProps.side, undefined, false)"
302
- :data-width="reflectedProp('width', 'width', checkedProps.width, undefined, false)"
296
+ :data-ui-sidebar-prop-breakpoint="reflectedProp('breakpoint', 'breakpoint', checkedProps.breakpoint, undefined, false)"
297
+ :data-ui-sidebar-prop-collapsed="reflectedProp('collapsed', 'collapsed', checkedProps.collapsed, undefined, false)"
298
+ :data-ui-sidebar-prop-max-width="reflectedProp('maxWidth', 'max-width', checkedProps.maxWidth, undefined, false)"
299
+ :data-ui-sidebar-prop-min-width="reflectedProp('minWidth', 'min-width', checkedProps.minWidth, undefined, false)"
300
+ :data-ui-sidebar-prop-resizable="reflectedProp('resizable', 'resizable', checkedProps.resizable, undefined, false)"
301
+ :data-ui-sidebar-prop-resize-label="reflectedProp('resizeLabel', 'resize-label', checkedProps.resizeLabel, undefined, false)"
302
+ :data-ui-sidebar-prop-resize-step="reflectedProp('resizeStep', 'resize-step', checkedProps.resizeStep, undefined, false)"
303
+ :data-ui-sidebar-prop-side="reflectedProp('side', 'side', checkedProps.side, undefined, false)"
304
+ :data-ui-sidebar-prop-width="reflectedProp('width', 'width', checkedProps.width, undefined, false)"
303
305
  :data-ui-sidebar-state="hostState || undefined"
304
306
  ref="root"
305
307
  >
306
- <div class="viewport"><div class="content"><slot /></div></div>
308
+ <div class="viewport" data-hn-ui-sidebar>
309
+ <div class="content" data-hn-ui-sidebar><slot /></div>
310
+ </div>
307
311
  <div
308
312
  class="resizer"
309
313
  role="separator"
310
314
  aria-orientation="vertical"
311
315
  tabindex="0"
312
316
  data-ui-affordance="resize"
317
+ data-hn-ui-sidebar
313
318
  :aria-label="checkedProps.resizeLabel ?? undefined"
314
319
  :hidden="!checkedProps.resizable || drawer || internalCollapsed"
315
320
  ref="resizerElement"
316
321
  >
317
- <span class="guide" aria-hidden="true"></span>
322
+ <span class="guide" aria-hidden="true" data-hn-ui-sidebar></span>
318
323
  </div>
319
324
  </aside>
320
325
  </template>
@@ -353,8 +358,8 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
353
358
 
354
359
  /* A component that sets its display still honours the hidden attribute on its root. */
355
360
 
356
- @scope (.ui-sidebar) {
357
- :scope:where(:scope) {
361
+ @scope (.ui-sidebar) to ([data-hn]) {
362
+ :global(:scope:where([data-hn-ui-sidebar])) {
358
363
  /* Hooks do not inherit, so the parts below read them from the root. */
359
364
  --_ui-sidebar-backdrop: var(--ui-sidebar-backdrop);
360
365
  --_ui-sidebar-expanded-width: var(--_sidebar-width, var(--ui-sidebar-width, 280px));
@@ -375,17 +380,17 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
375
380
  visibility var(--ui-motion-layout);
376
381
  }
377
382
 
378
- :scope:where(:scope):is([data-ui-sidebar-state~="side=end"]) {
383
+ :global(:scope[data-ui-sidebar-state~="side=end"]:where([data-hn-ui-sidebar])) {
379
384
  border-inline-end: 0;
380
385
  border-inline-start: var(--ui-border-width) solid
381
386
  var(--ui-sidebar-border, var(--ui-border-divider));
382
387
  }
383
- .viewport {
388
+ :global(.viewport:where([data-hn-ui-sidebar])) {
384
389
  flex: 1;
385
390
  min-block-size: 0;
386
391
  overflow: clip;
387
392
  }
388
- .content {
393
+ :global(.content:where([data-hn-ui-sidebar])) {
389
394
  block-size: 100%;
390
395
  inline-size: calc(var(--_ui-sidebar-expanded-width) - var(--ui-border-width));
391
396
  min-block-size: 0;
@@ -412,22 +417,23 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
412
417
  -1px calc(100% - var(--_ui-scroll-fade-size)),
413
418
  calc(100% - var(--_ui-scroll-fade-size)) 100%;
414
419
  }
415
- :scope:where(:scope):is([data-ui-sidebar-state~="internalCollapsed"]:not([popover])) {
420
+ :global(:scope[data-ui-sidebar-state~="internalCollapsed"]:not([popover]):where([data-hn-ui-sidebar])) {
416
421
  inline-size: var(--ui-sidebar-collapsed-width, 0px);
417
422
  visibility: hidden;
418
423
  }
419
- :scope:where(:scope):is([data-ui-sidebar-state~="resizing"]) {
424
+ :global(:scope[data-ui-sidebar-state~="resizing"]:where([data-hn-ui-sidebar])) {
420
425
  transition: none;
421
426
  }
422
- :scope[data-ui-sidebar-state~="internalCollapsed"]:not([popover]) .content {
427
+ :global(:scope[data-ui-sidebar-state~="internalCollapsed"]:not([popover])
428
+ .content:where([data-hn-ui-sidebar])) {
423
429
  transform: translateX(-100%);
424
430
  }
425
- :scope[data-ui-sidebar-state~="side=end"]:scope[data-ui-sidebar-state~="internalCollapsed"]:not([popover])
426
- .content {
431
+ :global(:scope[data-ui-sidebar-state~="side=end"][data-ui-sidebar-state~="internalCollapsed"]:not([popover])
432
+ .content:where([data-hn-ui-sidebar])) {
427
433
  transform: translateX(100%);
428
434
  }
429
435
 
430
- .resizer {
436
+ :global(.resizer:where([data-hn-ui-sidebar])) {
431
437
  position: absolute;
432
438
  z-index: 1;
433
439
  inset-block: 0;
@@ -441,17 +447,17 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
441
447
  outline: none;
442
448
  }
443
449
 
444
- .resizer[hidden] {
450
+ :global(.resizer[hidden]:where([data-hn-ui-sidebar])) {
445
451
  display: none;
446
452
  }
447
453
 
448
- :scope[data-ui-sidebar-state~="side=end"] .resizer {
454
+ :global(:scope[data-ui-sidebar-state~="side=end"] .resizer:where([data-hn-ui-sidebar])) {
449
455
  inset-inline-end: auto;
450
456
  inset-inline-start: 0;
451
457
  transform: translateX(-50%);
452
458
  }
453
459
 
454
- .resizer::after {
460
+ :global(.resizer:where([data-hn-ui-sidebar])::after) {
455
461
  content: "";
456
462
  position: absolute;
457
463
  inset-block: 0;
@@ -468,7 +474,7 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
468
474
  opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
469
475
  }
470
476
 
471
- .guide {
477
+ :global(.guide:where([data-hn-ui-sidebar])) {
472
478
  position: absolute;
473
479
  inset-block-start: 50%;
474
480
  inset-inline-start: 50%;
@@ -483,15 +489,15 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
483
489
  pointer-events: none;
484
490
  }
485
491
 
486
- .resizer:is(:hover, :focus-visible)::after {
492
+ :global(.resizer:is(:hover, :focus-visible):where([data-hn-ui-sidebar])::after) {
487
493
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid, var(--ui-focus-ring)));
488
494
  opacity: 1;
489
495
  }
490
496
 
491
- .resizer:is(:hover, :focus-visible) > .guide {
497
+ :global(.resizer:is(:hover, :focus-visible) > .guide:where([data-hn-ui-sidebar])) {
492
498
  opacity: 1;
493
499
  }
494
- :scope:where(:scope):is([popover]) {
500
+ :global(:scope[popover]:where([data-hn-ui-sidebar])) {
495
501
  position: fixed;
496
502
  inset-block: 0;
497
503
  inset-inline-start: 0;
@@ -509,42 +515,44 @@ useComponentHost(() => import('../components/ui-sidebar/ui-sidebar.js'), {
509
515
  display var(--ui-motion-reveal) allow-discrete,
510
516
  overlay var(--ui-motion-reveal) allow-discrete;
511
517
  }
512
- :scope:where(:scope):is([popover]:not(:popover-open)) {
518
+ :global(:scope[popover]:not(:popover-open):where([data-hn-ui-sidebar])) {
513
519
  display: none;
514
520
  transform: translateX(-100%);
515
521
  }
516
522
 
517
- :scope:where(:scope):is([data-ui-sidebar-state~="side=end"][popover]) {
523
+ :global(:scope[data-ui-sidebar-state~="side=end"][popover]:where([data-hn-ui-sidebar])) {
518
524
  inset-inline-start: auto;
519
525
  inset-inline-end: 0;
520
526
  }
521
527
 
522
- :scope:where(:scope):is([data-ui-sidebar-state~="side=end"][popover]:not(:popover-open)) {
528
+ :global(:scope[data-ui-sidebar-state~="side=end"][popover]:not(:popover-open):where([data-hn-ui-sidebar])) {
523
529
  transform: translateX(100%);
524
530
  }
525
531
 
526
532
  @starting-style {
527
- :scope:where(:scope):is([popover]:popover-open) {
533
+ :global(:scope[popover]:popover-open:where([data-hn-ui-sidebar])) {
528
534
  transform: translateX(-100%);
529
535
  }
530
- :scope:where(:scope):is([data-ui-sidebar-state~="side=end"][popover]:popover-open) {
536
+ :global(:scope[data-ui-sidebar-state~="side=end"][popover]:popover-open:where([data-hn-ui-sidebar])) {
531
537
  transform: translateX(100%);
532
538
  }
533
539
  }
534
540
 
535
- :scope:where(:scope):is([popover])::backdrop {
541
+ :global(:scope[popover]:where([data-hn-ui-sidebar])::backdrop) {
536
542
  background: var(--_ui-sidebar-backdrop, rgb(0 0 0 / 0.32));
537
543
  }
538
- :scope[popover] .content {
544
+ :global(:scope[popover] .content:where([data-hn-ui-sidebar])) {
539
545
  inline-size: 100%;
540
546
  }
541
547
 
542
548
  @media (prefers-reduced-motion: reduce) {
543
- :scope:where(:scope), :scope:where(:scope):is([popover]), .content {
549
+ :global(:scope:where([data-hn-ui-sidebar])),
550
+ :global(:scope[popover]:where([data-hn-ui-sidebar])),
551
+ :global(.content:where([data-hn-ui-sidebar])) {
544
552
  transition: none;
545
553
  }
546
554
  }
547
- :scope:where(:scope):is([hidden]) {
555
+ :global(:scope[hidden]:where([data-hn-ui-sidebar])) {
548
556
  display: none;
549
557
  }
550
558
  }
package/vue/UiSpinner.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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -192,7 +192,7 @@ const guardedBinding3 = computed(() => {
192
192
  })
193
193
  checkHydratedRoot('span', 'ui-spinner')
194
194
 
195
- /** The values the styles' :host-state() rules test. */
195
+ /** The values the styles' :host() prop and state rules test. */
196
196
  const hostState = computed(() =>
197
197
  [
198
198
  checkedProps.value.size && 'size',
@@ -205,13 +205,14 @@ const hostState = computed(() =>
205
205
  <span
206
206
  class="ui-spinner ring"
207
207
  v-bind="nativeAttrs($attrs)"
208
+ data-hn
208
209
  :role="guarded"
209
210
  :aria-label="guardedBinding"
210
211
  :aria-live="guardedBinding2"
211
212
  :aria-hidden="guardedBinding3"
212
213
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
213
- :data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
214
- :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
214
+ :data-ui-spinner-prop-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
215
+ :data-ui-spinner-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
215
216
  :data-ui-spinner-state="hostState || undefined"
216
217
  ><svg viewBox="0 0 50 50" fill="none" aria-hidden="true" focusable="false">
217
218
  <circle class="track" cx="25" cy="25" r="20"></circle>
@@ -245,8 +246,8 @@ const hostState = computed(() =>
245
246
 
246
247
  /* A component that sets its display still honours the hidden attribute on its root. */
247
248
 
248
- @scope (.ui-spinner) {
249
- :scope:where(:scope) {
249
+ @scope (.ui-spinner) to ([data-hn]) {
250
+ :global(:scope) {
250
251
  display: inline-flex;
251
252
  flex: none;
252
253
  align-items: center;
@@ -259,27 +260,27 @@ const hostState = computed(() =>
259
260
  line-height: 1;
260
261
  }
261
262
 
262
- :scope:where(:scope):is([data-ui-spinner-state~="size=sm"]) {
263
+ :global(:scope[data-ui-spinner-state~="size=sm"]) {
263
264
  font-size: var(--ui-font-size-md);
264
265
  }
265
266
 
266
- svg {
267
+ :global(svg) {
267
268
  display: block;
268
269
  inline-size: 100%;
269
270
  block-size: 100%;
270
271
  animation: ui-spinner-rotate 2s linear infinite;
271
272
  }
272
273
 
273
- circle {
274
+ :global(circle) {
274
275
  stroke-width: 3;
275
276
  stroke-linecap: round;
276
277
  }
277
278
 
278
- .track {
279
+ :global(.track) {
279
280
  stroke: color-mix(in srgb, currentColor 16%, transparent);
280
281
  }
281
282
 
282
- .arc {
283
+ :global(.arc) {
283
284
  stroke: currentColor;
284
285
  stroke-dasharray: 90, 150;
285
286
  stroke-dashoffset: 0;
@@ -287,11 +288,11 @@ const hostState = computed(() =>
287
288
  }
288
289
 
289
290
  @media (prefers-reduced-motion: reduce) {
290
- svg, .arc {
291
+ :global(svg), :global(.arc) {
291
292
  animation: none;
292
293
  }
293
294
  }
294
- :scope:where(:scope):is([hidden]) {
295
+ :global(:scope[hidden]) {
295
296
  display: none;
296
297
  }
297
298
  }
package/vue/UiStack.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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -118,7 +118,7 @@ const reflectedProp = useReflectedProp()
118
118
 
119
119
  checkHydratedRoot('div', 'ui-stack')
120
120
 
121
- /** The values the styles' :host-state() rules test. */
121
+ /** The values the styles' :host() prop and state rules test. */
122
122
  const hostState = computed(() =>
123
123
  [
124
124
  checkedProps.value.fill && 'fill',
@@ -139,13 +139,15 @@ const hostState = computed(() =>
139
139
  <div
140
140
  class="ui-stack"
141
141
  v-bind="nativeAttrs($attrs)"
142
+ data-hn
143
+ data-hn-ui-stack
142
144
  :style="{ '--ui-stack-height': checkedProps.height?.toString() }"
143
145
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
144
- :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
145
- :data-fill="reflectedProp('fill', 'fill', checkedProps.fill, undefined, false)"
146
- :data-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
147
- :data-height="reflectedProp('height', 'height', checkedProps.height, undefined, false)"
148
- :data-justify="reflectedProp('justify', 'justify', checkedProps.justify, undefined, false)"
146
+ :data-ui-stack-prop-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
147
+ :data-ui-stack-prop-fill="reflectedProp('fill', 'fill', checkedProps.fill, undefined, false)"
148
+ :data-ui-stack-prop-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
149
+ :data-ui-stack-prop-height="reflectedProp('height', 'height', checkedProps.height, undefined, false)"
150
+ :data-ui-stack-prop-justify="reflectedProp('justify', 'justify', checkedProps.justify, undefined, false)"
149
151
  :data-ui-stack-state="hostState || undefined"
150
152
  >
151
153
  <slot />
@@ -166,8 +168,8 @@ const hostState = computed(() =>
166
168
 
167
169
  /* A component that sets its display still honours the hidden attribute on its root. */
168
170
 
169
- @scope (.ui-stack) {
170
- :scope:where(:scope) {
171
+ @scope (.ui-stack) to ([data-hn]) {
172
+ :global(:scope:where([data-hn-ui-stack])) {
171
173
  --_layout-gap: var(--ui-space-4);
172
174
  display: flex;
173
175
  flex-direction: column;
@@ -178,52 +180,52 @@ const hostState = computed(() =>
178
180
  margin: 0;
179
181
  }
180
182
 
181
- :scope:where(:scope):is([data-ui-stack-state~="fill"]) {
183
+ :global(:scope[data-ui-stack-state~="fill"]:where([data-hn-ui-stack])) {
182
184
  flex: 1;
183
185
  min-block-size: 0;
184
186
  }
185
- :scope:where(:scope):is([data-ui-stack-state~="height"]) {
187
+ :global(:scope[data-ui-stack-state~="height"]:where([data-hn-ui-stack])) {
186
188
  block-size: calc(var(--ui-stack-height, 0) * 1px);
187
189
  min-block-size: 0;
188
190
  }
189
191
 
190
- :scope:where(:scope):is([data-ui-stack-state~="gap=none"]) {
192
+ :global(:scope[data-ui-stack-state~="gap=none"]:where([data-hn-ui-stack])) {
191
193
  --_layout-gap: 0px;
192
194
  }
193
- :scope:where(:scope):is([data-ui-stack-state~="gap=xs"]) {
195
+ :global(:scope[data-ui-stack-state~="gap=xs"]:where([data-hn-ui-stack])) {
194
196
  --_layout-gap: var(--ui-space-2);
195
197
  }
196
- :scope:where(:scope):is([data-ui-stack-state~="gap=s"]) {
198
+ :global(:scope[data-ui-stack-state~="gap=s"]:where([data-hn-ui-stack])) {
197
199
  --_layout-gap: var(--ui-space-3);
198
200
  }
199
- :scope:where(:scope):is([data-ui-stack-state~="gap=m"]) {
201
+ :global(:scope[data-ui-stack-state~="gap=m"]:where([data-hn-ui-stack])) {
200
202
  --_layout-gap: var(--ui-space-4);
201
203
  }
202
- :scope:where(:scope):is([data-ui-stack-state~="gap=l"]) {
204
+ :global(:scope[data-ui-stack-state~="gap=l"]:where([data-hn-ui-stack])) {
203
205
  --_layout-gap: var(--ui-space-5);
204
206
  }
205
- :scope:where(:scope):is([data-ui-stack-state~="gap=xl"]) {
207
+ :global(:scope[data-ui-stack-state~="gap=xl"]:where([data-hn-ui-stack])) {
206
208
  --_layout-gap: var(--ui-space-6);
207
209
  }
208
- :scope:where(:scope):is([data-ui-stack-state~="align=start"]) {
210
+ :global(:scope[data-ui-stack-state~="align=start"]:where([data-hn-ui-stack])) {
209
211
  align-items: flex-start;
210
212
  }
211
- :scope:where(:scope):is([data-ui-stack-state~="align=center"]) {
213
+ :global(:scope[data-ui-stack-state~="align=center"]:where([data-hn-ui-stack])) {
212
214
  align-items: center;
213
215
  }
214
- :scope:where(:scope):is([data-ui-stack-state~="align=end"]) {
216
+ :global(:scope[data-ui-stack-state~="align=end"]:where([data-hn-ui-stack])) {
215
217
  align-items: flex-end;
216
218
  }
217
- :scope:where(:scope):is([data-ui-stack-state~="justify=center"]) {
219
+ :global(:scope[data-ui-stack-state~="justify=center"]:where([data-hn-ui-stack])) {
218
220
  justify-content: center;
219
221
  }
220
- :scope:where(:scope):is([data-ui-stack-state~="justify=end"]) {
222
+ :global(:scope[data-ui-stack-state~="justify=end"]:where([data-hn-ui-stack])) {
221
223
  justify-content: flex-end;
222
224
  }
223
- :scope:where(:scope):is([data-ui-stack-state~="justify=between"]) {
225
+ :global(:scope[data-ui-stack-state~="justify=between"]:where([data-hn-ui-stack])) {
224
226
  justify-content: space-between;
225
227
  }
226
- :scope:where(:scope):is([hidden]) {
228
+ :global(:scope[hidden]:where([data-hn-ui-stack])) {
227
229
  display: none;
228
230
  }
229
231
  }
@@ -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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -102,7 +102,7 @@ const guarded = computed(() => {
102
102
  })
103
103
  checkHydratedRoot('div', 'ui-status-message')
104
104
 
105
- /** The values the styles' :host-state() rules test. */
105
+ /** The values the styles' :host() prop and state rules test. */
106
106
  const hostState = computed(() =>
107
107
  [
108
108
  checkedProps.value.kind && 'kind',
@@ -117,19 +117,23 @@ const hostState = computed(() =>
117
117
  <div
118
118
  class="ui-status-message"
119
119
  v-bind="nativeAttrs($attrs)"
120
+ data-hn
121
+ data-hn-ui-status-message
120
122
  :role="guarded"
121
123
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
122
- :data-heading="reflectedProp('heading', 'heading', checkedProps.heading, undefined, false)"
123
- :data-kind="reflectedProp('kind', 'kind', checkedProps.kind, undefined, false)"
124
- :data-layout="reflectedProp('layout', 'layout', checkedProps.layout, undefined, false)"
124
+ :data-ui-status-message-prop-heading="reflectedProp('heading', 'heading', checkedProps.heading, undefined, false)"
125
+ :data-ui-status-message-prop-kind="reflectedProp('kind', 'kind', checkedProps.kind, undefined, false)"
126
+ :data-ui-status-message-prop-layout="reflectedProp('layout', 'layout', checkedProps.layout, undefined, false)"
125
127
  :data-ui-status-message-state="hostState || undefined"
126
128
  >
127
129
  <UiSpinner class="ui-spinner" size="sm" :hidden="checkedProps.kind !== 'loading'" />
128
- <span class="copy"><strong class="heading" :hidden="!checkedProps.heading">{{
129
- checkedProps.heading
130
- }}</strong>
131
- <span class="message"><slot /></span></span>
132
- <span class="action"><slot name="action" /></span>
130
+ <span class="copy" data-hn-ui-status-message><strong
131
+ class="heading"
132
+ data-hn-ui-status-message
133
+ :hidden="!checkedProps.heading"
134
+ >{{ checkedProps.heading }}</strong>
135
+ <span class="message" data-hn-ui-status-message><slot /></span></span>
136
+ <span class="action" data-hn-ui-status-message><slot name="action" /></span>
133
137
  </div>
134
138
  </template>
135
139
 
@@ -139,8 +143,8 @@ const hostState = computed(() =>
139
143
 
140
144
  /* A component that sets its display still honours the hidden attribute on its root. */
141
145
 
142
- @scope (.ui-status-message) to (.ui-spinner) {
143
- :scope:where(:scope) {
146
+ @scope (.ui-status-message) to ([data-hn]) {
147
+ :global(:scope:where([data-hn-ui-status-message])) {
144
148
  display: flex;
145
149
  flex-wrap: wrap;
146
150
  align-items: center;
@@ -151,17 +155,17 @@ const hostState = computed(() =>
151
155
  line-height: var(--ui-line-height);
152
156
  }
153
157
 
154
- :scope:where(:scope):is([data-ui-status-message-state~="kind=error"]) {
158
+ :global(:scope[data-ui-status-message-state~="kind=error"]:where([data-hn-ui-status-message])) {
155
159
  color: var(--ui-danger);
156
160
  }
157
161
 
158
- :scope:where(:scope):is([data-ui-status-message-state~="layout=panel"]) {
162
+ :global(:scope[data-ui-status-message-state~="layout=panel"]:where([data-hn-ui-status-message])) {
159
163
  padding: var(--ui-space-6);
160
164
  border: var(--ui-border-width) dashed var(--ui-border-strong);
161
165
  border-radius: var(--ui-radius-lg);
162
166
  }
163
167
 
164
- :scope:where(:scope):is([data-ui-status-message-state~="layout=fill"]) {
168
+ :global(:scope[data-ui-status-message-state~="layout=fill"]:where([data-hn-ui-status-message])) {
165
169
  flex: 1;
166
170
  flex-direction: column;
167
171
  justify-content: center;
@@ -169,7 +173,7 @@ const hostState = computed(() =>
169
173
  text-align: center;
170
174
  }
171
175
 
172
- .copy {
176
+ :global(.copy:where([data-hn-ui-status-message])) {
173
177
  display: flex;
174
178
  flex: 1 1 12rem;
175
179
  flex-direction: column;
@@ -177,26 +181,27 @@ const hostState = computed(() =>
177
181
  min-inline-size: 0;
178
182
  }
179
183
 
180
- :scope[data-ui-status-message-state~="layout=fill"] .copy {
184
+ :global(:scope[data-ui-status-message-state~="layout=fill"]
185
+ .copy:where([data-hn-ui-status-message])) {
181
186
  flex: none;
182
187
  align-items: center;
183
188
  }
184
189
 
185
- .heading {
190
+ :global(.heading:where([data-hn-ui-status-message])) {
186
191
  color: var(--ui-text-primary);
187
192
  font-weight: var(--ui-font-semibold);
188
193
  }
189
194
 
190
- .action {
195
+ :global(.action:where([data-hn-ui-status-message])) {
191
196
  display: inline-flex;
192
197
  flex-wrap: wrap;
193
198
  gap: var(--ui-space-2);
194
199
  }
195
200
 
196
- .action:empty {
201
+ :global(.action:empty:where([data-hn-ui-status-message])) {
197
202
  display: none;
198
203
  }
199
- :scope:where(:scope):is([hidden]) {
204
+ :global(:scope[hidden]:where([data-hn-ui-status-message])) {
200
205
  display: none;
201
206
  }
202
207
  }