@rackbops/styles 0.1.6 → 0.1.8

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.
@@ -55,6 +55,11 @@
55
55
  color: var(--rb-accent);
56
56
  }
57
57
 
58
+ :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *):where(:focus-visible) {
59
+ outline: 2px solid var(--rb-accent);
60
+ outline-offset: 2px;
61
+ }
62
+
58
63
  :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *)::selection {
59
64
  background: var(--rb-accent);
60
65
  color: var(--rb-accent-fg);
@@ -38,7 +38,7 @@
38
38
  justify-content: center;
39
39
  line-height: 1;
40
40
  }
41
- :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn:hover,
41
+ :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn:not(:disabled):hover,
42
42
  :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn:focus-visible {
43
43
  border-color: var(--rb-border-strong);
44
44
  outline: none;
@@ -49,7 +49,7 @@
49
49
  color: var(--rb-accent-fg);
50
50
  box-shadow: var(--rb-shadow-sm);
51
51
  }
52
- :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--primary:hover,
52
+ :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--primary:not(:disabled):hover,
53
53
  :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--primary:focus-visible {
54
54
  box-shadow: var(--rb-shadow-lg);
55
55
  }
@@ -63,7 +63,7 @@
63
63
  border-color: color-mix(in srgb, var(--rb-danger) 40%, var(--rb-border));
64
64
  color: var(--rb-danger);
65
65
  }
66
- :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--danger:hover,
66
+ :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--danger:not(:disabled):hover,
67
67
  :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--danger:focus-visible {
68
68
  border-color: var(--rb-danger);
69
69
  }
@@ -72,7 +72,7 @@
72
72
  border-color: transparent;
73
73
  color: var(--rb-text-soft);
74
74
  }
75
- :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--ghost:hover,
75
+ :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--ghost:not(:disabled):hover,
76
76
  :where([data-rb-style="amber-ember"], [data-rb-style="amber-ember"] *).rb-btn--ghost:focus-visible {
77
77
  background: var(--rb-surface-2);
78
78
  border-color: var(--rb-border);
@@ -55,6 +55,11 @@
55
55
  color: var(--rb-accent);
56
56
  }
57
57
 
58
+ :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *):where(:focus-visible) {
59
+ outline: 2px solid var(--rb-accent);
60
+ outline-offset: 2px;
61
+ }
62
+
58
63
  :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *)::selection {
59
64
  background: var(--rb-accent);
60
65
  color: var(--rb-accent-fg);
@@ -38,7 +38,7 @@
38
38
  justify-content: center;
39
39
  line-height: 1;
40
40
  }
41
- :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn:hover,
41
+ :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn:not(:disabled):hover,
42
42
  :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn:focus-visible {
43
43
  border-color: var(--rb-border-strong);
44
44
  outline: none;
@@ -49,7 +49,7 @@
49
49
  color: var(--rb-accent-fg);
50
50
  box-shadow: var(--rb-shadow-sm);
51
51
  }
52
- :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--primary:hover,
52
+ :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--primary:not(:disabled):hover,
53
53
  :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--primary:focus-visible {
54
54
  box-shadow: var(--rb-shadow-lg);
55
55
  }
@@ -63,7 +63,7 @@
63
63
  border-color: color-mix(in srgb, var(--rb-danger) 40%, var(--rb-border));
64
64
  color: var(--rb-danger);
65
65
  }
66
- :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--danger:hover,
66
+ :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--danger:not(:disabled):hover,
67
67
  :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--danger:focus-visible {
68
68
  border-color: var(--rb-danger);
69
69
  }
@@ -72,7 +72,7 @@
72
72
  border-color: transparent;
73
73
  color: var(--rb-text-soft);
74
74
  }
75
- :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--ghost:hover,
75
+ :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--ghost:not(:disabled):hover,
76
76
  :where([data-rb-style="amber-hearth"], [data-rb-style="amber-hearth"] *).rb-btn--ghost:focus-visible {
77
77
  background: var(--rb-surface-2);
78
78
  border-color: var(--rb-border);
@@ -36,7 +36,7 @@
36
36
  justify-content: center;
37
37
  line-height: 1;
38
38
  }
39
- :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn:hover,
39
+ :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn:not(:disabled):hover,
40
40
  :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn:focus-visible {
41
41
  border-color: var(--rb-accent);
42
42
  outline: none;
@@ -46,7 +46,7 @@
46
46
  border-color: var(--rb-accent);
47
47
  color: var(--rb-accent-fg);
48
48
  }
49
- :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--primary:hover,
49
+ :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--primary:not(:disabled):hover,
50
50
  :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--primary:focus-visible {
51
51
  background: color-mix(in srgb, var(--rb-accent) 88%, #fff);
52
52
  border-color: color-mix(in srgb, var(--rb-accent) 88%, #fff);
@@ -61,7 +61,7 @@
61
61
  border-color: color-mix(in srgb, var(--rb-danger) 40%, var(--rb-border));
62
62
  color: var(--rb-danger);
63
63
  }
64
- :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--danger:hover,
64
+ :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--danger:not(:disabled):hover,
65
65
  :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--danger:focus-visible {
66
66
  border-color: var(--rb-danger);
67
67
  }
@@ -70,7 +70,7 @@
70
70
  border-color: transparent;
71
71
  color: var(--rb-text-soft);
72
72
  }
73
- :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--ghost:hover,
73
+ :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--ghost:not(:disabled):hover,
74
74
  :where([data-rb-style="arcane-obsidian"], [data-rb-style="arcane-obsidian"] *).rb-btn--ghost:focus-visible {
75
75
  background: var(--rb-surface-2);
76
76
  border-color: var(--rb-border);
@@ -36,7 +36,7 @@
36
36
  justify-content: center;
37
37
  line-height: 1;
38
38
  }
39
- :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn:hover,
39
+ :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn:not(:disabled):hover,
40
40
  :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn:focus-visible {
41
41
  border-color: var(--rb-accent);
42
42
  outline: none;
@@ -46,7 +46,7 @@
46
46
  border-color: var(--rb-accent);
47
47
  color: var(--rb-accent-fg);
48
48
  }
49
- :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--primary:hover,
49
+ :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--primary:not(:disabled):hover,
50
50
  :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--primary:focus-visible {
51
51
  /* Darken the fill on a light ground (mix toward --rb-text) so the white label
52
52
  stays AA — lightening it, as the dark sibling does, would drop it to 4.37:1. */
@@ -63,7 +63,7 @@
63
63
  border-color: color-mix(in srgb, var(--rb-danger) 40%, var(--rb-border));
64
64
  color: var(--rb-danger);
65
65
  }
66
- :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--danger:hover,
66
+ :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--danger:not(:disabled):hover,
67
67
  :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--danger:focus-visible {
68
68
  border-color: var(--rb-danger);
69
69
  }
@@ -72,7 +72,7 @@
72
72
  border-color: transparent;
73
73
  color: var(--rb-text-soft);
74
74
  }
75
- :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--ghost:hover,
75
+ :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--ghost:not(:disabled):hover,
76
76
  :where([data-rb-style="arcane-parchment"], [data-rb-style="arcane-parchment"] *).rb-btn--ghost:focus-visible {
77
77
  background: var(--rb-surface-2);
78
78
  border-color: var(--rb-border);
@@ -51,6 +51,11 @@
51
51
  color: var(--rb-accent);
52
52
  }
53
53
 
54
+ :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *):where(:focus-visible) {
55
+ outline: 2px solid var(--rb-accent);
56
+ outline-offset: 2px;
57
+ }
58
+
54
59
  :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *)::selection {
55
60
  background: var(--rb-accent);
56
61
  color: var(--rb-accent-fg);
@@ -40,7 +40,7 @@
40
40
  justify-content: center;
41
41
  line-height: 1;
42
42
  }
43
- :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn:hover,
43
+ :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn:not(:disabled):hover,
44
44
  :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn:focus-visible {
45
45
  border-color: var(--rb-accent);
46
46
  color: var(--rb-accent);
@@ -55,7 +55,7 @@
55
55
  transform var(--rb-transition),
56
56
  box-shadow var(--rb-transition);
57
57
  }
58
- :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--primary:hover,
58
+ :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--primary:not(:disabled):hover,
59
59
  :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--primary:focus-visible,
60
60
  :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--primary:active {
61
61
  border-color: var(--rb-accent);
@@ -79,7 +79,7 @@
79
79
  border-color: transparent;
80
80
  color: var(--rb-text-soft);
81
81
  }
82
- :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--ghost:hover,
82
+ :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--ghost:not(:disabled):hover,
83
83
  :where([data-rb-style="concrete-signal"], [data-rb-style="concrete-signal"] *).rb-btn--ghost:focus-visible {
84
84
  background: var(--rb-surface-2);
85
85
  border-color: var(--rb-border);
@@ -51,6 +51,11 @@
51
51
  color: var(--rb-accent);
52
52
  }
53
53
 
54
+ :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *):where(:focus-visible) {
55
+ outline: 2px solid var(--rb-accent);
56
+ outline-offset: 2px;
57
+ }
58
+
54
59
  :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *)::selection {
55
60
  background: var(--rb-accent);
56
61
  color: var(--rb-accent-fg);
@@ -40,7 +40,7 @@
40
40
  justify-content: center;
41
41
  line-height: 1;
42
42
  }
43
- :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn:hover,
43
+ :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn:not(:disabled):hover,
44
44
  :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn:focus-visible {
45
45
  border-color: var(--rb-accent);
46
46
  color: var(--rb-accent);
@@ -55,7 +55,7 @@
55
55
  transform var(--rb-transition),
56
56
  box-shadow var(--rb-transition);
57
57
  }
58
- :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--primary:hover,
58
+ :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--primary:not(:disabled):hover,
59
59
  :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--primary:focus-visible,
60
60
  :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--primary:active {
61
61
  border-color: var(--rb-accent);
@@ -79,7 +79,7 @@
79
79
  border-color: transparent;
80
80
  color: var(--rb-text-soft);
81
81
  }
82
- :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--ghost:hover,
82
+ :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--ghost:not(:disabled):hover,
83
83
  :where([data-rb-style="concrete-signal-light"], [data-rb-style="concrete-signal-light"] *).rb-btn--ghost:focus-visible {
84
84
  background: var(--rb-surface-2);
85
85
  border-color: var(--rb-border);
@@ -64,6 +64,11 @@
64
64
  color: var(--rb-accent);
65
65
  }
66
66
 
67
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *):where(:focus-visible) {
68
+ outline: 2px solid var(--rb-accent);
69
+ outline-offset: 2px;
70
+ }
71
+
67
72
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *)::selection {
68
73
  background: var(--rb-accent);
69
74
  color: var(--rb-bg);
@@ -34,7 +34,7 @@
34
34
  justify-content: center;
35
35
  line-height: 1;
36
36
  }
37
- :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn:hover,
37
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn:not(:disabled):hover,
38
38
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn:focus-visible {
39
39
  border-color: var(--rb-accent-border);
40
40
  color: var(--rb-accent);
@@ -48,7 +48,7 @@
48
48
  border-color: var(--rb-accent);
49
49
  color: var(--rb-accent-fg);
50
50
  }
51
- :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--primary:hover,
51
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--primary:not(:disabled):hover,
52
52
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--primary:focus-visible {
53
53
  border-color: var(--rb-accent);
54
54
  color: var(--rb-accent-fg);
@@ -59,7 +59,7 @@
59
59
  border-color: var(--rb-accent-2);
60
60
  color: var(--rb-accent-2);
61
61
  }
62
- :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--accent:hover,
62
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--accent:not(:disabled):hover,
63
63
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--accent:focus-visible {
64
64
  border-color: var(--rb-accent-2);
65
65
  color: var(--rb-accent-2);
@@ -70,7 +70,7 @@
70
70
  border-color: var(--rb-danger);
71
71
  color: var(--rb-danger);
72
72
  }
73
- :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--danger:hover,
73
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--danger:not(:disabled):hover,
74
74
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--danger:focus-visible {
75
75
  border-color: var(--rb-danger);
76
76
  color: var(--rb-danger);
@@ -81,7 +81,7 @@
81
81
  border-color: transparent;
82
82
  color: var(--rb-text-soft);
83
83
  }
84
- :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--ghost:hover,
84
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--ghost:not(:disabled):hover,
85
85
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn--ghost:focus-visible {
86
86
  background: var(--rb-surface-2);
87
87
  }
@@ -106,7 +106,7 @@
106
106
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn {
107
107
  transition: none;
108
108
  }
109
- :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn:hover,
109
+ :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn:not(:disabled):hover,
110
110
  :where([data-rb-style="luminous-precision"], [data-rb-style="luminous-precision"] *).rb-btn:focus-visible {
111
111
  animation: none;
112
112
  }
@@ -53,6 +53,11 @@
53
53
  color: var(--rb-accent);
54
54
  }
55
55
 
56
+ :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *):where(:focus-visible) {
57
+ outline: 2px solid var(--rb-accent);
58
+ outline-offset: 2px;
59
+ }
60
+
56
61
  :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *)::selection {
57
62
  background: var(--rb-accent);
58
63
  color: var(--rb-accent-fg);
@@ -39,7 +39,7 @@
39
39
  justify-content: center;
40
40
  line-height: 1;
41
41
  }
42
- :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn:hover {
42
+ :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn:not(:disabled):hover {
43
43
  border-color: var(--rb-border-strong);
44
44
  }
45
45
  :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn:focus-visible {
@@ -54,7 +54,7 @@
54
54
  color: var(--rb-accent-fg);
55
55
  box-shadow: var(--rb-shadow-sm);
56
56
  }
57
- :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--primary:hover {
57
+ :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--primary:not(:disabled):hover {
58
58
  box-shadow: var(--rb-shadow-lg);
59
59
  }
60
60
 
@@ -64,7 +64,7 @@
64
64
  border-color: transparent;
65
65
  color: var(--rb-accent);
66
66
  }
67
- :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--accent:hover {
67
+ :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--accent:not(:disabled):hover {
68
68
  border-color: var(--rb-accent);
69
69
  }
70
70
 
@@ -74,7 +74,7 @@
74
74
  border-color: var(--rb-border);
75
75
  color: var(--rb-danger);
76
76
  }
77
- :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--danger:hover {
77
+ :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--danger:not(:disabled):hover {
78
78
  border-color: var(--rb-danger);
79
79
  }
80
80
 
@@ -84,7 +84,7 @@
84
84
  border-color: transparent;
85
85
  color: var(--rb-text-soft);
86
86
  }
87
- :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--ghost:hover {
87
+ :where([data-rb-style="mono-field"], [data-rb-style="mono-field"] *).rb-btn--ghost:not(:disabled):hover {
88
88
  border-color: transparent;
89
89
  color: var(--rb-text);
90
90
  }
@@ -61,6 +61,11 @@
61
61
  color: var(--rb-accent);
62
62
  }
63
63
 
64
+ :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *):where(:focus-visible) {
65
+ outline: 2px solid var(--rb-accent);
66
+ outline-offset: 2px;
67
+ }
68
+
64
69
  :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *)::selection {
65
70
  background: var(--rb-accent);
66
71
  color: var(--rb-bg);
@@ -33,7 +33,7 @@
33
33
  justify-content: center;
34
34
  line-height: 1;
35
35
  }
36
- :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn:hover,
36
+ :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn:not(:disabled):hover,
37
37
  :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn:focus-visible {
38
38
  border-color: var(--rb-accent-border);
39
39
  color: var(--rb-accent);
@@ -58,7 +58,7 @@
58
58
  border-color: transparent;
59
59
  color: var(--rb-text-soft);
60
60
  }
61
- :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn--ghost:hover,
61
+ :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn--ghost:not(:disabled):hover,
62
62
  :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn--ghost:focus-visible {
63
63
  background: var(--rb-surface-glass);
64
64
  }
@@ -73,7 +73,7 @@
73
73
  :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn {
74
74
  transition: none;
75
75
  }
76
- :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn:hover,
76
+ :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn:not(:disabled):hover,
77
77
  :where([data-rb-style="neon-butterfly"], [data-rb-style="neon-butterfly"] *).rb-btn:focus-visible {
78
78
  animation: none;
79
79
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rackbops/styles",
3
- "version": "0.1.6",
3
+ "version": "0.1.8",
4
4
  "description": "Rackbops design-system styles: tokens, base styles, and component classes per theme.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -47,7 +47,7 @@
47
47
  }
48
48
 
49
49
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *):where(a) {
50
- color: inherit;
50
+ color: var(--rb-accent);
51
51
  }
52
52
 
53
53
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *):where(:focus-visible) {
@@ -43,7 +43,7 @@
43
43
  background: var(--rb-text); /* light in this theme — a bright neutral fill */
44
44
  color: var(--rb-bg); /* dark ink on the light fill */
45
45
  }
46
- :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--primary:hover,
46
+ :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--primary:not(:disabled):hover,
47
47
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--primary:focus-visible {
48
48
  background: var(--rb-accent);
49
49
  color: var(--rb-accent-fg);
@@ -52,7 +52,7 @@
52
52
  background: var(--rb-accent);
53
53
  color: var(--rb-accent-fg);
54
54
  }
55
- :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--accent:hover,
55
+ :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--accent:not(:disabled):hover,
56
56
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--accent:focus-visible {
57
57
  /* mix toward the text colour: lightens in a dark theme, darkens in a light one */
58
58
  background: color-mix(in srgb, var(--rb-accent), var(--rb-text) 15%);
@@ -62,7 +62,7 @@
62
62
  color: var(--rb-text);
63
63
  border-color: var(--rb-border-strong);
64
64
  }
65
- :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--ghost:hover,
65
+ :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--ghost:not(:disabled):hover,
66
66
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--ghost:focus-visible {
67
67
  border-color: var(--rb-text);
68
68
  background: var(--rb-surface-2);
@@ -72,7 +72,7 @@
72
72
  color: var(--rb-danger);
73
73
  border-color: color-mix(in srgb, var(--rb-danger) 45%, var(--rb-border));
74
74
  }
75
- :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--danger:hover,
75
+ :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--danger:not(:disabled):hover,
76
76
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn--danger:focus-visible {
77
77
  border-color: var(--rb-danger);
78
78
  }
@@ -83,7 +83,7 @@
83
83
  :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn__arrow {
84
84
  transition: transform var(--rb-transition) ease;
85
85
  }
86
- :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn:hover .rb-btn__arrow {
86
+ :where([data-rb-style="rackbops-noir"], [data-rb-style="rackbops-noir"] *).rb-btn:not(:disabled):hover .rb-btn__arrow {
87
87
  transform: translateX(3px);
88
88
  }
89
89
 
@@ -43,7 +43,7 @@
43
43
  background: var(--rb-text);
44
44
  color: var(--rb-bg);
45
45
  }
46
- :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--primary:hover,
46
+ :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--primary:not(:disabled):hover,
47
47
  :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--primary:focus-visible {
48
48
  background: var(--rb-accent);
49
49
  color: var(--rb-accent-fg);
@@ -52,7 +52,7 @@
52
52
  background: var(--rb-accent);
53
53
  color: var(--rb-accent-fg);
54
54
  }
55
- :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--accent:hover,
55
+ :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--accent:not(:disabled):hover,
56
56
  :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--accent:focus-visible {
57
57
  background: color-mix(in srgb, var(--rb-accent), var(--rb-text) 15%);
58
58
  }
@@ -61,7 +61,7 @@
61
61
  color: var(--rb-text);
62
62
  border-color: var(--rb-border-strong);
63
63
  }
64
- :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--ghost:hover,
64
+ :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--ghost:not(:disabled):hover,
65
65
  :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--ghost:focus-visible {
66
66
  border-color: var(--rb-text);
67
67
  background: var(--rb-surface-2);
@@ -71,7 +71,7 @@
71
71
  color: var(--rb-danger);
72
72
  border-color: color-mix(in srgb, var(--rb-danger) 45%, var(--rb-border));
73
73
  }
74
- :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--danger:hover,
74
+ :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--danger:not(:disabled):hover,
75
75
  :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn--danger:focus-visible {
76
76
  border-color: var(--rb-danger);
77
77
  }
@@ -82,7 +82,7 @@
82
82
  :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn__arrow {
83
83
  transition: transform var(--rb-transition) ease;
84
84
  }
85
- :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn:hover .rb-btn__arrow {
85
+ :where([data-rb-style="rackbops-studio"], [data-rb-style="rackbops-studio"] *).rb-btn:not(:disabled):hover .rb-btn__arrow {
86
86
  transform: translateX(3px);
87
87
  }
88
88
 
@@ -85,6 +85,10 @@ consumers can compensate rather than discover it:
85
85
  kicker tag, the `/0N` principle markers, and the active nav link — all
86
86
  reproduced here. Treat accent-coloured text as decorative; never set body copy
87
87
  or the sole label of an interactive control in `--rb-accent`.
88
+ - **Bare (unclassed) `<a>` uses `color: inherit`, not `--rb-accent`** — for the
89
+ same reason above: accent-as-text is decorative-only here, and a bare link is
90
+ ordinary body copy, not a decorative flourish. `.rb-link`'s nav component
91
+ still carries its own accent-driven active state.
88
92
  - **`--rb-text-faint` (#8091a1) is below AA on white** — use it only for
89
93
  genuinely secondary meta (as the source does for footnotes), never for
90
94
  essential text. The shared `.rb-table` header therefore uses `--rb-text-soft`,
@@ -64,6 +64,11 @@
64
64
  color: var(--rb-accent);
65
65
  }
66
66
 
67
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *):where(:focus-visible) {
68
+ outline: 2px solid var(--rb-accent);
69
+ outline-offset: 2px;
70
+ }
71
+
67
72
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *)::selection {
68
73
  background: var(--rb-accent);
69
74
  color: #fff;
@@ -37,7 +37,7 @@
37
37
  justify-content: center;
38
38
  line-height: 1;
39
39
  }
40
- :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:hover,
40
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:not(:disabled):hover,
41
41
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:focus-visible {
42
42
  background: rgba(255, 255, 255, 0.6);
43
43
  border-color: var(--rb-accent-border);
@@ -60,7 +60,7 @@
60
60
  font-weight: var(--rb-font-weight-bold);
61
61
  box-shadow: var(--rb-shadow-raised);
62
62
  }
63
- :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--primary:hover {
63
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--primary:not(:disabled):hover {
64
64
  background: var(--rb-accent-bright);
65
65
  color: #fff;
66
66
  box-shadow: var(--rb-shadow-raised-hover);
@@ -76,7 +76,7 @@
76
76
  border-color: var(--rb-accent-2);
77
77
  color: var(--rb-accent-2-deep);
78
78
  }
79
- :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--accent:hover,
79
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--accent:not(:disabled):hover,
80
80
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--accent:focus-visible {
81
81
  color: var(--rb-accent-2-deep);
82
82
  box-shadow: 0 0 0 4px var(--rb-accent-2-glow);
@@ -88,7 +88,7 @@
88
88
  border-color: transparent;
89
89
  box-shadow: none;
90
90
  }
91
- :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--ghost:hover,
91
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--ghost:not(:disabled):hover,
92
92
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--ghost:focus-visible {
93
93
  background: var(--rb-sky-tint);
94
94
  }
@@ -100,7 +100,7 @@
100
100
  font-weight: var(--rb-font-weight-bold);
101
101
  box-shadow: 0 4px 14px rgba(204, 31, 31, 0.39);
102
102
  }
103
- :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--danger:hover,
103
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--danger:not(:disabled):hover,
104
104
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn--danger:focus-visible {
105
105
  background: var(--rb-danger);
106
106
  color: #4a0000;
@@ -118,7 +118,7 @@
118
118
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn {
119
119
  transition: background var(--rb-transition), color var(--rb-transition);
120
120
  }
121
- :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:hover,
121
+ :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:not(:disabled):hover,
122
122
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:focus-visible,
123
123
  :where([data-rb-style="summer-cloud"], [data-rb-style="summer-cloud"] *).rb-btn:active {
124
124
  transform: none;