@rackbops/styles 0.2.2 → 0.2.4
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/amber-ember/design.md +4 -0
- package/amber-hearth/design.md +6 -0
- package/arcane-obsidian/design.md +4 -0
- package/arcane-parchment/design.md +4 -0
- package/concrete-signal/design.md +4 -0
- package/concrete-signal-light/design.md +6 -0
- package/contract.json +16 -0
- package/luminous-precision/design.md +4 -0
- package/mono-field/design.md +4 -0
- package/neon-butterfly/design.md +4 -0
- package/package.json +1 -1
- package/rackbops-noir/design.md +6 -0
- package/rackbops-studio/design.md +5 -0
- package/summer-cloud/design.md +4 -0
package/amber-ember/design.md
CHANGED
|
@@ -53,6 +53,10 @@ true pills for badges/progress; warm-toned diffused shadows (deepened to
|
|
|
53
53
|
near-black for the dark ground); transitions `0.18s`; 4px spacing rhythm; the
|
|
54
54
|
one gradient rationed to the active-tab underline only.
|
|
55
55
|
|
|
56
|
+
## Accessibility
|
|
57
|
+
|
|
58
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
59
|
+
|
|
56
60
|
## Components
|
|
57
61
|
|
|
58
62
|
Class prefix `rb-`; the full amber-hearth inventory, styled identically from
|
package/amber-hearth/design.md
CHANGED
|
@@ -75,6 +75,12 @@ progress fill and every other surface stay solid.
|
|
|
75
75
|
`--rb-accent-wash` ring.
|
|
76
76
|
- 4px spacing rhythm (`--rb-space-1..5`).
|
|
77
77
|
|
|
78
|
+
## Accessibility
|
|
79
|
+
|
|
80
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). One note beyond the tested pairs:
|
|
81
|
+
|
|
82
|
+
- **`--rb-accent` as bare `<a>` link text is ~4.47:1 on `--rb-bg`** -- essentially at the 4.5:1 AA text bar, and ~4.9:1 on `--rb-surface`, which clears it. It clears the 3:1 non-text/focus target the test checks `--rb-accent` against (accent is contracted as a non-text element, not body text).
|
|
83
|
+
|
|
78
84
|
## Components
|
|
79
85
|
|
|
80
86
|
Class prefix `rb-`; shared token/class contract with the other themes. No
|
|
@@ -75,6 +75,10 @@ Muted-on-surface is tuned to clear WCAG AA (4.5:1) on every surface; the light
|
|
|
75
75
|
`prefers-reduced-motion`.
|
|
76
76
|
- 4px spacing rhythm (`--rb-space-1..5`).
|
|
77
77
|
|
|
78
|
+
## Accessibility
|
|
79
|
+
|
|
80
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
81
|
+
|
|
78
82
|
## Components
|
|
79
83
|
|
|
80
84
|
Class prefix `rb-`; shared token/class contract with the other themes.
|
|
@@ -66,6 +66,10 @@ same mono voice with `--rb-space-3` margin, and bare `ul`/`ol` add
|
|
|
66
66
|
- Transitions `0.15s`; every animation respects `prefers-reduced-motion`.
|
|
67
67
|
- 4px spacing rhythm.
|
|
68
68
|
|
|
69
|
+
## Accessibility
|
|
70
|
+
|
|
71
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
72
|
+
|
|
69
73
|
## Components
|
|
70
74
|
|
|
71
75
|
Class prefix `rb-`; the full arcane-obsidian inventory, styled identically from
|
|
@@ -85,6 +85,10 @@ gradient has no soft midpoint.
|
|
|
85
85
|
respects `prefers-reduced-motion`.
|
|
86
86
|
- 4px spacing rhythm (`--rb-space-1..5`).
|
|
87
87
|
|
|
88
|
+
## Accessibility
|
|
89
|
+
|
|
90
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
91
|
+
|
|
88
92
|
## Components
|
|
89
93
|
|
|
90
94
|
Class prefix `rb-`; shared token/class contract with the other themes (the
|
|
@@ -59,6 +59,12 @@ shadows instead of blur, a hard border-weight focus change on form controls
|
|
|
59
59
|
rationed gradient on the active-tab underline only, and `0.1s` snap
|
|
60
60
|
transitions.
|
|
61
61
|
|
|
62
|
+
## Accessibility
|
|
63
|
+
|
|
64
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). One note beyond the tested pairs:
|
|
65
|
+
|
|
66
|
+
- **`--rb-accent` as bare `<a>` link text is below the 4.5:1 AA text bar** -- ~4.0:1 on `--rb-bg` and ~4.4:1 on `--rb-surface`. It clears the 3:1 non-text/focus target the test checks `--rb-accent` against (accent is contracted as a non-text element, not body text); reserve accent link text for non-essential navigation.
|
|
67
|
+
|
|
62
68
|
## Components
|
|
63
69
|
|
|
64
70
|
Identical to concrete-signal — see its `design.md` for per-component notes;
|
package/contract.json
CHANGED
|
@@ -162,5 +162,21 @@
|
|
|
162
162
|
"summer-cloud/button.css": ["#4a0000"],
|
|
163
163
|
"rackbops-noir/rack.css": ["#0a121a", "#e7eef4", "#7d90a2", "#1e2b37"],
|
|
164
164
|
"rackbops-studio/rack.css": ["#101a24", "#e7eef4", "#7d90a2", "#26333f"]
|
|
165
|
+
},
|
|
166
|
+
"contrast": {
|
|
167
|
+
"//": "WCAG contrast for the fixed token pairs, computed from each theme's tokens.css by styles/test/contrast.test.mjs (STANDARD.md 9). `min` is the ratio floor; `warnBelow` (text-faint only) diagnoses -- does not fail -- a value under AA that still clears the 3:1 non-text floor. A failing pair is fixed in the tokens or entered in `allowlist` with the design.md line documenting it.",
|
|
168
|
+
"pairs": [
|
|
169
|
+
{ "fg": "text", "bg": "bg", "min": 4.5 },
|
|
170
|
+
{ "fg": "text", "bg": "surface", "min": 4.5 },
|
|
171
|
+
{ "fg": "text", "bg": "surface-2", "min": 4.5 },
|
|
172
|
+
{ "fg": "text-soft", "bg": "bg", "min": 4.5 },
|
|
173
|
+
{ "fg": "text-soft", "bg": "surface", "min": 4.5 },
|
|
174
|
+
{ "fg": "accent-fg", "bg": "accent", "min": 4.5 },
|
|
175
|
+
{ "fg": "accent", "bg": "bg", "min": 3.0 },
|
|
176
|
+
{ "fg": "text-faint", "bg": "surface", "min": 3.0, "warnBelow": 4.5 }
|
|
177
|
+
],
|
|
178
|
+
"allowlist": [
|
|
179
|
+
{ "theme": "rackbops-studio", "fg": "accent-fg", "bg": "accent", "reason": "white on the vermillion accent fill is ~3.6:1 -- rackbops.com editorial fidelity; spent only on large/bold .rb-btn--accent and .rb-btn--primary hover text (large-text AA is 3:1), never small labels or essential body copy", "doc": "rackbops-studio/design.md:96-98" }
|
|
180
|
+
]
|
|
165
181
|
}
|
|
166
182
|
}
|
|
@@ -85,6 +85,10 @@ disc/decimal markers, not stripped).
|
|
|
85
85
|
lean on glow. Transitions 0.3s. Respect `prefers-reduced-motion`.
|
|
86
86
|
- 8px spacing rhythm; generous negative space so glows can breathe.
|
|
87
87
|
|
|
88
|
+
## Accessibility
|
|
89
|
+
|
|
90
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
91
|
+
|
|
88
92
|
## Components
|
|
89
93
|
|
|
90
94
|
Class prefix `rb-` (shared token/class contract with the other themes).
|
package/mono-field/design.md
CHANGED
|
@@ -85,6 +85,10 @@ and the accent itself is spent sparingly — never for decoration.
|
|
|
85
85
|
respects `prefers-reduced-motion`.
|
|
86
86
|
- Spacing rhythm `--rb-space-1..5` (0.25rem to 1.5rem).
|
|
87
87
|
|
|
88
|
+
## Accessibility
|
|
89
|
+
|
|
90
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
91
|
+
|
|
88
92
|
## Components
|
|
89
93
|
|
|
90
94
|
Class prefix `rb-`; shared token/class contract with the other themes (the
|
package/neon-butterfly/design.md
CHANGED
|
@@ -76,6 +76,10 @@ token stack falls back to `ui-monospace`.
|
|
|
76
76
|
- Transitions 0.3s; hover motion is a 4px `translateX` slide on links.
|
|
77
77
|
- Respect `prefers-reduced-motion`.
|
|
78
78
|
|
|
79
|
+
## Accessibility
|
|
80
|
+
|
|
81
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
82
|
+
|
|
79
83
|
## Components
|
|
80
84
|
|
|
81
85
|
Class prefix `rb-`. Variants use BEM-ish modifiers (`rb-btn--accent`).
|
package/package.json
CHANGED
package/rackbops-noir/design.md
CHANGED
|
@@ -65,6 +65,12 @@ unclassed headlines, `--rb-space-3` margin on headings/paragraphs/lists, and
|
|
|
65
65
|
rack equaliser bars.
|
|
66
66
|
- Every animation respects `prefers-reduced-motion`.
|
|
67
67
|
|
|
68
|
+
## Accessibility
|
|
69
|
+
|
|
70
|
+
The token pairs `styles/test/contrast.test.mjs` computes clear their WCAG targets, with one below-AA note the test emits as a warning (not a failure):
|
|
71
|
+
|
|
72
|
+
- **`--rb-text-faint` on `--rb-surface` is ~3.8:1** -- below the 4.5:1 AA bar for normal text, above the 3:1 floor. Use it only for genuinely secondary meta (idle labels, footnotes, timestamps), never essential text; the shared `.rb-table` header uses `--rb-text-soft`, which passes.
|
|
73
|
+
|
|
68
74
|
## Components
|
|
69
75
|
|
|
70
76
|
Class prefix `rb-`; the full rackbops-studio inventory, styled identically from
|
|
@@ -103,6 +103,11 @@ consumers can compensate rather than discover it:
|
|
|
103
103
|
default chip, the active link/tab — sit near ~4.3:1). Reach for it where
|
|
104
104
|
full-contrast UI matters.
|
|
105
105
|
|
|
106
|
+
These are the ratios `styles/test/contrast.test.mjs` checks: `--rb-accent-fg` on
|
|
107
|
+
`--rb-accent` (~3.6:1) is allowlisted in `contract.json`'s `contrast` block, and
|
|
108
|
+
`--rb-text-faint` on `--rb-surface` (~3.2:1) is emitted as a below-AA warning;
|
|
109
|
+
the remaining pairs clear their targets.
|
|
110
|
+
|
|
106
111
|
## Components
|
|
107
112
|
|
|
108
113
|
Class prefix `rb-`; shared token/class contract with the other themes.
|
package/summer-cloud/design.md
CHANGED
|
@@ -109,6 +109,10 @@ family.
|
|
|
109
109
|
- Spacing is strictly multiples of 8px. When in doubt, add 8.
|
|
110
110
|
- Respect `prefers-reduced-motion` — every transform is dropped.
|
|
111
111
|
|
|
112
|
+
## Accessibility
|
|
113
|
+
|
|
114
|
+
The token pairs `styles/test/contrast.test.mjs` computes -- `--rb-text` / `--rb-text-soft` on their surfaces, `--rb-accent-fg` on `--rb-accent`, `--rb-accent` as non-text on `--rb-bg`, and `--rb-text-faint` on `--rb-surface` -- all clear their WCAG targets (4.5:1 text, 3:1 non-text; faint clears AA here too). No deviations.
|
|
115
|
+
|
|
112
116
|
## Components
|
|
113
117
|
|
|
114
118
|
Class prefix `rb-` (shared across themes so `@rackbops/ui-react` stays
|