ui-style-kit-css 2.7.0 → 2.7.1
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.
- package/CHANGELOG.md +11 -0
- package/README.md +10 -10
- package/dist/ui-style-kit.css +767 -1303
- package/dist/ui-style-kit.min.css +2 -2
- package/dist/ui-style-kit.visual.css +767 -1303
- package/dist/ui-style-kit.visual.min.css +2 -2
- package/dist/ui-style-kit.with-bridge.css +767 -1303
- package/dist/ui-style-kit.with-bridge.min.css +2 -2
- package/dist/visual/art-deco.css +172 -744
- package/dist/visual/bauhaus.css +2 -2
- package/dist/visual/bento.css +2 -2
- package/dist/visual/brutalism.css +131 -708
- package/dist/visual/clay.css +2 -2
- package/dist/visual/cyberpunk.css +141 -718
- package/dist/visual/data-terminal.css +145 -722
- package/dist/visual/editorial-luxe.css +148 -725
- package/dist/visual/industrial-utility.css +152 -729
- package/dist/visual/maximalist.css +152 -729
- package/dist/visual/minimal-saas.css +142 -715
- package/dist/visual/neo-noir.css +2 -2
- package/dist/visual/neumorphism.css +142 -719
- package/dist/visual/organic-modern.css +2 -2
- package/dist/visual/paper-editorial.css +167 -744
- package/dist/visual/retro-glass.css +147 -719
- package/dist/visual/retrofuturism.css +141 -718
- package/dist/visual/tactile.css +144 -721
- package/dist/visual/technical-blueprint.css +156 -729
- package/dist/visual/y2k.css +164 -721
- package/docs/DEMO-SHOWCASE.md +16 -0
- package/docs/ECOSYSTEM.md +2 -2
- package/docs/PUBLISHING.md +7 -7
- package/docs/RELEASE-2.7.1.md +21 -0
- package/manifest.json +1 -1
- package/package.json +1 -1
- package/styles/art-deco.css +12 -3
- package/styles/bauhaus.css +5 -3
- package/styles/bento.css +11 -7
- package/styles/brutalism.css +5 -3
- package/styles/clay.css +12 -7
- package/styles/cyberpunk.css +10 -6
- package/styles/data-terminal.css +4 -2
- package/styles/editorial-luxe.css +3 -2
- package/styles/industrial-utility.css +8 -6
- package/styles/maximalist.css +3 -1
- package/styles/minimal-saas.css +7 -3
- package/styles/neo-noir.css +11 -4
- package/styles/neumorphism.css +10 -5
- package/styles/organic-modern.css +1 -1
- package/styles/paper-editorial.css +7 -5
- package/styles/retro-glass.css +8 -4
- package/styles/retrofuturism.css +4 -3
- package/styles/tactile.css +7 -4
- package/styles/technical-blueprint.css +8 -4
- package/styles/y2k.css +30 -11
package/styles/neumorphism.css
CHANGED
|
@@ -442,7 +442,8 @@
|
|
|
442
442
|
.neo-card, .neo-panel { background: var(--neo-card-bg); }
|
|
443
443
|
.neo-toolbar, .neo-table-wrap { background: var(--neo-control-bg); }
|
|
444
444
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
445
|
-
|
|
445
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
446
|
+
.neo-button:where(:not([data-ui-variant])):not(.neo-button-primary):not(.neo-button-secondary):not(.neo-button-danger):not(.neo-button-warning):not(.neo-button-ghost):not(.neo-button-outline-heavy), .neo-icon-button { background: var(--neo-control-bg); }
|
|
446
447
|
.neo-button, .neo-icon-button, .neo-badge, .neo-nav-link { font-family: var(--neo-font-control); }
|
|
447
448
|
|
|
448
449
|
|
|
@@ -520,7 +521,8 @@
|
|
|
520
521
|
.neo-table { width: 100%; border-collapse: collapse; }
|
|
521
522
|
.neo-table th, .neo-table td { padding: .95rem 1rem; text-align: left; border-bottom: 1px solid var(--neo-border); }
|
|
522
523
|
.neo-table th { color: var(--neo-text); font-size: .82rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; background: rgb(var(--neo-primary-rgb) / .08); }
|
|
523
|
-
|
|
524
|
+
/** Table values use surface text because the inset material can reduce muted-ink contrast. */
|
|
525
|
+
.neo-table td { color: var(--neo-text); }
|
|
524
526
|
.neo-table tr:hover td { background: rgb(var(--neo-primary-rgb) / .045); }
|
|
525
527
|
|
|
526
528
|
/* =========================================================
|
|
@@ -801,7 +803,8 @@
|
|
|
801
803
|
.neo-button-primary,
|
|
802
804
|
.neo-button-secondary,
|
|
803
805
|
.neo-button-danger {
|
|
804
|
-
|
|
806
|
+
/** Keep the molded highlight at the edges, outside the central label lane. */
|
|
807
|
+
background-image: linear-gradient(155deg, rgb(255 255 255 / .28), transparent 20%, transparent 80%, rgb(0 0 0 / .08));
|
|
805
808
|
}
|
|
806
809
|
|
|
807
810
|
.neo-button-primary {
|
|
@@ -842,8 +845,10 @@
|
|
|
842
845
|
box-shadow: inset .28rem .28rem .58rem rgb(0 0 0 / .34), inset -.22rem -.22rem .5rem rgb(255 255 255 / .22);
|
|
843
846
|
}
|
|
844
847
|
|
|
848
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
849
|
+
|
|
845
850
|
.neo-button-ghost,
|
|
846
|
-
.neo-button:where(:not([data-ui-variant])):not(.neo-button-primary):not(.neo-button-secondary):not(.neo-button-danger):not(.neo-button-warning):not(.neo-button-ghost),
|
|
851
|
+
.neo-button:where(:not([data-ui-variant])):not(.neo-button-primary):not(.neo-button-secondary):not(.neo-button-danger):not(.neo-button-warning):not(.neo-button-ghost):not(.neo-button-outline-heavy),
|
|
847
852
|
.neo-icon-button {
|
|
848
853
|
background-color: var(--neo-material-raised);
|
|
849
854
|
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
@@ -863,7 +868,7 @@
|
|
|
863
868
|
.neo-button-outline-heavy {
|
|
864
869
|
background-color: var(--neo-material-raised);
|
|
865
870
|
background-image: linear-gradient(145deg, var(--neo-material-top-light), transparent 52%);
|
|
866
|
-
color: var(--usk-primary-ink, var(--neo-
|
|
871
|
+
color: var(--usk-primary-ink, var(--neo-text));
|
|
867
872
|
border: 1px solid var(--neo-material-edge);
|
|
868
873
|
border-radius: var(--neo-radius-md);
|
|
869
874
|
box-shadow: var(--neo-button-shadow);
|
|
@@ -630,7 +630,7 @@
|
|
|
630
630
|
.organic-button.organic-button-outline-heavy,
|
|
631
631
|
.organic-button-outline-heavy {
|
|
632
632
|
background: transparent;
|
|
633
|
-
color: var(--usk-primary-ink, var(--organic-
|
|
633
|
+
color: var(--usk-primary-ink, var(--organic-text));
|
|
634
634
|
border-style: solid;
|
|
635
635
|
border-width: 2px;
|
|
636
636
|
border-color: var(--organic-primary);
|
|
@@ -438,7 +438,8 @@
|
|
|
438
438
|
.paper-card, .paper-panel { background: var(--paper-card-bg); }
|
|
439
439
|
.paper-toolbar, .paper-table-wrap { background: var(--paper-control-bg); }
|
|
440
440
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
441
|
-
|
|
441
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
442
|
+
.paper-button:where(:not([data-ui-variant])):not(.paper-button-primary):not(.paper-button-secondary):not(.paper-button-danger):not(.paper-button-warning):not(.paper-button-ghost):not(.paper-button-outline-heavy), .paper-icon-button { background: var(--paper-control-bg); }
|
|
442
443
|
.paper-button, .paper-icon-button, .paper-badge, .paper-nav-link { font-family: var(--paper-font-control); }
|
|
443
444
|
|
|
444
445
|
|
|
@@ -630,7 +631,7 @@
|
|
|
630
631
|
.paper-button.paper-button-outline-heavy,
|
|
631
632
|
.paper-button-outline-heavy {
|
|
632
633
|
background: transparent;
|
|
633
|
-
color: var(--usk-primary-ink, var(--paper-
|
|
634
|
+
color: var(--usk-primary-ink, var(--paper-text));
|
|
634
635
|
border-style: solid;
|
|
635
636
|
border-width: 2px;
|
|
636
637
|
border-color: var(--paper-primary);
|
|
@@ -942,7 +943,8 @@
|
|
|
942
943
|
@media print {
|
|
943
944
|
[data-ui="paper-editorial"] { background: #fff !important; color: #000 !important; }
|
|
944
945
|
[data-ui="paper-editorial"] * { box-shadow: none !important; text-shadow: none !important; }
|
|
945
|
-
|
|
946
|
+
/** Inline-link ink must not override the foreground paired with an action surface. */
|
|
947
|
+
[data-ui="paper-editorial"] a { color: #000 !important; text-decoration: underline; }
|
|
946
948
|
}
|
|
947
949
|
}
|
|
948
950
|
|
|
@@ -1070,13 +1072,13 @@
|
|
|
1070
1072
|
|
|
1071
1073
|
:where([data-ui="paper-editorial"]) :where(button,input,select,textarea) { font: inherit; }
|
|
1072
1074
|
|
|
1073
|
-
[data-ui="paper-editorial"] a {
|
|
1075
|
+
[data-ui="paper-editorial"] a:where(:not(.paper-button):not(.paper-icon-button):not(.paper-nav-link)) {
|
|
1074
1076
|
color: var(--paper-sheet-blue);
|
|
1075
1077
|
text-decoration-thickness: 1px;
|
|
1076
1078
|
text-underline-offset: 3px;
|
|
1077
1079
|
}
|
|
1078
1080
|
|
|
1079
|
-
[data-ui="paper-editorial"] a:hover { color: var(--paper-sheet-oxblood); }
|
|
1081
|
+
[data-ui="paper-editorial"] a:where(:not(.paper-button):not(.paper-icon-button):not(.paper-nav-link)):hover { color: var(--paper-sheet-oxblood); }
|
|
1080
1082
|
|
|
1081
1083
|
.paper-kicker,
|
|
1082
1084
|
.paper-label,
|
package/styles/retro-glass.css
CHANGED
|
@@ -485,7 +485,8 @@
|
|
|
485
485
|
.rg-card, .rg-panel { background: var(--rg-card-bg); }
|
|
486
486
|
.rg-toolbar, .rg-table-wrap { background: var(--rg-control-bg); }
|
|
487
487
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
488
|
-
|
|
488
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
489
|
+
.rg-button:where(:not([data-ui-variant])):not(.rg-button-primary):not(.rg-button-secondary):not(.rg-button-danger):not(.rg-button-warning):not(.rg-button-ghost):not(.rg-button-outline-heavy), .rg-icon-button { background: var(--rg-control-bg); }
|
|
489
490
|
.rg-button, .rg-icon-button, .rg-badge, .rg-nav-link { font-family: var(--rg-font-control); }
|
|
490
491
|
|
|
491
492
|
/** All loader APIs share a complete circular track with one rotating accent. */
|
|
@@ -607,7 +608,7 @@
|
|
|
607
608
|
.rg-button.rg-button-outline-heavy,
|
|
608
609
|
.rg-button-outline-heavy {
|
|
609
610
|
background: transparent;
|
|
610
|
-
color: var(--usk-primary-ink, var(--rg-
|
|
611
|
+
color: var(--usk-primary-ink, var(--rg-text));
|
|
611
612
|
border-style: solid;
|
|
612
613
|
border-width: 2px;
|
|
613
614
|
border-color: var(--rg-primary);
|
|
@@ -995,7 +996,9 @@
|
|
|
995
996
|
.rg-icon-button { inline-size: var(--rg-control-height); padding: 8px; aspect-ratio: 1; }
|
|
996
997
|
.rg-button-primary { background: var(--rg-gloss); color: var(--rg-gloss-ink); border-color: var(--rg-primary); }
|
|
997
998
|
.rg-button-secondary { background: var(--rg-control-material); color: var(--rg-text); border-color: var(--rg-line-strong); }
|
|
998
|
-
|
|
999
|
+
/** Danger gloss retains its semantic foreground pair and confines reflection to the upper edge. */
|
|
1000
|
+
.rg-button-danger { background: linear-gradient(180deg, rgb(255 255 255 / .4), transparent 12%), var(--rg-danger); color: var(--rg-on-danger); border-color: var(--rg-danger); }
|
|
1001
|
+
.rg-button-primary:hover { background: var(--rg-gloss); color: var(--rg-gloss-ink); }
|
|
999
1002
|
/**
|
|
1000
1003
|
* Lets explicit runtime foreground edits win without changing the default
|
|
1001
1004
|
* Retro Glass danger gloss treatment used by the reference specimen.
|
|
@@ -1096,7 +1099,8 @@
|
|
|
1096
1099
|
.rg-tab:hover, .rg-tab.is-active, .rg-tab[aria-selected="true"] { background: linear-gradient(rgb(var(--rg-primary-rgb) / .2), rgb(var(--rg-primary-rgb) / .2)), var(--rg-surface-input); border-bottom-color: var(--rg-primary); color: var(--rg-text); }
|
|
1097
1100
|
.rg-pagination-page { min-inline-size: 36px; padding: 8px; font-size: 12px; }
|
|
1098
1101
|
.rg-nav { padding: 0; background: transparent; border: 0; box-shadow: none; gap: 6px; }
|
|
1099
|
-
|
|
1102
|
+
/** Chrome reflections need full surface ink for ordinary navigation labels. */
|
|
1103
|
+
.rg-nav-link { min-block-size: var(--rg-control-height); padding: 8px 12px; background: var(--rg-control-material); border: 1px solid var(--rg-line-strong); border-radius: var(--rg-radius-sm); color: var(--rg-text); text-shadow: none; letter-spacing: 0; }
|
|
1100
1104
|
.rg-nav-link:hover { color: var(--rg-text); background: var(--rg-control-material); }
|
|
1101
1105
|
.rg-nav-link.is-active, .rg-nav-link[aria-current="page"] { background: var(--rg-gloss); color: var(--rg-gloss-ink); box-shadow: inset 0 1px 0 var(--rg-highlight); }
|
|
1102
1106
|
.rg-table-wrap { background: transparent; border: 0; box-shadow: none; }
|
package/styles/retrofuturism.css
CHANGED
|
@@ -439,7 +439,8 @@
|
|
|
439
439
|
.retro-card, .retro-panel { background: var(--retro-card-bg); }
|
|
440
440
|
.retro-toolbar, .retro-table-wrap { background: var(--retro-control-bg); }
|
|
441
441
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
442
|
-
|
|
442
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
443
|
+
.retro-button:where(:not([data-ui-variant])):not(.retro-button-primary):not(.retro-button-secondary):not(.retro-button-danger):not(.retro-button-warning):not(.retro-button-ghost):not(.retro-button-outline-heavy), .retro-icon-button { background: var(--retro-control-bg); }
|
|
443
444
|
.retro-button, .retro-icon-button, .retro-badge, .retro-nav-link { font-family: var(--retro-font-control); }
|
|
444
445
|
|
|
445
446
|
|
|
@@ -638,7 +639,7 @@
|
|
|
638
639
|
.retro-button.retro-button-outline-heavy,
|
|
639
640
|
.retro-button-outline-heavy {
|
|
640
641
|
background: transparent;
|
|
641
|
-
color: var(--usk-primary-ink, var(--retro-
|
|
642
|
+
color: var(--usk-primary-ink, var(--retro-text));
|
|
642
643
|
border-style: solid;
|
|
643
644
|
border-width: 2px;
|
|
644
645
|
border-color: var(--retro-primary);
|
|
@@ -1336,7 +1337,7 @@
|
|
|
1336
1337
|
|
|
1337
1338
|
.retro-button.retro-button-outline-heavy, .retro-button-outline-heavy {
|
|
1338
1339
|
background: var(--retro-enamel-bg);
|
|
1339
|
-
color: var(--usk-primary-ink, var(--retro-
|
|
1340
|
+
color: var(--usk-primary-ink, var(--retro-text));
|
|
1340
1341
|
border: 4px double var(--retro-metal-edge);
|
|
1341
1342
|
border-radius: var(--retro-radius-pill);
|
|
1342
1343
|
clip-path: inset(0 round var(--retro-radius-pill));
|
package/styles/tactile.css
CHANGED
|
@@ -468,7 +468,8 @@
|
|
|
468
468
|
.tactile-card, .tactile-panel { background: var(--tactile-card-bg); }
|
|
469
469
|
.tactile-toolbar, .tactile-table-wrap { background: var(--tactile-card-bg); }
|
|
470
470
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
471
|
-
|
|
471
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
472
|
+
.tactile-button:where(:not([data-ui-variant])):not(.tactile-button-primary):not(.tactile-button-secondary):not(.tactile-button-danger):not(.tactile-button-warning):not(.tactile-button-ghost):not(.tactile-button-outline-heavy), .tactile-icon-button { background: var(--tactile-control-bg); }
|
|
472
473
|
.tactile-button, .tactile-icon-button, .tactile-badge, .tactile-nav-link { font-family: var(--tactile-font-control); }
|
|
473
474
|
|
|
474
475
|
|
|
@@ -664,7 +665,7 @@
|
|
|
664
665
|
.tactile-button.tactile-button-outline-heavy,
|
|
665
666
|
.tactile-button-outline-heavy {
|
|
666
667
|
background: transparent;
|
|
667
|
-
color: var(--usk-primary-ink, var(--tactile-
|
|
668
|
+
color: var(--usk-primary-ink, var(--tactile-text));
|
|
668
669
|
border-style: solid;
|
|
669
670
|
border-width: 2px;
|
|
670
671
|
border-color: var(--tactile-primary);
|
|
@@ -1552,7 +1553,8 @@
|
|
|
1552
1553
|
/** Enhances supported browsers with the reference's light-to-dark enamel ramp. */
|
|
1553
1554
|
@supports (color: color-mix(in srgb, black, white)) {
|
|
1554
1555
|
.tactile-button-primary {
|
|
1555
|
-
|
|
1556
|
+
/** Both enamel stops retain the same tested primary foreground pair. */
|
|
1557
|
+
background: linear-gradient(180deg, var(--tactile-primary-hover), var(--tactile-primary) 48%, var(--tactile-primary));
|
|
1556
1558
|
border-color: color-mix(in srgb, var(--tactile-primary), black 34%);
|
|
1557
1559
|
box-shadow: inset 0 1px 0 rgb(255 255 255 / .42), inset 0 -2px 0 rgb(0 0 0 / .25), 0 1px 2px rgb(var(--tactile-material-shadow-rgb) / .3);
|
|
1558
1560
|
}
|
|
@@ -1705,7 +1707,8 @@
|
|
|
1705
1707
|
|
|
1706
1708
|
.tactile-nav-link[aria-current="page"],
|
|
1707
1709
|
.tactile-nav-link.is-active {
|
|
1708
|
-
|
|
1710
|
+
/** The copper rail carries selection; text retains the sidebar's paired foreground. */
|
|
1711
|
+
color: var(--tactile-sidebar-fg);
|
|
1709
1712
|
background: rgb(var(--tactile-sidebar-text-rgb) / .06);
|
|
1710
1713
|
border-color: rgb(var(--tactile-sidebar-text-rgb) / .18);
|
|
1711
1714
|
box-shadow: inset .18rem 0 0 var(--tactile-copper), inset .08rem .08rem .18rem rgb(0 0 0 / .38);
|
|
@@ -556,7 +556,8 @@
|
|
|
556
556
|
.blueprint-card, .blueprint-panel { background: var(--blueprint-card-bg); }
|
|
557
557
|
.blueprint-toolbar, .blueprint-table-wrap { background: var(--blueprint-control-bg); }
|
|
558
558
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
559
|
-
|
|
559
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
560
|
+
.blueprint-button:where(:not([data-ui-variant])):not(.blueprint-button-primary):not(.blueprint-button-secondary):not(.blueprint-button-danger):not(.blueprint-button-warning):not(.blueprint-button-ghost):not(.blueprint-button-outline-heavy), .blueprint-icon-button { background: var(--blueprint-control-bg); }
|
|
560
561
|
.blueprint-button, .blueprint-icon-button, .blueprint-badge, .blueprint-nav-link { font-family: var(--blueprint-font-control); }
|
|
561
562
|
|
|
562
563
|
|
|
@@ -748,7 +749,7 @@
|
|
|
748
749
|
.blueprint-button.blueprint-button-outline-heavy,
|
|
749
750
|
.blueprint-button-outline-heavy {
|
|
750
751
|
background: transparent;
|
|
751
|
-
color: var(--usk-primary-ink, var(--blueprint-
|
|
752
|
+
color: var(--usk-primary-ink, var(--blueprint-text));
|
|
752
753
|
border-style: solid;
|
|
753
754
|
border-width: 2px;
|
|
754
755
|
border-color: var(--blueprint-primary);
|
|
@@ -892,7 +893,8 @@
|
|
|
892
893
|
.blueprint-surface, .blueprint-card, .blueprint-panel, .blueprint-toolbar, .blueprint-table-wrap { border-radius: 0; box-shadow: inset 0 0 0 1px rgb(var(--blueprint-primary-rgb) / .12); }
|
|
893
894
|
.blueprint-card, .blueprint-panel, .blueprint-toolbar { background-image: linear-gradient(90deg, transparent calc(100% - .55rem), rgb(var(--blueprint-primary-rgb) / .3) calc(100% - .55rem), rgb(var(--blueprint-primary-rgb) / .3) calc(100% - .48rem), transparent calc(100% - .48rem)); }
|
|
894
895
|
.blueprint-button, .blueprint-icon-button { border-radius: 0; box-shadow: none; font-family: var(--blueprint-font-control); text-transform: uppercase; letter-spacing: .06em; }
|
|
895
|
-
|
|
896
|
+
/** Flat neutral paint yields to outlined CTA hover fills. */
|
|
897
|
+
.blueprint-button:where(:not([data-ui-variant])):not(.blueprint-button-primary):not(.blueprint-button-secondary):not(.blueprint-button-danger):not(.blueprint-button-warning):not(.blueprint-button-outline-heavy) { background: transparent; }
|
|
896
898
|
.blueprint-nav { border-radius: 0; box-shadow: none; }
|
|
897
899
|
.blueprint-nav-link { border-radius: 0; font-family: var(--blueprint-font-control); font-size: .75rem; text-transform: uppercase; }
|
|
898
900
|
.blueprint-input, .blueprint-textarea, .blueprint-select, .blueprint-badge, .blueprint-alert, .blueprint-metric, .blueprint-well, .blueprint-inset { border-radius: 0; }
|
|
@@ -1103,7 +1105,7 @@
|
|
|
1103
1105
|
--blueprint-fallback-border-rgb: 20 95 147;
|
|
1104
1106
|
--blueprint-fallback-primary-rgb: 7 95 157;
|
|
1105
1107
|
--blueprint-fallback-primary-hover-rgb: 6 76 124;
|
|
1106
|
-
--blueprint-fallback-danger-rgb:
|
|
1108
|
+
--blueprint-fallback-danger-rgb: 197 45 40;
|
|
1107
1109
|
--blueprint-fallback-success-rgb: 24 111 64;
|
|
1108
1110
|
--blueprint-fallback-warning-rgb: 132 76 0;
|
|
1109
1111
|
--blueprint-fallback-warning-text-rgb: 255 255 255;
|
|
@@ -1171,6 +1173,8 @@
|
|
|
1171
1173
|
}
|
|
1172
1174
|
.blueprint-icon-button { inline-size: 36px; padding: 8px; aspect-ratio: 1; }
|
|
1173
1175
|
.blueprint-button-primary { background: var(--blueprint-fill); color: var(--blueprint-fill-ink); border-color: var(--blueprint-primary); }
|
|
1176
|
+
/** The hover fill uses the primary role, so its label must use that role's foreground. */
|
|
1177
|
+
.blueprint-button-primary:hover { color: var(--blueprint-on-primary); }
|
|
1174
1178
|
.blueprint-button-secondary { background: transparent; color: var(--blueprint-secondary); border-color: var(--blueprint-secondary); }
|
|
1175
1179
|
.blueprint-button-ghost { border-style: dashed; color: var(--blueprint-text-soft); }
|
|
1176
1180
|
.blueprint-button-danger { background: transparent; border-color: var(--blueprint-danger); color: var(--blueprint-danger); }
|
package/styles/y2k.css
CHANGED
|
@@ -433,7 +433,8 @@
|
|
|
433
433
|
}
|
|
434
434
|
[data-ui="y2k"] *, [data-ui="y2k"] *::before, [data-ui="y2k"] *::after { box-sizing: border-box; }
|
|
435
435
|
[data-ui="y2k"][data-mode] { background: var(--y2k-theme-bg); background-size: var(--y2k-theme-bg-size); }
|
|
436
|
-
|
|
436
|
+
/** Inline-link ink must not override the foreground paired with an action surface. */
|
|
437
|
+
[data-ui="y2k"] a:where(:not(.y2k-button):not(.y2k-icon-button)) { color: var(--y2k-link); text-decoration-thickness: 0.11em; text-underline-offset: 0.18em; } [data-ui="y2k"] ::selection { background: var(--y2k-primary); color: var(--y2k-on-primary); }
|
|
437
438
|
|
|
438
439
|
.y2k-page { min-height: 100vh; padding: clamp(1rem, 4vw, 3rem); background-image: radial-gradient(rgb(var(--y2k-border-rgb) / var(--y2k-grid-alpha)) 1px, transparent 1px); background-size: 22px 22px; }
|
|
439
440
|
.y2k-container { width: min(100% - 2rem, 1200px); margin-inline: auto; } .y2k-stack { display: flex; flex-direction: column; gap: var(--y2k-space-4); } .y2k-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--y2k-space-3); } .y2k-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--y2k-space-5); } .y2k-section { padding: clamp(1.25rem, 4vw, 2.5rem); }
|
|
@@ -467,7 +468,8 @@
|
|
|
467
468
|
.y2k-card, .y2k-panel { background: var(--y2k-card-bg); }
|
|
468
469
|
.y2k-toolbar, .y2k-table-wrap { background: var(--y2k-control-bg); }
|
|
469
470
|
/** Attribute-selected variants bypass the legacy neutral-only paint fallback. */
|
|
470
|
-
|
|
471
|
+
/** Neutral defaults exclude outlined actions so their hover fill and ink remain paired. */
|
|
472
|
+
.y2k-button:where(:not([data-ui-variant])):not(.y2k-button-primary):not(.y2k-button-secondary):not(.y2k-button-danger):not(.y2k-button-warning):not(.y2k-button-ghost):not(.y2k-button-outline-heavy), .y2k-icon-button { background: var(--y2k-control-bg); }
|
|
471
473
|
.y2k-button, .y2k-icon-button, .y2k-badge, .y2k-nav-link { font-family: var(--y2k-font-control); }
|
|
472
474
|
|
|
473
475
|
/* Spinner geometry follows the y2k preset's glossy plastic controls. */
|
|
@@ -568,7 +570,7 @@
|
|
|
568
570
|
.y2k-button.y2k-button-outline-heavy,
|
|
569
571
|
.y2k-button-outline-heavy {
|
|
570
572
|
background: transparent;
|
|
571
|
-
color: var(--usk-primary-ink, var(--y2k-
|
|
573
|
+
color: var(--usk-primary-ink, var(--y2k-text));
|
|
572
574
|
border-style: solid;
|
|
573
575
|
border-width: 2px;
|
|
574
576
|
border-color: var(--y2k-primary);
|
|
@@ -926,7 +928,7 @@
|
|
|
926
928
|
font: 400 11px/1.2 Tahoma, Verdana, Arial, sans-serif;
|
|
927
929
|
}
|
|
928
930
|
|
|
929
|
-
[data-ui="y2k"] a {
|
|
931
|
+
[data-ui="y2k"] a:where(:not(.y2k-button):not(.y2k-icon-button)) {
|
|
930
932
|
color: var(--y2k-link);
|
|
931
933
|
text-decoration: underline;
|
|
932
934
|
text-decoration-thickness: auto;
|
|
@@ -1098,10 +1100,11 @@
|
|
|
1098
1100
|
padding: 0;
|
|
1099
1101
|
}
|
|
1100
1102
|
|
|
1101
|
-
.
|
|
1103
|
+
/** Hovered neutral controls retain the foreground paired with their neutral surface. */
|
|
1104
|
+
.y2k-button:where(:not(.y2k-button-primary):not(.y2k-button-danger):not(.y2k-button-warning)):hover,
|
|
1102
1105
|
.y2k-icon-button:hover {
|
|
1103
|
-
background: var(--y2k-
|
|
1104
|
-
color: var(--y2k-
|
|
1106
|
+
background: var(--y2k-surface-soft);
|
|
1107
|
+
color: var(--y2k-text);
|
|
1105
1108
|
transform: none;
|
|
1106
1109
|
box-shadow: var(--y2k-bevel-raised);
|
|
1107
1110
|
}
|
|
@@ -1118,11 +1121,17 @@
|
|
|
1118
1121
|
}
|
|
1119
1122
|
|
|
1120
1123
|
.y2k-button-primary {
|
|
1121
|
-
|
|
1124
|
+
/** Keep the raised bevel's reflection outside the label lane. */
|
|
1125
|
+
background: linear-gradient(180deg, rgb(255 255 255 / .2), transparent 20%), var(--y2k-primary);
|
|
1122
1126
|
color: var(--y2k-on-primary);
|
|
1123
1127
|
border-color: var(--y2k-border);
|
|
1124
1128
|
}
|
|
1125
1129
|
|
|
1130
|
+
.y2k-button-primary:hover {
|
|
1131
|
+
background: var(--y2k-primary-hover);
|
|
1132
|
+
color: var(--y2k-on-primary);
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1126
1135
|
.y2k-button-secondary {
|
|
1127
1136
|
background: var(--y2k-surface-soft);
|
|
1128
1137
|
color: var(--y2k-text);
|
|
@@ -1131,8 +1140,9 @@
|
|
|
1131
1140
|
|
|
1132
1141
|
.y2k-button-danger {
|
|
1133
1142
|
background: var(--y2k-surface-soft);
|
|
1134
|
-
|
|
1135
|
-
|
|
1143
|
+
/** The outline carries the danger signal while surface ink keeps its label readable. */
|
|
1144
|
+
color: var(--y2k-text);
|
|
1145
|
+
border-color: var(--y2k-danger);
|
|
1136
1146
|
}
|
|
1137
1147
|
|
|
1138
1148
|
/**
|
|
@@ -1157,12 +1167,16 @@
|
|
|
1157
1167
|
.y2k-button.y2k-button-outline-heavy {
|
|
1158
1168
|
min-inline-size: 0;
|
|
1159
1169
|
min-block-size: 1.375rem;
|
|
1160
|
-
background: var(--y2k-surface-soft);
|
|
1161
1170
|
border: 1px outset var(--y2k-border);
|
|
1162
1171
|
border-radius: 0;
|
|
1163
1172
|
box-shadow: var(--y2k-bevel-raised);
|
|
1164
1173
|
clip-path: none;
|
|
1165
1174
|
}
|
|
1175
|
+
/** Compact CTA geometry preserves a primary action's filled paint and paired ink. */
|
|
1176
|
+
.y2k-button-cut:where(:not(.y2k-button-primary)),
|
|
1177
|
+
.y2k-button.y2k-button-cut:where(:not(.y2k-button-primary)),
|
|
1178
|
+
.y2k-button-outline-heavy,
|
|
1179
|
+
.y2k-button.y2k-button-outline-heavy { background: var(--y2k-surface-soft); }
|
|
1166
1180
|
|
|
1167
1181
|
.y2k-field {
|
|
1168
1182
|
gap: .125rem;
|
|
@@ -1380,6 +1394,11 @@
|
|
|
1380
1394
|
text-align: center;
|
|
1381
1395
|
}
|
|
1382
1396
|
|
|
1397
|
+
/** The two-line seal needs its own frame; compact icon dimensions clip its labels. */
|
|
1398
|
+
.y2k-badge-seal { inline-size: 4rem; min-inline-size: 4rem; block-size: 4rem; }
|
|
1399
|
+
/** Native inline spacing must not consume the compact seal's label tracks. */
|
|
1400
|
+
.y2k-badge-seal > strong, .y2k-badge-seal > small { margin: 0; padding: 0; white-space: nowrap; }
|
|
1401
|
+
|
|
1383
1402
|
.y2k-feature-item > .y2k-icon-medallion,
|
|
1384
1403
|
.y2k-callout-bar > .y2k-icon-medallion {
|
|
1385
1404
|
min-inline-size: 2.75rem;
|