@threadlabs/looma 0.28.5 → 0.28.6

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-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  2. package/dist/index.js +1 -1
  3. package/package.json +3 -2
  4. package/styles/ui-action-bar.css +13 -6
  5. package/styles/ui-affordance-scope.css +12 -5
  6. package/styles/ui-avatar-group.css +17 -10
  7. package/styles/ui-avatar.css +23 -16
  8. package/styles/ui-badge.css +78 -71
  9. package/styles/ui-breadcrumb-item.css +12 -5
  10. package/styles/ui-breadcrumbs.css +10 -3
  11. package/styles/ui-button.css +79 -72
  12. package/styles/ui-callout.css +29 -22
  13. package/styles/ui-card.css +25 -18
  14. package/styles/ui-checkbox.css +45 -37
  15. package/styles/ui-cluster.css +34 -27
  16. package/styles/ui-combobox.css +46 -39
  17. package/styles/ui-container.css +20 -13
  18. package/styles/ui-context-menu.css +17 -10
  19. package/styles/ui-cover.css +12 -5
  20. package/styles/ui-description-item.css +10 -3
  21. package/styles/ui-description-list.css +20 -13
  22. package/styles/ui-dialog.css +44 -35
  23. package/styles/ui-disclosure.css +32 -25
  24. package/styles/ui-editable.css +15 -8
  25. package/styles/ui-editor-image-toolbar.css +1 -1
  26. package/styles/ui-editor-insert-table-grid.css +11 -4
  27. package/styles/ui-editor-mention-menu-item.css +17 -8
  28. package/styles/ui-editor-mention-menu.css +14 -7
  29. package/styles/ui-editor-slash-menu-group.css +10 -3
  30. package/styles/ui-editor-slash-menu-item.css +15 -8
  31. package/styles/ui-editor-slash-menu.css +15 -8
  32. package/styles/ui-editor-surface.css +10 -3
  33. package/styles/ui-editor-table-context-menu.css +17 -10
  34. package/styles/ui-editor-table-overlay.css +17 -10
  35. package/styles/ui-editor-table-toolbar.css +22 -15
  36. package/styles/ui-editor-toolbar.css +18 -11
  37. package/styles/ui-floating-action-button.css +21 -14
  38. package/styles/ui-form-field.css +20 -13
  39. package/styles/ui-grid.css +21 -14
  40. package/styles/ui-icon-button.css +80 -73
  41. package/styles/ui-icon.css +14 -7
  42. package/styles/ui-image.css +25 -18
  43. package/styles/ui-input-group.css +34 -27
  44. package/styles/ui-input.css +42 -35
  45. package/styles/ui-list-item.css +33 -26
  46. package/styles/ui-list.css +22 -15
  47. package/styles/ui-listbox.css +22 -14
  48. package/styles/ui-menu-group.css +10 -3
  49. package/styles/ui-menu-item.css +29 -22
  50. package/styles/ui-menu.css +25 -18
  51. package/styles/ui-meter.css +36 -29
  52. package/styles/ui-nav-item.css +26 -19
  53. package/styles/ui-page-header.css +12 -5
  54. package/styles/ui-popover.css +27 -20
  55. package/styles/ui-radio-group.css +14 -6
  56. package/styles/ui-radio.css +24 -17
  57. package/styles/ui-reel.css +28 -21
  58. package/styles/ui-scroll-area.css +22 -15
  59. package/styles/ui-search-result-row.css +28 -21
  60. package/styles/ui-search-shell.css +24 -17
  61. package/styles/ui-section.css +14 -7
  62. package/styles/ui-select.css +33 -26
  63. package/styles/ui-separator.css +17 -10
  64. package/styles/ui-sidebar.css +35 -28
  65. package/styles/ui-spinner.css +32 -23
  66. package/styles/ui-stack.css +29 -21
  67. package/styles/ui-status-message.css +14 -7
  68. package/styles/ui-switch.css +29 -22
  69. package/styles/ui-switcher.css +27 -20
  70. package/styles/ui-table.css +14 -7
  71. package/styles/ui-tabs.css +24 -17
  72. package/styles/ui-text.css +35 -28
  73. package/styles/ui-textarea.css +37 -30
  74. package/styles/ui-toast-region.css +74 -63
  75. package/styles/ui-toast.css +21 -14
  76. package/styles/ui-tooltip.css +38 -31
  77. package/styles/ui-top-bar.css +19 -12
  78. package/styles/ui-tree-item.css +79 -71
  79. package/styles/ui-tree.css +18 -11
  80. package/vanilla/UiActionBar.d.ts +1 -1
  81. package/vanilla/UiActionBar.js +1 -1
  82. package/vanilla/UiAffordanceScope.d.ts +1 -1
  83. package/vanilla/UiAffordanceScope.js +1 -1
  84. package/vanilla/UiAvatar.d.ts +1 -1
  85. package/vanilla/UiAvatar.js +1 -1
  86. package/vanilla/UiAvatarGroup.d.ts +1 -1
  87. package/vanilla/UiAvatarGroup.js +1 -1
  88. package/vanilla/UiBadge.d.ts +1 -1
  89. package/vanilla/UiBadge.js +1 -1
  90. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  91. package/vanilla/UiBreadcrumbItem.js +1 -1
  92. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  93. package/vanilla/UiBreadcrumbs.js +1 -1
  94. package/vanilla/UiButton.d.ts +1 -1
  95. package/vanilla/UiButton.js +19 -57
  96. package/vanilla/UiCallout.d.ts +1 -1
  97. package/vanilla/UiCallout.js +25 -73
  98. package/vanilla/UiCard.d.ts +1 -1
  99. package/vanilla/UiCard.js +1 -1
  100. package/vanilla/UiCheckbox.d.ts +1 -1
  101. package/vanilla/UiCheckbox.js +1 -1
  102. package/vanilla/UiCluster.d.ts +1 -1
  103. package/vanilla/UiCluster.js +1 -1
  104. package/vanilla/UiCombobox.d.ts +1 -1
  105. package/vanilla/UiCombobox.js +60 -166
  106. package/vanilla/UiContainer.d.ts +1 -1
  107. package/vanilla/UiContainer.js +1 -1
  108. package/vanilla/UiContextMenu.d.ts +1 -1
  109. package/vanilla/UiContextMenu.js +1 -1
  110. package/vanilla/UiCover.d.ts +1 -1
  111. package/vanilla/UiCover.js +1 -1
  112. package/vanilla/UiDescriptionItem.d.ts +1 -1
  113. package/vanilla/UiDescriptionItem.js +1 -1
  114. package/vanilla/UiDescriptionList.d.ts +1 -1
  115. package/vanilla/UiDescriptionList.js +1 -1
  116. package/vanilla/UiDialog.d.ts +1 -1
  117. package/vanilla/UiDialog.js +4 -10
  118. package/vanilla/UiDisclosure.d.ts +1 -1
  119. package/vanilla/UiDisclosure.js +1 -1
  120. package/vanilla/UiEditable.d.ts +1 -1
  121. package/vanilla/UiEditable.js +7 -19
  122. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  123. package/vanilla/UiEditorImageToolbar.js +1 -1
  124. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  125. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  126. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  127. package/vanilla/UiEditorMentionMenu.js +17 -37
  128. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  129. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  130. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  131. package/vanilla/UiEditorSlashMenu.js +5 -4
  132. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  133. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  134. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  135. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  136. package/vanilla/UiEditorSurface.d.ts +1 -1
  137. package/vanilla/UiEditorSurface.js +1 -1
  138. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  139. package/vanilla/UiEditorTableContextMenu.js +6 -14
  140. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  141. package/vanilla/UiEditorTableOverlay.js +9 -25
  142. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  143. package/vanilla/UiEditorTableToolbar.js +25 -77
  144. package/vanilla/UiEditorToolbar.d.ts +1 -1
  145. package/vanilla/UiEditorToolbar.js +1 -1
  146. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  147. package/vanilla/UiFloatingActionButton.js +1 -1
  148. package/vanilla/UiFormField.d.ts +1 -1
  149. package/vanilla/UiFormField.js +1 -1
  150. package/vanilla/UiGrid.d.ts +1 -1
  151. package/vanilla/UiGrid.js +1 -1
  152. package/vanilla/UiIcon.d.ts +1 -1
  153. package/vanilla/UiIcon.js +15 -47
  154. package/vanilla/UiIconButton.d.ts +1 -1
  155. package/vanilla/UiIconButton.js +4 -10
  156. package/vanilla/UiImage.d.ts +1 -1
  157. package/vanilla/UiImage.js +1 -1
  158. package/vanilla/UiInput.d.ts +1 -1
  159. package/vanilla/UiInput.js +1 -1
  160. package/vanilla/UiInputGroup.d.ts +1 -1
  161. package/vanilla/UiInputGroup.js +1 -1
  162. package/vanilla/UiList.d.ts +1 -1
  163. package/vanilla/UiList.js +1 -1
  164. package/vanilla/UiListItem.d.ts +1 -1
  165. package/vanilla/UiListItem.js +1 -1
  166. package/vanilla/UiListbox.d.ts +1 -1
  167. package/vanilla/UiListbox.js +4 -10
  168. package/vanilla/UiMenu.d.ts +1 -1
  169. package/vanilla/UiMenu.js +1 -1
  170. package/vanilla/UiMenuGroup.d.ts +1 -1
  171. package/vanilla/UiMenuGroup.js +4 -10
  172. package/vanilla/UiMenuItem.d.ts +1 -1
  173. package/vanilla/UiMenuItem.js +4 -10
  174. package/vanilla/UiMeter.d.ts +1 -1
  175. package/vanilla/UiMeter.js +13 -33
  176. package/vanilla/UiNavItem.d.ts +1 -1
  177. package/vanilla/UiNavItem.js +1 -1
  178. package/vanilla/UiPageHeader.d.ts +1 -1
  179. package/vanilla/UiPageHeader.js +1 -1
  180. package/vanilla/UiPopover.d.ts +1 -1
  181. package/vanilla/UiPopover.js +1 -1
  182. package/vanilla/UiRadio.d.ts +1 -1
  183. package/vanilla/UiRadio.js +1 -1
  184. package/vanilla/UiRadioGroup.d.ts +1 -1
  185. package/vanilla/UiRadioGroup.js +1 -1
  186. package/vanilla/UiReel.d.ts +1 -1
  187. package/vanilla/UiReel.js +1 -1
  188. package/vanilla/UiScrollArea.d.ts +1 -1
  189. package/vanilla/UiScrollArea.js +1 -1
  190. package/vanilla/UiSearchResultRow.d.ts +1 -1
  191. package/vanilla/UiSearchResultRow.js +1 -1
  192. package/vanilla/UiSearchShell.d.ts +1 -1
  193. package/vanilla/UiSearchShell.js +1 -1
  194. package/vanilla/UiSection.d.ts +1 -1
  195. package/vanilla/UiSection.js +1 -1
  196. package/vanilla/UiSelect.d.ts +1 -1
  197. package/vanilla/UiSelect.js +1 -1
  198. package/vanilla/UiSeparator.d.ts +1 -1
  199. package/vanilla/UiSeparator.js +1 -1
  200. package/vanilla/UiSidebar.d.ts +1 -1
  201. package/vanilla/UiSidebar.js +1 -1
  202. package/vanilla/UiSpinner.d.ts +1 -1
  203. package/vanilla/UiSpinner.js +1 -1
  204. package/vanilla/UiStack.d.ts +1 -1
  205. package/vanilla/UiStack.js +1 -1
  206. package/vanilla/UiStatusMessage.d.ts +1 -1
  207. package/vanilla/UiStatusMessage.js +1 -1
  208. package/vanilla/UiSwitch.d.ts +1 -1
  209. package/vanilla/UiSwitch.js +1 -1
  210. package/vanilla/UiSwitcher.d.ts +1 -1
  211. package/vanilla/UiSwitcher.js +1 -1
  212. package/vanilla/UiTable.d.ts +1 -1
  213. package/vanilla/UiTable.js +1 -1
  214. package/vanilla/UiTabs.d.ts +1 -1
  215. package/vanilla/UiTabs.js +1 -1
  216. package/vanilla/UiText.d.ts +1 -1
  217. package/vanilla/UiText.js +1 -1
  218. package/vanilla/UiTextarea.d.ts +1 -1
  219. package/vanilla/UiTextarea.js +1 -1
  220. package/vanilla/UiToast.d.ts +1 -1
  221. package/vanilla/UiToast.js +1 -1
  222. package/vanilla/UiToastRegion.d.ts +1 -1
  223. package/vanilla/UiToastRegion.js +1 -1
  224. package/vanilla/UiTooltip.d.ts +1 -1
  225. package/vanilla/UiTooltip.js +1 -1
  226. package/vanilla/UiTopBar.d.ts +1 -1
  227. package/vanilla/UiTopBar.js +1 -1
  228. package/vanilla/UiTree.d.ts +1 -1
  229. package/vanilla/UiTree.js +1 -1
  230. package/vanilla/UiTreeItem.d.ts +1 -1
  231. package/vanilla/UiTreeItem.js +7 -19
  232. package/vue/UiActionBar.vue +46 -78
  233. package/vue/UiAffordanceScope.vue +27 -66
  234. package/vue/UiAvatar.d.ts +10 -7
  235. package/vue/UiAvatar.vue +100 -218
  236. package/vue/UiAvatarGroup.d.ts +10 -7
  237. package/vue/UiAvatarGroup.vue +78 -160
  238. package/vue/UiBadge.d.ts +1 -1
  239. package/vue/UiBadge.vue +483 -520
  240. package/vue/UiBreadcrumbItem.vue +52 -123
  241. package/vue/UiBreadcrumbs.vue +27 -70
  242. package/vue/UiButton.d.ts +2 -2
  243. package/vue/UiButton.vue +420 -471
  244. package/vue/UiCallout.vue +131 -175
  245. package/vue/UiCard.d.ts +1 -1
  246. package/vue/UiCard.vue +112 -151
  247. package/vue/UiCheckbox.d.ts +13 -10
  248. package/vue/UiCheckbox.vue +160 -221
  249. package/vue/UiCluster.d.ts +1 -1
  250. package/vue/UiCluster.vue +84 -128
  251. package/vue/UiCombobox.d.ts +71 -68
  252. package/vue/UiCombobox.vue +417 -743
  253. package/vue/UiContainer.vue +43 -87
  254. package/vue/UiContextMenu.d.ts +6 -6
  255. package/vue/UiContextMenu.vue +78 -117
  256. package/vue/UiCover.vue +29 -69
  257. package/vue/UiDescriptionItem.vue +39 -82
  258. package/vue/UiDescriptionList.vue +64 -107
  259. package/vue/UiDialog.d.ts +22 -19
  260. package/vue/UiDialog.vue +193 -246
  261. package/vue/UiDisclosure.d.ts +22 -19
  262. package/vue/UiDisclosure.vue +192 -283
  263. package/vue/UiEditable.d.ts +5 -5
  264. package/vue/UiEditable.vue +124 -207
  265. package/vue/UiEditorImageToolbar.d.ts +2 -2
  266. package/vue/UiEditorImageToolbar.vue +41 -251
  267. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  268. package/vue/UiEditorInsertTableGrid.vue +98 -266
  269. package/vue/UiEditorMentionMenu.d.ts +15 -12
  270. package/vue/UiEditorMentionMenu.vue +150 -239
  271. package/vue/UiEditorMentionMenuItem.vue +66 -110
  272. package/vue/UiEditorSlashMenu.d.ts +16 -13
  273. package/vue/UiEditorSlashMenu.vue +172 -253
  274. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  275. package/vue/UiEditorSlashMenuItem.vue +67 -115
  276. package/vue/UiEditorSurface.vue +19 -63
  277. package/vue/UiEditorTableContextMenu.vue +135 -269
  278. package/vue/UiEditorTableOverlay.d.ts +2 -2
  279. package/vue/UiEditorTableOverlay.vue +310 -479
  280. package/vue/UiEditorTableToolbar.d.ts +2 -2
  281. package/vue/UiEditorTableToolbar.vue +182 -357
  282. package/vue/UiEditorToolbar.vue +143 -183
  283. package/vue/UiFloatingActionButton.vue +70 -114
  284. package/vue/UiFormField.d.ts +1 -1
  285. package/vue/UiFormField.vue +76 -117
  286. package/vue/UiGrid.d.ts +1 -1
  287. package/vue/UiGrid.vue +65 -103
  288. package/vue/UiIcon.vue +32 -106
  289. package/vue/UiIconButton.d.ts +2 -2
  290. package/vue/UiIconButton.vue +359 -411
  291. package/vue/UiImage.vue +145 -180
  292. package/vue/UiInput.vue +158 -190
  293. package/vue/UiInputGroup.vue +199 -239
  294. package/vue/UiList.vue +67 -109
  295. package/vue/UiListItem.vue +154 -201
  296. package/vue/UiListbox.d.ts +10 -7
  297. package/vue/UiListbox.vue +86 -260
  298. package/vue/UiMenu.d.ts +11 -11
  299. package/vue/UiMenu.vue +118 -152
  300. package/vue/UiMenuGroup.vue +21 -67
  301. package/vue/UiMenuItem.d.ts +19 -16
  302. package/vue/UiMenuItem.vue +169 -262
  303. package/vue/UiMeter.d.ts +4 -4
  304. package/vue/UiMeter.vue +166 -680
  305. package/vue/UiNavItem.vue +140 -213
  306. package/vue/UiPageHeader.vue +81 -127
  307. package/vue/UiPopover.d.ts +7 -7
  308. package/vue/UiPopover.vue +90 -129
  309. package/vue/UiRadio.d.ts +12 -9
  310. package/vue/UiRadio.vue +91 -149
  311. package/vue/UiRadioGroup.d.ts +2 -2
  312. package/vue/UiRadioGroup.vue +47 -85
  313. package/vue/UiReel.vue +89 -130
  314. package/vue/UiScrollArea.d.ts +1 -1
  315. package/vue/UiScrollArea.vue +78 -119
  316. package/vue/UiSearchResultRow.vue +96 -149
  317. package/vue/UiSearchShell.d.ts +2 -2
  318. package/vue/UiSearchShell.vue +159 -196
  319. package/vue/UiSection.vue +105 -149
  320. package/vue/UiSelect.d.ts +1 -1
  321. package/vue/UiSelect.vue +114 -146
  322. package/vue/UiSeparator.vue +42 -85
  323. package/vue/UiSidebar.d.ts +10 -7
  324. package/vue/UiSidebar.vue +193 -260
  325. package/vue/UiSpinner.vue +54 -130
  326. package/vue/UiStack.vue +66 -107
  327. package/vue/UiStatusMessage.d.ts +1 -1
  328. package/vue/UiStatusMessage.vue +61 -135
  329. package/vue/UiSwitch.d.ts +12 -9
  330. package/vue/UiSwitch.vue +136 -194
  331. package/vue/UiSwitcher.vue +69 -107
  332. package/vue/UiTable.vue +121 -156
  333. package/vue/UiTabs.d.ts +1 -1
  334. package/vue/UiTabs.vue +139 -267
  335. package/vue/UiText.d.ts +4 -4
  336. package/vue/UiText.vue +145 -184
  337. package/vue/UiTextarea.d.ts +2 -2
  338. package/vue/UiTextarea.vue +162 -194
  339. package/vue/UiToast.vue +70 -118
  340. package/vue/UiToastRegion.vue +157 -276
  341. package/vue/UiTooltip.d.ts +21 -18
  342. package/vue/UiTooltip.vue +174 -234
  343. package/vue/UiTopBar.vue +48 -76
  344. package/vue/UiTree.vue +46 -79
  345. package/vue/UiTreeItem.d.ts +18 -15
  346. package/vue/UiTreeItem.vue +526 -668
  347. package/vue/chunks/UiActionBar.js +5 -17
  348. package/vue/chunks/UiAffordanceScope.js +7 -26
  349. package/vue/chunks/UiAvatar.js +20 -74
  350. package/vue/chunks/UiAvatarGroup.js +14 -56
  351. package/vue/chunks/UiBadge.js +10 -28
  352. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  353. package/vue/chunks/UiBreadcrumbs.js +7 -25
  354. package/vue/chunks/UiButton.js +80 -103
  355. package/vue/chunks/UiCallout.js +9 -27
  356. package/vue/chunks/UiCard.js +33 -53
  357. package/vue/chunks/UiCheckbox.js +14 -46
  358. package/vue/chunks/UiCluster.js +13 -31
  359. package/vue/chunks/UiCombobox.js +99 -237
  360. package/vue/chunks/UiContainer.js +9 -27
  361. package/vue/chunks/UiContextMenu.js +7 -26
  362. package/vue/chunks/UiCover.js +7 -25
  363. package/vue/chunks/UiDescriptionItem.js +6 -24
  364. package/vue/chunks/UiDescriptionList.js +9 -27
  365. package/vue/chunks/UiDialog.js +18 -47
  366. package/vue/chunks/UiDisclosure.js +19 -66
  367. package/vue/chunks/UiEditable.js +18 -60
  368. package/vue/chunks/UiEditorImageToolbar.js +34 -103
  369. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  370. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  371. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  372. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  373. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  374. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  375. package/vue/chunks/UiEditorSurface.js +7 -25
  376. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  377. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  378. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  379. package/vue/chunks/UiEditorToolbar.js +7 -26
  380. package/vue/chunks/UiFloatingActionButton.js +10 -28
  381. package/vue/chunks/UiFormField.js +8 -27
  382. package/vue/chunks/UiGrid.js +10 -28
  383. package/vue/chunks/UiIcon.js +21 -74
  384. package/vue/chunks/UiIconButton.js +18 -50
  385. package/vue/chunks/UiImage.js +14 -33
  386. package/vue/chunks/UiInput.js +12 -31
  387. package/vue/chunks/UiInputGroup.js +10 -29
  388. package/vue/chunks/UiList.js +17 -37
  389. package/vue/chunks/UiListItem.js +12 -30
  390. package/vue/chunks/UiListbox.js +22 -124
  391. package/vue/chunks/UiMenu.js +13 -32
  392. package/vue/chunks/UiMenuGroup.js +8 -26
  393. package/vue/chunks/UiMenuItem.js +35 -80
  394. package/vue/chunks/UiMeter.js +17 -351
  395. package/vue/chunks/UiNavItem.js +23 -57
  396. package/vue/chunks/UiPageHeader.js +7 -25
  397. package/vue/chunks/UiPopover.js +9 -28
  398. package/vue/chunks/UiRadio.js +11 -43
  399. package/vue/chunks/UiRadioGroup.js +13 -32
  400. package/vue/chunks/UiReel.js +10 -28
  401. package/vue/chunks/UiScrollArea.js +10 -29
  402. package/vue/chunks/UiSearchResultRow.js +10 -28
  403. package/vue/chunks/UiSearchShell.js +9 -28
  404. package/vue/chunks/UiSection.js +9 -27
  405. package/vue/chunks/UiSelect.js +10 -29
  406. package/vue/chunks/UiSeparator.js +10 -28
  407. package/vue/chunks/UiSidebar.js +15 -47
  408. package/vue/chunks/UiSpinner.js +8 -44
  409. package/vue/chunks/UiStack.js +12 -30
  410. package/vue/chunks/UiStatusMessage.js +10 -42
  411. package/vue/chunks/UiSwitch.js +11 -43
  412. package/vue/chunks/UiSwitcher.js +9 -28
  413. package/vue/chunks/UiTable.js +7 -26
  414. package/vue/chunks/UiTabs.js +15 -91
  415. package/vue/chunks/UiText.js +148 -168
  416. package/vue/chunks/UiTextarea.js +16 -35
  417. package/vue/chunks/UiToast.js +13 -37
  418. package/vue/chunks/UiToastRegion.js +16 -88
  419. package/vue/chunks/UiTooltip.js +14 -46
  420. package/vue/chunks/UiTopBar.js +5 -17
  421. package/vue/chunks/UiTree.js +13 -32
  422. package/vue/chunks/UiTreeItem.js +34 -90
  423. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  424. package/vue/chunks/control.js +3 -0
  425. package/vue/chunks/props.js +1 -1
  426. package/vue/components.css +7606 -7534
  427. package/vue/editor/index.js +1 -1
  428. package/vue/host.ts +999 -14
  429. package/vue/chunks/host.js +0 -443
@@ -1,84 +1,91 @@
1
- /* Generated by HTML Next 1.0.0-alpha.35. Do not edit. */
2
- @property --ui-icon-button-active-scale {
1
+ /* Generated by HTML Next 1.0.0-alpha.51. Do not edit. */
2
+ @supports (-moz-appearance: none) {
3
+ :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
4
+ :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
5
+ }
6
+ @supports (-moz-appearance: none) {
7
+ [data-component~="ui-icon-button"] { --html-next-scope-owner: "ui-icon-button" !important; }
8
+ }
9
+ @scope ([data-component~="ui-icon-button"]) to ([data-component], [data-slotted]) {
10
+ /* This component's hooks style the element they are set on, and never a nested one. */
11
+ @property --ui-icon-button-active-scale {
3
12
  syntax: "*";
4
13
  inherits: false;
5
14
  }
6
- @property --ui-icon-button-active-surface {
15
+ @property --ui-icon-button-active-surface {
7
16
  syntax: "*";
8
17
  inherits: false;
9
18
  }
10
- @property --ui-icon-button-border {
19
+ @property --ui-icon-button-border {
11
20
  syntax: "*";
12
21
  inherits: false;
13
22
  }
14
- @property --ui-icon-button-disabled-filter {
23
+ @property --ui-icon-button-disabled-filter {
15
24
  syntax: "*";
16
25
  inherits: false;
17
26
  }
18
- @property --ui-icon-button-disabled-opacity {
27
+ @property --ui-icon-button-disabled-opacity {
19
28
  syntax: "*";
20
29
  inherits: false;
21
30
  }
22
- @property --ui-icon-button-hover-border {
31
+ @property --ui-icon-button-hover-border {
23
32
  syntax: "*";
24
33
  inherits: false;
25
34
  }
26
- @property --ui-icon-button-hover-surface {
35
+ @property --ui-icon-button-hover-surface {
27
36
  syntax: "*";
28
37
  inherits: false;
29
38
  }
30
- @property --ui-icon-button-hover-text {
39
+ @property --ui-icon-button-hover-text {
31
40
  syntax: "*";
32
41
  inherits: false;
33
42
  }
34
- @property --ui-icon-button-icon-size {
43
+ @property --ui-icon-button-icon-size {
35
44
  syntax: "*";
36
45
  inherits: false;
37
46
  }
38
- @property --ui-icon-button-icon-stroke-width {
47
+ @property --ui-icon-button-icon-stroke-width {
39
48
  syntax: "*";
40
49
  inherits: false;
41
50
  }
42
- @property --ui-icon-button-outline-surface {
51
+ @property --ui-icon-button-outline-surface {
43
52
  syntax: "*";
44
53
  inherits: false;
45
54
  }
46
- @property --ui-icon-button-outline-text {
55
+ @property --ui-icon-button-outline-text {
47
56
  syntax: "*";
48
57
  inherits: false;
49
58
  }
50
- @property --ui-icon-button-radius {
59
+ @property --ui-icon-button-radius {
51
60
  syntax: "*";
52
61
  inherits: false;
53
62
  }
54
- @property --ui-icon-button-size {
63
+ @property --ui-icon-button-size {
55
64
  syntax: "*";
56
65
  inherits: false;
57
66
  }
58
- @property --ui-icon-button-solid-hover-surface {
67
+ @property --ui-icon-button-solid-hover-surface {
59
68
  syntax: "*";
60
69
  inherits: false;
61
70
  }
62
- @property --ui-icon-button-solid-shadow {
71
+ @property --ui-icon-button-solid-shadow {
63
72
  syntax: "*";
64
73
  inherits: false;
65
74
  }
66
- @property --ui-icon-button-solid-surface {
75
+ @property --ui-icon-button-solid-surface {
67
76
  syntax: "*";
68
77
  inherits: false;
69
78
  }
70
- @property --ui-icon-button-solid-text {
79
+ @property --ui-icon-button-solid-text {
71
80
  syntax: "*";
72
81
  inherits: false;
73
82
  }
74
- @property --ui-icon-button-surface {
83
+ @property --ui-icon-button-surface {
75
84
  syntax: "*";
76
85
  inherits: false;
77
86
  }
78
- @scope ([data-component~="ui-icon-button"]) to ([data-component], [data-slotted]) {
79
- /* This component's hooks style the element they are set on, and never a nested one. */
80
87
 
81
- :scope {
88
+ :scope:where([data-component~="ui-icon-button"]) {
82
89
  /* Optional inherited action-group values keep text and icon actions under the same light.
83
90
  One fine top/start highlight follows the bottom/end lowlight at a joined action seam.
84
91
  A single ambient lift avoids stacking a face gradient or another inset bevel. */
@@ -97,11 +104,11 @@
97
104
  color: var(--ui-text-secondary);
98
105
  }
99
106
 
100
- :scope:dir(rtl) {
107
+ :scope:where([data-component~="ui-icon-button"]):dir(rtl) {
101
108
  --_ui-action-start: -1px;
102
109
  }
103
110
 
104
- :scope[data-ui-icon-button-state~="tone=accent"] {
111
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="tone=accent"] {
105
112
  --_icon-button-border: var(--ui-accent-solid);
106
113
  --_icon-button-hover-border: var(--ui-accent-hover);
107
114
  --_icon-button-text: var(--ui-accent-subtle-text, var(--ui-accent-solid));
@@ -110,17 +117,17 @@
110
117
  }
111
118
 
112
119
  /* Omitted tone retains the existing accent solid; explicit neutral is additive. */
113
- :scope[data-ui-icon-button-state~="tone=neutral"] {
120
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="tone=neutral"] {
114
121
  --_icon-button-solid-surface: var(--ui-text-primary);
115
122
  --_icon-button-solid-hover-surface: var(--ui-text-primary);
116
123
  --_icon-button-solid-text: var(--ui-surface-default);
117
124
  }
118
125
 
119
- :scope[data-ui-icon-button-state~="anticipatory"] {
126
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"] {
120
127
  position: relative;
121
128
  }
122
129
 
123
- :scope[data-ui-icon-button-state~="anticipatory"]::before {
130
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]::before {
124
131
  content: "";
125
132
  position: absolute;
126
133
  inset: 50% auto auto 50%;
@@ -135,33 +142,33 @@
135
142
  pointer-events: none;
136
143
  }
137
144
 
138
- :scope[data-ui-icon-button-state~="anticipatory"][data-ui-icon-button-state~="guide=bar"]::before {
145
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"][data-ui-icon-button-state~="guide=bar"]::before {
139
146
  inline-size: 2px;
140
147
  block-size: 20px;
141
148
  background: var(--ui-border-strong);
142
149
  opacity: 1;
143
150
  }
144
151
 
145
- :scope[data-ui-icon-button-state~="anticipatory"]:disabled::before {
152
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:disabled::before {
146
153
  opacity: 0;
147
154
  }
148
155
 
149
156
  /* At rest an anticipatory button shows only its guide dot. The icon grows into place when
150
157
  proximity, hover, or focus reveals it; the button's hit area and guide remain stable. */
151
- :scope[data-ui-icon-button-state~="anticipatory"] .content {
158
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"] .content {
152
159
  opacity: 1;
153
160
  transform: scale(1);
154
161
  transition: opacity var(--ui-motion-fast) var(--ui-motion-ease), transform calc(var(--ui-motion-fast) * 2) cubic-bezier(0.2, 1.4, 0.35, 1);
155
162
  }
156
163
 
157
164
  @media (hover: hover) and (pointer: fine) {
158
- :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) {
165
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible) {
159
166
  border-color: transparent;
160
167
  background-color: transparent;
161
168
  box-shadow: none;
162
169
  }
163
170
 
164
- :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)
171
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:not(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"], :disabled, [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)
165
172
  .content {
166
173
  opacity: 0;
167
174
  transform: scale(0.65);
@@ -169,11 +176,11 @@
169
176
  }
170
177
  }
171
178
 
172
- :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)::before {
179
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]:is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"], [aria-pressed="true"], [data-ui-proximity="near"], :hover, :focus-visible)::before {
173
180
  opacity: 0;
174
181
  }
175
182
 
176
- :scope {
183
+ :scope:where([data-component~="ui-icon-button"]) {
177
184
  /* The size prop resolves here; --ui-icon-button-size overrides it on an element. */
178
185
  --_size: 2rem;
179
186
  appearance: none;
@@ -200,7 +207,7 @@
200
207
  }
201
208
 
202
209
  @media (hover: none), (pointer: coarse) {
203
- :scope[data-ui-icon-button-state~="anticipatory"]::before {
210
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"]::before {
204
211
  opacity: 0;
205
212
  }
206
213
  }
@@ -208,11 +215,11 @@
208
215
  /* A touch target without a bigger button: an invisible hit area, at least the control
209
216
  minimum, centred on the button (::before is the anticipatory guide). */
210
217
  @media (pointer: coarse) {
211
- :scope {
218
+ :scope:where([data-component~="ui-icon-button"]) {
212
219
  position: relative;
213
220
  }
214
221
 
215
- :scope::after {
222
+ :scope:where([data-component~="ui-icon-button"])::after {
216
223
  content: "";
217
224
  position: absolute;
218
225
  inset: 50% auto auto 50%;
@@ -222,11 +229,11 @@
222
229
  }
223
230
  }
224
231
 
225
- html[data-ui-input-modality="touch"] :scope {
232
+ html[data-ui-input-modality="touch"] :scope:where([data-component~="ui-icon-button"]) {
226
233
  position: relative;
227
234
  }
228
235
 
229
- html[data-ui-input-modality="touch"] :scope::after {
236
+ html[data-ui-input-modality="touch"] :scope:where([data-component~="ui-icon-button"])::after {
230
237
  content: "";
231
238
  position: absolute;
232
239
  inset: 50% auto auto 50%;
@@ -235,7 +242,7 @@
235
242
  transform: translate(-50%, -50%);
236
243
  }
237
244
 
238
- :scope[data-ui-icon-button-state~="size=sm"] {
245
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="size=sm"] {
239
246
  --_size: 1.75rem;
240
247
  inline-size: var(--ui-icon-button-size, var(--_size));
241
248
  block-size: var(--ui-icon-button-size, var(--_size));
@@ -243,7 +250,7 @@
243
250
  min-block-size: var(--ui-icon-button-size, var(--_size));
244
251
  }
245
252
 
246
- :scope[data-ui-icon-button-state~="size=lg"] {
253
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="size=lg"] {
247
254
  --_size: 2.5rem;
248
255
  inline-size: var(--ui-icon-button-size, var(--_size));
249
256
  block-size: var(--ui-icon-button-size, var(--_size));
@@ -252,33 +259,33 @@
252
259
  }
253
260
 
254
261
  /* A text button's companion uses control geometry; compact icon buttons keep their own density. */
255
- :scope[data-ui-icon-button-state~="matchButton"] {
262
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="matchButton"] {
256
263
  --_size: var(--ui-control-size-md);
257
264
  block-size: auto;
258
265
  align-self: stretch;
259
266
  }
260
267
 
261
- :scope[data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"] {
268
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=sm"] {
262
269
  --_size: var(--ui-control-size-sm);
263
270
  }
264
271
 
265
- :scope[data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"] {
272
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="matchButton"][data-ui-icon-button-state~="size=lg"] {
266
273
  --_size: var(--ui-control-size-lg);
267
274
  }
268
275
 
269
276
  @media (pointer: coarse) {
270
- :scope[data-ui-icon-button-state~="matchButton"] {
277
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="matchButton"] {
271
278
  inline-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
272
279
  min-inline-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
273
280
  min-block-size: max(var(--ui-icon-button-size, var(--_size)), var(--ui-control-min-block-size));
274
281
  }
275
282
  }
276
283
 
277
- :scope[data-ui-icon-button-state~="round"] {
284
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="round"] {
278
285
  border-radius: var(--ui-radius-round);
279
286
  }
280
287
 
281
- :scope[data-ui-icon-button-state~="variant=outline"] {
288
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"] {
282
289
  border-color: var(--ui-icon-button-border, var(--_icon-button-border, var(--ui-control-border, var(--ui-border-strong))));
283
290
  background-color: var(--ui-icon-button-outline-surface, var(--_icon-button-outline-surface, var(--ui-surface-default)));
284
291
  background-image: none;
@@ -286,50 +293,50 @@
286
293
  box-shadow: var(--ui-action-shadow, var(--_ui-action-shadow));
287
294
  }
288
295
 
289
- :scope[data-ui-icon-button-state~="variant=solid"] {
296
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"] {
290
297
  background-color: var(--ui-icon-button-solid-surface, var(--_icon-button-solid-surface, var(--ui-accent-solid)));
291
298
  background-image: none;
292
299
  color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
293
300
  box-shadow: var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow)));
294
301
  }
295
302
 
296
- :scope:hover:enabled:not([aria-disabled="true"]) {
303
+ :scope:where([data-component~="ui-icon-button"]):hover:enabled:not([aria-disabled="true"]) {
297
304
  /* Derived from the text colour so the ghost hover shows on any background. */
298
305
  background-color: var(--ui-icon-button-hover-surface, color-mix(in srgb, currentColor 8%, transparent));
299
306
  color: var(--ui-icon-button-hover-text, var(--_icon-button-text, var(--ui-text-primary)));
300
307
  }
301
308
 
302
- :scope[data-ui-icon-button-state~="variant=outline"]:hover:enabled:not([aria-disabled="true"]) {
309
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"]:hover:enabled:not([aria-disabled="true"]) {
303
310
  border-color: var(--ui-icon-button-hover-border, var(--_icon-button-hover-border, var(--ui-control-border-hover, var(--ui-control-border))));
304
311
  }
305
312
 
306
- :scope[data-ui-icon-button-state~="variant=solid"]:hover:enabled:not([aria-disabled="true"]) {
313
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"]:hover:enabled:not([aria-disabled="true"]) {
307
314
  background-color: var(--ui-icon-button-solid-hover-surface, var(--_icon-button-solid-hover-surface, var(--ui-accent-hover)));
308
315
  }
309
316
 
310
- :scope[data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"]:hover:enabled:not([aria-disabled="true"]),
311
- :scope[data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"]:hover:enabled:not([aria-disabled="true"]) {
317
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=accent"]:hover:enabled:not([aria-disabled="true"]),
318
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"][data-ui-icon-button-state~="tone=neutral"]:hover:enabled:not([aria-disabled="true"]) {
312
319
  color: var(--ui-icon-button-solid-text, var(--_icon-button-solid-text, var(--ui-text-on-accent)));
313
320
  }
314
321
 
315
- :scope[data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"]:enabled:not([aria-disabled="true"]) {
322
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=ghost"][aria-expanded="true"]:enabled:not([aria-disabled="true"]) {
316
323
  background-color: var(--ui-icon-button-active-surface, color-mix(in srgb, currentColor 16%, transparent));
317
324
  color: var(--ui-icon-button-hover-text, var(--_icon-button-text, var(--ui-text-primary)));
318
325
  box-shadow: var(--ui-pressed);
319
326
  }
320
327
 
321
328
  /* Native toggle state persists after pointer release, including during loading. */
322
- :scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled {
329
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled {
323
330
  background-color: var(--ui-icon-button-active-surface, color-mix(in srgb, currentColor 12%, var(--ui-surface-default)));
324
331
  background-image: none;
325
332
  box-shadow: var(--ui-pressed);
326
333
  }
327
334
 
328
- :scope:active:enabled:not([aria-disabled="true"]) {
335
+ :scope:where([data-component~="ui-icon-button"]):active:enabled:not([aria-disabled="true"]) {
329
336
  scale: var(--ui-icon-button-active-scale, 0.96);
330
337
  }
331
338
 
332
- :is(:scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"]) {
339
+ :is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"]) {
333
340
  cursor: progress;
334
341
  }
335
342
 
@@ -339,56 +346,56 @@
339
346
  justify-content: center;
340
347
  }
341
348
 
342
- :is(:scope[data-ui-icon-button-state~="loading"], :scope[data-ui-icon-button-state~="pending"]) .content {
349
+ :is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="loading"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="pending"]) .content {
343
350
  display: none;
344
351
  }
345
352
 
346
353
  @media (prefers-reduced-motion: reduce) {
347
- :scope[data-ui-icon-button-state~="anticipatory"] .content {
354
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="anticipatory"] .content {
348
355
  transition: none;
349
356
  }
350
357
  }
351
358
 
352
- :scope:focus-visible {
359
+ :scope:where([data-component~="ui-icon-button"]):focus-visible {
353
360
  outline: none;
354
361
  box-shadow: var(--ui-focus-halo);
355
362
  }
356
363
 
357
- :scope[data-ui-icon-button-state~="variant=outline"]:focus-visible {
364
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"]:focus-visible {
358
365
  box-shadow:
359
366
  var(--ui-action-shadow, var(--_ui-action-shadow)),
360
367
  var(--ui-focus-halo);
361
368
  }
362
369
 
363
- :scope[data-ui-icon-button-state~="variant=solid"]:focus-visible {
370
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"]:focus-visible {
364
371
  box-shadow:
365
372
  var(--ui-icon-button-solid-shadow, var(--ui-action-shadow, var(--_ui-action-shadow))),
366
373
  var(--ui-focus-halo);
367
374
  }
368
375
 
369
- :scope:is(:scope[data-ui-icon-button-state~="variant=outline"], :scope[data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"]) {
376
+ :scope:where([data-component~="ui-icon-button"]):is(:scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"], :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=solid"]):active:enabled:not([aria-disabled="true"]) {
370
377
  background-image: none;
371
378
  box-shadow: var(--ui-pressed);
372
379
  }
373
380
 
374
- :scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible {
381
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible {
375
382
  box-shadow:
376
383
  var(--ui-pressed),
377
384
  var(--ui-focus-halo);
378
385
  }
379
386
 
380
387
  @media (forced-colors: active) {
381
- :scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled {
388
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled {
382
389
  outline: var(--ui-focus-width) solid Highlight;
383
390
  outline-offset: calc(-2 * var(--ui-focus-width));
384
391
  }
385
- :scope[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible {
392
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=outline"][aria-pressed="true"]:enabled:focus-visible {
386
393
  outline-offset: var(--ui-focus-width);
387
394
  }
388
395
  }
389
396
 
390
397
  /* Disabled is a flat neutral control, independent of the active variant's tone. */
391
- :scope:disabled {
398
+ :scope:where([data-component~="ui-icon-button"]):disabled {
392
399
  border-color: var(--ui-disabled-border);
393
400
  background-color: var(--ui-disabled-surface);
394
401
  color: var(--ui-disabled-text);
@@ -399,11 +406,11 @@
399
406
  background-image: none;
400
407
  }
401
408
 
402
- :scope[data-ui-icon-button-state~="variant=ghost"]:disabled {
409
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="variant=ghost"]:disabled {
403
410
  border-color: transparent;
404
411
  }
405
412
 
406
- :scope {
413
+ :scope:where([data-component~="ui-icon-button"]) {
407
414
  --_icon-button-icon-default: var(--ui-icon-size-md);
408
415
  /* A slotted ui-icon is its own component, out of reach of the svg rule below; these are its
409
416
  defaults, which its own --ui-icon-* hooks still override. */
@@ -411,16 +418,16 @@
411
418
  --_ui-default-icon-stroke-width: var(--_ui-icon-button-icon-stroke-width, 1.75);
412
419
  }
413
420
 
414
- :scope[data-ui-icon-button-state~="size=sm"] {
421
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="size=sm"] {
415
422
  --_icon-button-icon-default: var(--ui-icon-size-sm);
416
423
  }
417
424
 
418
- :scope[data-ui-icon-button-state~="size=lg"] {
425
+ :scope:where([data-component~="ui-icon-button"])[data-ui-icon-button-state~="size=lg"] {
419
426
  --_icon-button-icon-default: var(--ui-icon-size-lg);
420
427
  }
421
428
 
422
429
  /* A component that sets its display still honours the hidden attribute on its root. */
423
- :scope[hidden] {
430
+ :scope:where([data-component~="ui-icon-button"])[hidden] {
424
431
  display: none;
425
432
  }
426
433
  }
@@ -1,16 +1,23 @@
1
- /* Generated by HTML Next 1.0.0-alpha.35. Do not edit. */
2
- @property --ui-icon-size {
1
+ /* Generated by HTML Next 1.0.0-alpha.51. Do not edit. */
2
+ @supports (-moz-appearance: none) {
3
+ :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
4
+ :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
5
+ }
6
+ @supports (-moz-appearance: none) {
7
+ [data-component~="ui-icon"] { --html-next-scope-owner: "ui-icon" !important; }
8
+ }
9
+ @scope ([data-component~="ui-icon"]) to ([data-component], [data-slotted]) {
10
+ /* This component's hooks style the element they are set on, and never a nested one. */
11
+ @property --ui-icon-size {
3
12
  syntax: "*";
4
13
  inherits: false;
5
14
  }
6
- @property --ui-icon-stroke-width {
15
+ @property --ui-icon-stroke-width {
7
16
  syntax: "*";
8
17
  inherits: false;
9
18
  }
10
- @scope ([data-component~="ui-icon"]) to ([data-component], [data-slotted]) {
11
- /* This component's hooks style the element they are set on, and never a nested one. */
12
19
 
13
- :scope {
20
+ :scope:where([data-component~="ui-icon"]) {
14
21
  /* Hooks do not inherit, so the svg reads the stroke from the root. A Looma component that
15
22
  sizes the icons it renders sets --_ui-default-icon-*, which the icon's own hooks override. */
16
23
  --_ui-icon-stroke-width: var(--ui-icon-stroke-width, var(--_ui-default-icon-stroke-width));
@@ -28,7 +35,7 @@
28
35
  }
29
36
 
30
37
  /* A component that sets its display still honours the hidden attribute on its root. */
31
- :scope[hidden] {
38
+ :scope:where([data-component~="ui-icon"])[hidden] {
32
39
  display: none;
33
40
  }
34
41
  }
@@ -1,6 +1,13 @@
1
- /* Generated by HTML Next 1.0.0-alpha.35. Do not edit. */
1
+ /* Generated by HTML Next 1.0.0-alpha.51. Do not edit. */
2
+ @supports (-moz-appearance: none) {
3
+ :where([data-component], [data-slotted]) { --html-next-scope-owner: boundary; }
4
+ :where([data-slotted]:not([data-component])) { --html-next-scope-owner: projected !important; }
5
+ }
6
+ @supports (-moz-appearance: none) {
7
+ [data-component~="ui-image"] { --html-next-scope-owner: "ui-image" !important; }
8
+ }
2
9
  @scope ([data-component~="ui-image"]) to ([data-component], [data-slotted]) {
3
- :scope {
10
+ :scope:where([data-component~="ui-image"]) {
4
11
  display: flex;
5
12
  justify-content: flex-start;
6
13
  box-sizing: border-box;
@@ -9,21 +16,21 @@
9
16
  margin: 0;
10
17
  padding: var(--ui-space-3) 0;
11
18
  }
12
- :scope[data-ui-image-state~="placement=center"] {
19
+ :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=center"] {
13
20
  justify-content: center;
14
21
  }
15
- :scope[data-ui-image-state~="placement=wrap-left"] {
22
+ :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"] {
16
23
  float: left;
17
24
  padding-inline-end: var(--ui-space-4);
18
25
  }
19
- :scope[data-ui-image-state~="placement=wrap-right"] {
26
+ :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"] {
20
27
  float: right;
21
28
  padding-inline-start: var(--ui-space-4);
22
29
  }
23
- :scope:is(:scope[data-ui-image-state~="placement=wrap-left"], :scope[data-ui-image-state~="placement=wrap-right"]) {
30
+ :scope:where([data-component~="ui-image"]):is(:scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"], :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"]) {
24
31
  inline-size: calc(var(--_ui-image-width, calc(100% / 3)) + var(--ui-space-4));
25
32
  }
26
- :scope:is(:scope[data-ui-image-state~="placement=wrap-left"], :scope[data-ui-image-state~="placement=wrap-right"]) .frame {
33
+ :scope:where([data-component~="ui-image"]):is(:scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"], :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"]) .frame {
27
34
  inline-size: 100%;
28
35
  }
29
36
  .frame {
@@ -35,7 +42,7 @@
35
42
  align-self: flex-start;
36
43
  border-radius: var(--ui-radius-md);
37
44
  }
38
- :scope[data-ui-image-state~="selected"] .frame {
45
+ :scope:where([data-component~="ui-image"])[data-ui-image-state~="selected"] .frame {
39
46
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
40
47
  outline-offset: var(--ui-border-width);
41
48
  }
@@ -49,7 +56,7 @@
49
56
  background: transparent;
50
57
  touch-action: none;
51
58
  }
52
- .handle::after {
59
+ .handle:where(:not([data-component], [data-slotted]))::after {
53
60
  content: "";
54
61
  position: absolute;
55
62
  inset: 8px;
@@ -81,16 +88,16 @@
81
88
  right: -12px;
82
89
  cursor: nwse-resize;
83
90
  }
84
- .handles[hidden], :scope[hidden] {
91
+ .handles[hidden], :scope:where([data-component~="ui-image"])[hidden] {
85
92
  display: none;
86
93
  }
87
94
  @media (max-width: 767px) {
88
- :scope:is(:scope[data-ui-image-state~="placement=wrap-left"], :scope[data-ui-image-state~="placement=wrap-right"]) {
95
+ :scope:where([data-component~="ui-image"]):is(:scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"], :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"]) {
89
96
  float: none;
90
97
  inline-size: 100%;
91
98
  padding-inline: 0;
92
99
  }
93
- :scope:is(:scope[data-ui-image-state~="placement=wrap-left"], :scope[data-ui-image-state~="placement=wrap-right"]) .handles {
100
+ :scope:where([data-component~="ui-image"]):is(:scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"], :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"]) .handles {
94
101
  display: none;
95
102
  }
96
103
  }
@@ -99,7 +106,7 @@
99
106
  inline-size: 44px;
100
107
  block-size: 44px;
101
108
  }
102
- .handle::after {
109
+ .handle:where(:not([data-component], [data-slotted]))::after {
103
110
  inset: 18px;
104
111
  }
105
112
  .handle[data-corner="top-left"] {
@@ -120,18 +127,18 @@
120
127
  }
121
128
  }
122
129
  @media (forced-colors: active) {
123
- :scope[data-ui-image-state~="selected"] .frame, .handle:focus-visible {
130
+ :scope:where([data-component~="ui-image"])[data-ui-image-state~="selected"] .frame, .handle:focus-visible {
124
131
  outline-color: Highlight;
125
132
  }
126
- .handle::after {
133
+ .handle:where(:not([data-component], [data-slotted]))::after {
127
134
  border-color: Highlight;
128
135
  background: Canvas;
129
136
  }
130
137
  }
131
138
  }
132
139
  @scope ([data-component~="ui-image"]) to ([data-component]) {
133
- :scope:is(:scope[data-ui-image-state~="placement=wrap-left"], :scope[data-ui-image-state~="placement=wrap-right"]) .frame img,
134
- :scope:is(:scope[data-ui-image-state~="placement=wrap-left"], :scope[data-ui-image-state~="placement=wrap-right"]) .frame :where([data-slotted], [data-slotted] *):is(img) {
140
+ :scope:where([data-component~="ui-image"]):is(:scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"], :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"]) .frame img,
141
+ :scope:where([data-component~="ui-image"]):is(:scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-left"], :scope:where([data-component~="ui-image"])[data-ui-image-state~="placement=wrap-right"]) .frame :where([data-slotted], [data-slotted] *):is(img) {
135
142
  inline-size: 100%;
136
143
  }
137
144
  .frame img, .frame :where([data-slotted], [data-slotted] *):is(img) {
@@ -141,7 +148,7 @@
141
148
  margin: 0;
142
149
  border-radius: inherit;
143
150
  }
144
- :scope[data-resizing] .frame img, :scope[data-resizing] .frame :where([data-slotted], [data-slotted] *):is(img) {
151
+ :scope:where([data-component~="ui-image"])[data-resizing] .frame img, :scope:where([data-component~="ui-image"])[data-resizing] .frame :where([data-slotted], [data-slotted] *):is(img) {
145
152
  inline-size: 100%;
146
153
  }
147
154
  @media (max-width: 767px) {