@threadlabs/looma 0.28.5 → 0.28.7

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 (453) hide show
  1. package/components/ui-editor-block-actions/ui-editor-block-actions.html +20 -0
  2. package/components/ui-editor-block-actions/ui-editor-block-actions.js +14 -0
  3. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.html +7 -6
  4. package/components/ui-editor-image-toolbar/ui-editor-image-toolbar.js +2 -1
  5. package/components/ui-editor-link-card/ui-editor-link-card.html +57 -0
  6. package/components/ui-editor-link-card/ui-editor-link-card.js +27 -0
  7. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +3 -2
  8. package/dist/index.js +36 -34
  9. package/package.json +3 -2
  10. package/styles/ui-action-bar.css +13 -6
  11. package/styles/ui-affordance-scope.css +12 -5
  12. package/styles/ui-avatar-group.css +17 -10
  13. package/styles/ui-avatar.css +23 -16
  14. package/styles/ui-badge.css +78 -71
  15. package/styles/ui-breadcrumb-item.css +12 -5
  16. package/styles/ui-breadcrumbs.css +10 -3
  17. package/styles/ui-button.css +79 -72
  18. package/styles/ui-callout.css +29 -22
  19. package/styles/ui-card.css +25 -18
  20. package/styles/ui-checkbox.css +45 -37
  21. package/styles/ui-cluster.css +34 -27
  22. package/styles/ui-combobox.css +46 -39
  23. package/styles/ui-container.css +20 -13
  24. package/styles/ui-context-menu.css +17 -10
  25. package/styles/ui-cover.css +12 -5
  26. package/styles/ui-description-item.css +10 -3
  27. package/styles/ui-description-list.css +20 -13
  28. package/styles/ui-dialog.css +44 -35
  29. package/styles/ui-disclosure.css +32 -25
  30. package/styles/ui-editable.css +15 -8
  31. package/styles/ui-editor-block-actions.css +1 -0
  32. package/styles/ui-editor-image-toolbar.css +1 -1
  33. package/styles/ui-editor-insert-table-grid.css +11 -4
  34. package/styles/ui-editor-link-card.css +1 -0
  35. package/styles/ui-editor-mention-menu-item.css +17 -8
  36. package/styles/ui-editor-mention-menu.css +14 -7
  37. package/styles/ui-editor-slash-menu-group.css +10 -3
  38. package/styles/ui-editor-slash-menu-item.css +15 -8
  39. package/styles/ui-editor-slash-menu.css +15 -8
  40. package/styles/ui-editor-surface.css +10 -3
  41. package/styles/ui-editor-table-context-menu.css +17 -10
  42. package/styles/ui-editor-table-overlay.css +17 -10
  43. package/styles/ui-editor-table-toolbar.css +22 -15
  44. package/styles/ui-editor-toolbar.css +18 -11
  45. package/styles/ui-floating-action-button.css +21 -14
  46. package/styles/ui-form-field.css +20 -13
  47. package/styles/ui-grid.css +21 -14
  48. package/styles/ui-icon-button.css +80 -73
  49. package/styles/ui-icon.css +14 -7
  50. package/styles/ui-image.css +25 -18
  51. package/styles/ui-input-group.css +34 -27
  52. package/styles/ui-input.css +42 -35
  53. package/styles/ui-list-item.css +33 -26
  54. package/styles/ui-list.css +22 -15
  55. package/styles/ui-listbox.css +22 -14
  56. package/styles/ui-menu-group.css +10 -3
  57. package/styles/ui-menu-item.css +29 -22
  58. package/styles/ui-menu.css +25 -18
  59. package/styles/ui-meter.css +36 -29
  60. package/styles/ui-nav-item.css +26 -19
  61. package/styles/ui-page-header.css +12 -5
  62. package/styles/ui-popover.css +27 -20
  63. package/styles/ui-radio-group.css +14 -6
  64. package/styles/ui-radio.css +24 -17
  65. package/styles/ui-reel.css +28 -21
  66. package/styles/ui-scroll-area.css +22 -15
  67. package/styles/ui-search-result-row.css +28 -21
  68. package/styles/ui-search-shell.css +24 -17
  69. package/styles/ui-section.css +14 -7
  70. package/styles/ui-select.css +33 -26
  71. package/styles/ui-separator.css +17 -10
  72. package/styles/ui-sidebar.css +35 -28
  73. package/styles/ui-spinner.css +32 -23
  74. package/styles/ui-stack.css +29 -21
  75. package/styles/ui-status-message.css +14 -7
  76. package/styles/ui-switch.css +29 -22
  77. package/styles/ui-switcher.css +27 -20
  78. package/styles/ui-table.css +14 -7
  79. package/styles/ui-tabs.css +24 -17
  80. package/styles/ui-text.css +35 -28
  81. package/styles/ui-textarea.css +37 -30
  82. package/styles/ui-toast-region.css +74 -63
  83. package/styles/ui-toast.css +21 -14
  84. package/styles/ui-tooltip.css +38 -31
  85. package/styles/ui-top-bar.css +19 -12
  86. package/styles/ui-tree-item.css +79 -71
  87. package/styles/ui-tree.css +18 -11
  88. package/vanilla/UiActionBar.d.ts +1 -1
  89. package/vanilla/UiActionBar.js +1 -1
  90. package/vanilla/UiAffordanceScope.d.ts +1 -1
  91. package/vanilla/UiAffordanceScope.js +1 -1
  92. package/vanilla/UiAvatar.d.ts +1 -1
  93. package/vanilla/UiAvatar.js +1 -1
  94. package/vanilla/UiAvatarGroup.d.ts +1 -1
  95. package/vanilla/UiAvatarGroup.js +1 -1
  96. package/vanilla/UiBadge.d.ts +1 -1
  97. package/vanilla/UiBadge.js +1 -1
  98. package/vanilla/UiBreadcrumbItem.d.ts +1 -1
  99. package/vanilla/UiBreadcrumbItem.js +1 -1
  100. package/vanilla/UiBreadcrumbs.d.ts +1 -1
  101. package/vanilla/UiBreadcrumbs.js +1 -1
  102. package/vanilla/UiButton.d.ts +1 -1
  103. package/vanilla/UiButton.js +19 -57
  104. package/vanilla/UiCallout.d.ts +1 -1
  105. package/vanilla/UiCallout.js +25 -73
  106. package/vanilla/UiCard.d.ts +1 -1
  107. package/vanilla/UiCard.js +1 -1
  108. package/vanilla/UiCheckbox.d.ts +1 -1
  109. package/vanilla/UiCheckbox.js +1 -1
  110. package/vanilla/UiCluster.d.ts +1 -1
  111. package/vanilla/UiCluster.js +1 -1
  112. package/vanilla/UiCombobox.d.ts +1 -1
  113. package/vanilla/UiCombobox.js +60 -166
  114. package/vanilla/UiContainer.d.ts +1 -1
  115. package/vanilla/UiContainer.js +1 -1
  116. package/vanilla/UiContextMenu.d.ts +1 -1
  117. package/vanilla/UiContextMenu.js +1 -1
  118. package/vanilla/UiCover.d.ts +1 -1
  119. package/vanilla/UiCover.js +1 -1
  120. package/vanilla/UiDescriptionItem.d.ts +1 -1
  121. package/vanilla/UiDescriptionItem.js +1 -1
  122. package/vanilla/UiDescriptionList.d.ts +1 -1
  123. package/vanilla/UiDescriptionList.js +1 -1
  124. package/vanilla/UiDialog.d.ts +1 -1
  125. package/vanilla/UiDialog.js +4 -10
  126. package/vanilla/UiDisclosure.d.ts +1 -1
  127. package/vanilla/UiDisclosure.js +1 -1
  128. package/vanilla/UiEditable.d.ts +1 -1
  129. package/vanilla/UiEditable.js +7 -19
  130. package/vanilla/UiEditorBlockActions.d.ts +16 -0
  131. package/vanilla/UiEditorBlockActions.js +41 -0
  132. package/vanilla/UiEditorImageToolbar.d.ts +1 -1
  133. package/vanilla/UiEditorImageToolbar.js +2 -2
  134. package/vanilla/UiEditorInsertTableGrid.d.ts +1 -1
  135. package/vanilla/UiEditorInsertTableGrid.js +1 -1
  136. package/vanilla/UiEditorLinkCard.d.ts +20 -0
  137. package/vanilla/UiEditorLinkCard.js +153 -0
  138. package/vanilla/UiEditorMentionMenu.d.ts +1 -1
  139. package/vanilla/UiEditorMentionMenu.js +17 -37
  140. package/vanilla/UiEditorMentionMenuItem.d.ts +1 -1
  141. package/vanilla/UiEditorMentionMenuItem.js +4 -10
  142. package/vanilla/UiEditorSlashMenu.d.ts +1 -1
  143. package/vanilla/UiEditorSlashMenu.js +5 -4
  144. package/vanilla/UiEditorSlashMenuGroup.d.ts +1 -1
  145. package/vanilla/UiEditorSlashMenuGroup.js +1 -1
  146. package/vanilla/UiEditorSlashMenuItem.d.ts +1 -1
  147. package/vanilla/UiEditorSlashMenuItem.js +7 -19
  148. package/vanilla/UiEditorSurface.d.ts +1 -1
  149. package/vanilla/UiEditorSurface.js +1 -1
  150. package/vanilla/UiEditorTableContextMenu.d.ts +1 -1
  151. package/vanilla/UiEditorTableContextMenu.js +6 -14
  152. package/vanilla/UiEditorTableOverlay.d.ts +1 -1
  153. package/vanilla/UiEditorTableOverlay.js +9 -25
  154. package/vanilla/UiEditorTableToolbar.d.ts +1 -1
  155. package/vanilla/UiEditorTableToolbar.js +25 -77
  156. package/vanilla/UiEditorToolbar.d.ts +1 -1
  157. package/vanilla/UiEditorToolbar.js +1 -1
  158. package/vanilla/UiFloatingActionButton.d.ts +1 -1
  159. package/vanilla/UiFloatingActionButton.js +1 -1
  160. package/vanilla/UiFormField.d.ts +1 -1
  161. package/vanilla/UiFormField.js +1 -1
  162. package/vanilla/UiGrid.d.ts +1 -1
  163. package/vanilla/UiGrid.js +1 -1
  164. package/vanilla/UiIcon.d.ts +1 -1
  165. package/vanilla/UiIcon.js +15 -47
  166. package/vanilla/UiIconButton.d.ts +1 -1
  167. package/vanilla/UiIconButton.js +4 -10
  168. package/vanilla/UiImage.d.ts +1 -1
  169. package/vanilla/UiImage.js +1 -1
  170. package/vanilla/UiInput.d.ts +1 -1
  171. package/vanilla/UiInput.js +1 -1
  172. package/vanilla/UiInputGroup.d.ts +1 -1
  173. package/vanilla/UiInputGroup.js +1 -1
  174. package/vanilla/UiList.d.ts +1 -1
  175. package/vanilla/UiList.js +1 -1
  176. package/vanilla/UiListItem.d.ts +1 -1
  177. package/vanilla/UiListItem.js +1 -1
  178. package/vanilla/UiListbox.d.ts +1 -1
  179. package/vanilla/UiListbox.js +4 -10
  180. package/vanilla/UiMenu.d.ts +1 -1
  181. package/vanilla/UiMenu.js +1 -1
  182. package/vanilla/UiMenuGroup.d.ts +1 -1
  183. package/vanilla/UiMenuGroup.js +4 -10
  184. package/vanilla/UiMenuItem.d.ts +1 -1
  185. package/vanilla/UiMenuItem.js +4 -10
  186. package/vanilla/UiMeter.d.ts +1 -1
  187. package/vanilla/UiMeter.js +13 -33
  188. package/vanilla/UiNavItem.d.ts +1 -1
  189. package/vanilla/UiNavItem.js +1 -1
  190. package/vanilla/UiPageHeader.d.ts +1 -1
  191. package/vanilla/UiPageHeader.js +1 -1
  192. package/vanilla/UiPopover.d.ts +1 -1
  193. package/vanilla/UiPopover.js +1 -1
  194. package/vanilla/UiRadio.d.ts +1 -1
  195. package/vanilla/UiRadio.js +1 -1
  196. package/vanilla/UiRadioGroup.d.ts +1 -1
  197. package/vanilla/UiRadioGroup.js +1 -1
  198. package/vanilla/UiReel.d.ts +1 -1
  199. package/vanilla/UiReel.js +1 -1
  200. package/vanilla/UiScrollArea.d.ts +1 -1
  201. package/vanilla/UiScrollArea.js +1 -1
  202. package/vanilla/UiSearchResultRow.d.ts +1 -1
  203. package/vanilla/UiSearchResultRow.js +1 -1
  204. package/vanilla/UiSearchShell.d.ts +1 -1
  205. package/vanilla/UiSearchShell.js +1 -1
  206. package/vanilla/UiSection.d.ts +1 -1
  207. package/vanilla/UiSection.js +1 -1
  208. package/vanilla/UiSelect.d.ts +1 -1
  209. package/vanilla/UiSelect.js +1 -1
  210. package/vanilla/UiSeparator.d.ts +1 -1
  211. package/vanilla/UiSeparator.js +1 -1
  212. package/vanilla/UiSidebar.d.ts +1 -1
  213. package/vanilla/UiSidebar.js +1 -1
  214. package/vanilla/UiSpinner.d.ts +1 -1
  215. package/vanilla/UiSpinner.js +1 -1
  216. package/vanilla/UiStack.d.ts +1 -1
  217. package/vanilla/UiStack.js +1 -1
  218. package/vanilla/UiStatusMessage.d.ts +1 -1
  219. package/vanilla/UiStatusMessage.js +1 -1
  220. package/vanilla/UiSwitch.d.ts +1 -1
  221. package/vanilla/UiSwitch.js +1 -1
  222. package/vanilla/UiSwitcher.d.ts +1 -1
  223. package/vanilla/UiSwitcher.js +1 -1
  224. package/vanilla/UiTable.d.ts +1 -1
  225. package/vanilla/UiTable.js +1 -1
  226. package/vanilla/UiTabs.d.ts +1 -1
  227. package/vanilla/UiTabs.js +1 -1
  228. package/vanilla/UiText.d.ts +1 -1
  229. package/vanilla/UiText.js +1 -1
  230. package/vanilla/UiTextarea.d.ts +1 -1
  231. package/vanilla/UiTextarea.js +1 -1
  232. package/vanilla/UiToast.d.ts +1 -1
  233. package/vanilla/UiToast.js +1 -1
  234. package/vanilla/UiToastRegion.d.ts +1 -1
  235. package/vanilla/UiToastRegion.js +1 -1
  236. package/vanilla/UiTooltip.d.ts +1 -1
  237. package/vanilla/UiTooltip.js +1 -1
  238. package/vanilla/UiTopBar.d.ts +1 -1
  239. package/vanilla/UiTopBar.js +1 -1
  240. package/vanilla/UiTree.d.ts +1 -1
  241. package/vanilla/UiTree.js +1 -1
  242. package/vanilla/UiTreeItem.d.ts +1 -1
  243. package/vanilla/UiTreeItem.js +7 -19
  244. package/vanilla/index.js +2 -0
  245. package/vue/UiActionBar.vue +46 -78
  246. package/vue/UiAffordanceScope.vue +27 -66
  247. package/vue/UiAvatar.d.ts +10 -7
  248. package/vue/UiAvatar.vue +100 -218
  249. package/vue/UiAvatarGroup.d.ts +10 -7
  250. package/vue/UiAvatarGroup.vue +78 -160
  251. package/vue/UiBadge.d.ts +1 -1
  252. package/vue/UiBadge.vue +483 -520
  253. package/vue/UiBreadcrumbItem.vue +52 -123
  254. package/vue/UiBreadcrumbs.vue +27 -70
  255. package/vue/UiButton.d.ts +2 -2
  256. package/vue/UiButton.vue +420 -471
  257. package/vue/UiCallout.vue +131 -175
  258. package/vue/UiCard.d.ts +1 -1
  259. package/vue/UiCard.vue +112 -151
  260. package/vue/UiCheckbox.d.ts +13 -10
  261. package/vue/UiCheckbox.vue +160 -221
  262. package/vue/UiCluster.d.ts +1 -1
  263. package/vue/UiCluster.vue +84 -128
  264. package/vue/UiCombobox.d.ts +71 -68
  265. package/vue/UiCombobox.vue +417 -743
  266. package/vue/UiContainer.vue +43 -87
  267. package/vue/UiContextMenu.d.ts +6 -6
  268. package/vue/UiContextMenu.vue +78 -117
  269. package/vue/UiCover.vue +29 -69
  270. package/vue/UiDescriptionItem.vue +39 -82
  271. package/vue/UiDescriptionList.vue +64 -107
  272. package/vue/UiDialog.d.ts +22 -19
  273. package/vue/UiDialog.vue +193 -246
  274. package/vue/UiDisclosure.d.ts +22 -19
  275. package/vue/UiDisclosure.vue +192 -283
  276. package/vue/UiEditable.d.ts +5 -5
  277. package/vue/UiEditable.vue +124 -207
  278. package/vue/UiEditorBlockActions.d.ts +33 -0
  279. package/vue/UiEditorBlockActions.js +2 -0
  280. package/vue/UiEditorBlockActions.vue +125 -0
  281. package/vue/UiEditorImageToolbar.d.ts +2 -2
  282. package/vue/UiEditorImageToolbar.vue +45 -256
  283. package/vue/UiEditorInsertTableGrid.d.ts +2 -2
  284. package/vue/UiEditorInsertTableGrid.vue +98 -266
  285. package/vue/UiEditorLinkCard.d.ts +58 -0
  286. package/vue/UiEditorLinkCard.js +2 -0
  287. package/vue/UiEditorLinkCard.vue +319 -0
  288. package/vue/UiEditorMentionMenu.d.ts +15 -12
  289. package/vue/UiEditorMentionMenu.vue +150 -239
  290. package/vue/UiEditorMentionMenuItem.vue +66 -110
  291. package/vue/UiEditorSlashMenu.d.ts +16 -13
  292. package/vue/UiEditorSlashMenu.vue +172 -253
  293. package/vue/UiEditorSlashMenuGroup.vue +25 -69
  294. package/vue/UiEditorSlashMenuItem.vue +67 -115
  295. package/vue/UiEditorSurface.vue +19 -63
  296. package/vue/UiEditorTableContextMenu.vue +135 -269
  297. package/vue/UiEditorTableOverlay.d.ts +2 -2
  298. package/vue/UiEditorTableOverlay.vue +310 -479
  299. package/vue/UiEditorTableToolbar.d.ts +2 -2
  300. package/vue/UiEditorTableToolbar.vue +182 -357
  301. package/vue/UiEditorToolbar.vue +143 -183
  302. package/vue/UiFloatingActionButton.vue +70 -114
  303. package/vue/UiFormField.d.ts +1 -1
  304. package/vue/UiFormField.vue +76 -117
  305. package/vue/UiGrid.d.ts +1 -1
  306. package/vue/UiGrid.vue +65 -103
  307. package/vue/UiIcon.vue +32 -106
  308. package/vue/UiIconButton.d.ts +2 -2
  309. package/vue/UiIconButton.vue +359 -411
  310. package/vue/UiImage.vue +145 -180
  311. package/vue/UiInput.vue +158 -190
  312. package/vue/UiInputGroup.vue +199 -239
  313. package/vue/UiList.vue +67 -109
  314. package/vue/UiListItem.vue +154 -201
  315. package/vue/UiListbox.d.ts +10 -7
  316. package/vue/UiListbox.vue +86 -260
  317. package/vue/UiMenu.d.ts +11 -11
  318. package/vue/UiMenu.vue +118 -152
  319. package/vue/UiMenuGroup.vue +21 -67
  320. package/vue/UiMenuItem.d.ts +19 -16
  321. package/vue/UiMenuItem.vue +169 -262
  322. package/vue/UiMeter.d.ts +4 -4
  323. package/vue/UiMeter.vue +166 -680
  324. package/vue/UiNavItem.vue +140 -213
  325. package/vue/UiPageHeader.vue +81 -127
  326. package/vue/UiPopover.d.ts +7 -7
  327. package/vue/UiPopover.vue +90 -129
  328. package/vue/UiRadio.d.ts +12 -9
  329. package/vue/UiRadio.vue +91 -149
  330. package/vue/UiRadioGroup.d.ts +2 -2
  331. package/vue/UiRadioGroup.vue +47 -85
  332. package/vue/UiReel.vue +89 -130
  333. package/vue/UiScrollArea.d.ts +1 -1
  334. package/vue/UiScrollArea.vue +78 -119
  335. package/vue/UiSearchResultRow.vue +96 -149
  336. package/vue/UiSearchShell.d.ts +2 -2
  337. package/vue/UiSearchShell.vue +159 -196
  338. package/vue/UiSection.vue +105 -149
  339. package/vue/UiSelect.d.ts +1 -1
  340. package/vue/UiSelect.vue +114 -146
  341. package/vue/UiSeparator.vue +42 -85
  342. package/vue/UiSidebar.d.ts +10 -7
  343. package/vue/UiSidebar.vue +193 -260
  344. package/vue/UiSpinner.vue +54 -130
  345. package/vue/UiStack.vue +66 -107
  346. package/vue/UiStatusMessage.d.ts +1 -1
  347. package/vue/UiStatusMessage.vue +61 -135
  348. package/vue/UiSwitch.d.ts +12 -9
  349. package/vue/UiSwitch.vue +136 -194
  350. package/vue/UiSwitcher.vue +69 -107
  351. package/vue/UiTable.vue +121 -156
  352. package/vue/UiTabs.d.ts +1 -1
  353. package/vue/UiTabs.vue +139 -267
  354. package/vue/UiText.d.ts +4 -4
  355. package/vue/UiText.vue +145 -184
  356. package/vue/UiTextarea.d.ts +2 -2
  357. package/vue/UiTextarea.vue +162 -194
  358. package/vue/UiToast.vue +70 -118
  359. package/vue/UiToastRegion.vue +157 -276
  360. package/vue/UiTooltip.d.ts +21 -18
  361. package/vue/UiTooltip.vue +174 -234
  362. package/vue/UiTopBar.vue +48 -76
  363. package/vue/UiTree.vue +46 -79
  364. package/vue/UiTreeItem.d.ts +18 -15
  365. package/vue/UiTreeItem.vue +526 -668
  366. package/vue/chunks/UiActionBar.js +5 -17
  367. package/vue/chunks/UiAffordanceScope.js +7 -26
  368. package/vue/chunks/UiAvatar.js +20 -74
  369. package/vue/chunks/UiAvatarGroup.js +14 -56
  370. package/vue/chunks/UiBadge.js +10 -28
  371. package/vue/chunks/UiBreadcrumbItem.js +11 -41
  372. package/vue/chunks/UiBreadcrumbs.js +7 -25
  373. package/vue/chunks/UiButton.js +80 -103
  374. package/vue/chunks/UiCallout.js +9 -27
  375. package/vue/chunks/UiCard.js +33 -53
  376. package/vue/chunks/UiCheckbox.js +14 -46
  377. package/vue/chunks/UiCluster.js +13 -31
  378. package/vue/chunks/UiCombobox.js +99 -237
  379. package/vue/chunks/UiContainer.js +9 -27
  380. package/vue/chunks/UiContextMenu.js +7 -26
  381. package/vue/chunks/UiCover.js +7 -25
  382. package/vue/chunks/UiDescriptionItem.js +6 -24
  383. package/vue/chunks/UiDescriptionList.js +9 -27
  384. package/vue/chunks/UiDialog.js +18 -47
  385. package/vue/chunks/UiDisclosure.js +19 -66
  386. package/vue/chunks/UiEditable.js +18 -60
  387. package/vue/chunks/UiEditorBlockActions.js +127 -0
  388. package/vue/chunks/UiEditorImageToolbar.js +40 -127
  389. package/vue/chunks/UiEditorInsertTableGrid.js +14 -112
  390. package/vue/chunks/UiEditorLinkCard.js +356 -0
  391. package/vue/chunks/UiEditorMentionMenu.js +16 -54
  392. package/vue/chunks/UiEditorMentionMenuItem.js +10 -28
  393. package/vue/chunks/UiEditorSlashMenu.js +17 -46
  394. package/vue/chunks/UiEditorSlashMenuGroup.js +7 -25
  395. package/vue/chunks/UiEditorSlashMenuItem.js +16 -31
  396. package/vue/chunks/UiEditorSurface.js +7 -25
  397. package/vue/chunks/UiEditorTableContextMenu.js +25 -102
  398. package/vue/chunks/UiEditorTableOverlay.js +41 -104
  399. package/vue/chunks/UiEditorTableToolbar.js +44 -122
  400. package/vue/chunks/UiEditorToolbar.js +7 -26
  401. package/vue/chunks/UiFloatingActionButton.js +10 -28
  402. package/vue/chunks/UiFormField.js +8 -27
  403. package/vue/chunks/UiGrid.js +10 -28
  404. package/vue/chunks/UiIcon.js +21 -74
  405. package/vue/chunks/UiIconButton.js +18 -50
  406. package/vue/chunks/UiImage.js +14 -33
  407. package/vue/chunks/UiInput.js +12 -31
  408. package/vue/chunks/UiInputGroup.js +10 -29
  409. package/vue/chunks/UiList.js +17 -37
  410. package/vue/chunks/UiListItem.js +12 -30
  411. package/vue/chunks/UiListbox.js +22 -124
  412. package/vue/chunks/UiMenu.js +13 -32
  413. package/vue/chunks/UiMenuGroup.js +8 -26
  414. package/vue/chunks/UiMenuItem.js +35 -80
  415. package/vue/chunks/UiMeter.js +17 -351
  416. package/vue/chunks/UiNavItem.js +23 -57
  417. package/vue/chunks/UiPageHeader.js +7 -25
  418. package/vue/chunks/UiPopover.js +9 -28
  419. package/vue/chunks/UiRadio.js +11 -43
  420. package/vue/chunks/UiRadioGroup.js +13 -32
  421. package/vue/chunks/UiReel.js +10 -28
  422. package/vue/chunks/UiScrollArea.js +10 -29
  423. package/vue/chunks/UiSearchResultRow.js +10 -28
  424. package/vue/chunks/UiSearchShell.js +9 -28
  425. package/vue/chunks/UiSection.js +9 -27
  426. package/vue/chunks/UiSelect.js +10 -29
  427. package/vue/chunks/UiSeparator.js +10 -28
  428. package/vue/chunks/UiSidebar.js +15 -47
  429. package/vue/chunks/UiSpinner.js +8 -44
  430. package/vue/chunks/UiStack.js +12 -30
  431. package/vue/chunks/UiStatusMessage.js +10 -42
  432. package/vue/chunks/UiSwitch.js +11 -43
  433. package/vue/chunks/UiSwitcher.js +9 -28
  434. package/vue/chunks/UiTable.js +7 -26
  435. package/vue/chunks/UiTabs.js +15 -91
  436. package/vue/chunks/UiText.js +148 -168
  437. package/vue/chunks/UiTextarea.js +16 -35
  438. package/vue/chunks/UiToast.js +13 -37
  439. package/vue/chunks/UiToastRegion.js +16 -88
  440. package/vue/chunks/UiTooltip.js +14 -46
  441. package/vue/chunks/UiTopBar.js +5 -17
  442. package/vue/chunks/UiTree.js +13 -32
  443. package/vue/chunks/UiTreeItem.js +34 -90
  444. package/vue/chunks/_plugin-vue_export-helper.js +904 -1
  445. package/vue/chunks/control.js +3 -0
  446. package/vue/chunks/props.js +1 -1
  447. package/vue/components.css +7689 -7617
  448. package/vue/editor/index.js +30 -95
  449. package/vue/editor/primitives.d.ts +8 -2
  450. package/vue/host.ts +999 -14
  451. package/vue/index.d.ts +2 -0
  452. package/vue/index.js +5 -3
  453. 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) {