@helloimjolopez-pathway/pathway-tokens 7.0.0 → 7.0.2

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/README.md CHANGED
@@ -3,11 +3,11 @@
3
3
  Design system for Ministry Brands Amplify. Tokens + components + specifications, all versioned in one place, with Storybook deployed from `main`.
4
4
 
5
5
  > **Looking for the tokens?** → **[TOKENS.md](TOKENS.md)** — where the CSS lives, which
6
- > of the 267 names you may use, and what to link in what order.
6
+ > of the 284 names you may use, and what to link in what order.
7
7
 
8
8
  ## Using the tokens
9
9
 
10
- **The colour contract is 169 names. Your full working vocabulary is 267.**
10
+ **The colour contract is 186 names. Your full working vocabulary is 284.**
11
11
 
12
12
  That is the number worth knowing, because adding up every declaration in the token
13
13
  folder gives 966 and the retired `tokens.css` used to emit 2,338. Neither is the
@@ -16,13 +16,13 @@ one name set rather than each having their own.
16
16
 
17
17
  | | Count | Name these? |
18
18
  |---|---|---|
19
- | Colour (`themes/light.css`, `themes/midnight.css` — same names) | **169** | Yes |
19
+ | Colour (`themes/light.css`, `themes/midnight.css` — same names) | **186** | Yes |
20
20
  | Type scale (`type.css`) | 41 | Yes |
21
21
  | Spacing, radii, borders (`layout.css`) | 40 | Yes |
22
22
  | Motion (`motion.css`) | 17 | Yes |
23
23
  | Sheet and TopNav padding (`layout-responsive.css`) | 6 | Yes |
24
24
  | Breakpoints (`breakpoints.css`) | 5 | Yes |
25
- | **Working vocabulary** | **267** | |
25
+ | **Working vocabulary** | **284** | |
26
26
  | Raw ramps (`primitives.css`) | 350 | **No** — but you must load it |
27
27
  | Component metrics (`layout-contextual.css`) | 26 | This repo's components |
28
28
 
@@ -30,13 +30,28 @@ export const SCROLL = {
30
30
  thumbMin: 28, // px — min thumb length (grab-target floor); JS layout math
31
31
  gutter: "var(--semantic-layout-units-padding-xxxtight)", // 2px — inset from the right edge
32
32
  grabZone: 16, // px — invisible mouse grab strip (wider than the 6px thumb so it's catchable)
33
- thumbRest: "var(--semantic-color-scrim-faint)", // black 16% — faint overlay (rest)
34
- thumbHover: "var(--semantic-color-scrim-light)", // black 30% — hover/drag
33
+ // WHY THESE TWO RUNGS AND NOT THE FAINTER ONES (2026-09-16):
34
+ //
35
+ // Rest was Scrim/Faint (black 16%), which composites to 1.4:1 against both
36
+ // canvas and sheet. The AA floor for a non-text UI component is 3:1, so a 6px
37
+ // pill at 1.4:1 sat right at the threshold of perception: one person saw it
38
+ // and another, on a brighter display, reported the scrollbar as missing
39
+ // entirely. That was a real report, not a misconfiguration.
40
+ //
41
+ // Measured over #fafafa: Faint 16% = 1.4:1, Light 24% = 1.68:1,
42
+ // Subtle 50% = 3.4:1, Base 70% = 6.57:1. Subtle is the lightest rung that
43
+ // clears the floor, so rest takes it and hover takes Base, which keeps the
44
+ // hover step legible as a step.
45
+ thumbRest: "var(--semantic-color-scrim-subtle)", // black 50% — 3.4:1, the lightest rung clearing 3:1
46
+ thumbHover: "var(--semantic-color-scrim-base)", // black 70% — 6.57:1, hover/drag
35
47
  thumbBlur: "blur(8px) saturate(180%)",
36
48
  // Hairline glass edge: semantic white at 35% via color-mix.
37
49
  thumbEdge: "inset 0 0 0 0.5px color-mix(in srgb, var(--semantic-color-fill-static-neutral-faint) 35%, transparent)",
38
- // Asymmetric fade, motion-token driven: snappy appear (200ms decelerate glide-in), graceful fade-out (380ms).
39
- fadeIn: "opacity var(--motion-duration-3) var(--motion-easing-decelerate), background var(--motion-duration-3) var(--motion-easing-standard)",
50
+ // Fade OUT gracefully, but appear INSTANTLY. Animating opacity on the way in
51
+ // multiplied the thumb's own alpha by the in-flight opacity, so during the
52
+ // 200ms glide-in it rendered as low as 1.18:1 — below the floor at the exact
53
+ // moment the user is looking for it. Only the fade-out is animated now.
54
+ fadeIn: "background var(--motion-duration-3) var(--motion-easing-standard)",
40
55
  fadeOut: "opacity var(--motion-duration-5) var(--motion-easing-standard)",
41
56
  idleHideMs: 500, // hide the thumb this long after scrolling stops / mouse leaves the bar
42
57
  };
@@ -48,6 +48,11 @@ import ReactDOM from "react-dom";
48
48
  */
49
49
  const c = (name) => `var(--semantic-color-${name})`;
50
50
  const u = (name, fallback) => `var(--semantic-layout-units-${name}, ${fallback}px)`;
51
+ // Component metrics live in the CONTEXTUAL collection, not the semantic one, so
52
+ // they need their own prefix. SideNav's two widths moved there on 2026-09-16:
53
+ // they were numeric literals with a "no token in Figma" comment, which was true
54
+ // until the tokens were created.
55
+ const x = (name, fallback) => `var(--contextual-layout-units-${name}, ${fallback}px)`;
51
56
 
52
57
  // Negate a length that may be either a number or a var() reference. Used for the
53
58
  // scroll-region edge bleed, where `-value` on a string would give NaN.
@@ -64,7 +69,10 @@ export const T = {
64
69
  navTrail: c("fill-action-selection-trail"),
65
70
  infoSubtle: c("stroke-static-neutral-base"), // container right border
66
71
  },
67
- surface: { navLight: c("fill-surface-sheet") },
72
+ surface: {
73
+ navLight: c("fill-surface-sheet"), // the nav container itself: white
74
+ navElevated: c("fill-surface-elevated"), // PopoverMenu, per Figma's "Popover Menu"
75
+ },
68
76
  // Label, icon and chevron all resolve to the SAME token per state. A nav item
69
77
  // is one interactive surface, so its foreground must not split across two
70
78
  // ramps that can drift apart.
@@ -100,8 +108,11 @@ export const L = {
100
108
  navPadH: u("padding-base", 16),
101
109
  navColPadH: u("padding-medium", 12),
102
110
  navPadTop: u("padding-tight", 8),
103
- navW: 240, // no token in Figma — expanded sidebar width
104
- navWcol: 72, // no token in Figma — collapsed rail width
111
+ // Read from SideNav.Container in Figma on 2026-09-16: every expanded variant
112
+ // is 250 wide (Base, Stroked, Mobile.Base, Mobile.Stroked) and every
113
+ // collapsed one is 72. Was 240, which no longer matched the component.
114
+ navW: x("sidenav-width-expanded", 250),
115
+ navWcol: x("sidenav-width-collapsed", 72),
105
116
  menuGap: u("gap-xtight", 6),
106
117
  menuPadT: u("padding-tight", 8),
107
118
  menuPadB: u("padding-xxwide", 56),
@@ -294,13 +305,13 @@ export function SideNavTooltip({ label, anchorRect, onMouseEnter, onMouseLeave }
294
305
  style={{ position: "fixed",
295
306
  left: anchorRect.right + 8,
296
307
  top: anchorRect.top + anchorRect.height / 2,
297
- zIndex: 1000, backgroundColor: "#fff",
298
- border: "0.5px solid #f6f6f6", borderRadius: 8,
308
+ zIndex: 1000, backgroundColor: T.surface.navLight,
309
+ border: `0.5px solid ${c("stroke-static-neutral-faint")}`, borderRadius: 8,
299
310
  boxShadow: "2px 2px 8px 0px rgba(0,0,0,0.03)",
300
311
  padding: "6px 8px", whiteSpace: "nowrap", pointerEvents: "auto",
301
312
  animation: "popoverInCentered var(--motion-duration-3) var(--motion-easing-spring) forwards" }}>
302
313
  <span style={{ fontFamily: "'Red Hat Text',sans-serif", fontWeight: 400,
303
- fontSize: 14, lineHeight: "20px", letterSpacing: "0.02px", color: "#202020" }}>
314
+ fontSize: 14, lineHeight: "20px", letterSpacing: "0.02px", color: T.text.secondary }}>
304
315
  {label}
305
316
  </span>
306
317
  </div>,
@@ -333,13 +344,13 @@ export function CollapsedPopover({ item, onClick, anchorRect, onMouseEnter, onMo
333
344
  return ReactDOM.createPortal(
334
345
  <div onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}
335
346
  style={{ position: "fixed", left: anchorRect.right + 8, top: anchorRect.top,
336
- zIndex: 1000, backgroundColor: "#fff",
337
- border: "0.5px solid #ededed", borderRadius: 8,
347
+ zIndex: 1000, backgroundColor: T.surface.navElevated,
348
+ border: `0.5px solid ${c("stroke-static-neutral-faint")}`, borderRadius: 8,
338
349
  boxShadow: "2px 2px 8px 4px rgba(0,0,0,0.03)",
339
350
  padding: 6, minWidth: 200, pointerEvents: "auto",
340
351
  animation: "popoverIn var(--motion-duration-3) var(--motion-easing-spring) forwards" }}>
341
352
  {/* Section label — Figma component 40006794-5977 */}
342
- <div style={{ borderBottom: "0.5px solid #ededed" }}>
353
+ <div style={{ borderBottom: `0.5px solid ${c("stroke-static-neutral-faint")}` }}>
343
354
  <SectionLabel label={item.label} />
344
355
  </div>
345
356
  {item.children.map(child =>
package/dist/README.md ADDED
@@ -0,0 +1,96 @@
1
+ # Pathway design tokens
2
+
3
+ **The colour contract is 186 names.** Your full working vocabulary is
4
+ **296**. If you add up every declaration in this folder you get
5
+ 869 — that number is not the contract, and the table below says why.
6
+
7
+ ## Link these, in this order
8
+
9
+ ```html
10
+ <link rel="stylesheet" href="primitives.css">
11
+ <link rel="stylesheet" href="themes/light.css">
12
+ <link rel="stylesheet" href="themes/midnight.css">
13
+ <link rel="stylesheet" href="type.css">
14
+ <link rel="stylesheet" href="layout.css">
15
+ <link rel="stylesheet" href="motion.css">
16
+ <link rel="stylesheet" href="layout-responsive.css">
17
+ <link rel="stylesheet" href="breakpoints.css">
18
+ ```
19
+
20
+ `primitives.css` must come first. Every semantic token resolves through it, so if it is
21
+ missing all colour resolves to nothing and the page renders unstyled **with no console
22
+ error**.
23
+
24
+ ## The files
25
+
26
+ | File | Names | Safe to name? | Must load? | What it is |
27
+ |---|---|---|---|---|
28
+ | `primitives.css` | 353 | **no** | yes | Raw colour ramps. Load it; do not name it. |
29
+ | `themes/light.css` | 186 | yes | yes | Colour contract, Light Mode. |
30
+ | `themes/midnight.css` | 186 | yes | yes | Colour contract, Midnight Mode. Same names as light. |
31
+ | `type.css` | 41 | yes | yes | Type scale. Compose from these. |
32
+ | `layout.css` | 40 | yes | yes | Spacing, radii, border widths. |
33
+ | `layout-contextual.css` | 34 | **no** | **no** | Per-component metrics. This repo's components use these. |
34
+ | `motion.css` | 17 | yes | yes | Durations and easings. |
35
+ | `layout-responsive.css` | 7 | yes | yes | Sheet and TopNav padding. The only layout tokens with media queries. |
36
+ | `breakpoints.css` | 5 | yes | yes | Breakpoint values. |
37
+
38
+ Each file repeats this in its own header.
39
+
40
+ ## Can I use a primitive?
41
+
42
+ Yes. Nothing stops you and nothing should. But `Primitive: Color` has exactly **one
43
+ mode** and `themes/midnight.css` declares **zero** primitives, so a primitive holds one
44
+ value forever:
45
+
46
+ ```css
47
+ color: var(--primitive-color-brand-400); /* stays this blue in Midnight */
48
+ color: var(--semantic-color-fill-action-primary-strong-rest); /* flips with the theme */
49
+ ```
50
+
51
+ Use one when you specifically want a value that does not respond to the theme.
52
+
53
+ ## Theming
54
+
55
+ One name, two values, resolved by selector. Set `data-theme="midnight"` on `<html>`
56
+ to flip the page, or on any element to flip just that subtree — it composes both ways,
57
+ so a light island can sit inside a dark island.
58
+
59
+ Never put a mode in a property name. `--semantic-color-light-mode-*` came from
60
+ `tokens.css`, retired 2026-09-03, and resolves to nothing.
61
+
62
+ ## Type
63
+
64
+ No composite styles and no `.pw-type-*` classes. Name five properties:
65
+
66
+ ```css
67
+ font-family: var(--semantic-type-family-brand);
68
+ font-size: var(--semantic-type-font-size-m);
69
+ font-weight: var(--semantic-type-weight-semibold);
70
+ line-height: var(--semantic-type-line-height-m-single);
71
+ letter-spacing: var(--semantic-type-letter-spacing-compact);
72
+ ```
73
+
74
+ ## Layout units carry their unit
75
+
76
+ ```css
77
+ border-radius: var(--semantic-layout-units-cornerradius-small); /* correct */
78
+ border-radius: calc(var(--semantic-layout-units-cornerradius-small) * 1px); /* WRONG */
79
+ ```
80
+
81
+ The second is `calc(4px * 1px)`, which is not a length, so the browser drops it silently.
82
+
83
+ ## Machine-readable
84
+
85
+ `contract.json` lists every consumable name plus the per-file counts, so you can lint
86
+ against it if you want the boundary enforced.
87
+
88
+ ## Motion is not in Figma
89
+
90
+ The Variables panel has zero motion variables; `motion.css` is generated from
91
+ `docs/design-system-spec.md` §2. Anyone rebuilding tokens from a Figma export gets no
92
+ motion at all and no warning — consume the package instead.
93
+
94
+ ---
95
+
96
+ Repo: https://github.com/helloimjolopez-collab/pathway-ds
@@ -1,7 +1,14 @@
1
- /**
2
- * Do not edit directly, this file was auto-generated.
3
- */
1
+ /*
2
+ ==========================================================================
3
+ PATHWAY DESIGN TOKENS — CONTRACT
4
+ ==========================================================================
4
5
 
6
+ The breakpoint values. Name these freely.
7
+
8
+ Declares 5 custom properties.
9
+ Generated — do not edit. Run `npm run build-tokens`.
10
+ ==========================================================================
11
+ */
5
12
  :root {
6
13
  --breakpoints-desktop-1920px: 1920px;
7
14
  --breakpoints-desktop-1440px: 1440px;
@@ -0,0 +1,374 @@
1
+ {
2
+ "$comment": "The names a consumer may use. Generated from the emitted CSS by scripts/build-contract.js — do not hand-edit. Lint against `contract` if you want the boundary enforced; nothing here blocks a primitive.",
3
+ "version": "7.0.2",
4
+ "generated": "2026-09-16",
5
+ "counts": {
6
+ "contract": 296,
7
+ "infrastructure": 387,
8
+ "declarationsAcrossAllFiles": 869
9
+ },
10
+ "loadOrder": [
11
+ "primitives.css",
12
+ "themes/light.css",
13
+ "themes/midnight.css",
14
+ "type.css",
15
+ "layout.css",
16
+ "motion.css",
17
+ "layout-responsive.css",
18
+ "breakpoints.css"
19
+ ],
20
+ "files": {
21
+ "primitives.css": {
22
+ "contract": false,
23
+ "mustLoad": true,
24
+ "count": 353,
25
+ "role": "Raw colour ramps. Load it; do not name it."
26
+ },
27
+ "themes/light.css": {
28
+ "contract": true,
29
+ "mustLoad": true,
30
+ "count": 186,
31
+ "role": "Colour contract, Light Mode."
32
+ },
33
+ "themes/midnight.css": {
34
+ "contract": true,
35
+ "mustLoad": true,
36
+ "count": 186,
37
+ "role": "Colour contract, Midnight Mode. Same names as light."
38
+ },
39
+ "type.css": {
40
+ "contract": true,
41
+ "mustLoad": true,
42
+ "count": 41,
43
+ "role": "Type scale. Compose from these."
44
+ },
45
+ "layout.css": {
46
+ "contract": true,
47
+ "mustLoad": true,
48
+ "count": 40,
49
+ "role": "Spacing, radii, border widths."
50
+ },
51
+ "layout-contextual.css": {
52
+ "contract": false,
53
+ "mustLoad": false,
54
+ "count": 34,
55
+ "role": "Per-component metrics. This repo's components use these."
56
+ },
57
+ "motion.css": {
58
+ "contract": true,
59
+ "mustLoad": true,
60
+ "count": 17,
61
+ "role": "Durations and easings."
62
+ },
63
+ "layout-responsive.css": {
64
+ "contract": true,
65
+ "mustLoad": true,
66
+ "count": 7,
67
+ "role": "Sheet and TopNav padding. The only layout tokens with media queries."
68
+ },
69
+ "breakpoints.css": {
70
+ "contract": true,
71
+ "mustLoad": true,
72
+ "count": 5,
73
+ "role": "Breakpoint values."
74
+ }
75
+ },
76
+ "contract": [
77
+ "--breakpoints-desktop-1440px",
78
+ "--breakpoints-desktop-1920px",
79
+ "--breakpoints-mobile-393px",
80
+ "--breakpoints-tablet-1024px",
81
+ "--breakpoints-tablet-768px",
82
+ "--motion-duration-1",
83
+ "--motion-duration-2",
84
+ "--motion-duration-3",
85
+ "--motion-duration-4",
86
+ "--motion-duration-5",
87
+ "--motion-duration-6",
88
+ "--motion-duration-7",
89
+ "--motion-duration-8",
90
+ "--motion-duration-loop",
91
+ "--motion-duration-loop-fast",
92
+ "--motion-easing-accelerate",
93
+ "--motion-easing-accordion",
94
+ "--motion-easing-decelerate",
95
+ "--motion-easing-emphasized",
96
+ "--motion-easing-linear",
97
+ "--motion-easing-spring",
98
+ "--motion-easing-standard",
99
+ "--responsive-layout-sheet-cornerradius-top",
100
+ "--responsive-layout-sheet-padding-horizontal",
101
+ "--responsive-layout-sheet-padding-top",
102
+ "--responsive-layout-topnav-gap-horizontal",
103
+ "--responsive-layout-topnav-height",
104
+ "--responsive-layout-topnav-padding-horizontal",
105
+ "--responsive-layout-topnav-padding-vertical",
106
+ "--semantic-color-fill-action-disabled",
107
+ "--semantic-color-fill-action-primary-strong-hover",
108
+ "--semantic-color-fill-action-primary-strong-pressed",
109
+ "--semantic-color-fill-action-primary-strong-rest",
110
+ "--semantic-color-fill-action-primary-subtle-hover",
111
+ "--semantic-color-fill-action-primary-subtle-pressed",
112
+ "--semantic-color-fill-action-primary-subtle-rest",
113
+ "--semantic-color-fill-action-secondary-hover",
114
+ "--semantic-color-fill-action-secondary-pressed",
115
+ "--semantic-color-fill-action-secondary-rest",
116
+ "--semantic-color-fill-action-selection-hover",
117
+ "--semantic-color-fill-action-selection-selected",
118
+ "--semantic-color-fill-action-selection-trail",
119
+ "--semantic-color-fill-action-status-attention-strong-hover",
120
+ "--semantic-color-fill-action-status-attention-strong-pressed",
121
+ "--semantic-color-fill-action-status-attention-strong-rest",
122
+ "--semantic-color-fill-action-status-attention-subtle-hover",
123
+ "--semantic-color-fill-action-status-attention-subtle-pressed",
124
+ "--semantic-color-fill-action-status-attention-subtle-rest",
125
+ "--semantic-color-fill-action-status-info-strong-hover",
126
+ "--semantic-color-fill-action-status-info-strong-pressed",
127
+ "--semantic-color-fill-action-status-info-strong-rest",
128
+ "--semantic-color-fill-action-status-info-subtle-hover",
129
+ "--semantic-color-fill-action-status-info-subtle-pressed",
130
+ "--semantic-color-fill-action-status-info-subtle-rest",
131
+ "--semantic-color-fill-action-status-negative-strong-hover",
132
+ "--semantic-color-fill-action-status-negative-strong-pressed",
133
+ "--semantic-color-fill-action-status-negative-strong-rest",
134
+ "--semantic-color-fill-action-status-negative-subtle-hover",
135
+ "--semantic-color-fill-action-status-negative-subtle-pressed",
136
+ "--semantic-color-fill-action-status-negative-subtle-rest",
137
+ "--semantic-color-fill-action-status-positive-strong-hover",
138
+ "--semantic-color-fill-action-status-positive-strong-pressed",
139
+ "--semantic-color-fill-action-status-positive-strong-rest",
140
+ "--semantic-color-fill-action-status-positive-subtle-hover",
141
+ "--semantic-color-fill-action-status-positive-subtle-pressed",
142
+ "--semantic-color-fill-action-status-positive-subtle-rest",
143
+ "--semantic-color-fill-action-status-severe-strong-hover",
144
+ "--semantic-color-fill-action-status-severe-strong-pressed",
145
+ "--semantic-color-fill-action-status-severe-strong-rest",
146
+ "--semantic-color-fill-action-status-severe-subtle-hover",
147
+ "--semantic-color-fill-action-status-severe-subtle-pressed",
148
+ "--semantic-color-fill-action-status-severe-subtle-rest",
149
+ "--semantic-color-fill-static-accent-jade-strong",
150
+ "--semantic-color-fill-static-accent-jade-subtle",
151
+ "--semantic-color-fill-static-accent-lagoon-strong",
152
+ "--semantic-color-fill-static-accent-lagoon-subtle",
153
+ "--semantic-color-fill-static-accent-mauve-strong",
154
+ "--semantic-color-fill-static-accent-mauve-subtle",
155
+ "--semantic-color-fill-static-accent-seabreeze-strong",
156
+ "--semantic-color-fill-static-accent-seabreeze-subtle",
157
+ "--semantic-color-fill-static-attention-strong",
158
+ "--semantic-color-fill-static-attention-subtle",
159
+ "--semantic-color-fill-static-brand-base",
160
+ "--semantic-color-fill-static-brand-bold",
161
+ "--semantic-color-fill-static-brand-faint",
162
+ "--semantic-color-fill-static-brand-strong",
163
+ "--semantic-color-fill-static-brand-strongest",
164
+ "--semantic-color-fill-static-brand-subtle",
165
+ "--semantic-color-fill-static-info-strong",
166
+ "--semantic-color-fill-static-info-subtle",
167
+ "--semantic-color-fill-static-negative-strong",
168
+ "--semantic-color-fill-static-negative-subtle",
169
+ "--semantic-color-fill-static-neutral-base",
170
+ "--semantic-color-fill-static-neutral-bold",
171
+ "--semantic-color-fill-static-neutral-faint",
172
+ "--semantic-color-fill-static-neutral-mono",
173
+ "--semantic-color-fill-static-neutral-strong",
174
+ "--semantic-color-fill-static-neutral-subtle",
175
+ "--semantic-color-fill-static-positive-strong",
176
+ "--semantic-color-fill-static-positive-subtle",
177
+ "--semantic-color-fill-static-severe-strong",
178
+ "--semantic-color-fill-static-severe-subtle",
179
+ "--semantic-color-fill-surface-canvas",
180
+ "--semantic-color-fill-surface-elevated",
181
+ "--semantic-color-fill-surface-sheet",
182
+ "--semantic-color-foreground-action-disabled",
183
+ "--semantic-color-foreground-action-primary-on-strong",
184
+ "--semantic-color-foreground-action-primary-on-subtle-hover",
185
+ "--semantic-color-foreground-action-primary-on-subtle-pressed",
186
+ "--semantic-color-foreground-action-primary-on-subtle-rest",
187
+ "--semantic-color-foreground-action-secondary-hover",
188
+ "--semantic-color-foreground-action-secondary-pressed",
189
+ "--semantic-color-foreground-action-secondary-rest",
190
+ "--semantic-color-foreground-action-secondary-subtle-hover",
191
+ "--semantic-color-foreground-action-secondary-subtle-pressed",
192
+ "--semantic-color-foreground-action-secondary-subtle-rest",
193
+ "--semantic-color-foreground-action-status-attention-on-strong",
194
+ "--semantic-color-foreground-action-status-attention-on-subtle-hover",
195
+ "--semantic-color-foreground-action-status-attention-on-subtle-pressed",
196
+ "--semantic-color-foreground-action-status-attention-on-subtle-rest",
197
+ "--semantic-color-foreground-action-status-info-on-strong",
198
+ "--semantic-color-foreground-action-status-info-on-subtle-hover",
199
+ "--semantic-color-foreground-action-status-info-on-subtle-pressed",
200
+ "--semantic-color-foreground-action-status-info-on-subtle-rest",
201
+ "--semantic-color-foreground-action-status-negative-on-strong",
202
+ "--semantic-color-foreground-action-status-negative-on-subtle-hover",
203
+ "--semantic-color-foreground-action-status-negative-on-subtle-pressed",
204
+ "--semantic-color-foreground-action-status-negative-on-subtle-rest",
205
+ "--semantic-color-foreground-action-status-positive-on-strong",
206
+ "--semantic-color-foreground-action-status-positive-on-subtle-hover",
207
+ "--semantic-color-foreground-action-status-positive-on-subtle-pressed",
208
+ "--semantic-color-foreground-action-status-positive-on-subtle-rest",
209
+ "--semantic-color-foreground-action-status-severe-on-strong",
210
+ "--semantic-color-foreground-action-status-severe-on-subtle-hover",
211
+ "--semantic-color-foreground-action-status-severe-on-subtle-pressed",
212
+ "--semantic-color-foreground-action-status-severe-on-subtle-rest",
213
+ "--semantic-color-foreground-static-accent-jade-on-strong",
214
+ "--semantic-color-foreground-static-accent-jade-on-subtle",
215
+ "--semantic-color-foreground-static-accent-lagoon-on-strong",
216
+ "--semantic-color-foreground-static-accent-lagoon-on-subtle",
217
+ "--semantic-color-foreground-static-accent-mauve-on-strong",
218
+ "--semantic-color-foreground-static-accent-mauve-on-subtle",
219
+ "--semantic-color-foreground-static-accent-seabreeze-on-strong",
220
+ "--semantic-color-foreground-static-accent-seabreeze-on-subtle",
221
+ "--semantic-color-foreground-static-attention-on-strong",
222
+ "--semantic-color-foreground-static-attention-on-subtle",
223
+ "--semantic-color-foreground-static-brand-on-strong",
224
+ "--semantic-color-foreground-static-brand-on-subtle",
225
+ "--semantic-color-foreground-static-info-on-strong",
226
+ "--semantic-color-foreground-static-info-on-subtle",
227
+ "--semantic-color-foreground-static-negative-on-strong",
228
+ "--semantic-color-foreground-static-negative-on-subtle",
229
+ "--semantic-color-foreground-static-neutral-base",
230
+ "--semantic-color-foreground-static-neutral-bold",
231
+ "--semantic-color-foreground-static-neutral-faint",
232
+ "--semantic-color-foreground-static-neutral-mono",
233
+ "--semantic-color-foreground-static-neutral-strong",
234
+ "--semantic-color-foreground-static-neutral-subtle",
235
+ "--semantic-color-foreground-static-positive-on-strong",
236
+ "--semantic-color-foreground-static-positive-on-subtle",
237
+ "--semantic-color-foreground-static-severe-on-strong",
238
+ "--semantic-color-foreground-static-severe-on-subtle",
239
+ "--semantic-color-scrim-base",
240
+ "--semantic-color-scrim-faint",
241
+ "--semantic-color-scrim-light",
242
+ "--semantic-color-scrim-subtle",
243
+ "--semantic-color-stroke-action-disabled",
244
+ "--semantic-color-stroke-action-field-hover",
245
+ "--semantic-color-stroke-action-field-pressed",
246
+ "--semantic-color-stroke-action-field-rest",
247
+ "--semantic-color-stroke-action-primary-hover",
248
+ "--semantic-color-stroke-action-primary-pressed",
249
+ "--semantic-color-stroke-action-primary-rest",
250
+ "--semantic-color-stroke-action-secondary-hover",
251
+ "--semantic-color-stroke-action-secondary-pressed",
252
+ "--semantic-color-stroke-action-secondary-rest",
253
+ "--semantic-color-stroke-action-status-attention-hover",
254
+ "--semantic-color-stroke-action-status-attention-pressed",
255
+ "--semantic-color-stroke-action-status-attention-rest",
256
+ "--semantic-color-stroke-action-status-info-hover",
257
+ "--semantic-color-stroke-action-status-info-pressed",
258
+ "--semantic-color-stroke-action-status-info-rest",
259
+ "--semantic-color-stroke-action-status-negative-hover",
260
+ "--semantic-color-stroke-action-status-negative-pressed",
261
+ "--semantic-color-stroke-action-status-negative-rest",
262
+ "--semantic-color-stroke-action-status-positive-hover",
263
+ "--semantic-color-stroke-action-status-positive-pressed",
264
+ "--semantic-color-stroke-action-status-positive-rest",
265
+ "--semantic-color-stroke-action-status-severe-hover",
266
+ "--semantic-color-stroke-action-status-severe-pressed",
267
+ "--semantic-color-stroke-action-status-severe-rest",
268
+ "--semantic-color-stroke-focusring-base",
269
+ "--semantic-color-stroke-static-accent-jade-strong",
270
+ "--semantic-color-stroke-static-accent-jade-subtle",
271
+ "--semantic-color-stroke-static-accent-lagoon-strong",
272
+ "--semantic-color-stroke-static-accent-lagoon-subtle",
273
+ "--semantic-color-stroke-static-accent-mauve-strong",
274
+ "--semantic-color-stroke-static-accent-mauve-subtle",
275
+ "--semantic-color-stroke-static-accent-seabreeze-strong",
276
+ "--semantic-color-stroke-static-accent-seabreeze-subtle",
277
+ "--semantic-color-stroke-static-attention-strong",
278
+ "--semantic-color-stroke-static-attention-subtle",
279
+ "--semantic-color-stroke-static-info-strong",
280
+ "--semantic-color-stroke-static-info-subtle",
281
+ "--semantic-color-stroke-static-negative-strong",
282
+ "--semantic-color-stroke-static-negative-subtle",
283
+ "--semantic-color-stroke-static-neutral-base",
284
+ "--semantic-color-stroke-static-neutral-bold",
285
+ "--semantic-color-stroke-static-neutral-faint",
286
+ "--semantic-color-stroke-static-neutral-mono",
287
+ "--semantic-color-stroke-static-neutral-strong",
288
+ "--semantic-color-stroke-static-positive-strong",
289
+ "--semantic-color-stroke-static-positive-subtle",
290
+ "--semantic-color-stroke-static-severe-strong",
291
+ "--semantic-color-stroke-static-severe-subtle",
292
+ "--semantic-layout-units-accessibility-touch-target-aa-height",
293
+ "--semantic-layout-units-accessibility-touch-target-aa-width",
294
+ "--semantic-layout-units-accessibility-touch-target-aaa-height",
295
+ "--semantic-layout-units-accessibility-touch-target-aaa-width",
296
+ "--semantic-layout-units-accessibility-touch-target-desktop-only-height",
297
+ "--semantic-layout-units-accessibility-touch-target-desktop-only-width",
298
+ "--semantic-layout-units-borderwidth-base",
299
+ "--semantic-layout-units-borderwidth-medium",
300
+ "--semantic-layout-units-borderwidth-thick",
301
+ "--semantic-layout-units-borderwidth-thin",
302
+ "--semantic-layout-units-borderwidth-xthick",
303
+ "--semantic-layout-units-borderwidth-xthin",
304
+ "--semantic-layout-units-borderwidth-xxthick",
305
+ "--semantic-layout-units-cornerradius-base",
306
+ "--semantic-layout-units-cornerradius-full",
307
+ "--semantic-layout-units-cornerradius-large",
308
+ "--semantic-layout-units-cornerradius-medium",
309
+ "--semantic-layout-units-cornerradius-small",
310
+ "--semantic-layout-units-cornerradius-xlarge",
311
+ "--semantic-layout-units-cornerradius-xsmall",
312
+ "--semantic-layout-units-gap-base",
313
+ "--semantic-layout-units-gap-medium",
314
+ "--semantic-layout-units-gap-relaxed",
315
+ "--semantic-layout-units-gap-tight",
316
+ "--semantic-layout-units-gap-wide",
317
+ "--semantic-layout-units-gap-xtight",
318
+ "--semantic-layout-units-gap-xxtight",
319
+ "--semantic-layout-units-gap-xxxtight",
320
+ "--semantic-layout-units-padding-base",
321
+ "--semantic-layout-units-padding-collosal",
322
+ "--semantic-layout-units-padding-ginormous",
323
+ "--semantic-layout-units-padding-medium",
324
+ "--semantic-layout-units-padding-relaxed",
325
+ "--semantic-layout-units-padding-tight",
326
+ "--semantic-layout-units-padding-wide",
327
+ "--semantic-layout-units-padding-xtight",
328
+ "--semantic-layout-units-padding-xwide",
329
+ "--semantic-layout-units-padding-xxtight",
330
+ "--semantic-layout-units-padding-xxwide",
331
+ "--semantic-layout-units-padding-xxxtight",
332
+ "--semantic-type-family-brand",
333
+ "--semantic-type-font-size-4xl",
334
+ "--semantic-type-font-size-5xl",
335
+ "--semantic-type-font-size-6xl",
336
+ "--semantic-type-font-size-l",
337
+ "--semantic-type-font-size-m",
338
+ "--semantic-type-font-size-r",
339
+ "--semantic-type-font-size-s",
340
+ "--semantic-type-font-size-xl",
341
+ "--semantic-type-font-size-xs",
342
+ "--semantic-type-font-size-xxl",
343
+ "--semantic-type-font-size-xxs",
344
+ "--semantic-type-font-size-xxxl",
345
+ "--semantic-type-font-size-xxxs",
346
+ "--semantic-type-letter-spacing-compact",
347
+ "--semantic-type-letter-spacing-extraspacious",
348
+ "--semantic-type-letter-spacing-spacious",
349
+ "--semantic-type-letter-spacing-wide",
350
+ "--semantic-type-line-height-4xl-single",
351
+ "--semantic-type-line-height-5xl-single",
352
+ "--semantic-type-line-height-6xl-single",
353
+ "--semantic-type-line-height-l-single",
354
+ "--semantic-type-line-height-m-relaxed",
355
+ "--semantic-type-line-height-m-single",
356
+ "--semantic-type-line-height-r-single",
357
+ "--semantic-type-line-height-s-single",
358
+ "--semantic-type-line-height-s-tight",
359
+ "--semantic-type-line-height-xl-single",
360
+ "--semantic-type-line-height-xs-single",
361
+ "--semantic-type-line-height-xs-tight",
362
+ "--semantic-type-line-height-xxl-single",
363
+ "--semantic-type-line-height-xxs-single",
364
+ "--semantic-type-line-height-xxs-tight",
365
+ "--semantic-type-line-height-xxxl-single",
366
+ "--semantic-type-line-height-xxxs-single",
367
+ "--semantic-type-line-height-xxxs-tight",
368
+ "--semantic-type-weight-bold",
369
+ "--semantic-type-weight-light",
370
+ "--semantic-type-weight-medium",
371
+ "--semantic-type-weight-regular",
372
+ "--semantic-type-weight-semibold"
373
+ ]
374
+ }