@threadlabs/looma 0.28.13 → 0.28.14

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 (425) 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/package.json +3 -3
  13. package/styles/ui-action-bar.css +1 -1
  14. package/styles/ui-affordance-scope.css +1 -1
  15. package/styles/ui-avatar-group.css +1 -1
  16. package/styles/ui-avatar.css +1 -1
  17. package/styles/ui-badge.css +1 -1
  18. package/styles/ui-breadcrumb-item.css +1 -1
  19. package/styles/ui-breadcrumbs.css +1 -1
  20. package/styles/ui-button.css +1 -1
  21. package/styles/ui-callout.css +1 -1
  22. package/styles/ui-card.css +1 -1
  23. package/styles/ui-checkbox.css +1 -1
  24. package/styles/ui-cluster.css +1 -1
  25. package/styles/ui-combobox.css +1 -1
  26. package/styles/ui-container.css +1 -1
  27. package/styles/ui-context-menu.css +1 -1
  28. package/styles/ui-cover.css +1 -1
  29. package/styles/ui-description-item.css +1 -1
  30. package/styles/ui-description-list.css +1 -1
  31. package/styles/ui-dialog.css +1 -1
  32. package/styles/ui-disclosure.css +2 -2
  33. package/styles/ui-editable.css +1 -1
  34. package/styles/ui-editor-block-actions.css +1 -1
  35. package/styles/ui-editor-chip-editor.css +1 -1
  36. package/styles/ui-editor-code-language.css +1 -1
  37. package/styles/ui-editor-image-toolbar.css +1 -1
  38. package/styles/ui-editor-insert-table-grid.css +1 -1
  39. package/styles/ui-editor-link-card.css +1 -1
  40. package/styles/ui-editor-link-form.css +1 -1
  41. package/styles/ui-editor-mention-menu-item.css +1 -1
  42. package/styles/ui-editor-mention-menu.css +1 -1
  43. package/styles/ui-editor-slash-menu-group.css +1 -1
  44. package/styles/ui-editor-slash-menu-item.css +1 -1
  45. package/styles/ui-editor-slash-menu.css +1 -1
  46. package/styles/ui-editor-surface.css +1 -1
  47. package/styles/ui-editor-table-context-menu.css +1 -1
  48. package/styles/ui-editor-table-overlay.css +1 -1
  49. package/styles/ui-editor-table-toolbar.css +1 -1
  50. package/styles/ui-editor-toolbar.css +1 -1
  51. package/styles/ui-floating-action-button.css +1 -1
  52. package/styles/ui-form-field.css +1 -1
  53. package/styles/ui-grid.css +1 -1
  54. package/styles/ui-icon-button.css +1 -1
  55. package/styles/ui-icon.css +1 -1
  56. package/styles/ui-image.css +1 -1
  57. package/styles/ui-input-group.css +1 -1
  58. package/styles/ui-input.css +1 -1
  59. package/styles/ui-list-item.css +1 -1
  60. package/styles/ui-list.css +1 -1
  61. package/styles/ui-listbox.css +1 -1
  62. package/styles/ui-menu-group.css +1 -1
  63. package/styles/ui-menu-item.css +1 -1
  64. package/styles/ui-menu.css +2 -2
  65. package/styles/ui-meter.css +1 -1
  66. package/styles/ui-nav-item.css +1 -1
  67. package/styles/ui-page-header.css +1 -1
  68. package/styles/ui-popover.css +2 -2
  69. package/styles/ui-radio-group.css +1 -1
  70. package/styles/ui-radio.css +1 -1
  71. package/styles/ui-reel.css +1 -1
  72. package/styles/ui-scroll-area.css +1 -1
  73. package/styles/ui-search-result-row.css +1 -1
  74. package/styles/ui-search-shell.css +1 -1
  75. package/styles/ui-section.css +1 -1
  76. package/styles/ui-select.css +1 -1
  77. package/styles/ui-separator.css +1 -1
  78. package/styles/ui-sidebar.css +2 -2
  79. package/styles/ui-spinner.css +1 -1
  80. package/styles/ui-stack.css +1 -1
  81. package/styles/ui-status-message.css +1 -1
  82. package/styles/ui-swatch.css +1 -1
  83. package/styles/ui-switch.css +1 -1
  84. package/styles/ui-switcher.css +1 -1
  85. package/styles/ui-table.css +1 -1
  86. package/styles/ui-tabs.css +1 -1
  87. package/styles/ui-text.css +1 -1
  88. package/styles/ui-textarea.css +1 -1
  89. package/styles/ui-toast-region.css +1 -1
  90. package/styles/ui-toast.css +1 -1
  91. package/styles/ui-tooltip.css +1 -1
  92. package/styles/ui-top-bar.css +1 -1
  93. package/styles/ui-tree-item.css +1 -1
  94. package/styles/ui-tree.css +1 -1
  95. package/vanilla/UiActionBar.d.ts +1 -1
  96. package/vanilla/UiActionBar.js +1 -1
  97. package/vanilla/UiAffordanceScope.d.ts +1 -1
  98. package/vanilla/UiAffordanceScope.js +2 -2
  99. package/vanilla/UiAvatar.d.ts +1 -1
  100. package/vanilla/UiAvatar.js +2 -2
  101. package/vanilla/UiAvatarGroup.d.ts +1 -1
  102. package/vanilla/UiAvatarGroup.js +2 -2
  103. package/vanilla/UiBadge.d.ts +1 -1
  104. package/vanilla/UiBadge.js +2 -2
  105. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  106. package/vanilla/UiBreadcrumbItem.js +2 -2
  107. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  108. package/vanilla/UiBreadcrumbs.js +2 -2
  109. package/vanilla/UiButton.d.ts +1 -1
  110. package/vanilla/UiButton.js +3 -3
  111. package/vanilla/UiCallout.d.ts +1 -1
  112. package/vanilla/UiCallout.js +2 -2
  113. package/vanilla/UiCard.d.ts +1 -1
  114. package/vanilla/UiCard.js +3 -3
  115. package/vanilla/UiCheckbox.d.ts +1 -1
  116. package/vanilla/UiCheckbox.js +2 -2
  117. package/vanilla/UiCluster.d.ts +1 -1
  118. package/vanilla/UiCluster.js +2 -2
  119. package/vanilla/UiCombobox.d.ts +1 -1
  120. package/vanilla/UiCombobox.js +2 -2
  121. package/vanilla/UiContainer.d.ts +1 -1
  122. package/vanilla/UiContainer.js +2 -2
  123. package/vanilla/UiContextMenu.d.ts +1 -1
  124. package/vanilla/UiContextMenu.js +2 -2
  125. package/vanilla/UiCover.d.ts +1 -1
  126. package/vanilla/UiCover.js +2 -2
  127. package/vanilla/UiDescriptionItem.d.ts +1 -1
  128. package/vanilla/UiDescriptionItem.js +2 -2
  129. package/vanilla/UiDescriptionList.d.ts +1 -1
  130. package/vanilla/UiDescriptionList.js +2 -2
  131. package/vanilla/UiDialog.d.ts +1 -1
  132. package/vanilla/UiDialog.js +2 -2
  133. package/vanilla/UiDisclosure.d.ts +1 -1
  134. package/vanilla/UiDisclosure.js +2 -2
  135. package/vanilla/UiEditable.d.ts +1 -1
  136. package/vanilla/UiEditable.js +2 -2
  137. package/vanilla/UiEditorBlockActions.d.ts +1 -1
  138. package/vanilla/UiEditorBlockActions.js +2 -2
  139. package/vanilla/UiEditorChipEditor.d.ts +1 -1
  140. package/vanilla/UiEditorChipEditor.js +2 -2
  141. package/vanilla/UiEditorCodeLanguage.d.ts +1 -1
  142. package/vanilla/UiEditorCodeLanguage.js +2 -2
  143. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  144. package/vanilla/UiEditorImageToolbar.js +2 -2
  145. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  146. package/vanilla/UiEditorInsertTableGrid.js +2 -2
  147. package/vanilla/UiEditorLinkCard.d.ts +1 -1
  148. package/vanilla/UiEditorLinkCard.js +2 -2
  149. package/vanilla/UiEditorLinkForm.d.ts +1 -1
  150. package/vanilla/UiEditorLinkForm.js +2 -2
  151. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  152. package/vanilla/UiEditorMentionMenu.js +2 -2
  153. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  154. package/vanilla/UiEditorMentionMenuItem.js +3 -3
  155. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  156. package/vanilla/UiEditorSlashMenu.js +2 -2
  157. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  158. package/vanilla/UiEditorSlashMenuGroup.js +2 -2
  159. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  160. package/vanilla/UiEditorSlashMenuItem.js +3 -3
  161. package/vanilla/UiEditorSurface.d.ts +1 -1
  162. package/vanilla/UiEditorSurface.js +2 -2
  163. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  164. package/vanilla/UiEditorTableContextMenu.js +2 -2
  165. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  166. package/vanilla/UiEditorTableOverlay.js +2 -2
  167. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  168. package/vanilla/UiEditorTableToolbar.js +2 -2
  169. package/vanilla/UiEditorToolbar.d.ts +1 -1
  170. package/vanilla/UiEditorToolbar.js +2 -2
  171. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  172. package/vanilla/UiFloatingActionButton.js +2 -2
  173. package/vanilla/UiFormField.d.ts +1 -1
  174. package/vanilla/UiFormField.js +2 -2
  175. package/vanilla/UiGrid.d.ts +1 -1
  176. package/vanilla/UiGrid.js +2 -2
  177. package/vanilla/UiIcon.d.ts +1 -1
  178. package/vanilla/UiIcon.js +2 -2
  179. package/vanilla/UiIconButton.d.ts +1 -1
  180. package/vanilla/UiIconButton.js +3 -3
  181. package/vanilla/UiImage.d.ts +1 -1
  182. package/vanilla/UiImage.js +2 -2
  183. package/vanilla/UiInput.d.ts +1 -1
  184. package/vanilla/UiInput.js +2 -2
  185. package/vanilla/UiInputGroup.d.ts +1 -1
  186. package/vanilla/UiInputGroup.js +2 -2
  187. package/vanilla/UiList.d.ts +1 -1
  188. package/vanilla/UiList.js +3 -3
  189. package/vanilla/UiListItem.d.ts +1 -1
  190. package/vanilla/UiListItem.js +2 -2
  191. package/vanilla/UiListbox.d.ts +1 -1
  192. package/vanilla/UiListbox.js +2 -2
  193. package/vanilla/UiMenu.d.ts +1 -1
  194. package/vanilla/UiMenu.js +2 -2
  195. package/vanilla/UiMenuGroup.d.ts +1 -1
  196. package/vanilla/UiMenuGroup.js +2 -2
  197. package/vanilla/UiMenuItem.d.ts +1 -1
  198. package/vanilla/UiMenuItem.js +4 -4
  199. package/vanilla/UiMeter.d.ts +1 -1
  200. package/vanilla/UiMeter.js +2 -2
  201. package/vanilla/UiNavItem.d.ts +1 -1
  202. package/vanilla/UiNavItem.js +3 -3
  203. package/vanilla/UiPageHeader.d.ts +1 -1
  204. package/vanilla/UiPageHeader.js +2 -2
  205. package/vanilla/UiPopover.d.ts +1 -1
  206. package/vanilla/UiPopover.js +2 -2
  207. package/vanilla/UiRadio.d.ts +1 -1
  208. package/vanilla/UiRadio.js +2 -2
  209. package/vanilla/UiRadioGroup.d.ts +1 -1
  210. package/vanilla/UiRadioGroup.js +2 -2
  211. package/vanilla/UiReel.d.ts +1 -1
  212. package/vanilla/UiReel.js +2 -2
  213. package/vanilla/UiScrollArea.d.ts +1 -1
  214. package/vanilla/UiScrollArea.js +2 -2
  215. package/vanilla/UiSearchResultRow.d.ts +1 -1
  216. package/vanilla/UiSearchResultRow.js +2 -2
  217. package/vanilla/UiSearchShell.d.ts +1 -1
  218. package/vanilla/UiSearchShell.js +2 -2
  219. package/vanilla/UiSection.d.ts +1 -1
  220. package/vanilla/UiSection.js +2 -2
  221. package/vanilla/UiSelect.d.ts +1 -1
  222. package/vanilla/UiSelect.js +2 -2
  223. package/vanilla/UiSeparator.d.ts +1 -1
  224. package/vanilla/UiSeparator.js +2 -2
  225. package/vanilla/UiSidebar.d.ts +1 -1
  226. package/vanilla/UiSidebar.js +2 -2
  227. package/vanilla/UiSpinner.d.ts +1 -1
  228. package/vanilla/UiSpinner.js +2 -2
  229. package/vanilla/UiStack.d.ts +1 -1
  230. package/vanilla/UiStack.js +2 -2
  231. package/vanilla/UiStatusMessage.d.ts +1 -1
  232. package/vanilla/UiStatusMessage.js +2 -2
  233. package/vanilla/UiSwatch.d.ts +1 -1
  234. package/vanilla/UiSwatch.js +2 -2
  235. package/vanilla/UiSwitch.d.ts +1 -1
  236. package/vanilla/UiSwitch.js +2 -2
  237. package/vanilla/UiSwitcher.d.ts +1 -1
  238. package/vanilla/UiSwitcher.js +2 -2
  239. package/vanilla/UiTable.d.ts +1 -1
  240. package/vanilla/UiTable.js +2 -2
  241. package/vanilla/UiTabs.d.ts +1 -1
  242. package/vanilla/UiTabs.js +2 -2
  243. package/vanilla/UiText.d.ts +1 -1
  244. package/vanilla/UiText.js +3 -3
  245. package/vanilla/UiTextarea.d.ts +1 -1
  246. package/vanilla/UiTextarea.js +2 -2
  247. package/vanilla/UiToast.d.ts +1 -1
  248. package/vanilla/UiToast.js +2 -2
  249. package/vanilla/UiToastRegion.d.ts +1 -1
  250. package/vanilla/UiToastRegion.js +2 -2
  251. package/vanilla/UiTooltip.d.ts +1 -1
  252. package/vanilla/UiTooltip.js +2 -2
  253. package/vanilla/UiTopBar.d.ts +1 -1
  254. package/vanilla/UiTopBar.js +1 -1
  255. package/vanilla/UiTree.d.ts +1 -1
  256. package/vanilla/UiTree.js +2 -2
  257. package/vanilla/UiTreeItem.d.ts +1 -1
  258. package/vanilla/UiTreeItem.js +3 -3
  259. package/vue/UiActionBar.vue +23 -15
  260. package/vue/UiAffordanceScope.vue +11 -9
  261. package/vue/UiAvatar.vue +34 -27
  262. package/vue/UiAvatarGroup.vue +22 -17
  263. package/vue/UiBadge.vue +78 -69
  264. package/vue/UiBreadcrumbItem.vue +17 -14
  265. package/vue/UiBreadcrumbs.vue +9 -7
  266. package/vue/UiButton.vue +150 -138
  267. package/vue/UiCallout.vue +68 -43
  268. package/vue/UiCard.vue +52 -44
  269. package/vue/UiCheckbox.vue +48 -40
  270. package/vue/UiCluster.vue +35 -33
  271. package/vue/UiCombobox.vue +158 -107
  272. package/vue/UiContainer.vue +16 -14
  273. package/vue/UiContextMenu.vue +24 -13
  274. package/vue/UiCover.vue +10 -8
  275. package/vue/UiDescriptionItem.vue +11 -9
  276. package/vue/UiDescriptionList.vue +20 -18
  277. package/vue/UiDialog.vue +41 -37
  278. package/vue/UiDisclosure.vue +65 -51
  279. package/vue/UiEditable.vue +34 -33
  280. package/vue/UiEditorBlockActions.vue +4 -3
  281. package/vue/UiEditorChipEditor.vue +4 -3
  282. package/vue/UiEditorCodeLanguage.vue +5 -4
  283. package/vue/UiEditorImageToolbar.vue +5 -4
  284. package/vue/UiEditorInsertTableGrid.vue +19 -18
  285. package/vue/UiEditorLinkCard.vue +7 -6
  286. package/vue/UiEditorLinkForm.vue +15 -14
  287. package/vue/UiEditorMentionMenu.vue +52 -37
  288. package/vue/UiEditorMentionMenuItem.vue +30 -20
  289. package/vue/UiEditorSlashMenu.vue +49 -36
  290. package/vue/UiEditorSlashMenuGroup.vue +16 -10
  291. package/vue/UiEditorSlashMenuItem.vue +36 -26
  292. package/vue/UiEditorSurface.vue +8 -6
  293. package/vue/UiEditorTableContextMenu.vue +26 -25
  294. package/vue/UiEditorTableOverlay.vue +56 -51
  295. package/vue/UiEditorTableToolbar.vue +37 -36
  296. package/vue/UiEditorToolbar.vue +24 -20
  297. package/vue/UiFloatingActionButton.vue +17 -15
  298. package/vue/UiFormField.vue +27 -22
  299. package/vue/UiGrid.vue +17 -15
  300. package/vue/UiIcon.vue +7 -6
  301. package/vue/UiIconButton.vue +75 -70
  302. package/vue/UiImage.vue +61 -46
  303. package/vue/UiInput.vue +28 -28
  304. package/vue/UiInputGroup.vue +48 -43
  305. package/vue/UiList.vue +25 -21
  306. package/vue/UiListItem.vue +54 -44
  307. package/vue/UiListbox.vue +29 -22
  308. package/vue/UiMenu.vue +25 -23
  309. package/vue/UiMenuGroup.vue +11 -7
  310. package/vue/UiMenuItem.vue +52 -43
  311. package/vue/UiMeter.vue +42 -41
  312. package/vue/UiNavItem.vue +60 -47
  313. package/vue/UiPageHeader.vue +27 -20
  314. package/vue/UiPopover.vue +21 -19
  315. package/vue/UiRadio.vue +32 -28
  316. package/vue/UiRadioGroup.vue +24 -19
  317. package/vue/UiReel.vue +24 -22
  318. package/vue/UiScrollArea.vue +30 -24
  319. package/vue/UiSearchResultRow.vue +41 -26
  320. package/vue/UiSearchShell.vue +37 -29
  321. package/vue/UiSection.vue +31 -24
  322. package/vue/UiSelect.vue +23 -21
  323. package/vue/UiSeparator.vue +14 -13
  324. package/vue/UiSidebar.vue +48 -40
  325. package/vue/UiSpinner.vue +14 -13
  326. package/vue/UiStack.vue +26 -24
  327. package/vue/UiStatusMessage.vue +26 -21
  328. package/vue/UiSwatch.vue +13 -12
  329. package/vue/UiSwitch.vue +37 -33
  330. package/vue/UiSwitcher.vue +27 -22
  331. package/vue/UiTable.vue +23 -19
  332. package/vue/UiTabs.vue +48 -33
  333. package/vue/UiText.vue +173 -151
  334. package/vue/UiTextarea.vue +27 -27
  335. package/vue/UiToast.vue +17 -15
  336. package/vue/UiToastRegion.vue +36 -31
  337. package/vue/UiTooltip.vue +40 -34
  338. package/vue/UiTopBar.vue +17 -13
  339. package/vue/UiTree.vue +17 -15
  340. package/vue/UiTreeItem.vue +202 -133
  341. package/vue/chunks/UiActionBar.js +21 -6
  342. package/vue/chunks/UiAffordanceScope.js +8 -6
  343. package/vue/chunks/UiAvatar.js +30 -20
  344. package/vue/chunks/UiAvatarGroup.js +16 -13
  345. package/vue/chunks/UiBadge.js +19 -13
  346. package/vue/chunks/UiBreadcrumbItem.js +13 -7
  347. package/vue/chunks/UiBreadcrumbs.js +9 -4
  348. package/vue/chunks/UiButton.js +158 -124
  349. package/vue/chunks/UiCallout.js +105 -37
  350. package/vue/chunks/UiCard.js +50 -42
  351. package/vue/chunks/UiCheckbox.js +32 -22
  352. package/vue/chunks/UiCluster.js +18 -16
  353. package/vue/chunks/UiCombobox.js +130 -73
  354. package/vue/chunks/UiContainer.js +10 -8
  355. package/vue/chunks/UiContextMenu.js +7 -4
  356. package/vue/chunks/UiCover.js +7 -5
  357. package/vue/chunks/UiDescriptionItem.js +9 -3
  358. package/vue/chunks/UiDescriptionList.js +10 -8
  359. package/vue/chunks/UiDialog.js +26 -19
  360. package/vue/chunks/UiDisclosure.js +43 -25
  361. package/vue/chunks/UiEditable.js +25 -24
  362. package/vue/chunks/UiEditorBlockActions.js +4 -3
  363. package/vue/chunks/UiEditorChipEditor.js +4 -3
  364. package/vue/chunks/UiEditorCodeLanguage.js +5 -4
  365. package/vue/chunks/UiEditorImageToolbar.js +7 -6
  366. package/vue/chunks/UiEditorInsertTableGrid.js +10 -9
  367. package/vue/chunks/UiEditorLinkCard.js +11 -10
  368. package/vue/chunks/UiEditorLinkForm.js +26 -25
  369. package/vue/chunks/UiEditorMentionMenu.js +41 -24
  370. package/vue/chunks/UiEditorMentionMenuItem.js +23 -11
  371. package/vue/chunks/UiEditorSlashMenu.js +41 -20
  372. package/vue/chunks/UiEditorSlashMenuGroup.js +16 -5
  373. package/vue/chunks/UiEditorSlashMenuItem.js +28 -14
  374. package/vue/chunks/UiEditorSurface.js +6 -4
  375. package/vue/chunks/UiEditorTableContextMenu.js +14 -13
  376. package/vue/chunks/UiEditorTableOverlay.js +6 -5
  377. package/vue/chunks/UiEditorTableToolbar.js +14 -13
  378. package/vue/chunks/UiEditorToolbar.js +8 -5
  379. package/vue/chunks/UiFloatingActionButton.js +11 -9
  380. package/vue/chunks/UiFormField.js +30 -16
  381. package/vue/chunks/UiGrid.js +10 -8
  382. package/vue/chunks/UiIcon.js +6 -3
  383. package/vue/chunks/UiIconButton.js +33 -26
  384. package/vue/chunks/UiImage.js +31 -22
  385. package/vue/chunks/UiInput.js +17 -16
  386. package/vue/chunks/UiInputGroup.js +30 -16
  387. package/vue/chunks/UiList.js +24 -20
  388. package/vue/chunks/UiListItem.js +39 -22
  389. package/vue/chunks/UiListbox.js +35 -25
  390. package/vue/chunks/UiMenu.js +22 -17
  391. package/vue/chunks/UiMenuGroup.js +7 -4
  392. package/vue/chunks/UiMenuItem.js +57 -38
  393. package/vue/chunks/UiMeter.js +22 -21
  394. package/vue/chunks/UiNavItem.js +78 -42
  395. package/vue/chunks/UiPageHeader.js +30 -10
  396. package/vue/chunks/UiPopover.js +16 -11
  397. package/vue/chunks/UiRadio.js +26 -16
  398. package/vue/chunks/UiRadioGroup.js +24 -19
  399. package/vue/chunks/UiReel.js +11 -9
  400. package/vue/chunks/UiScrollArea.js +16 -13
  401. package/vue/chunks/UiSearchResultRow.js +39 -19
  402. package/vue/chunks/UiSearchShell.js +36 -18
  403. package/vue/chunks/UiSection.js +31 -13
  404. package/vue/chunks/UiSelect.js +14 -12
  405. package/vue/chunks/UiSeparator.js +11 -10
  406. package/vue/chunks/UiSidebar.js +33 -23
  407. package/vue/chunks/UiSpinner.js +7 -6
  408. package/vue/chunks/UiStack.js +14 -12
  409. package/vue/chunks/UiStatusMessage.js +23 -11
  410. package/vue/chunks/UiSwatch.js +5 -4
  411. package/vue/chunks/UiSwitch.js +26 -16
  412. package/vue/chunks/UiSwitcher.js +13 -11
  413. package/vue/chunks/UiTable.js +9 -7
  414. package/vue/chunks/UiTabs.js +23 -18
  415. package/vue/chunks/UiText.js +277 -255
  416. package/vue/chunks/UiTextarea.js +21 -20
  417. package/vue/chunks/UiToast.js +13 -7
  418. package/vue/chunks/UiToastRegion.js +15 -8
  419. package/vue/chunks/UiTooltip.js +27 -19
  420. package/vue/chunks/UiTopBar.js +21 -6
  421. package/vue/chunks/UiTree.js +18 -16
  422. package/vue/chunks/UiTreeItem.js +82 -45
  423. package/vue/chunks/_plugin-vue_export-helper.js +17 -4
  424. package/vue/components.css +1507 -1479
  425. package/vue/host.ts +26 -6
package/vue/UiSwatch.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'
@@ -62,7 +62,7 @@ const toneName = cycleCheckedComputed(() =>
62
62
  )
63
63
  checkHydratedRoot('input', 'ui-swatch')
64
64
 
65
- /** The values the styles' :host-state() rules test. */
65
+ /** The values the styles' :host() prop and state rules test. */
66
66
  const hostState = computed(() =>
67
67
  [
68
68
  checkedProps.value.tone && 'tone',
@@ -76,10 +76,11 @@ const hostState = computed(() =>
76
76
  class="ui-swatch"
77
77
  type="radio"
78
78
  v-bind="nativeAttrs($attrs)"
79
+ data-hn
79
80
  :value.attr="checkedProps.tone ?? undefined"
80
81
  :aria-label="typeof toneName === 'boolean' ? String(toneName) : attribute(toneName)"
81
82
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
82
- :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
83
+ :data-ui-swatch-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
83
84
  :data-ui-swatch-state="hostState || undefined"
84
85
  >
85
86
  </template>
@@ -96,8 +97,8 @@ const hostState = computed(() =>
96
97
  /* The chosen swatch and the focused one share one ring at the focus width (2px by default), in
97
98
  the tone or the focus colour. */
98
99
 
99
- @scope (.ui-swatch) {
100
- :scope:where(:scope) {
100
+ @scope (.ui-swatch) to ([data-hn]) {
101
+ :global(:scope) {
101
102
  --_surface: var(--ui-surface-subtle);
102
103
  --_text: var(--ui-text-secondary);
103
104
 
@@ -113,36 +114,36 @@ const hostState = computed(() =>
113
114
  cursor: pointer;
114
115
  }
115
116
 
116
- :scope:where(:scope):is([data-ui-swatch-state~="tone=blue"]) {
117
+ :global(:scope[data-ui-swatch-state~="tone=blue"]) {
117
118
  --_surface: var(--ui-info-soft);
118
119
  --_text: var(--ui-info-subtle-text);
119
120
  }
120
121
 
121
- :scope:where(:scope):is([data-ui-swatch-state~="tone=green"]) {
122
+ :global(:scope[data-ui-swatch-state~="tone=green"]) {
122
123
  --_surface: var(--ui-success-soft);
123
124
  --_text: var(--ui-success-subtle-text);
124
125
  }
125
126
 
126
- :scope:where(:scope):is([data-ui-swatch-state~="tone=yellow"]) {
127
+ :global(:scope[data-ui-swatch-state~="tone=yellow"]) {
127
128
  --_surface: var(--ui-warning-soft);
128
129
  --_text: var(--ui-warning-subtle-text);
129
130
  }
130
131
 
131
- :scope:where(:scope):is([data-ui-swatch-state~="tone=red"]) {
132
+ :global(:scope[data-ui-swatch-state~="tone=red"]) {
132
133
  --_surface: var(--ui-danger-soft);
133
134
  --_text: var(--ui-danger-subtle-text);
134
135
  }
135
136
 
136
- :scope:where(:scope):is([data-ui-swatch-state~="tone=purple"]) {
137
+ :global(:scope[data-ui-swatch-state~="tone=purple"]) {
137
138
  --_surface: var(--ui-accent-soft);
138
139
  --_text: var(--ui-accent-subtle-text);
139
140
  }
140
- :scope:where(:scope):is(:checked) {
141
+ :global(:scope:checked) {
141
142
  outline: var(--ui-focus-width) solid var(--_text);
142
143
  outline-offset: var(--ui-focus-width);
143
144
  }
144
145
 
145
- :scope:where(:scope):is(:focus-visible) {
146
+ :global(:scope:focus-visible) {
146
147
  outline: var(--ui-focus-width) solid var(--ui-focus-ring, var(--ui-accent-solid));
147
148
  outline-offset: var(--ui-focus-width);
148
149
  }
package/vue/UiSwitch.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'
@@ -154,7 +154,7 @@ const internalChecked = ref(false)
154
154
  provide('html-next:ui-switch:internalChecked', internalChecked)
155
155
  checkHydratedRoot('label', 'ui-switch')
156
156
 
157
- /** The values the styles' :host-state() rules test. */
157
+ /** The values the styles' :host() prop and state rules test. */
158
158
  const hostState = computed(() =>
159
159
  [
160
160
  checkedProps.value.disabled && 'disabled',
@@ -212,18 +212,21 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
212
212
  <label
213
213
  class="ui-switch"
214
214
  v-bind="nativeAttrs($attrs)"
215
+ data-hn
216
+ data-hn-ui-switch
215
217
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
216
- :data-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
217
- :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
218
- :data-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
219
- :data-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
220
- :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
221
- :data-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
218
+ :data-ui-switch-prop-checked="reflectedProp('checked', 'checked', checkedProps.checked, undefined, false)"
219
+ :data-ui-switch-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
220
+ :data-ui-switch-prop-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
221
+ :data-ui-switch-prop-required="reflectedProp('required', 'required', checkedProps.required, undefined, false)"
222
+ :data-ui-switch-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
223
+ :data-ui-switch-prop-value="reflectedProp('value', 'value', checkedProps.value, undefined, false)"
222
224
  :data-ui-switch-state="hostState || undefined"
223
225
  ref="root"
224
226
  ><input
225
227
  type="checkbox"
226
228
  role="switch"
229
+ data-hn-ui-switch
227
230
  v-bind-control="{
228
231
  tag: 'input',
229
232
  name: 'checked',
@@ -237,8 +240,8 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
237
240
  :value.attr="checkedProps.value ?? undefined"
238
241
  ref="inputElement"
239
242
  >
240
- <span class="text"><span class="label"><slot /></span>
241
- <span class="description" aria-hidden="true" ref="descriptionElement"><slot
243
+ <span class="text" data-hn-ui-switch><span class="label" data-hn-ui-switch><slot /></span>
244
+ <span class="description" aria-hidden="true" data-hn-ui-switch ref="descriptionElement"><slot
242
245
  name="description"
243
246
  /></span></span></label>
244
247
  </template>
@@ -268,8 +271,8 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
268
271
 
269
272
  /* A component that sets its display still honours the hidden attribute on its root. */
270
273
 
271
- @scope (.ui-switch) {
272
- :scope:where(:scope) {
274
+ @scope (.ui-switch) to ([data-hn]) {
275
+ :global(:scope:where([data-hn-ui-switch])) {
273
276
  /* Hooks do not inherit, so the parts below read them from the root. */
274
277
  --_ui-switch-track-width: var(--ui-switch-track-width);
275
278
  --_ui-switch-track-height: var(--ui-switch-track-height);
@@ -281,29 +284,29 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
281
284
  color: var(--ui-text-primary);
282
285
  cursor: pointer;
283
286
  }
284
- .text {
287
+ :global(.text:where([data-hn-ui-switch])) {
285
288
  display: flex;
286
289
  flex-direction: column;
287
290
  gap: var(--ui-space-1);
288
291
  min-inline-size: 0;
289
292
  }
290
293
 
291
- .label {
294
+ :global(.label:where([data-hn-ui-switch])) {
292
295
  min-inline-size: 0;
293
296
  line-height: var(--ui-line-height-md);
294
297
  }
295
298
 
296
- .description {
299
+ :global(.description:where([data-hn-ui-switch])) {
297
300
  color: var(--ui-text-secondary);
298
301
  font-size: var(--ui-font-size-sm);
299
302
  line-height: var(--ui-line-height);
300
303
  }
301
304
 
302
- .description:empty {
305
+ :global(.description:empty:where([data-hn-ui-switch])) {
303
306
  display: none;
304
307
  }
305
308
 
306
- input {
309
+ :global(input:where([data-hn-ui-switch])) {
307
310
  appearance: none;
308
311
  -webkit-appearance: none;
309
312
  position: relative;
@@ -322,7 +325,7 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
322
325
  margin: 0;
323
326
  }
324
327
 
325
- input::after {
328
+ :global(input:where([data-hn-ui-switch])::after) {
326
329
  content: "";
327
330
  position: absolute;
328
331
  top: 3px;
@@ -337,71 +340,72 @@ useComponentHost(() => import('../components/ui-switch/ui-switch.js'), {
337
340
  background-color var(--ui-motion-base) var(--ui-motion-ease);
338
341
  }
339
342
 
340
- input:checked {
343
+ :global(input:checked:where([data-hn-ui-switch])) {
341
344
  background-color: var(--ui-accent-solid);
342
345
  border-color: var(--ui-accent-solid);
343
346
  }
344
347
 
345
- input:checked::after {
348
+ :global(input:checked:where([data-hn-ui-switch])::after) {
346
349
  transform: translateX(1rem);
347
350
  background: var(--ui-text-on-accent);
348
351
  }
349
352
 
350
- input:focus-visible {
353
+ :global(input:focus-visible:where([data-hn-ui-switch])) {
351
354
  outline: var(--ui-focus-width) solid var(--ui-focus-ring, var(--ui-accent-solid));
352
355
  outline-offset: var(--ui-focus-width);
353
356
  }
354
357
 
355
- :scope:where(:scope):is([data-ui-switch-state~="disabled"]) {
358
+ :global(:scope[data-ui-switch-state~="disabled"]:where([data-hn-ui-switch])) {
356
359
  color: var(--ui-disabled-text);
357
360
  cursor: not-allowed;
358
361
  }
359
- :scope[data-ui-switch-state~="disabled"] .description {
362
+ :global(:scope[data-ui-switch-state~="disabled"] .description:where([data-hn-ui-switch])) {
360
363
  color: var(--ui-disabled-text);
361
364
  }
362
- :scope[data-ui-switch-state~="disabled"] input {
365
+ :global(:scope[data-ui-switch-state~="disabled"] input:where([data-hn-ui-switch])) {
363
366
  border-color: var(--ui-disabled-border);
364
367
  background-color: var(--ui-disabled-surface);
365
368
  box-shadow: none;
366
369
  cursor: not-allowed;
367
370
  }
368
371
 
369
- :scope[data-ui-switch-state~="disabled"] input::after {
372
+ :global(:scope[data-ui-switch-state~="disabled"] input:where([data-hn-ui-switch])::after) {
370
373
  background-color: var(--ui-disabled-text);
371
374
  box-shadow: none;
372
375
  }
373
376
 
374
377
  @media (prefers-reduced-motion: reduce) {
375
- input, input::after {
378
+ :global(input:where([data-hn-ui-switch])), :global(input:where([data-hn-ui-switch])::after) {
376
379
  transition: none;
377
380
  }
378
381
  }
379
- :scope:where(:scope):is([data-ui-switch-state~="size=sm"]) {
382
+ :global(:scope[data-ui-switch-state~="size=sm"]:where([data-hn-ui-switch])) {
380
383
  --_font: var(--ui-font-size-sm);
381
384
  --_row: var(--ui-control-size-sm);
382
385
  }
383
386
 
384
- :scope:where(:scope):is([data-ui-switch-state~="size=lg"]) {
387
+ :global(:scope[data-ui-switch-state~="size=lg"]:where([data-hn-ui-switch])) {
385
388
  --_font: var(--ui-font-size-md);
386
389
  --_row: var(--ui-control-size-lg);
387
390
  }
388
391
 
389
- :scope:where(:scope):is([data-ui-switch-state~="size=sm"]),
390
- :scope:where(:scope):is([data-ui-switch-state~="size=lg"]) {
392
+ :global(:scope[data-ui-switch-state~="size=sm"]:where([data-hn-ui-switch])),
393
+ :global(:scope[data-ui-switch-state~="size=lg"]:where([data-hn-ui-switch])) {
391
394
  --_line: calc(var(--_font) * var(--ui-line-height-md));
392
395
  font-size: var(--_font);
393
396
  padding-block: calc((var(--_row) - var(--ui-switch-track-height, 1.5rem)) / 2);
394
397
  }
395
- :scope[data-ui-switch-state~="size=sm"] .text, :scope[data-ui-switch-state~="size=lg"] .text {
398
+ :global(:scope[data-ui-switch-state~="size=sm"] .text:where([data-hn-ui-switch])),
399
+ :global(:scope[data-ui-switch-state~="size=lg"] .text:where([data-hn-ui-switch])) {
396
400
  margin-top: calc((var(--_ui-switch-track-height, 1.5rem) - var(--_line)) / 2);
397
401
  }
398
402
 
399
403
  @media (pointer: coarse) {
400
- :scope:where(:scope):is([data-ui-switch-state~="size=sm"]) {
404
+ :global(:scope[data-ui-switch-state~="size=sm"]:where([data-hn-ui-switch])) {
401
405
  --_row: var(--ui-control-min-block-size);
402
406
  }
403
407
  }
404
- :scope:where(:scope):is([hidden]) {
408
+ :global(:scope[hidden]:where([data-hn-ui-switch])) {
405
409
  display: none;
406
410
  }
407
411
  }
@@ -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'
@@ -106,7 +106,7 @@ const overLimit = ref(false)
106
106
  provide('html-next:ui-switcher:overLimit', overLimit)
107
107
  checkHydratedRoot('div', 'ui-switcher')
108
108
 
109
- /** The values the styles' :host-state() rules test. */
109
+ /** The values the styles' :host() prop and state rules test. */
110
110
  const hostState = computed(() =>
111
111
  [
112
112
  overLimit.value && 'overLimit',
@@ -154,11 +154,13 @@ useComponentHost(() => import('../components/ui-switcher/ui-switcher.js'), {
154
154
  <div
155
155
  class="ui-switcher"
156
156
  v-bind="nativeAttrs($attrs)"
157
+ data-hn
158
+ data-hn-ui-switcher
157
159
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
158
- :data-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
159
- :data-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
160
- :data-limit="reflectedProp('limit', 'limit', checkedProps.limit, undefined, false)"
161
- :data-threshold="reflectedProp('threshold', 'threshold', checkedProps.threshold, undefined, false)"
160
+ :data-ui-switcher-prop-align="reflectedProp('align', 'align', checkedProps.align, undefined, false)"
161
+ :data-ui-switcher-prop-gap="reflectedProp('gap', 'gap', checkedProps.gap, undefined, false)"
162
+ :data-ui-switcher-prop-limit="reflectedProp('limit', 'limit', checkedProps.limit, undefined, false)"
163
+ :data-ui-switcher-prop-threshold="reflectedProp('threshold', 'threshold', checkedProps.threshold, undefined, false)"
162
164
  :data-ui-switcher-state="hostState || undefined"
163
165
  ref="root"
164
166
  >
@@ -179,8 +181,8 @@ useComponentHost(() => import('../components/ui-switcher/ui-switcher.js'), {
179
181
 
180
182
  /* A component that sets its display still honours the hidden attribute on its root. */
181
183
 
182
- @scope (.ui-switcher) {
183
- :scope:where(:scope) {
184
+ @scope (.ui-switcher) to ([data-hn]) {
185
+ :global(:scope:where([data-hn-ui-switcher])) {
184
186
  /* Hooks do not inherit, so the parts below read them from the root. */
185
187
  --_ui-switcher-threshold: var(--ui-switcher-threshold);
186
188
 
@@ -193,51 +195,54 @@ useComponentHost(() => import('../components/ui-switcher/ui-switcher.js'), {
193
195
  margin: 0;
194
196
  }
195
197
 
196
- :scope > :slotted(*) {
198
+ :global(:scope > :where(:not([data-hn-ui-switcher])):is(*)) {
197
199
  min-inline-size: 0;
198
200
  flex-grow: 1;
199
201
  /* The large multiplier makes the basis flip as a group at the intrinsic threshold. */
200
202
  flex-basis: calc((var(--_ui-switcher-threshold, 30rem) - 100%) * 999);
201
203
  }
202
204
 
203
- :scope[data-ui-switcher-state~="overLimit"] > :slotted(*) {
205
+ :global(:scope[data-ui-switcher-state~="overLimit"] > :where(:not([data-hn-ui-switcher])):is(*)) {
204
206
  flex-basis: 100%;
205
207
  }
206
208
 
207
- :scope:where(:scope):is([data-ui-switcher-state~="gap=xs"]) {
209
+ :global(:scope[data-ui-switcher-state~="gap=xs"]:where([data-hn-ui-switcher])) {
208
210
  --_switcher-gap: var(--ui-space-2);
209
211
  }
210
- :scope:where(:scope):is([data-ui-switcher-state~="gap=s"]) {
212
+ :global(:scope[data-ui-switcher-state~="gap=s"]:where([data-hn-ui-switcher])) {
211
213
  --_switcher-gap: var(--ui-space-3);
212
214
  }
213
- :scope:where(:scope):is([data-ui-switcher-state~="gap=m"]) {
215
+ :global(:scope[data-ui-switcher-state~="gap=m"]:where([data-hn-ui-switcher])) {
214
216
  --_switcher-gap: var(--ui-space-4);
215
217
  }
216
- :scope:where(:scope):is([data-ui-switcher-state~="gap=l"]) {
218
+ :global(:scope[data-ui-switcher-state~="gap=l"]:where([data-hn-ui-switcher])) {
217
219
  --_switcher-gap: var(--ui-space-5);
218
220
  }
219
- :scope:where(:scope):is([data-ui-switcher-state~="gap=xl"]) {
221
+ :global(:scope[data-ui-switcher-state~="gap=xl"]:where([data-hn-ui-switcher])) {
220
222
  --_switcher-gap: var(--ui-space-6);
221
223
  }
222
- :scope[data-ui-switcher-state~="threshold=xs"] > :slotted(*) {
224
+ :global(:scope[data-ui-switcher-state~="threshold=xs"]
225
+ > :where(:not([data-hn-ui-switcher])):is(*)) {
223
226
  flex-basis: calc((var(--_ui-switcher-threshold, 20rem) - 100%) * 999);
224
227
  }
225
- :scope[data-ui-switcher-state~="threshold=md"] > :slotted(*) {
228
+ :global(:scope[data-ui-switcher-state~="threshold=md"]
229
+ > :where(:not([data-hn-ui-switcher])):is(*)) {
226
230
  flex-basis: calc((var(--_ui-switcher-threshold, 45rem) - 100%) * 999);
227
231
  }
228
- :scope[data-ui-switcher-state~="threshold=lg"] > :slotted(*) {
232
+ :global(:scope[data-ui-switcher-state~="threshold=lg"]
233
+ > :where(:not([data-hn-ui-switcher])):is(*)) {
229
234
  flex-basis: calc((var(--_ui-switcher-threshold, 60rem) - 100%) * 999);
230
235
  }
231
- :scope:where(:scope):is([data-ui-switcher-state~="align=start"]) {
236
+ :global(:scope[data-ui-switcher-state~="align=start"]:where([data-hn-ui-switcher])) {
232
237
  align-items: flex-start;
233
238
  }
234
- :scope:where(:scope):is([data-ui-switcher-state~="align=center"]) {
239
+ :global(:scope[data-ui-switcher-state~="align=center"]:where([data-hn-ui-switcher])) {
235
240
  align-items: center;
236
241
  }
237
- :scope:where(:scope):is([data-ui-switcher-state~="align=end"]) {
242
+ :global(:scope[data-ui-switcher-state~="align=end"]:where([data-hn-ui-switcher])) {
238
243
  align-items: flex-end;
239
244
  }
240
- :scope:where(:scope):is([hidden]) {
245
+ :global(:scope[hidden]:where([data-hn-ui-switcher])) {
241
246
  display: none;
242
247
  }
243
248
  }
package/vue/UiTable.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, watchSyncEffect } from 'vue'
4
4
  import type { PropType } from 'vue'
@@ -68,7 +68,7 @@ const hydrationInstance = getCurrentInstance()
68
68
  const root = ref<HTMLElement | null>(null)
69
69
  checkHydratedRoot('div', 'ui-table')
70
70
 
71
- /** The values the styles' :host-state() rules test. */
71
+ /** The values the styles' :host() prop and state rules test. */
72
72
  const hostState = computed(() =>
73
73
  [
74
74
  checkedProps.value.density && 'density',
@@ -105,9 +105,11 @@ useComponentHost(() => import('../components/ui-table/ui-table.js'), {
105
105
  <div
106
106
  class="ui-table"
107
107
  v-bind="nativeAttrs($attrs)"
108
+ data-hn
109
+ data-hn-ui-table
108
110
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
109
- :data-density="reflectedProp('density', 'density', checkedProps.density, undefined, false)"
110
- :data-sticky-header="reflectedProp('stickyHeader', 'sticky-header', checkedProps.stickyHeader, undefined, false)"
111
+ :data-ui-table-prop-density="reflectedProp('density', 'density', checkedProps.density, undefined, false)"
112
+ :data-ui-table-prop-sticky-header="reflectedProp('stickyHeader', 'sticky-header', checkedProps.stickyHeader, undefined, false)"
111
113
  :data-ui-table-state="hostState || undefined"
112
114
  ref="root"
113
115
  >
@@ -129,8 +131,8 @@ useComponentHost(() => import('../components/ui-table/ui-table.js'), {
129
131
 
130
132
  /* A component that sets its display still honours the hidden attribute on its root. */
131
133
 
132
- @scope (.ui-table) {
133
- :scope:where(:scope) {
134
+ @scope (.ui-table) to ([data-hn]) {
135
+ :global(:scope:where([data-hn-ui-table])) {
134
136
  --_pad-block: var(--ui-space-1);
135
137
  --_pad-inline: var(--ui-space-3);
136
138
  --_row-size: var(--ui-control-size);
@@ -165,21 +167,21 @@ useComponentHost(() => import('../components/ui-table/ui-table.js'), {
165
167
  calc(100% - var(--_ui-scroll-fade-size)) 100%;
166
168
  }
167
169
 
168
- :scope:where(:scope):is(:dir(rtl)) {
170
+ :global(:scope:dir(rtl):where([data-hn-ui-table])) {
169
171
  --_ui-scroll-fade-direction: to left;
170
172
  }
171
173
 
172
- :scope:where(:scope):is(:focus-visible) {
174
+ :global(:scope:focus-visible:where([data-hn-ui-table])) {
173
175
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
174
176
  outline-offset: calc(-1 * var(--ui-focus-width));
175
177
  }
176
178
 
177
- :scope:where(:scope):is([data-ui-table-state~="density=compact"]) {
179
+ :global(:scope[data-ui-table-state~="density=compact"]:where([data-hn-ui-table])) {
178
180
  --_pad-block: var(--ui-space-0-5);
179
181
  --_pad-inline: var(--ui-space-2);
180
182
  --_row-size: var(--ui-control-size-sm);
181
183
  }
182
- :slotted(table) {
184
+ :global(:where(:not([data-hn-ui-table])):is(table)) {
183
185
  inline-size: 100%;
184
186
  border-collapse: separate;
185
187
  border-spacing: 0;
@@ -189,13 +191,14 @@ useComponentHost(() => import('../components/ui-table/ui-table.js'), {
189
191
  font-variant-numeric: tabular-nums;
190
192
  }
191
193
 
192
- :slotted(caption) {
194
+ :global(:where(:not([data-hn-ui-table])):is(caption)) {
193
195
  padding-block-end: var(--ui-space-2);
194
196
  color: var(--ui-text-secondary);
195
197
  font-weight: var(--ui-font-medium);
196
198
  text-align: start;
197
199
  }
198
- :slotted(th), :slotted(td) {
200
+ :global(:where(:not([data-hn-ui-table])):is(th)),
201
+ :global(:where(:not([data-hn-ui-table])):is(td)) {
199
202
  block-size: var(--_row-size);
200
203
  padding: var(--_pad-block) var(--_pad-inline);
201
204
  border-block-end: var(--ui-border-width) solid var(--ui-border-subtle);
@@ -203,7 +206,7 @@ useComponentHost(() => import('../components/ui-table/ui-table.js'), {
203
206
  vertical-align: middle;
204
207
  }
205
208
 
206
- :slotted(thead th) {
209
+ :global(:where(:not([data-hn-ui-table])):is(thead th)) {
207
210
  block-size: auto;
208
211
  padding-block: var(--ui-space-2);
209
212
  border-block-end-color: var(--ui-border-divider);
@@ -214,28 +217,29 @@ useComponentHost(() => import('../components/ui-table/ui-table.js'), {
214
217
  vertical-align: bottom;
215
218
  }
216
219
 
217
- :slotted(tbody th) {
220
+ :global(:where(:not([data-hn-ui-table])):is(tbody th)) {
218
221
  font-weight: var(--ui-font-medium);
219
222
  }
220
223
 
221
- :slotted(tbody tr:last-child > *) {
224
+ :global(:where(:not([data-hn-ui-table])):is(tbody tr:last-child > *)) {
222
225
  border-block-end-width: 0;
223
226
  }
224
227
 
225
- :slotted([data-ui-align="center"]) {
228
+ :global(:where(:not([data-hn-ui-table])):is([data-ui-align="center"])) {
226
229
  text-align: center;
227
230
  }
228
231
 
229
- :slotted([data-ui-align="end"]) {
232
+ :global(:where(:not([data-hn-ui-table])):is([data-ui-align="end"])) {
230
233
  text-align: end;
231
234
  }
232
235
 
233
- :scope[data-ui-table-state~="stickyHeader"] :slotted(thead th) {
236
+ :global(:scope[data-ui-table-state~="stickyHeader"]
237
+ :where(:not([data-hn-ui-table])):is(thead th)) {
234
238
  position: sticky;
235
239
  inset-block-start: 0;
236
240
  z-index: 1;
237
241
  }
238
- :scope:where(:scope):is([hidden]) {
242
+ :global(:scope[hidden]:where([data-hn-ui-table])) {
239
243
  display: none;
240
244
  }
241
245
  }