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
@@ -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.technical_blueprint {
19
20
  :root {
@@ -200,6 +201,13 @@
200
201
  --usk-native-primary: var(--blueprint-primary);
201
202
  --usk-native-primary-hover: var(--blueprint-primary-hover);
202
203
  --usk-native-on-primary: var(--blueprint-on-primary);
204
+ --usk-native-secondary: var(--blueprint-secondary);
205
+ --usk-native-on-secondary: var(--blueprint-on-secondary);
206
+ --usk-native-accent: var(--blueprint-accent);
207
+ --usk-native-on-accent: var(--blueprint-on-accent);
208
+ --usk-native-on-success: var(--blueprint-on-success);
209
+ --usk-native-on-warning: var(--blueprint-on-warning);
210
+ --usk-native-on-danger: var(--blueprint-on-danger);
203
211
  --usk-native-focus: var(--blueprint-focus);
204
212
  --usk-native-success: var(--blueprint-success);
205
213
  --usk-native-warning: var(--blueprint-warning);
@@ -310,6 +318,13 @@
310
318
  --usk-native-primary: var(--blueprint-primary);
311
319
  --usk-native-primary-hover: var(--blueprint-primary-hover);
312
320
  --usk-native-on-primary: var(--blueprint-on-primary);
321
+ --usk-native-secondary: var(--blueprint-secondary);
322
+ --usk-native-on-secondary: var(--blueprint-on-secondary);
323
+ --usk-native-accent: var(--blueprint-accent);
324
+ --usk-native-on-accent: var(--blueprint-on-accent);
325
+ --usk-native-on-success: var(--blueprint-on-success);
326
+ --usk-native-on-warning: var(--blueprint-on-warning);
327
+ --usk-native-on-danger: var(--blueprint-on-danger);
313
328
  --usk-native-focus: var(--blueprint-focus);
314
329
  --usk-native-success: var(--blueprint-success);
315
330
  --usk-native-warning: var(--blueprint-warning);
@@ -1225,7 +1240,7 @@
1225
1240
  .blueprint-stepper::before { content: ""; position: absolute; inset-inline: 12%; inset-block-start: 12px; block-size: 1px; background: var(--blueprint-line-strong); }
1226
1241
  /** Reset native list spacing so marker centers remain on the connector axis. */
1227
1242
  .blueprint-step { position: relative; flex: 1; margin-block: 0; color: var(--blueprint-text-soft); text-align: center; font: 12px/1.4 var(--blueprint-font-mono); }
1228
- .blueprint-step b { display: flex; align-items: center; justify-content: center; inline-size: 24px; block-size: 24px; margin: 0 auto 8px; background: var(--blueprint-bg); border: 1px solid var(--blueprint-line-strong); }
1243
+ .blueprint-step b { display: flex; align-items: center; justify-content: center; box-sizing: border-box; inline-size: 24px; block-size: 24px; margin: 0 auto 8px; background: var(--blueprint-bg); border: 1px solid var(--blueprint-line-strong); }
1229
1244
  .blueprint-step.is-complete b { background: var(--blueprint-fill); color: var(--blueprint-fill-ink); border-color: var(--blueprint-primary); }
1230
1245
  .blueprint-step.is-active b { color: var(--usk-primary-ink, var(--blueprint-primary)); border: 2px solid var(--blueprint-primary); }
1231
1246
  .blueprint-alert { display: flex; align-items: center; gap: 8px; min-block-size: 40px; padding: 8px; border: 1px solid var(--blueprint-primary); border-radius: 0; background: transparent; color: var(--blueprint-text-soft); box-shadow: none; font: 14px/1.4 var(--blueprint-font-body); }
@@ -24,6 +24,9 @@
24
24
  }
25
25
 
26
26
  :where([data-ui][data-mode="dark"], [data-ui][data-mode="contrast"]) {
27
+ /* Foreground-only semantic accents must never fall back to a fill color. */
28
+ --usk-primary-ink: rgb(var(--usk-link-rgb));
29
+ --usk-accent-ink: rgb(var(--usk-link-rgb));
27
30
  --usk-border-text-mix: 0%;
28
31
  --usk-border-min-alpha: 0;
29
32
  }
package/styles/y2k.css CHANGED
@@ -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.y2k {
20
21
  :root {
@@ -222,6 +223,13 @@
222
223
  --usk-native-primary: var(--y2k-primary);
223
224
  --usk-native-primary-hover: var(--y2k-primary-hover);
224
225
  --usk-native-on-primary: var(--y2k-on-primary);
226
+ --usk-native-secondary: var(--y2k-secondary);
227
+ --usk-native-on-secondary: var(--y2k-on-secondary);
228
+ --usk-native-accent: var(--y2k-accent);
229
+ --usk-native-on-accent: var(--y2k-on-accent);
230
+ --usk-native-on-success: var(--y2k-on-success);
231
+ --usk-native-on-warning: var(--y2k-on-warning);
232
+ --usk-native-on-danger: var(--y2k-on-danger);
225
233
  --usk-native-focus: var(--y2k-focus);
226
234
  --usk-native-success: var(--y2k-success);
227
235
  --usk-native-warning: var(--y2k-warning);
@@ -823,8 +831,8 @@
823
831
 
824
832
  @layer ui-style-kit.y2k {
825
833
  /* Keeps semantic field states above preset-specific material paint. */
826
- .y2k-input[aria-invalid="true"], .y2k-textarea[aria-invalid="true"], .y2k-select[aria-invalid="true"] { border-color: var(--y2k-danger); box-shadow: 0 0 0 2px rgb(var(--y2k-danger-rgb) / .2); }
827
- .y2k-input[readonly], .y2k-textarea[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
834
+ [data-ui="y2k"][data-mode] :is(.y2k-input, .y2k-textarea, .y2k-select)[aria-invalid="true"] { border-color: var(--y2k-danger); box-shadow: 0 0 0 2px rgb(var(--y2k-danger-rgb) / .2); }
835
+ [data-ui="y2k"][data-mode] :is(.y2k-input, .y2k-textarea)[readonly] { border-style: dashed; filter: saturate(.72); opacity: .78; }
828
836
  /* Restores semantic action paint after identity-specific geometry. */
829
837
  .y2k-button-primary { background: linear-gradient(180deg, rgb(var(--y2k-surface-strong-rgb) / .46), transparent 52%), var(--y2k-primary); color: var(--y2k-on-primary); border-color: var(--y2k-primary); }
830
838
  .y2k-button-secondary { background: linear-gradient(180deg, rgb(var(--y2k-surface-strong-rgb) / .42), transparent 52%), var(--y2k-secondary); color: var(--y2k-on-secondary); border-color: var(--y2k-secondary); }
@@ -1413,7 +1421,7 @@
1413
1421
  min-block-size: 1.375rem;
1414
1422
  padding: .125rem .375rem;
1415
1423
  color: var(--y2k-text);
1416
- background: var(--y2k-surface);
1424
+ background-color: var(--y2k-surface);
1417
1425
  border: 1px inset var(--y2k-border);
1418
1426
  border-radius: 0;
1419
1427
  box-shadow: var(--y2k-bevel-recessed);
@@ -1487,3 +1495,17 @@
1487
1495
  outline: 2px dotted #d21212;
1488
1496
  outline-offset: 2px;
1489
1497
  }
1498
+
1499
+ /** Keeps unclassed invalid fields visibly semantic after the late bevel reset. */
1500
+ [data-ui="y2k"][data-mode] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea, select)[aria-invalid="true"] {
1501
+ border-color: var(--y2k-danger);
1502
+ box-shadow: var(--y2k-bevel-recessed), 0 0 0 2px rgb(var(--y2k-danger-rgb) / .24);
1503
+ }
1504
+
1505
+ /** Keeps read-only native fields distinct from invalid and editable controls. */
1506
+ [data-ui="y2k"][data-mode] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]), textarea)[readonly] {
1507
+ background-color: var(--y2k-surface-soft);
1508
+ border-style: dashed;
1509
+ filter: saturate(.72);
1510
+ opacity: .78;
1511
+ }