@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
package/vue/UiIcon.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'
@@ -425,8 +425,9 @@ checkHydratedRoot('span', 'ui-icon')
425
425
  class="ui-icon"
426
426
  aria-hidden="true"
427
427
  v-bind="nativeAttrs($attrs)"
428
+ data-hn
428
429
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
429
- :data-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
430
+ :data-ui-icon-prop-name="reflectedProp('name', 'name', checkedProps.name, undefined, false)"
430
431
  ><svg
431
432
  viewBox="0 0 24 24"
432
433
  fill="none"
@@ -480,8 +481,8 @@ checkHydratedRoot('span', 'ui-icon')
480
481
 
481
482
  /* A component that sets its display still honours the hidden attribute on its root. */
482
483
 
483
- @scope (.ui-icon) {
484
- :scope:where(:scope) {
484
+ @scope (.ui-icon) to ([data-hn]) {
485
+ :global(:scope) {
485
486
  /* Hooks do not inherit, so the svg reads the stroke from the root. A Looma component that
486
487
  sizes the icons it renders sets --_ui-default-icon-*, which the icon's own hooks override. */
487
488
  --_ui-icon-stroke-width: var(--ui-icon-stroke-width, var(--_ui-default-icon-stroke-width));
@@ -492,12 +493,12 @@ checkHydratedRoot('span', 'ui-icon')
492
493
  block-size: var(--ui-icon-size, var(--_ui-default-icon-size, 1em));
493
494
  }
494
495
 
495
- svg {
496
+ :global(svg) {
496
497
  inline-size: 100%;
497
498
  block-size: 100%;
498
499
  stroke-width: var(--_ui-icon-stroke-width, 2);
499
500
  }
500
- :scope:where(:scope):is([hidden]) {
501
+ :global(:scope[hidden]) {
501
502
  display: none;
502
503
  }
503
504
  }
@@ -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'
@@ -263,7 +263,7 @@ const guarded = computed(() => {
263
263
  })
264
264
  checkHydratedRoot('button', 'ui-icon-button')
265
265
 
266
- /** The values the styles' :host-state() rules test. */
266
+ /** The values the styles' :host() prop and state rules test. */
267
267
  const hostState = computed(() =>
268
268
  [
269
269
  checkedProps.value.tone && 'tone',
@@ -323,27 +323,30 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
323
323
  class="ui-icon-button"
324
324
  type="button"
325
325
  v-bind="nativeAttrs($attrs)"
326
+ data-hn
327
+ data-hn-ui-icon-button
326
328
  :disabled="checkedProps.disabled ?? undefined"
327
329
  :aria-label="checkedProps.label ?? undefined"
330
+ :data-match-button="checkedProps.matchButton ? '' : undefined"
328
331
  :aria-disabled="guarded"
329
332
  :aria-busy="checkedProps.loading || checkedProps.pending"
330
333
  v-prop-validity="{ contract: propValidityContract, values: { ...props } }"
331
- :data-anticipatory="reflectedProp('anticipatory', 'anticipatory', checkedProps.anticipatory, undefined, false)"
332
- :data-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
333
- :data-guide="reflectedProp('guide', 'guide', checkedProps.guide, undefined, false)"
334
- :data-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
335
- :data-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
336
- :data-match-button="reflectedProp('matchButton', 'match-button', checkedProps.matchButton, undefined, true)"
337
- :data-pending="reflectedProp('pending', 'pending', checkedProps.pending, undefined, false)"
338
- :data-round="reflectedProp('round', 'round', checkedProps.round, undefined, false)"
339
- :data-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
340
- :data-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
341
- :data-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
334
+ :data-ui-icon-button-prop-anticipatory="reflectedProp('anticipatory', 'anticipatory', checkedProps.anticipatory, undefined, false)"
335
+ :data-ui-icon-button-prop-disabled="reflectedProp('disabled', 'disabled', checkedProps.disabled, undefined, false)"
336
+ :data-ui-icon-button-prop-guide="reflectedProp('guide', 'guide', checkedProps.guide, undefined, false)"
337
+ :data-ui-icon-button-prop-label="reflectedProp('label', 'label', checkedProps.label, undefined, false)"
338
+ :data-ui-icon-button-prop-loading="reflectedProp('loading', 'loading', checkedProps.loading, undefined, false)"
339
+ :data-ui-icon-button-prop-match-button="reflectedProp('matchButton', 'match-button', checkedProps.matchButton, undefined, false)"
340
+ :data-ui-icon-button-prop-pending="reflectedProp('pending', 'pending', checkedProps.pending, undefined, false)"
341
+ :data-ui-icon-button-prop-round="reflectedProp('round', 'round', checkedProps.round, undefined, false)"
342
+ :data-ui-icon-button-prop-size="reflectedProp('size', 'size', checkedProps.size, undefined, false)"
343
+ :data-ui-icon-button-prop-tone="reflectedProp('tone', 'tone', checkedProps.tone, undefined, false)"
344
+ :data-ui-icon-button-prop-variant="reflectedProp('variant', 'variant', checkedProps.variant, undefined, false)"
342
345
  :data-ui-icon-button-state="hostState || undefined"
343
346
  ref="root"
344
347
  >
345
348
  <UiSpinner v-if="checkedProps.loading || checkedProps.pending" class="ui-spinner" size="sm" />
346
- <span class="content"><slot /></span>
349
+ <span class="content" data-hn-ui-icon-button><slot /></span>
347
350
  </button>
348
351
  </template>
349
352
 
@@ -442,8 +445,8 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
442
445
 
443
446
  /* A component that sets its display still honours the hidden attribute on its root. */
444
447
 
445
- @scope (.ui-icon-button) to (.ui-spinner) {
446
- :scope:where(:scope) {
448
+ @scope (.ui-icon-button) to ([data-hn]) {
449
+ :global(:scope:where([data-hn-ui-icon-button])) {
447
450
  /* Optional inherited action-group values keep text and icon actions under the same light.
448
451
  One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
449
452
  A single ambient lift avoids stacking a face gradient or another inset bevel. */
@@ -470,11 +473,11 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
470
473
  color: var(--ui-text-secondary);
471
474
  }
472
475
 
473
- :scope:where(:scope):is(:dir(rtl)) {
476
+ :global(:scope:dir(rtl):where([data-hn-ui-icon-button])) {
474
477
  --_ui-action-start: -1px;
475
478
  }
476
479
 
477
- :scope:where(:scope):is([data-ui-icon-button-state~="tone=accent"]) {
480
+ :global(:scope[data-ui-icon-button-state~="tone=accent"]:where([data-hn-ui-icon-button])) {
478
481
  --_icon-button-border: var(--ui-accent-solid);
479
482
  --_icon-button-hover-border: var(--ui-accent-hover);
480
483
  --_icon-button-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
@@ -485,17 +488,17 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
485
488
  );
486
489
  color: var(--_icon-button-text);
487
490
  }
488
- :scope:where(:scope):is([data-ui-icon-button-state~="tone=neutral"]) {
491
+ :global(:scope[data-ui-icon-button-state~="tone=neutral"]:where([data-hn-ui-icon-button])) {
489
492
  --_icon-button-solid-surface: var(--ui-text-primary);
490
493
  --_icon-button-solid-hover-surface: var(--ui-text-primary);
491
494
  --_icon-button-solid-text: var(--ui-surface-default);
492
495
  }
493
496
 
494
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"]) {
497
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:where([data-hn-ui-icon-button])) {
495
498
  position: relative;
496
499
  }
497
500
 
498
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"])::before {
501
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:where([data-hn-ui-icon-button])::before) {
499
502
  content: "";
500
503
  position: absolute;
501
504
  inset: 50% auto auto 50%;
@@ -510,17 +513,18 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
510
513
  pointer-events: none;
511
514
  }
512
515
 
513
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"][data-ui-icon-button-state~="guide=bar"])::before {
516
+ :global(:scope[data-ui-icon-button-state~="anticipatory"][data-ui-icon-button-state~="guide=bar"]:where([data-hn-ui-icon-button])::before) {
514
517
  inline-size: 2px;
515
518
  block-size: 20px;
516
519
  background: var(--ui-border-strong);
517
520
  opacity: 1;
518
521
  }
519
522
 
520
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"]:disabled)::before {
523
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:disabled:where([data-hn-ui-icon-button])::before) {
521
524
  opacity: 0;
522
525
  }
523
- :scope[data-ui-icon-button-state~="anticipatory"] .content {
526
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]
527
+ .content:where([data-hn-ui-icon-button])) {
524
528
  opacity: 1;
525
529
  transform: scale(1);
526
530
  transition:
@@ -529,25 +533,25 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
529
533
  }
530
534
 
531
535
  @media (hover: hover) and (pointer: fine) {
532
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)) {
536
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])) {
533
537
  border-color: transparent;
534
538
  background-color: transparent;
535
539
  box-shadow: none;
536
540
  }
537
541
 
538
- :scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
539
- .content {
542
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:not(:scope[data-ui-icon-button-state~="variant=solid"], :scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
543
+ .content:where([data-hn-ui-icon-button])) {
540
544
  opacity: 0;
541
545
  transform: scale(0.65);
542
546
  transition-duration: var(--ui-motion-fast);
543
547
  }
544
548
  }
545
549
 
546
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"]:is(:scope[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible))::before {
550
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:is(:scope[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible):where([data-hn-ui-icon-button])::before) {
547
551
  opacity: 0;
548
552
  }
549
553
 
550
- :scope:where(:scope) {
554
+ :global(:scope:where([data-hn-ui-icon-button])) {
551
555
  /* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
552
556
  --_size: 2rem;
553
557
  appearance: none;
@@ -574,16 +578,16 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
574
578
  }
575
579
 
576
580
  @media (hover: none), (pointer: coarse) {
577
- :scope:where(:scope):is([data-ui-icon-button-state~="anticipatory"])::before {
581
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]:where([data-hn-ui-icon-button])::before) {
578
582
  opacity: 0;
579
583
  }
580
584
  }
581
585
  @media (pointer: coarse) {
582
- :scope:where(:scope) {
586
+ :global(:scope:where([data-hn-ui-icon-button])) {
583
587
  position: relative;
584
588
  }
585
589
 
586
- :scope:where(:scope)::after {
590
+ :global(:scope:where([data-hn-ui-icon-button])::after) {
587
591
  content: "";
588
592
  position: absolute;
589
593
  inset: 50% auto auto 50%;
@@ -593,11 +597,11 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
593
597
  }
594
598
  }
595
599
 
596
- :scope:where(:scope):is(html[data-ui-input-modality="touch"] *) {
600
+ :global(html[data-ui-input-modality="touch"] :scope:where([data-hn-ui-icon-button])) {
597
601
  position: relative;
598
602
  }
599
603
 
600
- :scope:where(:scope):is(html[data-ui-input-modality="touch"] *)::after {
604
+ :global(html[data-ui-input-modality="touch"] :scope:where([data-hn-ui-icon-button])::after) {
601
605
  content: "";
602
606
  position: absolute;
603
607
  inset: 50% auto auto 50%;
@@ -606,7 +610,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
606
610
  transform: translate(-50%, -50%);
607
611
  }
608
612
 
609
- :scope:where(:scope):is([data-ui-icon-button-state~="size=sm"]) {
613
+ :global(:scope[data-ui-icon-button-state~="size=sm"]:where([data-hn-ui-icon-button])) {
610
614
  --_size: 1.75rem;
611
615
  inline-size: var(--ui-icon-button-size, var(--_size));
612
616
  block-size: var(--ui-icon-button-size, var(--_size));
@@ -614,29 +618,29 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
614
618
  min-block-size: var(--ui-icon-button-size, var(--_size));
615
619
  }
616
620
 
617
- :scope:where(:scope):is([data-ui-icon-button-state~="size=lg"]) {
621
+ :global(:scope[data-ui-icon-button-state~="size=lg"]:where([data-hn-ui-icon-button])) {
618
622
  --_size: 2.5rem;
619
623
  inline-size: var(--ui-icon-button-size, var(--_size));
620
624
  block-size: var(--ui-icon-button-size, var(--_size));
621
625
  min-inline-size: var(--ui-icon-button-size, var(--_size));
622
626
  min-block-size: var(--ui-icon-button-size, var(--_size));
623
627
  }
624
- :scope:where(:scope):is([data-ui-icon-button-state~="matchButton"]) {
628
+ :global(:scope[data-ui-icon-button-state~="matchButton"]:where([data-hn-ui-icon-button])) {
625
629
  --_size: var(--ui-control-size-md);
626
630
  block-size: auto;
627
631
  align-self: stretch;
628
632
  }
629
633
 
630
- :scope:where(:scope):is([data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"]) {
634
+ :global(:scope[data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"]:where([data-hn-ui-icon-button])) {
631
635
  --_size: var(--ui-control-size-sm);
632
636
  }
633
637
 
634
- :scope:where(:scope):is([data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"]) {
638
+ :global(:scope[data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"]:where([data-hn-ui-icon-button])) {
635
639
  --_size: var(--ui-control-size-lg);
636
640
  }
637
641
 
638
642
  @media (pointer: coarse) {
639
- :scope:where(:scope):is([data-ui-icon-button-state~="matchButton"]) {
643
+ :global(:scope[data-ui-icon-button-state~="matchButton"]:where([data-hn-ui-icon-button])) {
640
644
  inline-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
641
645
  min-inline-size: max(
642
646
  var(--ui-icon-button-size, var(--_size)),
@@ -649,11 +653,11 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
649
653
  }
650
654
  }
651
655
 
652
- :scope:where(:scope):is([data-ui-icon-button-state~="round"]) {
656
+ :global(:scope[data-ui-icon-button-state~="round"]:where([data-hn-ui-icon-button])) {
653
657
  border-radius: var(--ui-radius-round);
654
658
  }
655
659
 
656
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"]) {
660
+ :global(:scope[data-ui-icon-button-state~="variant=outline"]:where([data-hn-ui-icon-button])) {
657
661
  border-color: var(
658
662
  --ui-icon-button-border,
659
663
  var(--_icon-button-border, var(--ui-control-border, var(--ui-border-strong)))
@@ -667,7 +671,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
667
671
  box-shadow: var(--ui-action-shadow, var(--_ui-action-shadow));
668
672
  }
669
673
 
670
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=solid"]) {
674
+ :global(:scope[data-ui-icon-button-state~="variant=solid"]:where([data-hn-ui-icon-button])) {
671
675
  background-color: var(
672
676
  --ui-icon-button-solid-surface,
673
677
  var(--_icon-button-solid-surface, var(--ui-accent-solid))
@@ -683,7 +687,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
683
687
  );
684
688
  }
685
689
 
686
- :scope:where(:scope):is(:hover:enabled:not([aria-disabled="true"])) {
690
+ :global(:scope:hover:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
687
691
  /* Derived from the text colour so the ghost hover shows on any background. */
688
692
  background-color: var(
689
693
  --ui-icon-button-hover-surface,
@@ -692,29 +696,29 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
692
696
  color: var(--ui-icon-button-hover-text, var(--_icon-button-text, var(--ui-text-primary)));
693
697
  }
694
698
 
695
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"]:hover:enabled:not([aria-disabled="true"])) {
699
+ :global(:scope[data-ui-icon-button-state~="variant=outline"]:hover:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
696
700
  border-color: var(
697
701
  --ui-icon-button-hover-border,
698
702
  var(--_icon-button-hover-border, var(--ui-control-border-hover, var(--ui-control-border)))
699
703
  );
700
704
  }
701
705
 
702
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=solid"]:hover:enabled:not([aria-disabled="true"])) {
706
+ :global(:scope[data-ui-icon-button-state~="variant=solid"]:hover:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
703
707
  background-color: var(
704
708
  --ui-icon-button-solid-hover-surface,
705
709
  var(--_icon-button-solid-hover-surface, var(--ui-accent-hover))
706
710
  );
707
711
  }
708
712
 
709
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"]:hover:enabled:not([aria-disabled="true"])),
710
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"]:hover:enabled:not([aria-disabled="true"])) {
713
+ :global(:scope[data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"]:hover:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])),
714
+ :global(:scope[data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"]:hover:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
711
715
  color: var(
712
716
  --ui-icon-button-solid-text,
713
717
  var(--_icon-button-solid-text, var(--ui-text-on-accent))
714
718
  );
715
719
  }
716
720
 
717
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"]:enabled:not([aria-disabled="true"])) {
721
+ :global(:scope[data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"]:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
718
722
  background-color: var(
719
723
  --ui-icon-button-active-surface,
720
724
  color-mix(in srgb, currentColor 16%, transparent)
@@ -722,7 +726,7 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
722
726
  color: var(--ui-icon-button-hover-text, var(--_icon-button-text, var(--ui-text-primary)));
723
727
  box-shadow: var(--ui-pressed);
724
728
  }
725
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled) {
729
+ :global(:scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:where([data-hn-ui-icon-button])) {
726
730
  background-color: var(
727
731
  --ui-icon-button-active-surface,
728
732
  color-mix(in srgb, currentColor 12%, var(--ui-surface-default))
@@ -731,69 +735,70 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
731
735
  box-shadow: var(--ui-pressed);
732
736
  }
733
737
 
734
- :scope:where(:scope):is(:active:enabled:not([aria-disabled="true"])) {
738
+ :global(:scope:active:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
735
739
  scale: var(--ui-icon-button-active-scale, 0.96);
736
740
  }
737
741
 
738
- :is(:scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"]) {
742
+ :global(:is(:scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"]):where([data-hn-ui-icon-button])) {
739
743
  cursor: progress;
740
744
  }
741
745
 
742
- .content {
746
+ :global(.content:where([data-hn-ui-icon-button])) {
743
747
  display: inline-flex;
744
748
  align-items: center;
745
749
  justify-content: center;
746
750
  }
747
751
 
748
- :is(:scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"])
749
- .content {
752
+ :global(:is(:scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"])
753
+ .content:where([data-hn-ui-icon-button])) {
750
754
  display: none;
751
755
  }
752
756
 
753
757
  @media (prefers-reduced-motion: reduce) {
754
- :scope[data-ui-icon-button-state~="anticipatory"] .content {
758
+ :global(:scope[data-ui-icon-button-state~="anticipatory"]
759
+ .content:where([data-hn-ui-icon-button])) {
755
760
  transition: none;
756
761
  }
757
762
  }
758
763
 
759
- :scope:where(:scope):is(:focus-visible) {
764
+ :global(:scope:focus-visible:where([data-hn-ui-icon-button])) {
760
765
  outline: none;
761
766
  box-shadow: var(--ui-focus-halo);
762
767
  }
763
768
 
764
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"]:focus-visible) {
769
+ :global(:scope[data-ui-icon-button-state~="variant=outline"]:focus-visible:where([data-hn-ui-icon-button])) {
765
770
  box-shadow:
766
771
  var(--ui-action-shadow, var(--_ui-action-shadow)),
767
772
  var(--ui-focus-halo);
768
773
  }
769
774
 
770
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=solid"]:focus-visible) {
775
+ :global(:scope[data-ui-icon-button-state~="variant=solid"]:focus-visible:where([data-hn-ui-icon-button])) {
771
776
  box-shadow:
772
777
  var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
773
778
  var(--ui-focus-halo);
774
779
  }
775
780
 
776
- :scope:where(:scope):is(:is(:scope[data-ui-icon-button-state~="variant=outline"], :scope[data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"])) {
781
+ :global(:scope:is(:scope[data-ui-icon-button-state~="variant=outline"], :scope[data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"]):where([data-hn-ui-icon-button])) {
777
782
  background-image: none;
778
783
  box-shadow: var(--ui-pressed);
779
784
  }
780
785
 
781
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible) {
786
+ :global(:scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible:where([data-hn-ui-icon-button])) {
782
787
  box-shadow:
783
788
  var(--ui-pressed),
784
789
  var(--ui-focus-halo);
785
790
  }
786
791
 
787
792
  @media (forced-colors: active) {
788
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled) {
793
+ :global(:scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:where([data-hn-ui-icon-button])) {
789
794
  outline: var(--ui-focus-width) solid Highlight;
790
795
  outline-offset: calc(-2 * var(--ui-focus-width));
791
796
  }
792
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible) {
797
+ :global(:scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible:where([data-hn-ui-icon-button])) {
793
798
  outline-offset: var(--ui-focus-width);
794
799
  }
795
800
  }
796
- :scope:where(:scope):is(:disabled) {
801
+ :global(:scope:disabled:where([data-hn-ui-icon-button])) {
797
802
  border-color: var(--ui-disabled-border);
798
803
  background-color: var(--ui-disabled-surface);
799
804
  color: var(--ui-disabled-text);
@@ -804,11 +809,11 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
804
809
  background-image: none;
805
810
  }
806
811
 
807
- :scope:where(:scope):is([data-ui-icon-button-state~="variant=ghost"]:disabled) {
812
+ :global(:scope[data-ui-icon-button-state~="variant=ghost"]:disabled:where([data-hn-ui-icon-button])) {
808
813
  border-color: transparent;
809
814
  }
810
815
 
811
- :scope:where(:scope) {
816
+ :global(:scope:where([data-hn-ui-icon-button])) {
812
817
  --_icon-button-icon-default: var(--ui-icon-size-md);
813
818
  /* A slotted ui-icon is its own component, out of reach of the svg rule below; these are its
814
819
  defaults, which its own --ui-icon-* hooks still override. */
@@ -816,21 +821,21 @@ useComponentHost(() => import('../components/ui-icon-button/ui-icon-button.js'),
816
821
  --_ui-default-icon-stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
817
822
  }
818
823
 
819
- :scope:where(:scope):is([data-ui-icon-button-state~="size=sm"]) {
824
+ :global(:scope[data-ui-icon-button-state~="size=sm"]:where([data-hn-ui-icon-button])) {
820
825
  --_icon-button-icon-default: var(--ui-icon-size-sm);
821
826
  }
822
827
 
823
- :scope:where(:scope):is([data-ui-icon-button-state~="size=lg"]) {
828
+ :global(:scope[data-ui-icon-button-state~="size=lg"]:where([data-hn-ui-icon-button])) {
824
829
  --_icon-button-icon-default: var(--ui-icon-size-lg);
825
830
  }
826
831
 
827
- :slotted(svg) {
832
+ :global(:where(:not([data-hn-ui-icon-button])):is(svg)) {
828
833
  inline-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
829
834
  block-size: var(--_ui-icon-button-icon-size, var(--_icon-button-icon-default));
830
835
  flex-shrink: 0;
831
836
  stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
832
837
  }
833
- :scope:where(:scope):is([hidden]) {
838
+ :global(:scope[hidden]:where([data-hn-ui-icon-button])) {
834
839
  display: none;
835
840
  }
836
841
  }