ui-style-kit-css 2.4.1 → 2.6.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 (64) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +92 -48
  3. package/dist/ui-style-kit.css +4117 -3544
  4. package/dist/ui-style-kit.min.css +3 -3
  5. package/dist/ui-style-kit.visual.css +4117 -3544
  6. package/dist/ui-style-kit.visual.min.css +3 -3
  7. package/dist/ui-style-kit.with-bridge.css +4117 -3544
  8. package/dist/ui-style-kit.with-bridge.min.css +3 -3
  9. package/dist/visual/art-deco.css +709 -288
  10. package/dist/visual/bauhaus.css +2 -2
  11. package/dist/visual/bento.css +2 -2
  12. package/dist/visual/brutalism.css +494 -100
  13. package/dist/visual/clay.css +2 -2
  14. package/dist/visual/cyberpunk.css +587 -193
  15. package/dist/visual/data-terminal.css +586 -192
  16. package/dist/visual/editorial-luxe.css +589 -195
  17. package/dist/visual/industrial-utility.css +653 -259
  18. package/dist/visual/maximalist.css +571 -177
  19. package/dist/visual/minimal-saas.css +520 -126
  20. package/dist/visual/neo-noir.css +2 -2
  21. package/dist/visual/neumorphism.css +543 -149
  22. package/dist/visual/organic-modern.css +2 -2
  23. package/dist/visual/paper-editorial.css +668 -274
  24. package/dist/visual/retro-glass.css +600 -206
  25. package/dist/visual/retrofuturism.css +548 -154
  26. package/dist/visual/tactile.css +561 -167
  27. package/dist/visual/technical-blueprint.css +627 -225
  28. package/dist/visual/y2k.css +543 -137
  29. package/docs/ART-DECO.md +2 -2
  30. package/docs/BRIDGE-MIGRATION.md +38 -0
  31. package/docs/ECOSYSTEM.md +11 -11
  32. package/docs/PUBLISHING.md +12 -12
  33. package/docs/RELEASE-2.4.2.md +37 -0
  34. package/docs/RELEASE-2.5.0.md +34 -0
  35. package/docs/RELEASE-2.6.0.md +36 -0
  36. package/docs/STYLE-GUIDE.md +10 -0
  37. package/manifest.json +466 -240
  38. package/package.json +32 -4
  39. package/styles/art-deco.css +68 -22
  40. package/styles/bauhaus.css +8 -0
  41. package/styles/bento.css +19 -6
  42. package/styles/brutalism.css +8 -0
  43. package/styles/clay.css +11 -3
  44. package/styles/clean-defaults.css +295 -0
  45. package/styles/component-composition.css +829 -0
  46. package/styles/components.css +79 -0
  47. package/styles/cyberpunk.css +8 -0
  48. package/styles/data-terminal.css +8 -0
  49. package/styles/editorial-luxe.css +8 -0
  50. package/styles/industrial-utility.css +8 -0
  51. package/styles/interactive-surface-theme.css +23 -23
  52. package/styles/maximalist.css +8 -0
  53. package/styles/minimal-saas.css +8 -0
  54. package/styles/native-elements.css +7 -0
  55. package/styles/neo-noir.css +8 -0
  56. package/styles/neumorphism.css +8 -0
  57. package/styles/organic-modern.css +8 -1
  58. package/styles/paper-editorial.css +8 -0
  59. package/styles/retro-glass.css +9 -1
  60. package/styles/retrofuturism.css +8 -0
  61. package/styles/tactile.css +8 -0
  62. package/styles/technical-blueprint.css +16 -1
  63. package/styles/theme-colors.css +3 -0
  64. package/styles/y2k.css +25 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ui-style-kit-css",
3
- "version": "2.4.1",
3
+ "version": "2.6.0",
4
4
  "description": "CSS theme and UI style preset library for accessible websites, dashboards, admin interfaces, and client-facing pages.",
5
5
  "style": "dist/ui-style-kit.css",
6
6
  "main": "dist/ui-style-kit.css",
@@ -72,6 +72,17 @@
72
72
  "./visual/cyberpunk.css": "./dist/visual/cyberpunk.css",
73
73
  "./visual/y2k.css": "./dist/visual/y2k.css",
74
74
  "./visual/retro-glass.css": "./dist/visual/retro-glass.css",
75
+ "./presets/minimal-saas.css": "./dist/visual/minimal-saas.css",
76
+ "./presets/bento.css": "./dist/visual/bento.css",
77
+ "./presets/maximalist.css": "./dist/visual/maximalist.css",
78
+ "./presets/bauhaus.css": "./dist/visual/bauhaus.css",
79
+ "./presets/tactile.css": "./dist/visual/tactile.css",
80
+ "./presets/neumorphism.css": "./dist/visual/neumorphism.css",
81
+ "./presets/retrofuturism.css": "./dist/visual/retrofuturism.css",
82
+ "./presets/brutalism.css": "./dist/visual/brutalism.css",
83
+ "./presets/cyberpunk.css": "./dist/visual/cyberpunk.css",
84
+ "./presets/y2k.css": "./dist/visual/y2k.css",
85
+ "./presets/retro-glass.css": "./dist/visual/retro-glass.css",
75
86
  "./dist/ui-style-kit.css": "./dist/ui-style-kit.css",
76
87
  "./dist/ui-style-kit.min.css": "./dist/ui-style-kit.min.css",
77
88
  "./package.json": "./package.json",
@@ -83,6 +94,14 @@
83
94
  "./styles/native-elements.css": "./styles/native-elements.css",
84
95
  "./native-elements": "./styles/native-elements.css",
85
96
  "./native-elements.css": "./styles/native-elements.css",
97
+ "./styles/clean-defaults": "./styles/clean-defaults.css",
98
+ "./styles/clean-defaults.css": "./styles/clean-defaults.css",
99
+ "./clean-defaults": "./styles/clean-defaults.css",
100
+ "./clean-defaults.css": "./styles/clean-defaults.css",
101
+ "./styles/component-composition": "./styles/component-composition.css",
102
+ "./styles/component-composition.css": "./styles/component-composition.css",
103
+ "./component-composition": "./styles/component-composition.css",
104
+ "./component-composition.css": "./styles/component-composition.css",
86
105
  "./styles/content-overflow": "./styles/content-overflow.css",
87
106
  "./styles/content-overflow.css": "./styles/content-overflow.css",
88
107
  "./content-overflow": "./styles/content-overflow.css",
@@ -143,46 +162,55 @@
143
162
  "./dist/ui-style-kit.with-bridge.min.css": "./dist/ui-style-kit.with-bridge.min.css",
144
163
  "./manifest.json": "./manifest.json",
145
164
  "./visual/editorial-luxe.css": "./dist/visual/editorial-luxe.css",
165
+ "./presets/editorial-luxe.css": "./dist/visual/editorial-luxe.css",
146
166
  "./styles/editorial-luxe": "./styles/editorial-luxe.css",
147
167
  "./styles/editorial-luxe.css": "./styles/editorial-luxe.css",
148
168
  "./editorial-luxe": "./styles/editorial-luxe.css",
149
169
  "./editorial-luxe.css": "./styles/editorial-luxe.css",
150
170
  "./visual/organic-modern.css": "./dist/visual/organic-modern.css",
171
+ "./presets/organic-modern.css": "./dist/visual/organic-modern.css",
151
172
  "./styles/organic-modern": "./styles/organic-modern.css",
152
173
  "./styles/organic-modern.css": "./styles/organic-modern.css",
153
174
  "./organic-modern": "./styles/organic-modern.css",
154
175
  "./organic-modern.css": "./styles/organic-modern.css",
155
176
  "./visual/industrial-utility.css": "./dist/visual/industrial-utility.css",
177
+ "./presets/industrial-utility.css": "./dist/visual/industrial-utility.css",
156
178
  "./styles/industrial-utility": "./styles/industrial-utility.css",
157
179
  "./styles/industrial-utility.css": "./styles/industrial-utility.css",
158
180
  "./industrial-utility": "./styles/industrial-utility.css",
159
181
  "./industrial-utility.css": "./styles/industrial-utility.css",
160
182
  "./visual/technical-blueprint.css": "./dist/visual/technical-blueprint.css",
183
+ "./presets/technical-blueprint.css": "./dist/visual/technical-blueprint.css",
161
184
  "./styles/technical-blueprint": "./styles/technical-blueprint.css",
162
185
  "./styles/technical-blueprint.css": "./styles/technical-blueprint.css",
163
186
  "./technical-blueprint": "./styles/technical-blueprint.css",
164
187
  "./technical-blueprint.css": "./styles/technical-blueprint.css",
165
188
  "./visual/art-deco.css": "./dist/visual/art-deco.css",
189
+ "./presets/art-deco.css": "./dist/visual/art-deco.css",
166
190
  "./styles/art-deco": "./styles/art-deco.css",
167
191
  "./styles/art-deco.css": "./styles/art-deco.css",
168
192
  "./art-deco": "./styles/art-deco.css",
169
193
  "./art-deco.css": "./styles/art-deco.css",
170
194
  "./visual/clay.css": "./dist/visual/clay.css",
195
+ "./presets/clay.css": "./dist/visual/clay.css",
171
196
  "./styles/clay": "./styles/clay.css",
172
197
  "./styles/clay.css": "./styles/clay.css",
173
198
  "./clay": "./styles/clay.css",
174
199
  "./clay.css": "./styles/clay.css",
175
200
  "./visual/data-terminal.css": "./dist/visual/data-terminal.css",
201
+ "./presets/data-terminal.css": "./dist/visual/data-terminal.css",
176
202
  "./styles/data-terminal": "./styles/data-terminal.css",
177
203
  "./styles/data-terminal.css": "./styles/data-terminal.css",
178
204
  "./data-terminal": "./styles/data-terminal.css",
179
205
  "./data-terminal.css": "./styles/data-terminal.css",
180
206
  "./visual/paper-editorial.css": "./dist/visual/paper-editorial.css",
207
+ "./presets/paper-editorial.css": "./dist/visual/paper-editorial.css",
181
208
  "./styles/paper-editorial": "./styles/paper-editorial.css",
182
209
  "./styles/paper-editorial.css": "./styles/paper-editorial.css",
183
210
  "./paper-editorial": "./styles/paper-editorial.css",
184
211
  "./paper-editorial.css": "./styles/paper-editorial.css",
185
212
  "./visual/neo-noir.css": "./dist/visual/neo-noir.css",
213
+ "./presets/neo-noir.css": "./dist/visual/neo-noir.css",
186
214
  "./styles/neo-noir": "./styles/neo-noir.css",
187
215
  "./styles/neo-noir.css": "./styles/neo-noir.css",
188
216
  "./neo-noir": "./styles/neo-noir.css",
@@ -251,12 +279,12 @@
251
279
  "check:ecosystem:minimum": "node scripts/check-ecosystem-packs.mjs --matrix minimum --skip-docs",
252
280
  "check:ecosystem:packs": "npm run check:ecosystem:current && npm run check:ecosystem:minimum",
253
281
  "test:ecosystem:clean-install": "node --test tests/clean-install-ecosystem-contract.integration.mjs",
254
- "release:preflight": "npm run build && node scripts/release-preflight.mjs --layout-repo ../Layout-Style-CSS --interactive-spec interactive-surface-css@1.7.0 --layout-docs-repo ../Layout-Style-CSS",
282
+ "release:preflight": "npm run build && node scripts/release-preflight.mjs --layout-repo ../Layout-Style-CSS --interactive-repo ../Interactive-Surface-CSS --layout-docs-repo ../Layout-Style-CSS --interactive-docs-repo ../Interactive-Surface-CSS",
255
283
  "check": "npm run build && npm run lint && npm run test:unit && npm run check:contrast && npm run check:compat && npm run check:ownership && npm run check:package",
256
284
  "pack:dry-run": "npm pack --dry-run --ignore-scripts",
257
285
  "prepack": "npm run check",
258
- "release:verify": "npm run check && npm run test:e2e && npm run release:preflight -- --candidate-package ui-style-kit-css --skip-clean-install && npm audit --audit-level=moderate && npm run pack:dry-run",
259
- "release:verify:full": "npm run check && npm run test:e2e:full && npm run test:axe:full && npm run test:visual:full && npm run test:matrix && npm run release:preflight -- --candidate-package ui-style-kit-css && npm audit --audit-level=moderate && npm run pack:dry-run",
286
+ "release:verify": "npm run check && npm run test:e2e && npm run release:preflight -- --candidate-package ui-style-kit-css --companion-candidate-root ../Layout-Style-CSS --companion-candidate-root ../Interactive-Surface-CSS --skip-clean-install && npm audit --audit-level=moderate && npm run pack:dry-run",
287
+ "release:verify:full": "npm run check && npm run test:e2e:full && npm run test:axe:full && npm run test:visual:full && npm run test:matrix && npm run release:preflight -- --candidate-package ui-style-kit-css --companion-candidate-root ../Layout-Style-CSS --companion-candidate-root ../Interactive-Surface-CSS && npm audit --audit-level=moderate && npm run pack:dry-run",
260
288
  "prepublishOnly": "npm run release:verify",
261
289
  "release:patch": "npm version patch && npm publish",
262
290
  "release:minor": "npm version minor && npm publish",
@@ -14,6 +14,7 @@
14
14
  @import url("./theme-colors.css");
15
15
  @import url("./native-elements.css");
16
16
  @import url("./content-overflow.css");
17
+ @import url("./clean-defaults.css");
17
18
 
18
19
  @layer ui-style-kit.art_deco {
19
20
  :root {
@@ -201,6 +202,13 @@
201
202
  --usk-native-primary: var(--deco-primary);
202
203
  --usk-native-primary-hover: var(--deco-primary-hover);
203
204
  --usk-native-on-primary: var(--deco-on-primary);
205
+ --usk-native-secondary: var(--deco-secondary);
206
+ --usk-native-on-secondary: var(--deco-on-secondary);
207
+ --usk-native-accent: var(--deco-accent);
208
+ --usk-native-on-accent: var(--deco-on-accent);
209
+ --usk-native-on-success: var(--deco-on-success);
210
+ --usk-native-on-warning: var(--deco-on-warning);
211
+ --usk-native-on-danger: var(--deco-on-danger);
204
212
  --usk-native-focus: var(--deco-focus);
205
213
  --usk-native-success: var(--deco-success);
206
214
  --usk-native-warning: var(--deco-warning);
@@ -448,7 +456,7 @@
448
456
  .deco-input::placeholder, .deco-textarea::placeholder { color: var(--deco-text-muted); opacity: .82; }
449
457
  .deco-input:hover, .deco-textarea:hover, .deco-select:hover { border-color: rgb(var(--deco-primary-rgb) / .58); }
450
458
  .deco-input:focus, .deco-textarea:focus, .deco-select:focus { border-color: var(--deco-focus); box-shadow: var(--deco-focus-ring); }
451
- .deco-help-text { color: var(--deco-text-muted); font-size: .875rem; line-height: 1.45; }
459
+ .deco-help-text { color: var(--deco-text); font-size: .875rem; line-height: 1.45; }
452
460
 
453
461
  /* Checkbox / Radio */
454
462
  .deco-check, .deco-radio { display: inline-flex; align-items: center; gap: var(--deco-space-2); color: var(--deco-text); cursor: pointer; }
@@ -1394,7 +1402,7 @@
1394
1402
  .deco-check input:checked + .deco-check-control::after {
1395
1403
  content: "";
1396
1404
  position: absolute;
1397
- inset-block-start: 50%;
1405
+ inset-block-start: calc(50% - 1px);
1398
1406
  inset-inline-start: 50%;
1399
1407
  display: block;
1400
1408
  inline-size: .5rem;
@@ -1402,7 +1410,7 @@
1402
1410
  border-block-end: 2px solid currentColor;
1403
1411
  border-inline-start: 2px solid currentColor;
1404
1412
  color: var(--deco-jewel-on);
1405
- transform: translate(calc(-50% - 5px), calc(-62% - 5px)) rotate(-45deg);
1413
+ transform: translate(-50%, -50%) rotate(-45deg);
1406
1414
  transform-origin: center;
1407
1415
  }
1408
1416
 
@@ -1806,6 +1814,8 @@
1806
1814
  --deco-status-warning: var(--deco-text);
1807
1815
  --deco-status-danger: var(--deco-text);
1808
1816
  --deco-info-rgb: var(--usk-primary-rgb, 0 80 150);
1817
+ --deco-link: var(--deco-text);
1818
+ --usk-native-link: var(--deco-text);
1809
1819
  }
1810
1820
  [data-ui="art-deco"][data-mode] {
1811
1821
  --deco-bg: rgb(var(--deco-bg-rgb));
@@ -1877,7 +1887,8 @@
1877
1887
  .deco-button, .deco-icon-button { position: relative; isolation: isolate; min-height: 36px; min-block-size: 36px; min-inline-size: 0; padding: 8px 14px; border: 0; border-radius: 0; clip-path: none; background: var(--deco-surface); color: var(--deco-text); box-shadow: none; font: 500 12px/1.2 var(--deco-font-control); letter-spacing: 0; text-transform: uppercase; gap: 8px; }
1878
1888
  .deco-button::before, .deco-icon-button::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--deco-metal); border: 0; pointer-events: none; clip-path: polygon(evenodd, 7px 0, calc(100% - 7px) 0, calc(100% - 7px) 3px, 100% 3px, 100% calc(100% - 3px), calc(100% - 7px) calc(100% - 3px), calc(100% - 7px) 100%, 7px 100%, 7px calc(100% - 3px), 0 calc(100% - 3px), 0 3px, 7px 3px, 7px 0, 8px 1px, 8px 4px, 1px 4px, 1px calc(100% - 4px), 8px calc(100% - 4px), 8px calc(100% - 1px), calc(100% - 8px) calc(100% - 1px), calc(100% - 8px) calc(100% - 4px), calc(100% - 1px) calc(100% - 4px), calc(100% - 1px) 4px, calc(100% - 8px) 4px, calc(100% - 8px) 1px, 8px 1px, 7px 0); }
1879
1889
  .deco-button, .deco-icon-button { background-color: transparent; clip-path: var(--deco-step-sm); }
1880
- .deco-button { min-inline-size: 12rem; }
1890
+ /** Caps the 12rem Deco action measure when text zoom leaves a narrower flex line. */
1891
+ .deco-button { min-inline-size: min(100%, 12rem); max-inline-size: 100%; }
1881
1892
  .deco-button:focus-visible, .deco-icon-button:focus-visible { outline-offset: -6px; }
1882
1893
  .deco-button-primary { background-color: var(--deco-jewel-primary); color: var(--deco-jewel-on); }
1883
1894
  .deco-button-secondary { background-color: var(--deco-jewel-secondary); color: var(--deco-jewel-on); }
@@ -1915,24 +1926,6 @@
1915
1926
  .deco-check, .deco-radio { min-height: 32px; font-size: 12px; gap: 8px; }
1916
1927
  .deco-check input:checked + .deco-check-control, .deco-radio input:checked + .deco-radio-control, .deco-switch input:checked + .deco-switch-track { background: var(--deco-secondary); }
1917
1928
  .deco-check input:checked + .deco-check-control::after { color: var(--deco-on-secondary); }
1918
- /** Keeps prefixed checkbox rasterization centered without generating semantic aliases. */
1919
- :is([class="deco-check"], [class^="deco-check "], [class*=" deco-check "], [class$=" deco-check"]) input:checked + :is([class="deco-check-control"], [class^="deco-check-control "], [class*=" deco-check-control "], [class$=" deco-check-control"])::after { transform: translate(calc(-50% - 5px), calc(-62% + 4px)) rotate(-45deg); }
1920
-
1921
- /**
1922
- * Aligns the stroked checkbox mark with Firefox and WebKit rasterization while
1923
- * preserving Chromium's established pixel center.
1924
- */
1925
- @supports (-moz-appearance: none) {
1926
- :is([class="deco-check"], [class^="deco-check "], [class*=" deco-check "], [class$=" deco-check"]) input:checked + :is([class="deco-check-control"], [class^="deco-check-control "], [class*=" deco-check-control "], [class$=" deco-check-control"])::after {
1927
- transform: translate(calc(-50% - 5px), calc(-62% - 5px)) rotate(-45deg);
1928
- }
1929
- }
1930
-
1931
- @supports (-webkit-hyphens: none) {
1932
- .deco-check input:checked + .deco-check-control::after {
1933
- transform: translate(calc(-50% - 5px), calc(-62% + 3px)) rotate(-45deg);
1934
- }
1935
- }
1936
1929
  .deco-radio input:checked + .deco-radio-control::after { background: var(--deco-on-secondary); }
1937
1930
  .deco-switch { min-height: 32px; }
1938
1931
  .deco-switch-track { width: 40px; height: 22px; inline-size: 40px; block-size: 22px; border-width: 3px; }
@@ -2066,3 +2059,56 @@ dialog.deco-dialog:not([open]) { display: none; }
2066
2059
  font-weight: 800;
2067
2060
  line-height: 1;
2068
2061
  }
2062
+
2063
+ /**
2064
+ * Restores the reference action silhouette after shared semantic controls are
2065
+ * promoted. The double metallic keyline and stepped frame remain structural,
2066
+ * while each semantic variant continues to own its accessible paint pairing.
2067
+ */
2068
+ [data-ui="art-deco"][data-mode] :is(.deco-button, .deco-icon-button) {
2069
+ border: 3px double var(--deco-metal);
2070
+ border-radius: 0;
2071
+ clip-path: var(--deco-step-sm);
2072
+ box-shadow:
2073
+ inset 0 0 0 1px var(--deco-surface-strong),
2074
+ 0 3px 0 var(--deco-metal);
2075
+ }
2076
+
2077
+ @supports (color: color-mix(in srgb, black, white)) {
2078
+ [data-ui="art-deco"][data-mode] :is(.deco-button, .deco-icon-button) {
2079
+ box-shadow:
2080
+ inset 0 0 0 1px var(--deco-surface-strong),
2081
+ 0 3px 0 color-mix(in srgb, var(--deco-metal) 52%, var(--deco-text));
2082
+ }
2083
+ }
2084
+
2085
+ /**
2086
+ * Uses the system's diamond motif for compact identities while keeping initials,
2087
+ * photographs, and status metadata upright and independently readable.
2088
+ */
2089
+ [data-ui="art-deco"][data-mode] .deco-avatar {
2090
+ inline-size: 3rem;
2091
+ block-size: 3rem;
2092
+ overflow: visible;
2093
+ background: var(--deco-jewel-primary);
2094
+ color: var(--deco-jewel-on);
2095
+ border: 3px double var(--deco-metal-bright);
2096
+ border-radius: 0;
2097
+ box-shadow: inset 0 0 0 2px var(--deco-surface-strong);
2098
+ transform: rotate(45deg) scale(.78);
2099
+ }
2100
+
2101
+ [data-ui="art-deco"][data-mode] .deco-avatar > :where(img, [aria-hidden="true"]) {
2102
+ transform: rotate(-45deg) scale(1.12);
2103
+ }
2104
+
2105
+ [data-ui="art-deco"][data-mode] .deco-avatar > [role="status"] {
2106
+ inset-block-end: -.15rem;
2107
+ inset-inline-end: -.15rem;
2108
+ color: var(--deco-jewel-on);
2109
+ transform: rotate(-45deg);
2110
+ }
2111
+
2112
+ [data-ui="art-deco"][data-mode] .deco-avatar-group > * + * {
2113
+ margin-inline-start: .25rem;
2114
+ }
@@ -14,6 +14,7 @@
14
14
  @import url("./theme-colors.css");
15
15
  @import url("./native-elements.css");
16
16
  @import url("./content-overflow.css");
17
+ @import url("./clean-defaults.css");
17
18
 
18
19
  /** Locally bundled OFL fonts keep workshop typography independent of network access. */
19
20
  @font-face { font-family: "Bauhaus Barlow"; src: url("./assets/bauhaus-barlow.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@@ -214,6 +215,13 @@
214
215
  --usk-native-primary: var(--bau-primary);
215
216
  --usk-native-primary-hover: var(--bau-primary-hover);
216
217
  --usk-native-on-primary: var(--bau-on-primary);
218
+ --usk-native-secondary: var(--bau-secondary);
219
+ --usk-native-on-secondary: var(--bau-on-secondary);
220
+ --usk-native-accent: var(--bau-accent);
221
+ --usk-native-on-accent: var(--bau-on-accent);
222
+ --usk-native-on-success: var(--bau-on-success);
223
+ --usk-native-on-warning: var(--bau-on-warning);
224
+ --usk-native-on-danger: var(--bau-on-danger);
217
225
  --usk-native-focus: var(--bau-focus);
218
226
  --usk-native-success: var(--bau-success);
219
227
  --usk-native-warning: var(--bau-warning);
package/styles/bento.css CHANGED
@@ -14,6 +14,7 @@
14
14
  @import url("./theme-colors.css");
15
15
  @import url("./native-elements.css");
16
16
  @import url("./content-overflow.css");
17
+ @import url("./clean-defaults.css");
17
18
 
18
19
  @font-face {
19
20
  font-family: "Bento Manrope";
@@ -211,6 +212,13 @@
211
212
  --usk-native-primary: var(--bento-primary);
212
213
  --usk-native-primary-hover: var(--bento-primary-hover);
213
214
  --usk-native-on-primary: var(--bento-on-primary);
215
+ --usk-native-secondary: var(--bento-secondary);
216
+ --usk-native-on-secondary: var(--bento-on-secondary);
217
+ --usk-native-accent: var(--bento-accent);
218
+ --usk-native-on-accent: var(--bento-on-accent);
219
+ --usk-native-on-success: var(--bento-on-success);
220
+ --usk-native-on-warning: var(--bento-on-warning);
221
+ --usk-native-on-danger: var(--bento-on-danger);
214
222
  --usk-native-focus: var(--bento-focus);
215
223
  --usk-native-success: var(--bento-success);
216
224
  --usk-native-warning: var(--bento-warning);
@@ -882,8 +890,8 @@
882
890
 
883
891
  @layer ui-style-kit.bento {
884
892
  /* Keeps semantic field states above preset-specific material paint. */
885
- .bento-input[aria-invalid="true"], .bento-textarea[aria-invalid="true"], .bento-select[aria-invalid="true"] { border-color: var(--bento-danger); box-shadow: 0 0 0 2px rgb(var(--bento-danger-rgb) / .18); }
886
- .bento-input[readonly], .bento-textarea[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
893
+ [data-ui="bento"][data-mode] :is(.bento-input, .bento-textarea, .bento-select)[aria-invalid="true"] { border-color: var(--bento-danger); box-shadow: 0 0 0 2px rgb(var(--bento-danger-rgb) / .18); }
894
+ [data-ui="bento"][data-mode] :is(.bento-input, .bento-textarea)[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
887
895
  }
888
896
 
889
897
  @layer ui-style-kit.bento {
@@ -1199,7 +1207,7 @@
1199
1207
  [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-dark { display: block; }
1200
1208
  [data-ui=bento][data-mode] .bento-sheet[data-mode="dark"] .bento-hero-art.is-dark { height: 300px; right: -10px; top: 40px; width: 300px; }
1201
1209
 
1202
- [data-ui=bento][data-mode] .bento-button {
1210
+ [data-ui=bento][data-mode] :is(.bento-button, .bento-icon-button) {
1203
1211
  align-items: center;
1204
1212
  background: var(--bento-mosaic-panel-soft);
1205
1213
  border: 1px solid var(--bento-mosaic-line);
@@ -1479,10 +1487,10 @@
1479
1487
  --bento-fallback-primary-rgb: 49 87 220;
1480
1488
  --bento-fallback-primary-hover-rgb: 70 99 212;
1481
1489
  --bento-fallback-primary-text-rgb: 255 255 255;
1482
- --bento-fallback-secondary-rgb: 117 108 228;
1490
+ --bento-fallback-secondary-rgb: 105 94 220;
1483
1491
  --bento-fallback-secondary-hover-rgb: 91 82 201;
1484
1492
  --bento-fallback-secondary-text-rgb: 255 255 255;
1485
- --bento-fallback-accent-rgb: 117 108 228;
1493
+ --bento-fallback-accent-rgb: 105 94 220;
1486
1494
  --bento-fallback-accent-text-rgb: 255 255 255;
1487
1495
  --bento-fallback-success-rgb: 53 168 103;
1488
1496
  --bento-fallback-success-text-rgb: 0 0 0;
@@ -1520,7 +1528,12 @@
1520
1528
  --bento-fallback-focus-rgb: 122 107 233;
1521
1529
  --bento-success-ink: var(--bento-success);
1522
1530
  }
1523
- [data-ui="bento"][data-mode] {
1531
+ /**
1532
+ * Keeps Soft Mosaic reference overrides inside the retained reference sheet.
1533
+ * The canonical Bento and native-element tokens continue to use the public
1534
+ * preset material outside that specimen.
1535
+ */
1536
+ [data-ui="bento"][data-mode] .bento-sheet {
1524
1537
  --bento-panel-alpha: 1;
1525
1538
  --bento-panel-soft-alpha: 1;
1526
1539
  --bento-border-alpha: 1;
@@ -15,6 +15,7 @@
15
15
  @import url("./theme-colors.css");
16
16
  @import url("./native-elements.css");
17
17
  @import url("./content-overflow.css");
18
+ @import url("./clean-defaults.css");
18
19
 
19
20
  @layer ui-style-kit.brutalism {
20
21
  :root {
@@ -212,6 +213,13 @@
212
213
  --usk-native-primary: var(--brutal-primary);
213
214
  --usk-native-primary-hover: var(--brutal-primary-hover);
214
215
  --usk-native-on-primary: var(--brutal-on-primary);
216
+ --usk-native-secondary: var(--brutal-secondary);
217
+ --usk-native-on-secondary: var(--brutal-on-secondary);
218
+ --usk-native-accent: var(--brutal-accent);
219
+ --usk-native-on-accent: var(--brutal-on-accent);
220
+ --usk-native-on-success: var(--brutal-on-success);
221
+ --usk-native-on-warning: var(--brutal-on-warning);
222
+ --usk-native-on-danger: var(--brutal-on-danger);
215
223
  --usk-native-focus: var(--brutal-focus);
216
224
  --usk-native-success: var(--brutal-success);
217
225
  --usk-native-warning: var(--brutal-warning);
package/styles/clay.css CHANGED
@@ -14,6 +14,7 @@
14
14
  @import url("./theme-colors.css");
15
15
  @import url("./native-elements.css");
16
16
  @import url("./content-overflow.css");
17
+ @import url("./clean-defaults.css");
17
18
 
18
19
  @layer ui-style-kit.clay {
19
20
  /** Locally bundled rounded headings; body text retains the compact system face. */
@@ -57,7 +58,7 @@
57
58
  --clay-fallback-text-rgb: 43 36 25;
58
59
  --clay-fallback-text-muted-rgb: 107 97 78;
59
60
  --clay-fallback-border-rgb: 215 198 167;
60
- --clay-fallback-primary-rgb: 140 106 61;
61
+ --clay-fallback-primary-rgb: 115 75 32;
61
62
  --clay-fallback-primary-hover-rgb: 112 83 47;
62
63
  --clay-fallback-primary-text-rgb: 255 255 255;
63
64
  --clay-fallback-secondary-rgb: 95 118 85;
@@ -69,7 +70,7 @@
69
70
  --clay-fallback-success-text-rgb: 255 255 255;
70
71
  --clay-fallback-warning-rgb: 166 107 0;
71
72
  --clay-fallback-warning-text-rgb: 0 0 0;
72
- --clay-fallback-danger-rgb: 174 74 63;
73
+ --clay-fallback-danger-rgb: 148 48 42;
73
74
  --clay-fallback-danger-text-rgb: 255 255 255;
74
75
  --clay-fallback-link-rgb: 112 83 47;
75
76
  --clay-fallback-focus-rgb: 201 151 74;
@@ -209,6 +210,13 @@
209
210
  --usk-native-primary: var(--clay-primary);
210
211
  --usk-native-primary-hover: var(--clay-primary-hover);
211
212
  --usk-native-on-primary: var(--clay-on-primary);
213
+ --usk-native-secondary: var(--clay-secondary);
214
+ --usk-native-on-secondary: var(--clay-on-secondary);
215
+ --usk-native-accent: var(--clay-accent);
216
+ --usk-native-on-accent: var(--clay-on-accent);
217
+ --usk-native-on-success: var(--clay-on-success);
218
+ --usk-native-on-warning: var(--clay-on-warning);
219
+ --usk-native-on-danger: var(--clay-on-danger);
212
220
  --usk-native-focus: var(--clay-focus);
213
221
  --usk-native-success: var(--clay-success);
214
222
  --usk-native-warning: var(--clay-warning);
@@ -828,7 +836,7 @@
828
836
  --clay-thumb-material: #fff;
829
837
  --clay-pigment-base: #000;
830
838
  --clay-pigment-share: 100%;
831
- --clay-pigment-ink: #fff;
839
+ --clay-pigment-ink: #000;
832
840
  --clay-tooltip-material: #000;
833
841
  --clay-tooltip-ink: #fff;
834
842
  --clay-label-relief: none;