@threadlabs/looma 0.32.1 → 0.33.0

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 (330) hide show
  1. package/components/shared/icons.js +1 -0
  2. package/components/shared/overlay.js +1 -1
  3. package/components/ui-action-bar/ui-action-bar.html +11 -11
  4. package/components/ui-affordance-scope/ui-affordance-scope.html +2 -2
  5. package/components/ui-avatar/ui-avatar.html +8 -8
  6. package/components/ui-avatar-group/ui-avatar-group.html +14 -14
  7. package/components/ui-avatar-group/ui-avatar-group.js +3 -2
  8. package/components/ui-badge/ui-badge.html +43 -43
  9. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +13 -13
  10. package/components/ui-breadcrumbs/ui-breadcrumbs.html +8 -8
  11. package/components/ui-button/ui-button.html +32 -29
  12. package/components/ui-callout/ui-callout.html +9 -9
  13. package/components/ui-card/ui-card.html +11 -11
  14. package/components/ui-checkbox/ui-checkbox.html +52 -33
  15. package/components/ui-cluster/ui-cluster.html +21 -21
  16. package/components/ui-color-picker/ui-color-picker.html +135 -0
  17. package/components/ui-color-picker/ui-color-picker.js +76 -0
  18. package/components/ui-combobox/ui-combobox.html +43 -43
  19. package/components/ui-container/ui-container.html +7 -7
  20. package/components/ui-context-menu/ui-context-menu.html +9 -9
  21. package/components/ui-cover/ui-cover.html +8 -8
  22. package/components/ui-description-item/ui-description-item.html +7 -7
  23. package/components/ui-description-list/ui-description-list.html +4 -4
  24. package/components/ui-dialog/ui-dialog.html +26 -26
  25. package/components/ui-disclosure/ui-disclosure.html +23 -23
  26. package/components/ui-editable/ui-editable.html +16 -16
  27. package/components/ui-editor-insert-table-grid/ui-editor-insert-table-grid.html +9 -9
  28. package/components/ui-editor-link-form/ui-editor-link-form.html +1 -2
  29. package/components/ui-editor-mention-menu/ui-editor-mention-menu.html +23 -23
  30. package/components/ui-editor-mention-menu-item/ui-editor-mention-menu-item.html +10 -10
  31. package/components/ui-editor-slash-menu/ui-editor-slash-menu.html +29 -29
  32. package/components/ui-editor-slash-menu-group/ui-editor-slash-menu-group.html +5 -5
  33. package/components/ui-editor-slash-menu-item/ui-editor-slash-menu-item.html +11 -11
  34. package/components/ui-editor-surface/ui-editor-surface.html +2 -2
  35. package/components/ui-editor-table-context-menu/ui-editor-table-context-menu.html +25 -25
  36. package/components/ui-editor-table-overlay/ui-editor-table-overlay.html +13 -13
  37. package/components/ui-editor-table-toolbar/ui-editor-table-toolbar.html +31 -31
  38. package/components/ui-editor-toolbar/ui-editor-toolbar.html +13 -13
  39. package/components/ui-floating-action-button/ui-floating-action-button.html +8 -8
  40. package/components/ui-form-field/ui-form-field.html +15 -15
  41. package/components/ui-form-field/ui-form-field.js +12 -4
  42. package/components/ui-grid/ui-grid.html +4 -4
  43. package/components/ui-icon/ui-icon.html +3 -2
  44. package/components/ui-icon-button/ui-icon-button.html +15 -14
  45. package/components/ui-image/ui-image.html +14 -14
  46. package/components/ui-input/ui-input.html +8 -8
  47. package/components/ui-input-group/ui-input-group.html +18 -18
  48. package/components/ui-list/ui-list.html +11 -11
  49. package/components/ui-list-item/ui-list-item.html +18 -18
  50. package/components/ui-listbox/ui-listbox.html +10 -10
  51. package/components/ui-menu/ui-menu.html +18 -17
  52. package/components/ui-menu-group/ui-menu-group.html +4 -4
  53. package/components/ui-menu-item/ui-menu-item.html +20 -20
  54. package/components/ui-meter/ui-meter.html +5 -5
  55. package/components/ui-nav-item/ui-nav-item.html +20 -20
  56. package/components/ui-page-header/ui-page-header.html +18 -17
  57. package/components/ui-popover/ui-popover.html +8 -8
  58. package/components/ui-radio/ui-radio.html +25 -17
  59. package/components/ui-radio-group/ui-radio-group.html +10 -10
  60. package/components/ui-reel/ui-reel.html +5 -5
  61. package/components/ui-scroll-area/ui-scroll-area.html +10 -10
  62. package/components/ui-search-result-row/ui-search-result-row.html +19 -19
  63. package/components/ui-search-shell/ui-search-shell.html +22 -22
  64. package/components/ui-section/ui-section.html +24 -23
  65. package/components/ui-select/ui-select.html +10 -10
  66. package/components/ui-separator/ui-separator.html +2 -2
  67. package/components/ui-sidebar/ui-sidebar.html +8 -8
  68. package/components/ui-spinner/ui-spinner.html +6 -6
  69. package/components/ui-stack/ui-stack.html +12 -12
  70. package/components/ui-status-message/ui-status-message.html +17 -17
  71. package/components/ui-swatch/ui-swatch.html +2 -2
  72. package/components/ui-switch/ui-switch.html +36 -26
  73. package/components/ui-switcher/ui-switcher.html +7 -7
  74. package/components/ui-table/ui-table.html +6 -6
  75. package/components/ui-tabs/ui-tabs.html +16 -15
  76. package/components/ui-text/ui-text.html +3 -2
  77. package/components/ui-textarea/ui-textarea.html +10 -10
  78. package/components/ui-toast/ui-toast.html +9 -9
  79. package/components/ui-toast-region/ui-toast-region.html +12 -12
  80. package/components/ui-tooltip/ui-tooltip.html +15 -15
  81. package/components/ui-top-bar/ui-top-bar.html +11 -11
  82. package/components/ui-tree/ui-tree.html +5 -5
  83. package/components/ui-tree-item/ui-tree-item.html +36 -36
  84. package/dist/index.js +46 -45
  85. package/package.json +3 -2
  86. package/styles/ui-action-bar.css +11 -11
  87. package/styles/ui-affordance-scope.css +2 -2
  88. package/styles/ui-avatar-group.css +14 -14
  89. package/styles/ui-avatar.css +8 -8
  90. package/styles/ui-badge.css +41 -41
  91. package/styles/ui-breadcrumb-item.css +13 -13
  92. package/styles/ui-breadcrumbs.css +8 -8
  93. package/styles/ui-button.css +30 -28
  94. package/styles/ui-callout.css +9 -9
  95. package/styles/ui-card.css +11 -11
  96. package/styles/ui-checkbox.css +52 -33
  97. package/styles/ui-cluster.css +21 -21
  98. package/styles/ui-color-picker.css +120 -0
  99. package/styles/ui-combobox.css +86 -86
  100. package/styles/ui-container.css +7 -7
  101. package/styles/ui-context-menu.css +9 -9
  102. package/styles/ui-cover.css +8 -8
  103. package/styles/ui-description-item.css +7 -7
  104. package/styles/ui-description-list.css +4 -4
  105. package/styles/ui-dialog.css +52 -52
  106. package/styles/ui-disclosure.css +23 -23
  107. package/styles/ui-editable.css +16 -16
  108. package/styles/ui-editor-insert-table-grid.css +9 -9
  109. package/styles/ui-editor-mention-menu-item.css +10 -10
  110. package/styles/ui-editor-mention-menu.css +23 -23
  111. package/styles/ui-editor-slash-menu-group.css +5 -5
  112. package/styles/ui-editor-slash-menu-item.css +11 -11
  113. package/styles/ui-editor-slash-menu.css +29 -29
  114. package/styles/ui-editor-surface.css +2 -2
  115. package/styles/ui-editor-table-context-menu.css +25 -25
  116. package/styles/ui-editor-table-overlay.css +13 -13
  117. package/styles/ui-editor-table-toolbar.css +31 -31
  118. package/styles/ui-editor-toolbar.css +13 -13
  119. package/styles/ui-floating-action-button.css +8 -8
  120. package/styles/ui-form-field.css +13 -13
  121. package/styles/ui-grid.css +4 -4
  122. package/styles/ui-icon-button.css +13 -13
  123. package/styles/ui-icon.css +2 -2
  124. package/styles/ui-image.css +14 -14
  125. package/styles/ui-input-group.css +18 -18
  126. package/styles/ui-input.css +8 -8
  127. package/styles/ui-list-item.css +18 -18
  128. package/styles/ui-list.css +11 -11
  129. package/styles/ui-listbox.css +20 -20
  130. package/styles/ui-menu-group.css +4 -4
  131. package/styles/ui-menu-item.css +20 -20
  132. package/styles/ui-menu.css +16 -16
  133. package/styles/ui-meter.css +5 -5
  134. package/styles/ui-nav-item.css +20 -20
  135. package/styles/ui-page-header.css +18 -17
  136. package/styles/ui-popover.css +8 -8
  137. package/styles/ui-radio-group.css +10 -10
  138. package/styles/ui-radio.css +26 -18
  139. package/styles/ui-reel.css +5 -5
  140. package/styles/ui-scroll-area.css +10 -10
  141. package/styles/ui-search-result-row.css +19 -19
  142. package/styles/ui-search-shell.css +22 -22
  143. package/styles/ui-section.css +24 -23
  144. package/styles/ui-select.css +10 -10
  145. package/styles/ui-separator.css +2 -2
  146. package/styles/ui-sidebar.css +8 -8
  147. package/styles/ui-spinner.css +6 -6
  148. package/styles/ui-stack.css +12 -12
  149. package/styles/ui-status-message.css +17 -17
  150. package/styles/ui-swatch.css +2 -2
  151. package/styles/ui-switch.css +36 -28
  152. package/styles/ui-switcher.css +7 -7
  153. package/styles/ui-table.css +6 -6
  154. package/styles/ui-tabs.css +11 -11
  155. package/styles/ui-text.css +3 -2
  156. package/styles/ui-textarea.css +10 -10
  157. package/styles/ui-toast-region.css +24 -24
  158. package/styles/ui-toast.css +18 -18
  159. package/styles/ui-tooltip.css +15 -15
  160. package/styles/ui-top-bar.css +11 -11
  161. package/styles/ui-tree-item.css +71 -71
  162. package/styles/ui-tree.css +5 -5
  163. package/theme-system.css +80 -0
  164. package/tokens.css +14 -3
  165. package/vanilla/UiColorPicker.d.ts +30 -0
  166. package/vanilla/UiColorPicker.js +77 -0
  167. package/vanilla/UiIcon.js +1 -1
  168. package/vanilla/index.js +1 -0
  169. package/vue/UiActionBar.vue +11 -11
  170. package/vue/UiAffordanceScope.vue +2 -2
  171. package/vue/UiAvatar.vue +8 -8
  172. package/vue/UiAvatarGroup.vue +14 -14
  173. package/vue/UiBadge.vue +43 -42
  174. package/vue/UiBreadcrumbItem.vue +13 -13
  175. package/vue/UiBreadcrumbs.vue +8 -8
  176. package/vue/UiButton.vue +34 -29
  177. package/vue/UiCallout.vue +9 -9
  178. package/vue/UiCard.vue +11 -11
  179. package/vue/UiCheckbox.vue +57 -34
  180. package/vue/UiCluster.vue +21 -21
  181. package/vue/UiColorPicker.d.ts +65 -0
  182. package/vue/UiColorPicker.js +2 -0
  183. package/vue/UiColorPicker.vue +422 -0
  184. package/vue/UiCombobox.vue +86 -86
  185. package/vue/UiContainer.vue +7 -7
  186. package/vue/UiContextMenu.vue +9 -9
  187. package/vue/UiCover.vue +8 -8
  188. package/vue/UiDescriptionItem.vue +7 -7
  189. package/vue/UiDescriptionList.vue +4 -4
  190. package/vue/UiDialog.vue +52 -52
  191. package/vue/UiDisclosure.vue +23 -23
  192. package/vue/UiEditable.vue +16 -16
  193. package/vue/UiEditorInsertTableGrid.vue +9 -9
  194. package/vue/UiEditorMentionMenu.vue +23 -23
  195. package/vue/UiEditorMentionMenuItem.vue +10 -10
  196. package/vue/UiEditorSlashMenu.vue +29 -29
  197. package/vue/UiEditorSlashMenuGroup.vue +5 -5
  198. package/vue/UiEditorSlashMenuItem.vue +11 -11
  199. package/vue/UiEditorSurface.vue +2 -2
  200. package/vue/UiEditorTableContextMenu.vue +25 -25
  201. package/vue/UiEditorTableOverlay.vue +13 -13
  202. package/vue/UiEditorTableToolbar.vue +31 -31
  203. package/vue/UiEditorToolbar.vue +13 -13
  204. package/vue/UiFloatingActionButton.vue +8 -8
  205. package/vue/UiFormField.vue +14 -14
  206. package/vue/UiGrid.vue +4 -4
  207. package/vue/UiIcon.vue +6 -2
  208. package/vue/UiIconButton.vue +14 -14
  209. package/vue/UiImage.vue +14 -14
  210. package/vue/UiInput.vue +9 -8
  211. package/vue/UiInputGroup.vue +18 -18
  212. package/vue/UiList.vue +11 -11
  213. package/vue/UiListItem.vue +18 -18
  214. package/vue/UiListbox.vue +20 -20
  215. package/vue/UiMenu.vue +16 -16
  216. package/vue/UiMenuGroup.vue +4 -4
  217. package/vue/UiMenuItem.vue +20 -20
  218. package/vue/UiMeter.vue +5 -5
  219. package/vue/UiNavItem.vue +20 -20
  220. package/vue/UiPageHeader.vue +18 -17
  221. package/vue/UiPopover.vue +8 -8
  222. package/vue/UiRadio.vue +28 -17
  223. package/vue/UiRadioGroup.vue +10 -10
  224. package/vue/UiReel.vue +5 -5
  225. package/vue/UiScrollArea.vue +10 -10
  226. package/vue/UiSearchResultRow.vue +19 -19
  227. package/vue/UiSearchShell.vue +22 -22
  228. package/vue/UiSection.vue +24 -23
  229. package/vue/UiSelect.vue +11 -10
  230. package/vue/UiSeparator.vue +2 -2
  231. package/vue/UiSidebar.vue +8 -8
  232. package/vue/UiSpinner.vue +6 -6
  233. package/vue/UiStack.vue +12 -12
  234. package/vue/UiStatusMessage.vue +17 -17
  235. package/vue/UiSwatch.vue +2 -2
  236. package/vue/UiSwitch.vue +38 -25
  237. package/vue/UiSwitcher.vue +7 -7
  238. package/vue/UiTable.vue +6 -6
  239. package/vue/UiTabs.vue +13 -13
  240. package/vue/UiText.vue +3 -2
  241. package/vue/UiTextarea.vue +10 -10
  242. package/vue/UiToast.vue +18 -18
  243. package/vue/UiToastRegion.vue +24 -24
  244. package/vue/UiTooltip.vue +15 -15
  245. package/vue/UiTopBar.vue +11 -11
  246. package/vue/UiTree.vue +5 -5
  247. package/vue/UiTreeItem.vue +73 -71
  248. package/vue/chunks/UiActionBar.js +1 -1
  249. package/vue/chunks/UiAffordanceScope.js +1 -1
  250. package/vue/chunks/UiAvatar.js +1 -1
  251. package/vue/chunks/UiAvatarGroup.js +1 -1
  252. package/vue/chunks/UiBadge.js +2 -2
  253. package/vue/chunks/UiBreadcrumbItem.js +1 -1
  254. package/vue/chunks/UiBreadcrumbs.js +1 -1
  255. package/vue/chunks/UiButton.js +2 -2
  256. package/vue/chunks/UiCallout.js +1 -1
  257. package/vue/chunks/UiCard.js +1 -1
  258. package/vue/chunks/UiCheckbox.js +1 -1
  259. package/vue/chunks/UiCluster.js +1 -1
  260. package/vue/chunks/UiColorPicker.js +326 -0
  261. package/vue/chunks/UiCombobox.js +1 -1
  262. package/vue/chunks/UiContainer.js +1 -1
  263. package/vue/chunks/UiContextMenu.js +1 -1
  264. package/vue/chunks/UiCover.js +1 -1
  265. package/vue/chunks/UiDescriptionItem.js +1 -1
  266. package/vue/chunks/UiDescriptionList.js +1 -1
  267. package/vue/chunks/UiDialog.js +1 -1
  268. package/vue/chunks/UiDisclosure.js +1 -1
  269. package/vue/chunks/UiEditable.js +1 -1
  270. package/vue/chunks/UiEditorImageToolbar.js +1 -1
  271. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  272. package/vue/chunks/UiEditorLinkForm.js +1 -1
  273. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  274. package/vue/chunks/UiEditorMentionMenuItem.js +1 -1
  275. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  276. package/vue/chunks/UiEditorSlashMenuGroup.js +1 -1
  277. package/vue/chunks/UiEditorSlashMenuItem.js +1 -1
  278. package/vue/chunks/UiEditorSurface.js +1 -1
  279. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  280. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  281. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  282. package/vue/chunks/UiEditorToolbar.js +1 -1
  283. package/vue/chunks/UiFloatingActionButton.js +1 -1
  284. package/vue/chunks/UiFormField.js +2 -2
  285. package/vue/chunks/UiGrid.js +1 -1
  286. package/vue/chunks/UiIcon.js +5 -1
  287. package/vue/chunks/UiIconButton.js +2 -2
  288. package/vue/chunks/UiImage.js +1 -1
  289. package/vue/chunks/UiInput.js +1 -1
  290. package/vue/chunks/UiInputGroup.js +1 -1
  291. package/vue/chunks/UiList.js +1 -1
  292. package/vue/chunks/UiListItem.js +1 -1
  293. package/vue/chunks/UiListbox.js +1 -1
  294. package/vue/chunks/UiMenu.js +1 -1
  295. package/vue/chunks/UiMenuGroup.js +1 -1
  296. package/vue/chunks/UiMenuItem.js +1 -1
  297. package/vue/chunks/UiMeter.js +1 -1
  298. package/vue/chunks/UiNavItem.js +1 -1
  299. package/vue/chunks/UiPageHeader.js +1 -1
  300. package/vue/chunks/UiPopover.js +1 -1
  301. package/vue/chunks/UiRadio.js +1 -1
  302. package/vue/chunks/UiRadioGroup.js +1 -1
  303. package/vue/chunks/UiReel.js +1 -1
  304. package/vue/chunks/UiScrollArea.js +1 -1
  305. package/vue/chunks/UiSearchResultRow.js +1 -1
  306. package/vue/chunks/UiSearchShell.js +1 -1
  307. package/vue/chunks/UiSection.js +1 -1
  308. package/vue/chunks/UiSelect.js +1 -1
  309. package/vue/chunks/UiSeparator.js +1 -1
  310. package/vue/chunks/UiSidebar.js +1 -1
  311. package/vue/chunks/UiSpinner.js +1 -1
  312. package/vue/chunks/UiStack.js +1 -1
  313. package/vue/chunks/UiStatusMessage.js +1 -1
  314. package/vue/chunks/UiSwatch.js +1 -1
  315. package/vue/chunks/UiSwitch.js +1 -1
  316. package/vue/chunks/UiSwitcher.js +1 -1
  317. package/vue/chunks/UiTable.js +1 -1
  318. package/vue/chunks/UiTabs.js +3 -3
  319. package/vue/chunks/UiText.js +1 -1
  320. package/vue/chunks/UiTextarea.js +1 -1
  321. package/vue/chunks/UiToast.js +1 -1
  322. package/vue/chunks/UiToastRegion.js +1 -1
  323. package/vue/chunks/UiTooltip.js +1 -1
  324. package/vue/chunks/UiTopBar.js +1 -1
  325. package/vue/chunks/UiTree.js +1 -1
  326. package/vue/chunks/UiTreeItem.js +1 -1
  327. package/vue/components.css +1857 -1654
  328. package/vue/editor/index.js +28 -11
  329. package/vue/index.d.ts +1 -0
  330. package/vue/index.js +3 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadlabs/looma",
3
- "version": "0.32.1",
3
+ "version": "0.33.0",
4
4
  "type": "module",
5
5
  "description": "Looma components as HTML, Vue, and plain DOM, with design tokens.",
6
6
  "license": "MIT",
@@ -82,7 +82,8 @@
82
82
  "types": "./editor/expressmark.d.ts",
83
83
  "import": "./editor/expressmark.js",
84
84
  "default": "./editor/expressmark.js"
85
- }
85
+ },
86
+ "./theme-system.css": "./theme-system.css"
86
87
  },
87
88
  "files": [
88
89
  "dist/",
@@ -21,7 +21,7 @@
21
21
  --_ui-action-bar-gap: var(--ui-action-bar-gap);
22
22
 
23
23
  --_gap: var(--ui-space-2);
24
- display: block;
24
+ display: block !important;
25
25
  /* A size container sizes itself from its container, never its content. */
26
26
  container-type: inline-size;
27
27
  inline-size: 100%;
@@ -32,16 +32,16 @@
32
32
  .tertiary,
33
33
  .secondary,
34
34
  .primary {
35
- display: flex;
36
- flex-wrap: wrap;
37
- align-items: center;
38
- gap: var(--_ui-action-bar-gap, var(--_gap));
35
+ display: flex !important;
36
+ flex-wrap: wrap !important;
37
+ align-items: center !important;
38
+ gap: var(--_ui-action-bar-gap, var(--_gap)) !important;
39
39
  }
40
40
 
41
41
  /* The tertiary group takes the spare space, pushing the rest to the end edge; without it, the
42
42
  rest still ends the row. */
43
43
  .bar {
44
- justify-content: flex-end;
44
+ justify-content: flex-end !important;
45
45
  }
46
46
 
47
47
  .tertiary {
@@ -51,7 +51,7 @@
51
51
  .tertiary:empty,
52
52
  .secondary:empty,
53
53
  .primary:empty {
54
- display: none;
54
+ display: none !important;
55
55
  }
56
56
 
57
57
  /* A narrow container stacks the actions full width, primary on top: the row turned on its end,
@@ -61,9 +61,9 @@
61
61
  .tertiary,
62
62
  .secondary,
63
63
  .primary {
64
- flex-direction: column-reverse;
65
- flex-wrap: nowrap;
66
- align-items: stretch;
64
+ flex-direction: column-reverse !important;
65
+ flex-wrap: nowrap !important;
66
+ align-items: stretch !important;
67
67
  }
68
68
 
69
69
  .tertiary {
@@ -73,7 +73,7 @@
73
73
 
74
74
  /* A component that sets its display still honours the hidden attribute on its root. */
75
75
  :scope:where([data-component~="ui-action-bar"])[hidden] {
76
- display: none;
76
+ display: none !important;
77
77
  }
78
78
  }
79
79
  @scope ([data-component~="ui-action-bar"]) to ([data-component]) {
@@ -8,7 +8,7 @@
8
8
  }
9
9
  @scope ([data-component~="ui-affordance-scope"]) to ([data-component], [data-slotted]) {
10
10
  :scope:where([data-component~="ui-affordance-scope"]) {
11
- display: contents;
11
+ display: contents !important;
12
12
  --ui-affordance-scope-engaged: 0;
13
13
  --ui-affordance-scope-guide: 1;
14
14
  }
@@ -24,7 +24,7 @@
24
24
 
25
25
  /* A component that sets its display still honours the hidden attribute on its root. */
26
26
  :scope:where([data-component~="ui-affordance-scope"])[hidden] {
27
- display: none;
27
+ display: none !important;
28
28
  }
29
29
  }
30
30
  @scope ([data-component~="ui-affordance-scope"]) to ([data-component]) {
@@ -26,10 +26,10 @@
26
26
  * a white gap out of the avatar underneath. */
27
27
  --_overlap-shadow: -1px 0 0 0 rgb(0 0 0 / 0.22);
28
28
 
29
- display: flex;
30
- align-items: center;
31
- flex-direction: row;
32
- gap: 0;
29
+ display: flex !important;
30
+ align-items: center !important;
31
+ flex-direction: row !important;
32
+ gap: 0 !important;
33
33
  }
34
34
 
35
35
  /* Overlap and the separating shadow are applied by the controller: slotted avatars are nested
@@ -40,10 +40,10 @@
40
40
  }
41
41
 
42
42
  .overflow {
43
- margin-inline-start: -0.5rem;
44
- display: inline-flex;
45
- align-items: center;
46
- justify-content: center;
43
+ margin-inline-start: -0.5rem !important;
44
+ display: inline-flex !important;
45
+ align-items: center !important;
46
+ justify-content: center !important;
47
47
  inline-size: 2.5rem;
48
48
  block-size: 2.5rem;
49
49
  border-radius: var(--ui-radius-round);
@@ -60,13 +60,13 @@
60
60
  }
61
61
 
62
62
  :scope:where([data-component~="ui-avatar-group"])[data-ui-avatar-group-state~="size=sm"] .overflow {
63
- margin-inline-start: -0.25rem;
63
+ margin-inline-start: -0.25rem !important;
64
64
  inline-size: 1.75rem;
65
65
  block-size: 1.75rem;
66
66
  }
67
67
 
68
68
  :scope:where([data-component~="ui-avatar-group"])[data-ui-avatar-group-state~="size=xs"] .overflow {
69
- margin-inline-start: -0.1875rem;
69
+ margin-inline-start: -0.1875rem !important;
70
70
  inline-size: 1.25rem;
71
71
  block-size: 1.25rem;
72
72
  /* Matches the xs Avatar's initials. */
@@ -75,12 +75,12 @@
75
75
  }
76
76
 
77
77
  .overflow[hidden] {
78
- display: none;
78
+ display: none !important;
79
79
  }
80
80
 
81
81
  /* A component that sets its display still honours the hidden attribute on its root. */
82
82
  :scope:where([data-component~="ui-avatar-group"])[hidden] {
83
- display: none;
83
+ display: none !important;
84
84
  }
85
85
  }
86
86
  @scope ([data-component~="ui-avatar-group"]) to ([data-component]) {
@@ -89,12 +89,12 @@
89
89
  /* Overlap and the separating shadow are applied by the controller: slotted avatars are nested
90
90
  * component roots outside this style scope. */
91
91
  :where([data-slotted], [data-slotted] *):is(*) {
92
- margin-inline-start: -0.5rem;
92
+ margin-inline-start: -0.5rem !important;
93
93
  flex-shrink: 0;
94
94
  }
95
95
 
96
96
  :where([data-slotted], [data-slotted] *):is(*:first-child) {
97
- margin-inline-start: 0;
97
+ margin-inline-start: 0 !important;
98
98
  }
99
99
 
100
100
  /* A component that sets its display still honours the hidden attribute on its root. */
@@ -31,7 +31,7 @@
31
31
 
32
32
  :scope:where([data-component~="ui-avatar"]) {
33
33
  --_ui-default-icon-size: 1.25rem;
34
- display: inline-grid;
34
+ display: inline-grid !important;
35
35
  place-items: center;
36
36
  overflow: hidden;
37
37
  inline-size: 2.5rem;
@@ -85,9 +85,9 @@
85
85
 
86
86
  .fallback {
87
87
  grid-area: 1 / 1;
88
- display: inline-flex;
89
- align-items: center;
90
- justify-content: center;
88
+ display: inline-flex !important;
89
+ align-items: center !important;
90
+ justify-content: center !important;
91
91
  inline-size: 100%;
92
92
  block-size: 100%;
93
93
  }
@@ -97,21 +97,21 @@
97
97
  * Trimming applies to block containers, so the box is a block with centred content. */
98
98
  @supports (text-box-trim: trim-both) {
99
99
  .fallback {
100
- display: block;
100
+ display: block !important;
101
101
  text-align: center;
102
- align-content: center;
102
+ align-content: center !important;
103
103
  text-box-trim: trim-both;
104
104
  text-box-edge: cap alphabetic;
105
105
  }
106
106
  }
107
107
 
108
108
  [hidden] {
109
- display: none;
109
+ display: none !important;
110
110
  }
111
111
 
112
112
  /* A component that sets its display still honours the hidden attribute on its root. */
113
113
  :scope:where([data-component~="ui-avatar"])[hidden] {
114
- display: none;
114
+ display: none !important;
115
115
  }
116
116
  }
117
117
  @scope ([data-component~="ui-avatar"]) to ([data-component]) {
@@ -85,14 +85,14 @@
85
85
  --_badge-color-text: var(--_badge-color-ink);
86
86
  --_badge-outline-surface: var(--ui-badge-surface, var(--_badge-color-surface, var(--_badge-surface)));
87
87
 
88
- display: inline-flex;
89
- align-items: center;
90
- justify-content: center;
91
- gap: var(--ui-space-1);
92
- box-sizing: border-box;
88
+ display: inline-flex !important;
89
+ align-items: center !important;
90
+ justify-content: center !important;
91
+ gap: var(--ui-space-1) !important;
92
+ box-sizing: border-box !important;
93
93
  min-inline-size: 0;
94
94
  max-inline-size: 100%;
95
- padding: var(--ui-badge-padding-block, var(--ui-space-0-5)) var(--ui-badge-padding-inline, var(--ui-space-2));
95
+ padding: var(--ui-badge-padding-block, var(--ui-space-0-5)) var(--ui-badge-padding-inline, var(--ui-space-2)) !important;
96
96
  border: var(--ui-border-width) solid var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
97
97
  border-radius: var(--ui-radius-round);
98
98
  background: var(--_badge-outline-surface);
@@ -107,26 +107,26 @@
107
107
  /* A constrained badge keeps its surface intact and ellipsizes only its label. The full
108
108
  text stays in the DOM for accessible names and consumers' selected values. */
109
109
  .label {
110
- display: block;
110
+ display: block !important;
111
111
  min-inline-size: 0;
112
112
  overflow: hidden;
113
113
  text-overflow: ellipsis;
114
114
  }
115
115
 
116
116
  .label:empty {
117
- display: none;
117
+ display: none !important;
118
118
  }
119
119
 
120
120
  /* Icon content has its own flex item so label ellipsis never clips its strokes. */
121
121
  .icon {
122
- display: inline-flex;
123
- align-items: center;
124
- justify-content: center;
122
+ display: inline-flex !important;
123
+ align-items: center !important;
124
+ justify-content: center !important;
125
125
  flex: none;
126
126
  }
127
127
 
128
128
  .icon:empty {
129
- display: none;
129
+ display: none !important;
130
130
  }
131
131
 
132
132
  /* Ordinary icon-plus-text children keep inline ellipsis, with explicit glyph spacing. */
@@ -139,15 +139,15 @@
139
139
  Vertical ink remains visible so trimming never cuts off ascenders or descenders. */
140
140
  @supports (text-box-trim: trim-both) {
141
141
  :scope:where([data-component~="ui-badge"]) {
142
- display: inline-block;
142
+ display: inline-block !important;
143
143
  min-block-size: var(--ui-badge-min-block-size, 1.5rem);
144
144
  text-align: center;
145
- align-content: center;
145
+ align-content: center !important;
146
146
  text-box-trim: none;
147
147
  }
148
148
  :scope:where([data-component~="ui-badge"]):has(.icon:not(:empty)),
149
149
  :scope:where([data-component~="ui-badge"]):has(.label svg) {
150
- display: inline-flex;
150
+ display: inline-flex !important;
151
151
  text-box-trim: none;
152
152
  }
153
153
  .label:not(:has(svg)) {
@@ -159,12 +159,12 @@
159
159
  }
160
160
 
161
161
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="size=xs"] {
162
- box-sizing: border-box;
162
+ box-sizing: border-box !important;
163
163
  min-inline-size: 1rem;
164
164
  min-block-size: var(--ui-badge-min-block-size, 1rem);
165
165
  /* Compact text still needs room at both rounded edges. Fixed marks override this
166
166
  padding below; ordinary text badges retain their larger spacing. */
167
- padding: var(--ui-badge-padding-block, 0) var(--ui-badge-padding-inline, var(--ui-space-1));
167
+ padding: var(--ui-badge-padding-block, 0) var(--ui-badge-padding-inline, var(--ui-space-1)) !important;
168
168
  font-size: var(--ui-badge-font-size, var(--ui-font-size-2xs));
169
169
  line-height: var(--ui-badge-line-height, 1);
170
170
  }
@@ -338,14 +338,14 @@
338
338
  /* An icon mark keeps the existing tone recipe and follows the global spacing and radius. */
339
339
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=square"] {
340
340
  --_badge-square-size: var(--ui-badge-square-size, calc(var(--ui-space-4) * 2));
341
- display: inline-flex;
342
- box-sizing: border-box;
341
+ display: inline-flex !important;
342
+ box-sizing: border-box !important;
343
343
  flex: none;
344
344
  inline-size: var(--_badge-square-size);
345
345
  block-size: var(--_badge-square-size);
346
346
  min-inline-size: var(--_badge-square-size);
347
347
  min-block-size: var(--_badge-square-size);
348
- padding: 0;
348
+ padding: 0 !important;
349
349
  border-radius: var(--ui-radius-md);
350
350
  text-box-trim: none;
351
351
  }
@@ -359,25 +359,25 @@
359
359
  }
360
360
 
361
361
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=square"] .label {
362
- display: inline-flex;
363
- align-items: center;
364
- justify-content: center;
362
+ display: inline-flex !important;
363
+ align-items: center !important;
364
+ justify-content: center !important;
365
365
  }
366
366
 
367
367
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=square"] .label:empty {
368
- display: none;
368
+ display: none !important;
369
369
  }
370
370
 
371
371
  /* A visible glyph needs fixed geometry, unlike a content-sized pill or a hidden-label dot. */
372
372
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=circle"] {
373
373
  --_badge-circle-size: var(--ui-badge-circle-size, calc(var(--ui-space-3) * 2));
374
- display: inline-flex;
374
+ display: inline-flex !important;
375
375
  flex: none;
376
376
  inline-size: var(--_badge-circle-size);
377
377
  block-size: var(--_badge-circle-size);
378
378
  min-inline-size: var(--_badge-circle-size);
379
379
  min-block-size: var(--_badge-circle-size);
380
- padding: 0;
380
+ padding: 0 !important;
381
381
  border-radius: var(--ui-radius-round);
382
382
  text-box-trim: none;
383
383
  }
@@ -395,15 +395,15 @@
395
395
  }
396
396
 
397
397
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=circle"] .label {
398
- display: inline-flex;
399
- align-items: center;
400
- justify-content: center;
398
+ display: inline-flex !important;
399
+ align-items: center !important;
400
+ justify-content: center !important;
401
401
  line-height: 1;
402
402
  text-box-trim: none;
403
403
  }
404
404
 
405
405
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=circle"] .label:empty {
406
- display: none;
406
+ display: none !important;
407
407
  }
408
408
 
409
409
  /* Center capital and numeral ink, rather than the font's ascent/descent line box.
@@ -411,7 +411,7 @@
411
411
  @supports (text-box-trim: trim-both) {
412
412
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=circle"] .label:not(:has(svg)),
413
413
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=square"] .label:not(:has(svg)) {
414
- display: block;
414
+ display: block !important;
415
415
  text-box-trim: trim-both;
416
416
  text-box-edge: cap alphabetic;
417
417
  overflow: visible;
@@ -421,13 +421,13 @@
421
421
  /* A dot uses the badge's tone recipe; only its silhouette and visible label change. */
422
422
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=dot"] {
423
423
  position: relative;
424
- box-sizing: border-box;
424
+ box-sizing: border-box !important;
425
425
  flex: none;
426
426
  inline-size: var(--ui-badge-dot-size, var(--ui-space-2));
427
427
  block-size: var(--ui-badge-dot-size, var(--ui-space-2));
428
428
  min-inline-size: var(--ui-badge-dot-size, var(--ui-space-2));
429
429
  min-block-size: var(--ui-badge-dot-size, var(--ui-space-2));
430
- padding: 0;
430
+ padding: 0 !important;
431
431
  border-radius: var(--ui-radius-round);
432
432
  text-box-trim: none;
433
433
  }
@@ -451,7 +451,7 @@
451
451
  border-color: transparent;
452
452
  border-radius: 0;
453
453
  background: var(--ui-badge-border, var(--_badge-color-border, var(--_badge-border)));
454
- padding-inline-end: calc(var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point));
454
+ padding-inline-end: calc(var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)) !important;
455
455
  clip-path: polygon(0 0, calc(100% - var(--_badge-point)) 0, 100% 50%, calc(100% - var(--_badge-point)) 100%, 0 100%);
456
456
  }
457
457
 
@@ -470,8 +470,8 @@
470
470
  }
471
471
 
472
472
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=tag"]:dir(rtl) {
473
- padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2));
474
- padding-inline-start: calc(var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point));
473
+ padding-inline-end: var(--ui-badge-padding-inline, var(--ui-space-2)) !important;
474
+ padding-inline-start: calc(var(--ui-badge-padding-inline, var(--ui-space-2)) + var(--_badge-point)) !important;
475
475
  clip-path: polygon(var(--_badge-point) 0, 100% 0, 100% 100%, var(--_badge-point) 100%, 0 50%);
476
476
  }
477
477
 
@@ -499,7 +499,7 @@
499
499
 
500
500
  /* A component that sets its display still honours the hidden attribute on its root. */
501
501
  :scope:where([data-component~="ui-badge"])[hidden] {
502
- display: none;
502
+ display: none !important;
503
503
  }
504
504
  }
505
505
  @scope ([data-component~="ui-badge"]) to ([data-component]) {
@@ -511,7 +511,7 @@
511
511
  /* Icon content has its own flex item so label ellipsis never clips its strokes. */
512
512
 
513
513
  .icon :where([data-slotted], [data-slotted] *):is(svg) {
514
- display: block;
514
+ display: block !important;
515
515
  inline-size: 1em;
516
516
  block-size: 1em;
517
517
  flex: none;
@@ -522,7 +522,7 @@
522
522
  inline-size: 1em;
523
523
  block-size: 1em;
524
524
  vertical-align: middle;
525
- margin-inline-end: var(--ui-space-1);
525
+ margin-inline-end: var(--ui-space-1) !important;
526
526
  }
527
527
 
528
528
  /* Center the capital/baseline text box, while clipping only inline overflow for ellipsis.
@@ -548,13 +548,13 @@
548
548
  /* An icon mark keeps the existing tone recipe and follows the global spacing and radius. */
549
549
 
550
550
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=square"] .label :where([data-slotted], [data-slotted] *):is(svg) {
551
- margin-inline-end: 0;
551
+ margin-inline-end: 0 !important;
552
552
  }
553
553
 
554
554
  /* A visible glyph needs fixed geometry, unlike a content-sized pill or a hidden-label dot. */
555
555
 
556
556
  :scope:where([data-component~="ui-badge"])[data-ui-badge-state~="shape=circle"] .label :where([data-slotted], [data-slotted] *):is(svg) {
557
- margin-inline-end: 0;
557
+ margin-inline-end: 0 !important;
558
558
  }
559
559
 
560
560
  /* Center capital and numeral ink, rather than the font's ascent/descent line box.
@@ -10,27 +10,27 @@
10
10
  /* One step in a ui-breadcrumbs trail: a link up to that place, or the current view. A chevron leads
11
11
  every step but the first. An icon slotted before the name sits with it. */
12
12
  :scope:where([data-component~="ui-breadcrumb-item"]) {
13
- display: inline-flex;
14
- align-items: center;
15
- gap: var(--ui-space-2);
13
+ display: inline-flex !important;
14
+ align-items: center !important;
15
+ gap: var(--ui-space-2) !important;
16
16
  min-inline-size: 0;
17
- margin: 0;
17
+ margin: 0 !important;
18
18
  }
19
19
 
20
20
  .separator {
21
- display: inline-flex;
21
+ display: inline-flex !important;
22
22
  color: var(--ui-text-muted);
23
23
  font-size: var(--ui-font-size-sm);
24
24
  }
25
25
 
26
26
  :scope:where([data-component~="ui-breadcrumb-item"]):first-child .separator {
27
- display: none;
27
+ display: none !important;
28
28
  }
29
29
 
30
30
  .content {
31
- display: inline-flex;
32
- align-items: center;
33
- gap: var(--ui-space-1);
31
+ display: inline-flex !important;
32
+ align-items: center !important;
33
+ gap: var(--ui-space-1) !important;
34
34
  min-inline-size: 0;
35
35
  }
36
36
 
@@ -41,7 +41,7 @@
41
41
 
42
42
  /* A component that sets its display still honours the hidden attribute on its root. */
43
43
  :scope:where([data-component~="ui-breadcrumb-item"])[hidden] {
44
- display: none;
44
+ display: none !important;
45
45
  }
46
46
  }
47
47
  @scope ([data-component~="ui-breadcrumb-item"]) to ([data-component]) {
@@ -49,9 +49,9 @@
49
49
  every step but the first. An icon slotted before the name sits with it. */
50
50
 
51
51
  .content > :where([data-slotted], [data-slotted] *):is(a) {
52
- display: inline-flex;
53
- align-items: center;
54
- gap: var(--ui-space-1);
52
+ display: inline-flex !important;
53
+ align-items: center !important;
54
+ gap: var(--ui-space-1) !important;
55
55
  color: var(--ui-text-secondary);
56
56
  text-decoration: none;
57
57
  }
@@ -10,25 +10,25 @@
10
10
  /* Where a view sits: a trail of ui-breadcrumb-item, from the top down to the current view. It wraps
11
11
  rather than scrolls, so every step stays reachable. */
12
12
  :scope:where([data-component~="ui-breadcrumbs"]) {
13
- display: block;
13
+ display: block !important;
14
14
  min-inline-size: 0;
15
15
  color: var(--ui-text-muted);
16
16
  font-size: var(--ui-font-size-sm);
17
17
  }
18
18
 
19
19
  ol {
20
- display: flex;
21
- flex-wrap: wrap;
22
- align-items: center;
23
- gap: var(--ui-space-1) var(--ui-space-2);
24
- margin: 0;
25
- padding: 0;
20
+ display: flex !important;
21
+ flex-wrap: wrap !important;
22
+ align-items: center !important;
23
+ gap: var(--ui-space-1) var(--ui-space-2) !important;
24
+ margin: 0 !important;
25
+ padding: 0 !important;
26
26
  list-style: none;
27
27
  }
28
28
 
29
29
  /* A component that sets its display still honours the hidden attribute on its root. */
30
30
  :scope:where([data-component~="ui-breadcrumbs"])[hidden] {
31
- display: none;
31
+ display: none !important;
32
32
  }
33
33
  }
34
34
  @scope ([data-component~="ui-breadcrumbs"]) to ([data-component]) {