@salemcobalt/tokens 0.2.0-rc.2 → 0.2.0-rc.20

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
@@ -10,3 +10,23 @@ Design tokens for the Salem Cobalt design system. One Style Dictionary source (`
10
10
  | `@salemcobalt/tokens/json` | `dist/json/tokens.json` | `{ light, dark }` flat maps of resolved values. |
11
11
 
12
12
  `src/` is the source of truth. `scripts/generate-color.mjs` regenerates the color primitives and the themed color and elevation tokens from OKLCH parameters; run it only when the palette itself changes, then review the diff. `pnpm test` checks every documented text/surface pair against WCAG AA in both themes.
13
+
14
+ ## Layering
15
+
16
+ `--sc-z-*` is one ordered ladder; every fixed or portaled surface in `@salemcobalt/ui` takes its `z-index` from it and
17
+ nothing else sets one. Popups sit above dialogs on purpose: a Menu, Select or Popover opened from inside a Dialog
18
+ renders over it, and a Tooltip over that.
19
+
20
+ | Token | Value | Used by |
21
+ | ----------------- | ----- | ------------------------------------------------------------------ |
22
+ | `--sc-z-base` | 0 | Normal flow. |
23
+ | `--sc-z-raised` | 1 | Hover and focus rings over siblings. |
24
+ | `--sc-z-sticky` | 100 | Pinned chrome inside the page: sticky Toolbar, Banner, Table head. |
25
+ | `--sc-z-backdrop` | 1100 | Dialog scrim. |
26
+ | `--sc-z-dialog` | 1200 | Dialog popup and sheet. |
27
+ | `--sc-z-dropdown` | 1300 | Menu, Select and Popover positioners, so they open over a Dialog. |
28
+ | `--sc-z-toast` | 1400 | Toasts. |
29
+ | `--sc-z-tooltip` | 1500 | Tooltips, above everything. |
30
+
31
+ An app that pins its own chrome (a header, a bottom bar) should use `--sc-z-sticky` or a value below
32
+ `--sc-z-backdrop` so dialogs still cover it. `pnpm test` asserts the order.
@@ -1,4 +1,4 @@
1
- /* @salemcobalt/tokens 0.2.0-rc.2 — generated from src/ by Style Dictionary. Do not edit. */
1
+ /* @salemcobalt/tokens 0.2.0-rc.20 — generated from src/ by Style Dictionary. Do not edit. */
2
2
  :root, [data-theme="light"] {
3
3
  color-scheme: light;
4
4
  --sc-color-white: #ffffff; /** Primitive. */
@@ -13,6 +13,7 @@
13
13
  --sc-color-neutral-600: #707378; /** Primitive. Cool neutral, OKLCH hue 263. */
14
14
  --sc-color-neutral-700: #54585f; /** Primitive. Cool neutral, OKLCH hue 263. */
15
15
  --sc-color-neutral-800: #3c4046; /** Primitive. Cool neutral, OKLCH hue 263. */
16
+ --sc-color-neutral-850: #32353b; /** Primitive. Cool neutral, OKLCH hue 263. Between 800 and 900: the dark hover wash on raised surfaces. */
16
17
  --sc-color-neutral-900: #282b31; /** Primitive. Cool neutral, OKLCH hue 263. */
17
18
  --sc-color-neutral-950: #191c22; /** Primitive. Cool neutral, OKLCH hue 263. */
18
19
  --sc-color-neutral-1000: #0e1116; /** Primitive. Cool neutral, OKLCH hue 263. */
@@ -72,21 +73,24 @@
72
73
  --sc-color-teal-900: #013937; /** Primitive. OKLCH hue 192. */
73
74
  --sc-color-teal-950: #002524; /** Primitive. OKLCH hue 192. */
74
75
  --sc-color-surface-backdrop: #0b0d1699; /** Dialog scrim, 60% alpha. */
76
+ --sc-color-accent-wash: #f6f3ff; /** Faint selected-row wash, lighter than accent.subtle: brand.500 at 7% over surface.default, precomputed as an opaque swatch. Pair with accent.border. */
75
77
  --sc-z-base: 0; /** Normal flow. */
76
78
  --sc-z-raised: 1; /** Hover and focus rings over siblings. */
77
- --sc-z-sticky: 100; /** Sticky headers and table heads. */
78
- --sc-z-dropdown: 1000; /** Menus, selects, popovers. */
79
+ --sc-z-sticky: 100; /** Pinned chrome inside the page: sticky Toolbar, Banner, Table head. */
79
80
  --sc-z-backdrop: 1100; /** Dialog scrim. */
80
- --sc-z-dialog: 1200; /** Dialog popup. */
81
- --sc-z-toast: 1300; /** Toasts. */
82
- --sc-z-tooltip: 1400; /** Tooltips, above everything. */
81
+ --sc-z-dialog: 1200; /** Dialog popup and sheet. */
82
+ --sc-z-dropdown: 1300; /** Menus, selects, popovers. Above dialog so a popup opened from inside one shows over it. */
83
+ --sc-z-toast: 1400; /** Toasts, above open popups. */
84
+ --sc-z-tooltip: 1500; /** Tooltips, above everything. */
83
85
  --sc-duration-fast: 100ms; /** Hover and press color changes. */
84
86
  --sc-duration-base: 200ms; /** Dialog enter, backdrop fade. */
85
87
  --sc-duration-slow: 300ms; /** Layout shifts, panels sliding. */
86
88
  --sc-duration-slower: 500ms; /** Page-level transitions only. */
89
+ --sc-duration-data: 600ms; /** A value moving to its new amount: a score ring's arc, a meter's fill. */
87
90
  --sc-ease-standard: cubic-bezier(0.2, 0, 0, 1); /** Color and size changes. */
88
91
  --sc-ease-enter: cubic-bezier(0, 0, 0.2, 1); /** Elements appearing. */
89
92
  --sc-ease-exit: cubic-bezier(0.4, 0, 1, 1); /** Elements leaving, at 75% of the enter duration. */
93
+ --sc-ease-data: cubic-bezier(0.2, 0.7, 0.2, 1); /** A value settling: quick off the mark, then a long, soft landing. Pairs with duration.data. */
90
94
  --sc-radius-none: 0px; /** Flush edges, table cells. */
91
95
  --sc-radius-xs: 2px; /** Focus ring corners on square elements. */
92
96
  --sc-radius-sm: 4px; /** Badge, Kbd, Button sm. */
@@ -109,11 +113,16 @@
109
113
  --sc-size-icon-md: 16px; /** Default icon: md controls, menu items, 14px UI text. */
110
114
  --sc-size-icon-lg: 20px; /** Icon inside lg controls, headings, Stat. */
111
115
  --sc-size-icon-xl: 24px; /** Empty states and feature callouts. */
116
+ --sc-size-score-sm: 40px; /** Score tile sm: list rows. */
117
+ --sc-size-score-md: 48px; /** Score tile md: cards and summaries. */
118
+ --sc-size-score-ring: 64px; /** Score ring: detail headers. */
119
+ --sc-size-score-ring-stroke: 6px; /** Stroke of the Score ring track and arc. */
112
120
  --sc-size-dialog-sm: 400px; /** Dialog max inline size, confirmations. */
113
121
  --sc-size-dialog-md: 560px; /** Dialog max inline size, default. */
114
122
  --sc-size-dialog-lg: 720px; /** Dialog max inline size, rich content. */
115
123
  --sc-border-width-hairline: 1px; /** Every border. */
116
124
  --sc-border-width-focus: 2px; /** Focus ring stroke and offset. */
125
+ --sc-border-width-halo: 4px; /** Soft ring around a current or live marker (box-shadow spread), e.g. the current step. */
117
126
  --sc-spacing-none: 0px; /** Reset; Stack and Inline gap="none". */
118
127
  --sc-spacing-3xs: 2px; /** Hairline gaps: Kbd group gap, Badge sm padding-block. */
119
128
  --sc-spacing-2xs: 4px; /** Icon-to-label gap in sm controls; Badge padding-block; Kbd padding-inline. */
@@ -147,6 +156,7 @@
147
156
  --sc-font-tracking-snug: -0.01em; /** Headings from 2xl up. */
148
157
  --sc-font-tracking-normal: 0em; /** Text. */
149
158
  --sc-font-tracking-wide: 0.04em; /** Uppercase labels. */
159
+ --sc-font-tracking-wider: 0.07em; /** Uppercase mono overlines (Heading size overline). */
150
160
  --sc-font-measure: 65ch; /** Max line length for running text. */
151
161
  --sc-elevation-0: none; /** Flat. Card default, Badge, Button. */
152
162
  --sc-elevation-1: 0 1px 2px rgba(14, 17, 22, 0.06), 0 1px 3px rgba(14, 17, 22, 0.1); /** Elevated Card and interactive Card hover. */
@@ -158,6 +168,8 @@
158
168
  --sc-color-surface-sunken: var(--sc-color-neutral-100); /** Inset wells and code blocks. */
159
169
  --sc-color-surface-hover: var(--sc-color-neutral-100); /** Hover wash on rows and ghost controls. */
160
170
  --sc-color-surface-active: var(--sc-color-neutral-200); /** Pressed wash on rows and ghost controls. */
171
+ --sc-color-surface-raised-hover: var(--sc-color-neutral-100); /** Hover wash inside raised surfaces (menus, select popups, dialogs, elevated cards). A step off surface.raised so the highlight shows. */
172
+ --sc-color-surface-raised-active: var(--sc-color-neutral-200); /** Pressed wash and neutral fills inside raised surfaces. */
161
173
  --sc-color-text-default: var(--sc-color-neutral-1000); /** Body and headings on every surface token. */
162
174
  --sc-color-text-muted: var(--sc-color-neutral-700); /** Secondary text and metadata on every surface token. */
163
175
  --sc-color-text-subtle: var(--sc-color-neutral-600); /** Placeholders and disabled labels; 4.5:1 on surface.default only. */
@@ -172,24 +184,33 @@
172
184
  --sc-color-accent-active: var(--sc-color-brand-800); /** Primary Button pressed. Light is #4700ab exactly. */
173
185
  --sc-color-accent-subtle: var(--sc-color-brand-50); /** Soft accent Badge fill, selected row wash. */
174
186
  --sc-color-accent-text: var(--sc-color-brand-700); /** Text on accent.subtle and surface.default. */
187
+ --sc-color-accent-border: var(--sc-color-brand-500); /** Selection border on accent.wash (plain Card selected); 3:1 on accent.wash and every surface. */
175
188
  --sc-color-success-subtle: var(--sc-color-green-50); /** Soft success Badge fill. */
176
189
  --sc-color-success-text: var(--sc-color-green-800); /** Text on success.subtle and surface.default. */
177
190
  --sc-color-success-solid: var(--sc-color-green-700); /** Solid success Badge fill. */
191
+ --sc-color-success-border: var(--sc-color-green-500); /** Tone border and outline; 3:1 on success.subtle and every surface. */
178
192
  --sc-color-warning-subtle: var(--sc-color-amber-50); /** Soft warning Badge fill. */
179
193
  --sc-color-warning-text: var(--sc-color-amber-900); /** Text on warning.subtle and surface.default. */
180
194
  --sc-color-warning-solid: var(--sc-color-amber-700); /** Solid warning Badge fill. */
195
+ --sc-color-warning-border: var(--sc-color-amber-500); /** Tone border and outline; 3:1 on warning.subtle and every surface. */
181
196
  --sc-color-info-subtle: var(--sc-color-teal-50); /** Soft info Badge fill. */
182
197
  --sc-color-info-text: var(--sc-color-teal-700); /** Text on info.subtle and surface.default. */
183
198
  --sc-color-info-solid: var(--sc-color-teal-600); /** Solid info Badge fill. */
184
199
  --sc-color-danger-subtle: var(--sc-color-red-50); /** Soft danger Badge fill. */
185
200
  --sc-color-danger-text: var(--sc-color-red-800); /** Text on danger.subtle and surface.default. */
186
201
  --sc-color-danger-solid: var(--sc-color-red-700); /** Danger Button fill and solid danger Badge. */
202
+ --sc-color-danger-border: var(--sc-color-red-500); /** Tone border and outline; 3:1 on danger.subtle and every surface. */
187
203
  --sc-color-danger-hover: var(--sc-color-red-800); /** Danger Button hover. */
204
+ --sc-color-diff-added-wash: var(--sc-color-green-50); /** Tint behind added text in a word diff. */
205
+ --sc-color-diff-added-stroke: var(--sc-color-green-600); /** Underline under added text; 3:1 on diff.added-wash. */
206
+ --sc-color-diff-removed-wash: var(--sc-color-red-50); /** Tint behind removed text in a word diff. Removed text is text.muted. */
207
+ --sc-color-diff-removed-stroke: var(--sc-color-red-600); /** Strike-through on removed text; 3:1 on diff.removed-wash. */
188
208
  }
189
209
 
190
210
  [data-theme="dark"] {
191
211
  color-scheme: dark;
192
212
  --sc-color-surface-backdrop: #00000099; /** Dialog scrim, 60% alpha. */
213
+ --sc-color-accent-wash: #232431; /** Faint selected-row wash, lighter than accent.subtle: brand.400 at 7% over surface.default, precomputed as an opaque swatch. Pair with accent.border. */
193
214
  --sc-elevation-0: none; /** Flat. Card default, Badge, Button. */
194
215
  --sc-elevation-1: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.5); /** Elevated Card and interactive Card hover. */
195
216
  --sc-elevation-2: 0 2px 4px rgba(0, 0, 0, 0.5), 0 8px 20px -4px rgba(0, 0, 0, 0.6); /** Menus, popovers, toasts. */
@@ -200,6 +221,8 @@
200
221
  --sc-color-surface-sunken: var(--sc-color-black); /** Inset wells and code blocks. */
201
222
  --sc-color-surface-hover: var(--sc-color-neutral-900); /** Hover wash on rows and ghost controls. */
202
223
  --sc-color-surface-active: var(--sc-color-neutral-800); /** Pressed wash on rows and ghost controls. */
224
+ --sc-color-surface-raised-hover: var(--sc-color-neutral-850); /** Hover wash inside raised surfaces (menus, select popups, dialogs, elevated cards). A step off surface.raised so the highlight shows. */
225
+ --sc-color-surface-raised-active: var(--sc-color-neutral-800); /** Pressed wash and neutral fills inside raised surfaces. */
203
226
  --sc-color-text-default: var(--sc-color-neutral-50); /** Body and headings on every surface token. */
204
227
  --sc-color-text-muted: var(--sc-color-neutral-400); /** Secondary text and metadata on every surface token. */
205
228
  --sc-color-text-subtle: var(--sc-color-neutral-500); /** Placeholders and disabled labels; 4.5:1 on surface.default only. */
@@ -214,25 +237,34 @@
214
237
  --sc-color-accent-active: var(--sc-color-brand-200); /** Primary Button pressed. Light is #4700ab exactly. */
215
238
  --sc-color-accent-subtle: var(--sc-color-brand-950); /** Soft accent Badge fill, selected row wash. */
216
239
  --sc-color-accent-text: var(--sc-color-brand-300); /** Text on accent.subtle and surface.default. */
240
+ --sc-color-accent-border: var(--sc-color-brand-500); /** Selection border on accent.wash (plain Card selected); 3:1 on accent.wash and every surface. */
217
241
  --sc-color-success-subtle: var(--sc-color-green-950); /** Soft success Badge fill. */
218
242
  --sc-color-success-text: var(--sc-color-green-300); /** Text on success.subtle and surface.default. */
219
243
  --sc-color-success-solid: var(--sc-color-green-400); /** Solid success Badge fill. */
244
+ --sc-color-success-border: var(--sc-color-green-500); /** Tone border and outline; 3:1 on success.subtle and every surface. */
220
245
  --sc-color-warning-subtle: var(--sc-color-amber-950); /** Soft warning Badge fill. */
221
246
  --sc-color-warning-text: var(--sc-color-amber-300); /** Text on warning.subtle and surface.default. */
222
247
  --sc-color-warning-solid: var(--sc-color-amber-400); /** Solid warning Badge fill. */
248
+ --sc-color-warning-border: var(--sc-color-amber-500); /** Tone border and outline; 3:1 on warning.subtle and every surface. */
223
249
  --sc-color-info-subtle: var(--sc-color-teal-950); /** Soft info Badge fill. */
224
250
  --sc-color-info-text: var(--sc-color-teal-300); /** Text on info.subtle and surface.default. */
225
251
  --sc-color-info-solid: var(--sc-color-teal-400); /** Solid info Badge fill. */
226
252
  --sc-color-danger-subtle: var(--sc-color-red-950); /** Soft danger Badge fill. */
227
253
  --sc-color-danger-text: var(--sc-color-red-300); /** Text on danger.subtle and surface.default. */
228
254
  --sc-color-danger-solid: var(--sc-color-red-400); /** Danger Button fill and solid danger Badge. */
255
+ --sc-color-danger-border: var(--sc-color-red-500); /** Tone border and outline; 3:1 on danger.subtle and every surface. */
229
256
  --sc-color-danger-hover: var(--sc-color-red-300); /** Danger Button hover. */
257
+ --sc-color-diff-added-wash: var(--sc-color-green-950); /** Tint behind added text in a word diff. */
258
+ --sc-color-diff-added-stroke: var(--sc-color-green-400); /** Underline under added text; 3:1 on diff.added-wash. */
259
+ --sc-color-diff-removed-wash: var(--sc-color-red-950); /** Tint behind removed text in a word diff. Removed text is text.muted. */
260
+ --sc-color-diff-removed-stroke: var(--sc-color-red-400); /** Strike-through on removed text; 3:1 on diff.removed-wash. */
230
261
  }
231
262
 
232
263
  @media (prefers-color-scheme: dark) {
233
264
  :root:not([data-theme="light"]) {
234
265
  color-scheme: dark;
235
266
  --sc-color-surface-backdrop: #00000099; /** Dialog scrim, 60% alpha. */
267
+ --sc-color-accent-wash: #232431; /** Faint selected-row wash, lighter than accent.subtle: brand.400 at 7% over surface.default, precomputed as an opaque swatch. Pair with accent.border. */
236
268
  --sc-elevation-0: none; /** Flat. Card default, Badge, Button. */
237
269
  --sc-elevation-1: 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.5); /** Elevated Card and interactive Card hover. */
238
270
  --sc-elevation-2: 0 2px 4px rgba(0, 0, 0, 0.5), 0 8px 20px -4px rgba(0, 0, 0, 0.6); /** Menus, popovers, toasts. */
@@ -243,6 +275,8 @@
243
275
  --sc-color-surface-sunken: var(--sc-color-black); /** Inset wells and code blocks. */
244
276
  --sc-color-surface-hover: var(--sc-color-neutral-900); /** Hover wash on rows and ghost controls. */
245
277
  --sc-color-surface-active: var(--sc-color-neutral-800); /** Pressed wash on rows and ghost controls. */
278
+ --sc-color-surface-raised-hover: var(--sc-color-neutral-850); /** Hover wash inside raised surfaces (menus, select popups, dialogs, elevated cards). A step off surface.raised so the highlight shows. */
279
+ --sc-color-surface-raised-active: var(--sc-color-neutral-800); /** Pressed wash and neutral fills inside raised surfaces. */
246
280
  --sc-color-text-default: var(--sc-color-neutral-50); /** Body and headings on every surface token. */
247
281
  --sc-color-text-muted: var(--sc-color-neutral-400); /** Secondary text and metadata on every surface token. */
248
282
  --sc-color-text-subtle: var(--sc-color-neutral-500); /** Placeholders and disabled labels; 4.5:1 on surface.default only. */
@@ -257,19 +291,27 @@
257
291
  --sc-color-accent-active: var(--sc-color-brand-200); /** Primary Button pressed. Light is #4700ab exactly. */
258
292
  --sc-color-accent-subtle: var(--sc-color-brand-950); /** Soft accent Badge fill, selected row wash. */
259
293
  --sc-color-accent-text: var(--sc-color-brand-300); /** Text on accent.subtle and surface.default. */
294
+ --sc-color-accent-border: var(--sc-color-brand-500); /** Selection border on accent.wash (plain Card selected); 3:1 on accent.wash and every surface. */
260
295
  --sc-color-success-subtle: var(--sc-color-green-950); /** Soft success Badge fill. */
261
296
  --sc-color-success-text: var(--sc-color-green-300); /** Text on success.subtle and surface.default. */
262
297
  --sc-color-success-solid: var(--sc-color-green-400); /** Solid success Badge fill. */
298
+ --sc-color-success-border: var(--sc-color-green-500); /** Tone border and outline; 3:1 on success.subtle and every surface. */
263
299
  --sc-color-warning-subtle: var(--sc-color-amber-950); /** Soft warning Badge fill. */
264
300
  --sc-color-warning-text: var(--sc-color-amber-300); /** Text on warning.subtle and surface.default. */
265
301
  --sc-color-warning-solid: var(--sc-color-amber-400); /** Solid warning Badge fill. */
302
+ --sc-color-warning-border: var(--sc-color-amber-500); /** Tone border and outline; 3:1 on warning.subtle and every surface. */
266
303
  --sc-color-info-subtle: var(--sc-color-teal-950); /** Soft info Badge fill. */
267
304
  --sc-color-info-text: var(--sc-color-teal-300); /** Text on info.subtle and surface.default. */
268
305
  --sc-color-info-solid: var(--sc-color-teal-400); /** Solid info Badge fill. */
269
306
  --sc-color-danger-subtle: var(--sc-color-red-950); /** Soft danger Badge fill. */
270
307
  --sc-color-danger-text: var(--sc-color-red-300); /** Text on danger.subtle and surface.default. */
271
308
  --sc-color-danger-solid: var(--sc-color-red-400); /** Danger Button fill and solid danger Badge. */
309
+ --sc-color-danger-border: var(--sc-color-red-500); /** Tone border and outline; 3:1 on danger.subtle and every surface. */
272
310
  --sc-color-danger-hover: var(--sc-color-red-300); /** Danger Button hover. */
311
+ --sc-color-diff-added-wash: var(--sc-color-green-950); /** Tint behind added text in a word diff. */
312
+ --sc-color-diff-added-stroke: var(--sc-color-green-400); /** Underline under added text; 3:1 on diff.added-wash. */
313
+ --sc-color-diff-removed-wash: var(--sc-color-red-950); /** Tint behind removed text in a word diff. Removed text is text.muted. */
314
+ --sc-color-diff-removed-stroke: var(--sc-color-red-400); /** Strike-through on removed text; 3:1 on diff.removed-wash. */
273
315
  }
274
316
  }
275
317
 
@@ -1,4 +1,4 @@
1
- /* @salemcobalt/tokens 0.2.0-rc.2 — generated from src/ by Style Dictionary. Do not edit. */
1
+ /* @salemcobalt/tokens 0.2.0-rc.20 — generated from src/ by Style Dictionary. Do not edit. */
2
2
  export declare const prefix: "sc";
3
3
  export declare const tokens: {
4
4
  color: {
@@ -15,6 +15,7 @@ export declare const tokens: {
15
15
  '600': "#707378",
16
16
  '700': "#54585f",
17
17
  '800': "#3c4046",
18
+ '850': "#32353b",
18
19
  '900': "#282b31",
19
20
  '950': "#191c22",
20
21
  '1000': "#0e1116"
@@ -109,6 +110,14 @@ export declare const tokens: {
109
110
  light: "#e6e8eb",
110
111
  dark: "#3c4046"
111
112
  },
113
+ 'raised-hover': {
114
+ light: "#f2f3f6",
115
+ dark: "#32353b"
116
+ },
117
+ 'raised-active': {
118
+ light: "#e6e8eb",
119
+ dark: "#3c4046"
120
+ },
112
121
  backdrop: {
113
122
  light: "#0b0d1699",
114
123
  dark: "#00000099"
@@ -171,9 +180,17 @@ export declare const tokens: {
171
180
  light: "#f6f6fe",
172
181
  dark: "#200550"
173
182
  },
183
+ wash: {
184
+ light: "#f6f3ff",
185
+ dark: "#232431"
186
+ },
174
187
  text: {
175
188
  light: "#5821c2",
176
189
  dark: "#beb6ff"
190
+ },
191
+ border: {
192
+ light: "#8250fe",
193
+ dark: "#8250fe"
177
194
  }
178
195
  },
179
196
  success: {
@@ -188,6 +205,10 @@ export declare const tokens: {
188
205
  solid: {
189
206
  light: "#026a34",
190
207
  dark: "#48be72"
208
+ },
209
+ border: {
210
+ light: "#05a152",
211
+ dark: "#05a152"
191
212
  }
192
213
  },
193
214
  warning: {
@@ -202,6 +223,10 @@ export declare const tokens: {
202
223
  solid: {
203
224
  light: "#794d02",
204
225
  dark: "#db9115"
226
+ },
227
+ border: {
228
+ light: "#b77700",
229
+ dark: "#b77700"
205
230
  }
206
231
  },
207
232
  info: {
@@ -231,32 +256,56 @@ export declare const tokens: {
231
256
  light: "#a8001c",
232
257
  dark: "#fe6f6b"
233
258
  },
259
+ border: {
260
+ light: "#e83f44",
261
+ dark: "#e83f44"
262
+ },
234
263
  hover: {
235
264
  light: "#860014",
236
265
  dark: "#ffa59f"
237
266
  }
267
+ },
268
+ diff: {
269
+ 'added-wash': {
270
+ light: "#edfbf0",
271
+ dark: "#00280f"
272
+ },
273
+ 'added-stroke': {
274
+ light: "#058141",
275
+ dark: "#48be72"
276
+ },
277
+ 'removed-wash': {
278
+ light: "#fef4f3",
279
+ dark: "#430005"
280
+ },
281
+ 'removed-stroke': {
282
+ light: "#c71529",
283
+ dark: "#fe6f6b"
284
+ }
238
285
  }
239
286
  },
240
287
  z: {
241
288
  base: 0,
242
289
  raised: 1,
243
290
  sticky: 100,
244
- dropdown: 1000,
245
291
  backdrop: 1100,
246
292
  dialog: 1200,
247
- toast: 1300,
248
- tooltip: 1400
293
+ dropdown: 1300,
294
+ toast: 1400,
295
+ tooltip: 1500
249
296
  },
250
297
  duration: {
251
298
  fast: "100ms",
252
299
  base: "200ms",
253
300
  slow: "300ms",
254
- slower: "500ms"
301
+ slower: "500ms",
302
+ data: "600ms"
255
303
  },
256
304
  ease: {
257
305
  standard: "cubic-bezier(0.2, 0, 0, 1)",
258
306
  enter: "cubic-bezier(0, 0, 0.2, 1)",
259
- exit: "cubic-bezier(0.4, 0, 1, 1)"
307
+ exit: "cubic-bezier(0.4, 0, 1, 1)",
308
+ data: "cubic-bezier(0.2, 0.7, 0.2, 1)"
260
309
  },
261
310
  radius: {
262
311
  none: "0px",
@@ -291,6 +340,12 @@ export declare const tokens: {
291
340
  lg: "20px",
292
341
  xl: "24px"
293
342
  },
343
+ score: {
344
+ sm: "40px",
345
+ md: "48px",
346
+ ring: "64px",
347
+ 'ring-stroke': "6px"
348
+ },
294
349
  dialog: {
295
350
  sm: "400px",
296
351
  md: "560px",
@@ -300,7 +355,8 @@ export declare const tokens: {
300
355
  border: {
301
356
  width: {
302
357
  hairline: "1px",
303
- focus: "2px"
358
+ focus: "2px",
359
+ halo: "4px"
304
360
  }
305
361
  },
306
362
  spacing: {
@@ -347,7 +403,8 @@ export declare const tokens: {
347
403
  tight: "-0.02em",
348
404
  snug: "-0.01em",
349
405
  normal: "0em",
350
- wide: "0.04em"
406
+ wide: "0.04em",
407
+ wider: "0.07em"
351
408
  },
352
409
  measure: "65ch"
353
410
  },
@@ -370,7 +427,7 @@ export declare const tokens: {
370
427
  }
371
428
  }
372
429
  };
373
- export type TokenName = "color-white" | "color-black" | "color-neutral-0" | "color-neutral-50" | "color-neutral-100" | "color-neutral-200" | "color-neutral-300" | "color-neutral-400" | "color-neutral-500" | "color-neutral-600" | "color-neutral-700" | "color-neutral-800" | "color-neutral-900" | "color-neutral-950" | "color-neutral-1000" | "color-brand-50" | "color-brand-100" | "color-brand-200" | "color-brand-300" | "color-brand-400" | "color-brand-500" | "color-brand-600" | "color-brand-700" | "color-brand-800" | "color-brand-900" | "color-brand-950" | "color-green-50" | "color-green-100" | "color-green-200" | "color-green-300" | "color-green-400" | "color-green-500" | "color-green-600" | "color-green-700" | "color-green-800" | "color-green-900" | "color-green-950" | "color-amber-50" | "color-amber-100" | "color-amber-200" | "color-amber-300" | "color-amber-400" | "color-amber-500" | "color-amber-600" | "color-amber-700" | "color-amber-800" | "color-amber-900" | "color-amber-950" | "color-red-50" | "color-red-100" | "color-red-200" | "color-red-300" | "color-red-400" | "color-red-500" | "color-red-600" | "color-red-700" | "color-red-800" | "color-red-900" | "color-red-950" | "color-teal-50" | "color-teal-100" | "color-teal-200" | "color-teal-300" | "color-teal-400" | "color-teal-500" | "color-teal-600" | "color-teal-700" | "color-teal-800" | "color-teal-900" | "color-teal-950" | "color-surface-canvas" | "color-surface-default" | "color-surface-raised" | "color-surface-sunken" | "color-surface-hover" | "color-surface-active" | "color-surface-backdrop" | "color-text-default" | "color-text-muted" | "color-text-subtle" | "color-text-on-accent" | "color-text-on-status" | "color-text-link" | "color-border-default" | "color-border-strong" | "color-border-focus" | "color-accent-default" | "color-accent-hover" | "color-accent-active" | "color-accent-subtle" | "color-accent-text" | "color-success-subtle" | "color-success-text" | "color-success-solid" | "color-warning-subtle" | "color-warning-text" | "color-warning-solid" | "color-info-subtle" | "color-info-text" | "color-info-solid" | "color-danger-subtle" | "color-danger-text" | "color-danger-solid" | "color-danger-hover" | "z-base" | "z-raised" | "z-sticky" | "z-dropdown" | "z-backdrop" | "z-dialog" | "z-toast" | "z-tooltip" | "duration-fast" | "duration-base" | "duration-slow" | "duration-slower" | "ease-standard" | "ease-enter" | "ease-exit" | "radius-none" | "radius-xs" | "radius-sm" | "radius-md" | "radius-lg" | "radius-xl" | "radius-2xl" | "radius-full" | "size-control-sm" | "size-control-md" | "size-control-lg" | "size-control-compact-sm" | "size-control-compact-md" | "size-control-compact-lg" | "size-touch-target" | "size-badge-sm" | "size-badge-md" | "size-icon-xs" | "size-icon-sm" | "size-icon-md" | "size-icon-lg" | "size-icon-xl" | "size-dialog-sm" | "size-dialog-md" | "size-dialog-lg" | "border-width-hairline" | "border-width-focus" | "spacing-none" | "spacing-3xs" | "spacing-2xs" | "spacing-xs" | "spacing-sm" | "spacing-md" | "spacing-lg" | "spacing-xl" | "spacing-2xl" | "spacing-3xl" | "spacing-4xl" | "font-family-sans" | "font-family-mono" | "font-size-xs" | "font-size-sm" | "font-size-md" | "font-size-lg" | "font-size-xl" | "font-size-2xl" | "font-size-3xl" | "font-size-4xl" | "font-size-5xl" | "font-weight-regular" | "font-weight-medium" | "font-weight-semibold" | "font-line-height-tight" | "font-line-height-snug" | "font-line-height-normal" | "font-line-height-ui" | "font-tracking-tight" | "font-tracking-snug" | "font-tracking-normal" | "font-tracking-wide" | "font-measure" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3";
430
+ export type TokenName = "color-white" | "color-black" | "color-neutral-0" | "color-neutral-50" | "color-neutral-100" | "color-neutral-200" | "color-neutral-300" | "color-neutral-400" | "color-neutral-500" | "color-neutral-600" | "color-neutral-700" | "color-neutral-800" | "color-neutral-850" | "color-neutral-900" | "color-neutral-950" | "color-neutral-1000" | "color-brand-50" | "color-brand-100" | "color-brand-200" | "color-brand-300" | "color-brand-400" | "color-brand-500" | "color-brand-600" | "color-brand-700" | "color-brand-800" | "color-brand-900" | "color-brand-950" | "color-green-50" | "color-green-100" | "color-green-200" | "color-green-300" | "color-green-400" | "color-green-500" | "color-green-600" | "color-green-700" | "color-green-800" | "color-green-900" | "color-green-950" | "color-amber-50" | "color-amber-100" | "color-amber-200" | "color-amber-300" | "color-amber-400" | "color-amber-500" | "color-amber-600" | "color-amber-700" | "color-amber-800" | "color-amber-900" | "color-amber-950" | "color-red-50" | "color-red-100" | "color-red-200" | "color-red-300" | "color-red-400" | "color-red-500" | "color-red-600" | "color-red-700" | "color-red-800" | "color-red-900" | "color-red-950" | "color-teal-50" | "color-teal-100" | "color-teal-200" | "color-teal-300" | "color-teal-400" | "color-teal-500" | "color-teal-600" | "color-teal-700" | "color-teal-800" | "color-teal-900" | "color-teal-950" | "color-surface-canvas" | "color-surface-default" | "color-surface-raised" | "color-surface-sunken" | "color-surface-hover" | "color-surface-active" | "color-surface-raised-hover" | "color-surface-raised-active" | "color-surface-backdrop" | "color-text-default" | "color-text-muted" | "color-text-subtle" | "color-text-on-accent" | "color-text-on-status" | "color-text-link" | "color-border-default" | "color-border-strong" | "color-border-focus" | "color-accent-default" | "color-accent-hover" | "color-accent-active" | "color-accent-subtle" | "color-accent-wash" | "color-accent-text" | "color-accent-border" | "color-success-subtle" | "color-success-text" | "color-success-solid" | "color-success-border" | "color-warning-subtle" | "color-warning-text" | "color-warning-solid" | "color-warning-border" | "color-info-subtle" | "color-info-text" | "color-info-solid" | "color-danger-subtle" | "color-danger-text" | "color-danger-solid" | "color-danger-border" | "color-danger-hover" | "color-diff-added-wash" | "color-diff-added-stroke" | "color-diff-removed-wash" | "color-diff-removed-stroke" | "z-base" | "z-raised" | "z-sticky" | "z-backdrop" | "z-dialog" | "z-dropdown" | "z-toast" | "z-tooltip" | "duration-fast" | "duration-base" | "duration-slow" | "duration-slower" | "duration-data" | "ease-standard" | "ease-enter" | "ease-exit" | "ease-data" | "radius-none" | "radius-xs" | "radius-sm" | "radius-md" | "radius-lg" | "radius-xl" | "radius-2xl" | "radius-full" | "size-control-sm" | "size-control-md" | "size-control-lg" | "size-control-compact-sm" | "size-control-compact-md" | "size-control-compact-lg" | "size-touch-target" | "size-badge-sm" | "size-badge-md" | "size-icon-xs" | "size-icon-sm" | "size-icon-md" | "size-icon-lg" | "size-icon-xl" | "size-score-sm" | "size-score-md" | "size-score-ring" | "size-score-ring-stroke" | "size-dialog-sm" | "size-dialog-md" | "size-dialog-lg" | "border-width-hairline" | "border-width-focus" | "border-width-halo" | "spacing-none" | "spacing-3xs" | "spacing-2xs" | "spacing-xs" | "spacing-sm" | "spacing-md" | "spacing-lg" | "spacing-xl" | "spacing-2xl" | "spacing-3xl" | "spacing-4xl" | "font-family-sans" | "font-family-mono" | "font-size-xs" | "font-size-sm" | "font-size-md" | "font-size-lg" | "font-size-xl" | "font-size-2xl" | "font-size-3xl" | "font-size-4xl" | "font-size-5xl" | "font-weight-regular" | "font-weight-medium" | "font-weight-semibold" | "font-line-height-tight" | "font-line-height-snug" | "font-line-height-normal" | "font-line-height-ui" | "font-tracking-tight" | "font-tracking-snug" | "font-tracking-normal" | "font-tracking-wide" | "font-tracking-wider" | "font-measure" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3";
374
431
  export declare const tokenNames: readonly TokenName[];
375
432
  export type Theme = 'light' | 'dark';
376
433
  export declare const cssVar: (name: TokenName) => `var(--sc-${TokenName})`;
package/dist/js/tokens.js CHANGED
@@ -1,4 +1,4 @@
1
- /* @salemcobalt/tokens 0.2.0-rc.2 — generated from src/ by Style Dictionary. Do not edit. */
1
+ /* @salemcobalt/tokens 0.2.0-rc.20 — generated from src/ by Style Dictionary. Do not edit. */
2
2
  export const prefix = "sc";
3
3
  export const tokens = {
4
4
  "color": {
@@ -15,6 +15,7 @@ export const tokens = {
15
15
  "600": "#707378",
16
16
  "700": "#54585f",
17
17
  "800": "#3c4046",
18
+ "850": "#32353b",
18
19
  "900": "#282b31",
19
20
  "950": "#191c22",
20
21
  "1000": "#0e1116"
@@ -109,6 +110,14 @@ export const tokens = {
109
110
  "light": "#e6e8eb",
110
111
  "dark": "#3c4046"
111
112
  },
113
+ "raised-hover": {
114
+ "light": "#f2f3f6",
115
+ "dark": "#32353b"
116
+ },
117
+ "raised-active": {
118
+ "light": "#e6e8eb",
119
+ "dark": "#3c4046"
120
+ },
112
121
  "backdrop": {
113
122
  "light": "#0b0d1699",
114
123
  "dark": "#00000099"
@@ -171,9 +180,17 @@ export const tokens = {
171
180
  "light": "#f6f6fe",
172
181
  "dark": "#200550"
173
182
  },
183
+ "wash": {
184
+ "light": "#f6f3ff",
185
+ "dark": "#232431"
186
+ },
174
187
  "text": {
175
188
  "light": "#5821c2",
176
189
  "dark": "#beb6ff"
190
+ },
191
+ "border": {
192
+ "light": "#8250fe",
193
+ "dark": "#8250fe"
177
194
  }
178
195
  },
179
196
  "success": {
@@ -188,6 +205,10 @@ export const tokens = {
188
205
  "solid": {
189
206
  "light": "#026a34",
190
207
  "dark": "#48be72"
208
+ },
209
+ "border": {
210
+ "light": "#05a152",
211
+ "dark": "#05a152"
191
212
  }
192
213
  },
193
214
  "warning": {
@@ -202,6 +223,10 @@ export const tokens = {
202
223
  "solid": {
203
224
  "light": "#794d02",
204
225
  "dark": "#db9115"
226
+ },
227
+ "border": {
228
+ "light": "#b77700",
229
+ "dark": "#b77700"
205
230
  }
206
231
  },
207
232
  "info": {
@@ -231,32 +256,56 @@ export const tokens = {
231
256
  "light": "#a8001c",
232
257
  "dark": "#fe6f6b"
233
258
  },
259
+ "border": {
260
+ "light": "#e83f44",
261
+ "dark": "#e83f44"
262
+ },
234
263
  "hover": {
235
264
  "light": "#860014",
236
265
  "dark": "#ffa59f"
237
266
  }
267
+ },
268
+ "diff": {
269
+ "added-wash": {
270
+ "light": "#edfbf0",
271
+ "dark": "#00280f"
272
+ },
273
+ "added-stroke": {
274
+ "light": "#058141",
275
+ "dark": "#48be72"
276
+ },
277
+ "removed-wash": {
278
+ "light": "#fef4f3",
279
+ "dark": "#430005"
280
+ },
281
+ "removed-stroke": {
282
+ "light": "#c71529",
283
+ "dark": "#fe6f6b"
284
+ }
238
285
  }
239
286
  },
240
287
  "z": {
241
288
  "base": 0,
242
289
  "raised": 1,
243
290
  "sticky": 100,
244
- "dropdown": 1000,
245
291
  "backdrop": 1100,
246
292
  "dialog": 1200,
247
- "toast": 1300,
248
- "tooltip": 1400
293
+ "dropdown": 1300,
294
+ "toast": 1400,
295
+ "tooltip": 1500
249
296
  },
250
297
  "duration": {
251
298
  "fast": "100ms",
252
299
  "base": "200ms",
253
300
  "slow": "300ms",
254
- "slower": "500ms"
301
+ "slower": "500ms",
302
+ "data": "600ms"
255
303
  },
256
304
  "ease": {
257
305
  "standard": "cubic-bezier(0.2, 0, 0, 1)",
258
306
  "enter": "cubic-bezier(0, 0, 0.2, 1)",
259
- "exit": "cubic-bezier(0.4, 0, 1, 1)"
307
+ "exit": "cubic-bezier(0.4, 0, 1, 1)",
308
+ "data": "cubic-bezier(0.2, 0.7, 0.2, 1)"
260
309
  },
261
310
  "radius": {
262
311
  "none": "0px",
@@ -291,6 +340,12 @@ export const tokens = {
291
340
  "lg": "20px",
292
341
  "xl": "24px"
293
342
  },
343
+ "score": {
344
+ "sm": "40px",
345
+ "md": "48px",
346
+ "ring": "64px",
347
+ "ring-stroke": "6px"
348
+ },
294
349
  "dialog": {
295
350
  "sm": "400px",
296
351
  "md": "560px",
@@ -300,7 +355,8 @@ export const tokens = {
300
355
  "border": {
301
356
  "width": {
302
357
  "hairline": "1px",
303
- "focus": "2px"
358
+ "focus": "2px",
359
+ "halo": "4px"
304
360
  }
305
361
  },
306
362
  "spacing": {
@@ -347,7 +403,8 @@ export const tokens = {
347
403
  "tight": "-0.02em",
348
404
  "snug": "-0.01em",
349
405
  "normal": "0em",
350
- "wide": "0.04em"
406
+ "wide": "0.04em",
407
+ "wider": "0.07em"
351
408
  },
352
409
  "measure": "65ch"
353
410
  },
@@ -370,5 +427,5 @@ export const tokens = {
370
427
  }
371
428
  }
372
429
  };
373
- export const tokenNames = ["color-white","color-black","color-neutral-0","color-neutral-50","color-neutral-100","color-neutral-200","color-neutral-300","color-neutral-400","color-neutral-500","color-neutral-600","color-neutral-700","color-neutral-800","color-neutral-900","color-neutral-950","color-neutral-1000","color-brand-50","color-brand-100","color-brand-200","color-brand-300","color-brand-400","color-brand-500","color-brand-600","color-brand-700","color-brand-800","color-brand-900","color-brand-950","color-green-50","color-green-100","color-green-200","color-green-300","color-green-400","color-green-500","color-green-600","color-green-700","color-green-800","color-green-900","color-green-950","color-amber-50","color-amber-100","color-amber-200","color-amber-300","color-amber-400","color-amber-500","color-amber-600","color-amber-700","color-amber-800","color-amber-900","color-amber-950","color-red-50","color-red-100","color-red-200","color-red-300","color-red-400","color-red-500","color-red-600","color-red-700","color-red-800","color-red-900","color-red-950","color-teal-50","color-teal-100","color-teal-200","color-teal-300","color-teal-400","color-teal-500","color-teal-600","color-teal-700","color-teal-800","color-teal-900","color-teal-950","color-surface-canvas","color-surface-default","color-surface-raised","color-surface-sunken","color-surface-hover","color-surface-active","color-surface-backdrop","color-text-default","color-text-muted","color-text-subtle","color-text-on-accent","color-text-on-status","color-text-link","color-border-default","color-border-strong","color-border-focus","color-accent-default","color-accent-hover","color-accent-active","color-accent-subtle","color-accent-text","color-success-subtle","color-success-text","color-success-solid","color-warning-subtle","color-warning-text","color-warning-solid","color-info-subtle","color-info-text","color-info-solid","color-danger-subtle","color-danger-text","color-danger-solid","color-danger-hover","z-base","z-raised","z-sticky","z-dropdown","z-backdrop","z-dialog","z-toast","z-tooltip","duration-fast","duration-base","duration-slow","duration-slower","ease-standard","ease-enter","ease-exit","radius-none","radius-xs","radius-sm","radius-md","radius-lg","radius-xl","radius-2xl","radius-full","size-control-sm","size-control-md","size-control-lg","size-control-compact-sm","size-control-compact-md","size-control-compact-lg","size-touch-target","size-badge-sm","size-badge-md","size-icon-xs","size-icon-sm","size-icon-md","size-icon-lg","size-icon-xl","size-dialog-sm","size-dialog-md","size-dialog-lg","border-width-hairline","border-width-focus","spacing-none","spacing-3xs","spacing-2xs","spacing-xs","spacing-sm","spacing-md","spacing-lg","spacing-xl","spacing-2xl","spacing-3xl","spacing-4xl","font-family-sans","font-family-mono","font-size-xs","font-size-sm","font-size-md","font-size-lg","font-size-xl","font-size-2xl","font-size-3xl","font-size-4xl","font-size-5xl","font-weight-regular","font-weight-medium","font-weight-semibold","font-line-height-tight","font-line-height-snug","font-line-height-normal","font-line-height-ui","font-tracking-tight","font-tracking-snug","font-tracking-normal","font-tracking-wide","font-measure","elevation-0","elevation-1","elevation-2","elevation-3"];
430
+ export const tokenNames = ["color-white","color-black","color-neutral-0","color-neutral-50","color-neutral-100","color-neutral-200","color-neutral-300","color-neutral-400","color-neutral-500","color-neutral-600","color-neutral-700","color-neutral-800","color-neutral-850","color-neutral-900","color-neutral-950","color-neutral-1000","color-brand-50","color-brand-100","color-brand-200","color-brand-300","color-brand-400","color-brand-500","color-brand-600","color-brand-700","color-brand-800","color-brand-900","color-brand-950","color-green-50","color-green-100","color-green-200","color-green-300","color-green-400","color-green-500","color-green-600","color-green-700","color-green-800","color-green-900","color-green-950","color-amber-50","color-amber-100","color-amber-200","color-amber-300","color-amber-400","color-amber-500","color-amber-600","color-amber-700","color-amber-800","color-amber-900","color-amber-950","color-red-50","color-red-100","color-red-200","color-red-300","color-red-400","color-red-500","color-red-600","color-red-700","color-red-800","color-red-900","color-red-950","color-teal-50","color-teal-100","color-teal-200","color-teal-300","color-teal-400","color-teal-500","color-teal-600","color-teal-700","color-teal-800","color-teal-900","color-teal-950","color-surface-canvas","color-surface-default","color-surface-raised","color-surface-sunken","color-surface-hover","color-surface-active","color-surface-raised-hover","color-surface-raised-active","color-surface-backdrop","color-text-default","color-text-muted","color-text-subtle","color-text-on-accent","color-text-on-status","color-text-link","color-border-default","color-border-strong","color-border-focus","color-accent-default","color-accent-hover","color-accent-active","color-accent-subtle","color-accent-wash","color-accent-text","color-accent-border","color-success-subtle","color-success-text","color-success-solid","color-success-border","color-warning-subtle","color-warning-text","color-warning-solid","color-warning-border","color-info-subtle","color-info-text","color-info-solid","color-danger-subtle","color-danger-text","color-danger-solid","color-danger-border","color-danger-hover","color-diff-added-wash","color-diff-added-stroke","color-diff-removed-wash","color-diff-removed-stroke","z-base","z-raised","z-sticky","z-backdrop","z-dialog","z-dropdown","z-toast","z-tooltip","duration-fast","duration-base","duration-slow","duration-slower","duration-data","ease-standard","ease-enter","ease-exit","ease-data","radius-none","radius-xs","radius-sm","radius-md","radius-lg","radius-xl","radius-2xl","radius-full","size-control-sm","size-control-md","size-control-lg","size-control-compact-sm","size-control-compact-md","size-control-compact-lg","size-touch-target","size-badge-sm","size-badge-md","size-icon-xs","size-icon-sm","size-icon-md","size-icon-lg","size-icon-xl","size-score-sm","size-score-md","size-score-ring","size-score-ring-stroke","size-dialog-sm","size-dialog-md","size-dialog-lg","border-width-hairline","border-width-focus","border-width-halo","spacing-none","spacing-3xs","spacing-2xs","spacing-xs","spacing-sm","spacing-md","spacing-lg","spacing-xl","spacing-2xl","spacing-3xl","spacing-4xl","font-family-sans","font-family-mono","font-size-xs","font-size-sm","font-size-md","font-size-lg","font-size-xl","font-size-2xl","font-size-3xl","font-size-4xl","font-size-5xl","font-weight-regular","font-weight-medium","font-weight-semibold","font-line-height-tight","font-line-height-snug","font-line-height-normal","font-line-height-ui","font-tracking-tight","font-tracking-snug","font-tracking-normal","font-tracking-wide","font-tracking-wider","font-measure","elevation-0","elevation-1","elevation-2","elevation-3"];
374
431
  export const cssVar = (name) => `var(--sc-${name})`;
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.0-rc.2",
2
+ "version": "0.2.0-rc.20",
3
3
  "prefix": "sc",
4
4
  "light": {
5
5
  "sc-color-white": "#ffffff",
@@ -14,6 +14,7 @@
14
14
  "sc-color-neutral-600": "#707378",
15
15
  "sc-color-neutral-700": "#54585f",
16
16
  "sc-color-neutral-800": "#3c4046",
17
+ "sc-color-neutral-850": "#32353b",
17
18
  "sc-color-neutral-900": "#282b31",
18
19
  "sc-color-neutral-950": "#191c22",
19
20
  "sc-color-neutral-1000": "#0e1116",
@@ -78,6 +79,8 @@
78
79
  "sc-color-surface-sunken": "#f2f3f6",
79
80
  "sc-color-surface-hover": "#f2f3f6",
80
81
  "sc-color-surface-active": "#e6e8eb",
82
+ "sc-color-surface-raised-hover": "#f2f3f6",
83
+ "sc-color-surface-raised-active": "#e6e8eb",
81
84
  "sc-color-surface-backdrop": "#0b0d1699",
82
85
  "sc-color-text-default": "#0e1116",
83
86
  "sc-color-text-muted": "#54585f",
@@ -92,35 +95,46 @@
92
95
  "sc-color-accent-hover": "#6930e0",
93
96
  "sc-color-accent-active": "#4700ab",
94
97
  "sc-color-accent-subtle": "#f6f6fe",
98
+ "sc-color-accent-wash": "#f6f3ff",
95
99
  "sc-color-accent-text": "#5821c2",
100
+ "sc-color-accent-border": "#8250fe",
96
101
  "sc-color-success-subtle": "#edfbf0",
97
102
  "sc-color-success-text": "#015428",
98
103
  "sc-color-success-solid": "#026a34",
104
+ "sc-color-success-border": "#05a152",
99
105
  "sc-color-warning-subtle": "#fff5ea",
100
106
  "sc-color-warning-text": "#452a00",
101
107
  "sc-color-warning-solid": "#794d02",
108
+ "sc-color-warning-border": "#b77700",
102
109
  "sc-color-info-subtle": "#ecfaf9",
103
110
  "sc-color-info-text": "#056563",
104
111
  "sc-color-info-solid": "#057c79",
105
112
  "sc-color-danger-subtle": "#fef4f3",
106
113
  "sc-color-danger-text": "#860014",
107
114
  "sc-color-danger-solid": "#a8001c",
115
+ "sc-color-danger-border": "#e83f44",
108
116
  "sc-color-danger-hover": "#860014",
117
+ "sc-color-diff-added-wash": "#edfbf0",
118
+ "sc-color-diff-added-stroke": "#058141",
119
+ "sc-color-diff-removed-wash": "#fef4f3",
120
+ "sc-color-diff-removed-stroke": "#c71529",
109
121
  "sc-z-base": 0,
110
122
  "sc-z-raised": 1,
111
123
  "sc-z-sticky": 100,
112
- "sc-z-dropdown": 1000,
113
124
  "sc-z-backdrop": 1100,
114
125
  "sc-z-dialog": 1200,
115
- "sc-z-toast": 1300,
116
- "sc-z-tooltip": 1400,
126
+ "sc-z-dropdown": 1300,
127
+ "sc-z-toast": 1400,
128
+ "sc-z-tooltip": 1500,
117
129
  "sc-duration-fast": "100ms",
118
130
  "sc-duration-base": "200ms",
119
131
  "sc-duration-slow": "300ms",
120
132
  "sc-duration-slower": "500ms",
133
+ "sc-duration-data": "600ms",
121
134
  "sc-ease-standard": "cubic-bezier(0.2, 0, 0, 1)",
122
135
  "sc-ease-enter": "cubic-bezier(0, 0, 0.2, 1)",
123
136
  "sc-ease-exit": "cubic-bezier(0.4, 0, 1, 1)",
137
+ "sc-ease-data": "cubic-bezier(0.2, 0.7, 0.2, 1)",
124
138
  "sc-radius-none": "0px",
125
139
  "sc-radius-xs": "2px",
126
140
  "sc-radius-sm": "4px",
@@ -143,11 +157,16 @@
143
157
  "sc-size-icon-md": "16px",
144
158
  "sc-size-icon-lg": "20px",
145
159
  "sc-size-icon-xl": "24px",
160
+ "sc-size-score-sm": "40px",
161
+ "sc-size-score-md": "48px",
162
+ "sc-size-score-ring": "64px",
163
+ "sc-size-score-ring-stroke": "6px",
146
164
  "sc-size-dialog-sm": "400px",
147
165
  "sc-size-dialog-md": "560px",
148
166
  "sc-size-dialog-lg": "720px",
149
167
  "sc-border-width-hairline": "1px",
150
168
  "sc-border-width-focus": "2px",
169
+ "sc-border-width-halo": "4px",
151
170
  "sc-spacing-none": "0px",
152
171
  "sc-spacing-3xs": "2px",
153
172
  "sc-spacing-2xs": "4px",
@@ -181,6 +200,7 @@
181
200
  "sc-font-tracking-snug": "-0.01em",
182
201
  "sc-font-tracking-normal": "0em",
183
202
  "sc-font-tracking-wide": "0.04em",
203
+ "sc-font-tracking-wider": "0.07em",
184
204
  "sc-font-measure": "65ch",
185
205
  "sc-elevation-0": "none",
186
206
  "sc-elevation-1": "0 1px 2px rgba(14, 17, 22, 0.06), 0 1px 3px rgba(14, 17, 22, 0.1)",
@@ -200,6 +220,7 @@
200
220
  "sc-color-neutral-600": "#707378",
201
221
  "sc-color-neutral-700": "#54585f",
202
222
  "sc-color-neutral-800": "#3c4046",
223
+ "sc-color-neutral-850": "#32353b",
203
224
  "sc-color-neutral-900": "#282b31",
204
225
  "sc-color-neutral-950": "#191c22",
205
226
  "sc-color-neutral-1000": "#0e1116",
@@ -264,6 +285,8 @@
264
285
  "sc-color-surface-sunken": "#05070c",
265
286
  "sc-color-surface-hover": "#282b31",
266
287
  "sc-color-surface-active": "#3c4046",
288
+ "sc-color-surface-raised-hover": "#32353b",
289
+ "sc-color-surface-raised-active": "#3c4046",
267
290
  "sc-color-surface-backdrop": "#00000099",
268
291
  "sc-color-text-default": "#f9fafd",
269
292
  "sc-color-text-muted": "#b7bbc0",
@@ -278,35 +301,46 @@
278
301
  "sc-color-accent-hover": "#beb6ff",
279
302
  "sc-color-accent-active": "#d9d5ff",
280
303
  "sc-color-accent-subtle": "#200550",
304
+ "sc-color-accent-wash": "#232431",
281
305
  "sc-color-accent-text": "#beb6ff",
306
+ "sc-color-accent-border": "#8250fe",
282
307
  "sc-color-success-subtle": "#00280f",
283
308
  "sc-color-success-text": "#83d79b",
284
309
  "sc-color-success-solid": "#48be72",
310
+ "sc-color-success-border": "#05a152",
285
311
  "sc-color-warning-subtle": "#2e1a00",
286
312
  "sc-color-warning-text": "#efb469",
287
313
  "sc-color-warning-solid": "#db9115",
314
+ "sc-color-warning-border": "#b77700",
288
315
  "sc-color-info-subtle": "#002524",
289
316
  "sc-color-info-text": "#74d4d0",
290
317
  "sc-color-info-solid": "#22bab6",
291
318
  "sc-color-danger-subtle": "#430005",
292
319
  "sc-color-danger-text": "#ffa59f",
293
320
  "sc-color-danger-solid": "#fe6f6b",
321
+ "sc-color-danger-border": "#e83f44",
294
322
  "sc-color-danger-hover": "#ffa59f",
323
+ "sc-color-diff-added-wash": "#00280f",
324
+ "sc-color-diff-added-stroke": "#48be72",
325
+ "sc-color-diff-removed-wash": "#430005",
326
+ "sc-color-diff-removed-stroke": "#fe6f6b",
295
327
  "sc-z-base": 0,
296
328
  "sc-z-raised": 1,
297
329
  "sc-z-sticky": 100,
298
- "sc-z-dropdown": 1000,
299
330
  "sc-z-backdrop": 1100,
300
331
  "sc-z-dialog": 1200,
301
- "sc-z-toast": 1300,
302
- "sc-z-tooltip": 1400,
332
+ "sc-z-dropdown": 1300,
333
+ "sc-z-toast": 1400,
334
+ "sc-z-tooltip": 1500,
303
335
  "sc-duration-fast": "100ms",
304
336
  "sc-duration-base": "200ms",
305
337
  "sc-duration-slow": "300ms",
306
338
  "sc-duration-slower": "500ms",
339
+ "sc-duration-data": "600ms",
307
340
  "sc-ease-standard": "cubic-bezier(0.2, 0, 0, 1)",
308
341
  "sc-ease-enter": "cubic-bezier(0, 0, 0.2, 1)",
309
342
  "sc-ease-exit": "cubic-bezier(0.4, 0, 1, 1)",
343
+ "sc-ease-data": "cubic-bezier(0.2, 0.7, 0.2, 1)",
310
344
  "sc-radius-none": "0px",
311
345
  "sc-radius-xs": "2px",
312
346
  "sc-radius-sm": "4px",
@@ -329,11 +363,16 @@
329
363
  "sc-size-icon-md": "16px",
330
364
  "sc-size-icon-lg": "20px",
331
365
  "sc-size-icon-xl": "24px",
366
+ "sc-size-score-sm": "40px",
367
+ "sc-size-score-md": "48px",
368
+ "sc-size-score-ring": "64px",
369
+ "sc-size-score-ring-stroke": "6px",
332
370
  "sc-size-dialog-sm": "400px",
333
371
  "sc-size-dialog-md": "560px",
334
372
  "sc-size-dialog-lg": "720px",
335
373
  "sc-border-width-hairline": "1px",
336
374
  "sc-border-width-focus": "2px",
375
+ "sc-border-width-halo": "4px",
337
376
  "sc-spacing-none": "0px",
338
377
  "sc-spacing-3xs": "2px",
339
378
  "sc-spacing-2xs": "4px",
@@ -367,6 +406,7 @@
367
406
  "sc-font-tracking-snug": "-0.01em",
368
407
  "sc-font-tracking-normal": "0em",
369
408
  "sc-font-tracking-wide": "0.04em",
409
+ "sc-font-tracking-wider": "0.07em",
370
410
  "sc-font-measure": "65ch",
371
411
  "sc-elevation-0": "none",
372
412
  "sc-elevation-1": "0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.5)",
@@ -1,4 +1,4 @@
1
- // @salemcobalt/tokens 0.2.0-rc.2 — generated from src/ by Style Dictionary. Do not edit.
1
+ // @salemcobalt/tokens 0.2.0-rc.20 — generated from src/ by Style Dictionary. Do not edit.
2
2
  $sc-color-white: #ffffff; // Primitive.
3
3
  $sc-color-black: #05070c; // Primitive. Deepest dark surface.
4
4
  $sc-color-neutral-0: #ffffff; // Primitive. Cool neutral, OKLCH hue 263.
@@ -11,6 +11,7 @@ $sc-color-neutral-500: #8c8f95; // Primitive. Cool neutral, OKLCH hue 263.
11
11
  $sc-color-neutral-600: #707378; // Primitive. Cool neutral, OKLCH hue 263.
12
12
  $sc-color-neutral-700: #54585f; // Primitive. Cool neutral, OKLCH hue 263.
13
13
  $sc-color-neutral-800: #3c4046; // Primitive. Cool neutral, OKLCH hue 263.
14
+ $sc-color-neutral-850: #32353b; // Primitive. Cool neutral, OKLCH hue 263. Between 800 and 900: the dark hover wash on raised surfaces.
14
15
  $sc-color-neutral-900: #282b31; // Primitive. Cool neutral, OKLCH hue 263.
15
16
  $sc-color-neutral-950: #191c22; // Primitive. Cool neutral, OKLCH hue 263.
16
17
  $sc-color-neutral-1000: #0e1116; // Primitive. Cool neutral, OKLCH hue 263.
@@ -75,6 +76,8 @@ $sc-color-surface-raised: #ffffff; // Floating surfaces: Dialog, menus. Pair wit
75
76
  $sc-color-surface-sunken: #f2f3f6; // Inset wells and code blocks.
76
77
  $sc-color-surface-hover: #f2f3f6; // Hover wash on rows and ghost controls.
77
78
  $sc-color-surface-active: #e6e8eb; // Pressed wash on rows and ghost controls.
79
+ $sc-color-surface-raised-hover: #f2f3f6; // Hover wash inside raised surfaces (menus, select popups, dialogs, elevated cards). A step off surface.raised so the highlight shows.
80
+ $sc-color-surface-raised-active: #e6e8eb; // Pressed wash and neutral fills inside raised surfaces.
78
81
  $sc-color-surface-backdrop: #0b0d1699; // Dialog scrim, 60% alpha.
79
82
  $sc-color-text-default: #0e1116; // Body and headings on every surface token.
80
83
  $sc-color-text-muted: #54585f; // Secondary text and metadata on every surface token.
@@ -89,35 +92,46 @@ $sc-color-accent-default: #8250fe; // Primary Button fill, selection, active ind
89
92
  $sc-color-accent-hover: #6930e0; // Primary Button hover.
90
93
  $sc-color-accent-active: #4700ab; // Primary Button pressed. Light is #4700ab exactly.
91
94
  $sc-color-accent-subtle: #f6f6fe; // Soft accent Badge fill, selected row wash.
95
+ $sc-color-accent-wash: #f6f3ff; // Faint selected-row wash, lighter than accent.subtle: brand.500 at 7% over surface.default, precomputed as an opaque swatch. Pair with accent.border.
92
96
  $sc-color-accent-text: #5821c2; // Text on accent.subtle and surface.default.
97
+ $sc-color-accent-border: #8250fe; // Selection border on accent.wash (plain Card selected); 3:1 on accent.wash and every surface.
93
98
  $sc-color-success-subtle: #edfbf0; // Soft success Badge fill.
94
99
  $sc-color-success-text: #015428; // Text on success.subtle and surface.default.
95
100
  $sc-color-success-solid: #026a34; // Solid success Badge fill.
101
+ $sc-color-success-border: #05a152; // Tone border and outline; 3:1 on success.subtle and every surface.
96
102
  $sc-color-warning-subtle: #fff5ea; // Soft warning Badge fill.
97
103
  $sc-color-warning-text: #452a00; // Text on warning.subtle and surface.default.
98
104
  $sc-color-warning-solid: #794d02; // Solid warning Badge fill.
105
+ $sc-color-warning-border: #b77700; // Tone border and outline; 3:1 on warning.subtle and every surface.
99
106
  $sc-color-info-subtle: #ecfaf9; // Soft info Badge fill.
100
107
  $sc-color-info-text: #056563; // Text on info.subtle and surface.default.
101
108
  $sc-color-info-solid: #057c79; // Solid info Badge fill.
102
109
  $sc-color-danger-subtle: #fef4f3; // Soft danger Badge fill.
103
110
  $sc-color-danger-text: #860014; // Text on danger.subtle and surface.default.
104
111
  $sc-color-danger-solid: #a8001c; // Danger Button fill and solid danger Badge.
112
+ $sc-color-danger-border: #e83f44; // Tone border and outline; 3:1 on danger.subtle and every surface.
105
113
  $sc-color-danger-hover: #860014; // Danger Button hover.
114
+ $sc-color-diff-added-wash: #edfbf0; // Tint behind added text in a word diff.
115
+ $sc-color-diff-added-stroke: #058141; // Underline under added text; 3:1 on diff.added-wash.
116
+ $sc-color-diff-removed-wash: #fef4f3; // Tint behind removed text in a word diff. Removed text is text.muted.
117
+ $sc-color-diff-removed-stroke: #c71529; // Strike-through on removed text; 3:1 on diff.removed-wash.
106
118
  $sc-z-base: 0; // Normal flow.
107
119
  $sc-z-raised: 1; // Hover and focus rings over siblings.
108
- $sc-z-sticky: 100; // Sticky headers and table heads.
109
- $sc-z-dropdown: 1000; // Menus, selects, popovers.
120
+ $sc-z-sticky: 100; // Pinned chrome inside the page: sticky Toolbar, Banner, Table head.
110
121
  $sc-z-backdrop: 1100; // Dialog scrim.
111
- $sc-z-dialog: 1200; // Dialog popup.
112
- $sc-z-toast: 1300; // Toasts.
113
- $sc-z-tooltip: 1400; // Tooltips, above everything.
122
+ $sc-z-dialog: 1200; // Dialog popup and sheet.
123
+ $sc-z-dropdown: 1300; // Menus, selects, popovers. Above dialog so a popup opened from inside one shows over it.
124
+ $sc-z-toast: 1400; // Toasts, above open popups.
125
+ $sc-z-tooltip: 1500; // Tooltips, above everything.
114
126
  $sc-duration-fast: 100ms; // Hover and press color changes.
115
127
  $sc-duration-base: 200ms; // Dialog enter, backdrop fade.
116
128
  $sc-duration-slow: 300ms; // Layout shifts, panels sliding.
117
129
  $sc-duration-slower: 500ms; // Page-level transitions only.
130
+ $sc-duration-data: 600ms; // A value moving to its new amount: a score ring's arc, a meter's fill.
118
131
  $sc-ease-standard: cubic-bezier(0.2, 0, 0, 1); // Color and size changes.
119
132
  $sc-ease-enter: cubic-bezier(0, 0, 0.2, 1); // Elements appearing.
120
133
  $sc-ease-exit: cubic-bezier(0.4, 0, 1, 1); // Elements leaving, at 75% of the enter duration.
134
+ $sc-ease-data: cubic-bezier(0.2, 0.7, 0.2, 1); // A value settling: quick off the mark, then a long, soft landing. Pairs with duration.data.
121
135
  $sc-radius-none: 0px; // Flush edges, table cells.
122
136
  $sc-radius-xs: 2px; // Focus ring corners on square elements.
123
137
  $sc-radius-sm: 4px; // Badge, Kbd, Button sm.
@@ -140,11 +154,16 @@ $sc-size-icon-sm: 14px; // Icon inside sm controls.
140
154
  $sc-size-icon-md: 16px; // Default icon: md controls, menu items, 14px UI text.
141
155
  $sc-size-icon-lg: 20px; // Icon inside lg controls, headings, Stat.
142
156
  $sc-size-icon-xl: 24px; // Empty states and feature callouts.
157
+ $sc-size-score-sm: 40px; // Score tile sm: list rows.
158
+ $sc-size-score-md: 48px; // Score tile md: cards and summaries.
159
+ $sc-size-score-ring: 64px; // Score ring: detail headers.
160
+ $sc-size-score-ring-stroke: 6px; // Stroke of the Score ring track and arc.
143
161
  $sc-size-dialog-sm: 400px; // Dialog max inline size, confirmations.
144
162
  $sc-size-dialog-md: 560px; // Dialog max inline size, default.
145
163
  $sc-size-dialog-lg: 720px; // Dialog max inline size, rich content.
146
164
  $sc-border-width-hairline: 1px; // Every border.
147
165
  $sc-border-width-focus: 2px; // Focus ring stroke and offset.
166
+ $sc-border-width-halo: 4px; // Soft ring around a current or live marker (box-shadow spread), e.g. the current step.
148
167
  $sc-spacing-none: 0px; // Reset; Stack and Inline gap="none".
149
168
  $sc-spacing-3xs: 2px; // Hairline gaps: Kbd group gap, Badge sm padding-block.
150
169
  $sc-spacing-2xs: 4px; // Icon-to-label gap in sm controls; Badge padding-block; Kbd padding-inline.
@@ -178,6 +197,7 @@ $sc-font-tracking-tight: -0.02em; // Display sizes.
178
197
  $sc-font-tracking-snug: -0.01em; // Headings from 2xl up.
179
198
  $sc-font-tracking-normal: 0em; // Text.
180
199
  $sc-font-tracking-wide: 0.04em; // Uppercase labels.
200
+ $sc-font-tracking-wider: 0.07em; // Uppercase mono overlines (Heading size overline).
181
201
  $sc-font-measure: 65ch; // Max line length for running text.
182
202
  $sc-elevation-0: none; // Flat. Card default, Badge, Button.
183
203
  $sc-elevation-1: 0 1px 2px rgba(14, 17, 22, 0.06), 0 1px 3px rgba(14, 17, 22, 0.1); // Elevated Card and interactive Card hover.
@@ -191,6 +211,8 @@ $sc-dark: (
191
211
  'color-surface-sunken': #05070c,
192
212
  'color-surface-hover': #282b31,
193
213
  'color-surface-active': #3c4046,
214
+ 'color-surface-raised-hover': #32353b,
215
+ 'color-surface-raised-active': #3c4046,
194
216
  'color-surface-backdrop': #00000099,
195
217
  'color-text-default': #f9fafd,
196
218
  'color-text-muted': #b7bbc0,
@@ -205,20 +227,29 @@ $sc-dark: (
205
227
  'color-accent-hover': #beb6ff,
206
228
  'color-accent-active': #d9d5ff,
207
229
  'color-accent-subtle': #200550,
230
+ 'color-accent-wash': #232431,
208
231
  'color-accent-text': #beb6ff,
232
+ 'color-accent-border': #8250fe,
209
233
  'color-success-subtle': #00280f,
210
234
  'color-success-text': #83d79b,
211
235
  'color-success-solid': #48be72,
236
+ 'color-success-border': #05a152,
212
237
  'color-warning-subtle': #2e1a00,
213
238
  'color-warning-text': #efb469,
214
239
  'color-warning-solid': #db9115,
240
+ 'color-warning-border': #b77700,
215
241
  'color-info-subtle': #002524,
216
242
  'color-info-text': #74d4d0,
217
243
  'color-info-solid': #22bab6,
218
244
  'color-danger-subtle': #430005,
219
245
  'color-danger-text': #ffa59f,
220
246
  'color-danger-solid': #fe6f6b,
247
+ 'color-danger-border': #e83f44,
221
248
  'color-danger-hover': #ffa59f,
249
+ 'color-diff-added-wash': #00280f,
250
+ 'color-diff-added-stroke': #48be72,
251
+ 'color-diff-removed-wash': #430005,
252
+ 'color-diff-removed-stroke': #fe6f6b,
222
253
  'elevation-0': none,
223
254
  'elevation-1': 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px 3px rgba(0, 0, 0, 0.5),
224
255
  'elevation-2': 0 2px 4px rgba(0, 0, 0, 0.5), 0 8px 20px -4px rgba(0, 0, 0, 0.6),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salemcobalt/tokens",
3
- "version": "0.2.0-rc.2",
3
+ "version": "0.2.0-rc.20",
4
4
  "description": "Design tokens for the Salem Cobalt design system: CSS custom properties, Sass, TypeScript and JSON from one Style Dictionary source.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -2,11 +2,19 @@
2
2
  "z": {
3
3
  "base": { "$value": 0, "$type": "number", "$description": "Normal flow." },
4
4
  "raised": { "$value": 1, "$type": "number", "$description": "Hover and focus rings over siblings." },
5
- "sticky": { "$value": 100, "$type": "number", "$description": "Sticky headers and table heads." },
6
- "dropdown": { "$value": 1000, "$type": "number", "$description": "Menus, selects, popovers." },
5
+ "sticky": {
6
+ "$value": 100,
7
+ "$type": "number",
8
+ "$description": "Pinned chrome inside the page: sticky Toolbar, Banner, Table head."
9
+ },
7
10
  "backdrop": { "$value": 1100, "$type": "number", "$description": "Dialog scrim." },
8
- "dialog": { "$value": 1200, "$type": "number", "$description": "Dialog popup." },
9
- "toast": { "$value": 1300, "$type": "number", "$description": "Toasts." },
10
- "tooltip": { "$value": 1400, "$type": "number", "$description": "Tooltips, above everything." }
11
+ "dialog": { "$value": 1200, "$type": "number", "$description": "Dialog popup and sheet." },
12
+ "dropdown": {
13
+ "$value": 1300,
14
+ "$type": "number",
15
+ "$description": "Menus, selects, popovers. Above dialog so a popup opened from inside one shows over it."
16
+ },
17
+ "toast": { "$value": 1400, "$type": "number", "$description": "Toasts, above open popups." },
18
+ "tooltip": { "$value": 1500, "$type": "number", "$description": "Tooltips, above everything." }
11
19
  }
12
20
  }
@@ -3,7 +3,12 @@
3
3
  "fast": { "$value": "100ms", "$type": "duration", "$description": "Hover and press color changes." },
4
4
  "base": { "$value": "200ms", "$type": "duration", "$description": "Dialog enter, backdrop fade." },
5
5
  "slow": { "$value": "300ms", "$type": "duration", "$description": "Layout shifts, panels sliding." },
6
- "slower": { "$value": "500ms", "$type": "duration", "$description": "Page-level transitions only." }
6
+ "slower": { "$value": "500ms", "$type": "duration", "$description": "Page-level transitions only." },
7
+ "data": {
8
+ "$value": "600ms",
9
+ "$type": "duration",
10
+ "$description": "A value moving to its new amount: a score ring's arc, a meter's fill."
11
+ }
7
12
  },
8
13
  "ease": {
9
14
  "standard": {
@@ -20,6 +25,11 @@
20
25
  "$value": "cubic-bezier(0.4, 0, 1, 1)",
21
26
  "$type": "cubicBezier",
22
27
  "$description": "Elements leaving, at 75% of the enter duration."
28
+ },
29
+ "data": {
30
+ "$value": "cubic-bezier(0.2, 0.7, 0.2, 1)",
31
+ "$type": "cubicBezier",
32
+ "$description": "A value settling: quick off the mark, then a long, soft landing. Pairs with duration.data."
23
33
  }
24
34
  }
25
35
  }
@@ -78,6 +78,28 @@
78
78
  "$description": "Empty states and feature callouts."
79
79
  }
80
80
  },
81
+ "score": {
82
+ "sm": {
83
+ "$value": "40px",
84
+ "$type": "dimension",
85
+ "$description": "Score tile sm: list rows."
86
+ },
87
+ "md": {
88
+ "$value": "48px",
89
+ "$type": "dimension",
90
+ "$description": "Score tile md: cards and summaries."
91
+ },
92
+ "ring": {
93
+ "$value": "64px",
94
+ "$type": "dimension",
95
+ "$description": "Score ring: detail headers."
96
+ },
97
+ "ring-stroke": {
98
+ "$value": "6px",
99
+ "$type": "dimension",
100
+ "$description": "Stroke of the Score ring track and arc."
101
+ }
102
+ },
81
103
  "dialog": {
82
104
  "sm": {
83
105
  "$value": "400px",
@@ -107,6 +129,11 @@
107
129
  "$value": "2px",
108
130
  "$type": "dimension",
109
131
  "$description": "Focus ring stroke and offset."
132
+ },
133
+ "halo": {
134
+ "$value": "4px",
135
+ "$type": "dimension",
136
+ "$description": "Soft ring around a current or live marker (box-shadow spread), e.g. the current step."
110
137
  }
111
138
  }
112
139
  }
@@ -118,6 +118,11 @@
118
118
  "$value": "0.04em",
119
119
  "$type": "dimension",
120
120
  "$description": "Uppercase labels."
121
+ },
122
+ "wider": {
123
+ "$value": "0.07em",
124
+ "$type": "dimension",
125
+ "$description": "Uppercase mono overlines (Heading size overline)."
121
126
  }
122
127
  },
123
128
  "measure": {
@@ -61,6 +61,11 @@
61
61
  "$type": "color",
62
62
  "$description": "Primitive. Cool neutral, OKLCH hue 263."
63
63
  },
64
+ "850": {
65
+ "$value": "#32353b",
66
+ "$type": "color",
67
+ "$description": "Primitive. Cool neutral, OKLCH hue 263. Between 800 and 900: the dark hover wash on raised surfaces."
68
+ },
64
69
  "900": {
65
70
  "$value": "#282b31",
66
71
  "$type": "color",
@@ -31,6 +31,16 @@
31
31
  "$type": "color",
32
32
  "$description": "Pressed wash on rows and ghost controls."
33
33
  },
34
+ "raised-hover": {
35
+ "$value": "{color.neutral.850}",
36
+ "$type": "color",
37
+ "$description": "Hover wash inside raised surfaces (menus, select popups, dialogs, elevated cards). A step off surface.raised so the highlight shows."
38
+ },
39
+ "raised-active": {
40
+ "$value": "{color.neutral.800}",
41
+ "$type": "color",
42
+ "$description": "Pressed wash and neutral fills inside raised surfaces."
43
+ },
34
44
  "backdrop": {
35
45
  "$value": "#00000099",
36
46
  "$type": "color",
@@ -107,10 +117,20 @@
107
117
  "$type": "color",
108
118
  "$description": "Soft accent Badge fill, selected row wash."
109
119
  },
120
+ "wash": {
121
+ "$value": "#232431",
122
+ "$type": "color",
123
+ "$description": "Faint selected-row wash, lighter than accent.subtle: brand.400 at 7% over surface.default, precomputed as an opaque swatch. Pair with accent.border."
124
+ },
110
125
  "text": {
111
126
  "$value": "{color.brand.300}",
112
127
  "$type": "color",
113
128
  "$description": "Text on accent.subtle and surface.default."
129
+ },
130
+ "border": {
131
+ "$value": "{color.brand.500}",
132
+ "$type": "color",
133
+ "$description": "Selection border on accent.wash (plain Card selected); 3:1 on accent.wash and every surface."
114
134
  }
115
135
  },
116
136
  "success": {
@@ -128,6 +148,11 @@
128
148
  "$value": "{color.green.400}",
129
149
  "$type": "color",
130
150
  "$description": "Solid success Badge fill."
151
+ },
152
+ "border": {
153
+ "$value": "{color.green.500}",
154
+ "$type": "color",
155
+ "$description": "Tone border and outline; 3:1 on success.subtle and every surface."
131
156
  }
132
157
  },
133
158
  "warning": {
@@ -145,6 +170,11 @@
145
170
  "$value": "{color.amber.400}",
146
171
  "$type": "color",
147
172
  "$description": "Solid warning Badge fill."
173
+ },
174
+ "border": {
175
+ "$value": "{color.amber.500}",
176
+ "$type": "color",
177
+ "$description": "Tone border and outline; 3:1 on warning.subtle and every surface."
148
178
  }
149
179
  },
150
180
  "info": {
@@ -180,11 +210,38 @@
180
210
  "$type": "color",
181
211
  "$description": "Danger Button fill and solid danger Badge."
182
212
  },
213
+ "border": {
214
+ "$value": "{color.red.500}",
215
+ "$type": "color",
216
+ "$description": "Tone border and outline; 3:1 on danger.subtle and every surface."
217
+ },
183
218
  "hover": {
184
219
  "$value": "{color.red.300}",
185
220
  "$type": "color",
186
221
  "$description": "Danger Button hover."
187
222
  }
223
+ },
224
+ "diff": {
225
+ "added-wash": {
226
+ "$value": "{color.green.950}",
227
+ "$type": "color",
228
+ "$description": "Tint behind added text in a word diff."
229
+ },
230
+ "added-stroke": {
231
+ "$value": "{color.green.400}",
232
+ "$type": "color",
233
+ "$description": "Underline under added text; 3:1 on diff.added-wash."
234
+ },
235
+ "removed-wash": {
236
+ "$value": "{color.red.950}",
237
+ "$type": "color",
238
+ "$description": "Tint behind removed text in a word diff. Removed text is text.muted."
239
+ },
240
+ "removed-stroke": {
241
+ "$value": "{color.red.400}",
242
+ "$type": "color",
243
+ "$description": "Strike-through on removed text; 3:1 on diff.removed-wash."
244
+ }
188
245
  }
189
246
  },
190
247
  "elevation": {
@@ -31,6 +31,16 @@
31
31
  "$type": "color",
32
32
  "$description": "Pressed wash on rows and ghost controls."
33
33
  },
34
+ "raised-hover": {
35
+ "$value": "{color.neutral.100}",
36
+ "$type": "color",
37
+ "$description": "Hover wash inside raised surfaces (menus, select popups, dialogs, elevated cards). A step off surface.raised so the highlight shows."
38
+ },
39
+ "raised-active": {
40
+ "$value": "{color.neutral.200}",
41
+ "$type": "color",
42
+ "$description": "Pressed wash and neutral fills inside raised surfaces."
43
+ },
34
44
  "backdrop": {
35
45
  "$value": "#0b0d1699",
36
46
  "$type": "color",
@@ -107,10 +117,20 @@
107
117
  "$type": "color",
108
118
  "$description": "Soft accent Badge fill, selected row wash."
109
119
  },
120
+ "wash": {
121
+ "$value": "#f6f3ff",
122
+ "$type": "color",
123
+ "$description": "Faint selected-row wash, lighter than accent.subtle: brand.500 at 7% over surface.default, precomputed as an opaque swatch. Pair with accent.border."
124
+ },
110
125
  "text": {
111
126
  "$value": "{color.brand.700}",
112
127
  "$type": "color",
113
128
  "$description": "Text on accent.subtle and surface.default."
129
+ },
130
+ "border": {
131
+ "$value": "{color.brand.500}",
132
+ "$type": "color",
133
+ "$description": "Selection border on accent.wash (plain Card selected); 3:1 on accent.wash and every surface."
114
134
  }
115
135
  },
116
136
  "success": {
@@ -128,6 +148,11 @@
128
148
  "$value": "{color.green.700}",
129
149
  "$type": "color",
130
150
  "$description": "Solid success Badge fill."
151
+ },
152
+ "border": {
153
+ "$value": "{color.green.500}",
154
+ "$type": "color",
155
+ "$description": "Tone border and outline; 3:1 on success.subtle and every surface."
131
156
  }
132
157
  },
133
158
  "warning": {
@@ -145,6 +170,11 @@
145
170
  "$value": "{color.amber.700}",
146
171
  "$type": "color",
147
172
  "$description": "Solid warning Badge fill."
173
+ },
174
+ "border": {
175
+ "$value": "{color.amber.500}",
176
+ "$type": "color",
177
+ "$description": "Tone border and outline; 3:1 on warning.subtle and every surface."
148
178
  }
149
179
  },
150
180
  "info": {
@@ -180,11 +210,38 @@
180
210
  "$type": "color",
181
211
  "$description": "Danger Button fill and solid danger Badge."
182
212
  },
213
+ "border": {
214
+ "$value": "{color.red.500}",
215
+ "$type": "color",
216
+ "$description": "Tone border and outline; 3:1 on danger.subtle and every surface."
217
+ },
183
218
  "hover": {
184
219
  "$value": "{color.red.800}",
185
220
  "$type": "color",
186
221
  "$description": "Danger Button hover."
187
222
  }
223
+ },
224
+ "diff": {
225
+ "added-wash": {
226
+ "$value": "{color.green.50}",
227
+ "$type": "color",
228
+ "$description": "Tint behind added text in a word diff."
229
+ },
230
+ "added-stroke": {
231
+ "$value": "{color.green.600}",
232
+ "$type": "color",
233
+ "$description": "Underline under added text; 3:1 on diff.added-wash."
234
+ },
235
+ "removed-wash": {
236
+ "$value": "{color.red.50}",
237
+ "$type": "color",
238
+ "$description": "Tint behind removed text in a word diff. Removed text is text.muted."
239
+ },
240
+ "removed-stroke": {
241
+ "$value": "{color.red.600}",
242
+ "$type": "color",
243
+ "$description": "Strike-through on removed text; 3:1 on diff.removed-wash."
244
+ }
188
245
  }
189
246
  },
190
247
  "elevation": {