@putdotio/design 1.3.0 → 1.4.0
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/DESIGN.md +9 -5
- package/dist/css/tokens.css +56 -28
- package/dist/figma/putio.tokens.json +47 -10
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.dtcg.json +265 -39
- package/dist/tokens.flat.json +196 -48
- package/dist/tokens.js +196 -48
- package/package.json +3 -2
- package/system/README.md +93 -19
- package/tokens/components.tokens.json +112 -0
- package/tokens/foundation.css +29 -19
- package/tokens/primitives.tokens.json +125 -12
- package/tokens/semantic.tokens.json +28 -27
package/DESIGN.md
CHANGED
|
@@ -24,17 +24,17 @@ typography:
|
|
|
24
24
|
ui:
|
|
25
25
|
family: "\"GT America\", sans-serif"
|
|
26
26
|
weight: 400
|
|
27
|
-
size: "
|
|
27
|
+
size: "1rem"
|
|
28
28
|
lineHeight: 1.45
|
|
29
29
|
display:
|
|
30
30
|
family: "\"GT America\", sans-serif"
|
|
31
31
|
weight: 900
|
|
32
|
-
size: "
|
|
32
|
+
size: "96px"
|
|
33
33
|
lineHeight: 1.1
|
|
34
34
|
mono:
|
|
35
35
|
family: "\"Berkeley Mono\", \"GT America Mono\", monospace"
|
|
36
36
|
weight: 400
|
|
37
|
-
size: "0.
|
|
37
|
+
size: "0.875rem"
|
|
38
38
|
lineHeight: 1.45
|
|
39
39
|
rounded:
|
|
40
40
|
sm: "4px"
|
|
@@ -78,12 +78,16 @@ Use GT America for product UI and display. Use GT America Mono for compact produ
|
|
|
78
78
|
|
|
79
79
|
Body UI text should stay readable and dense. Use medium weight for labels and controls, bold weight only where the hierarchy earns it, and black weight for deliberate display moments.
|
|
80
80
|
|
|
81
|
+
The root font-size is responsive like the product: 14px, stepping to 15px at the `--bp-lg` breakpoint. Body, labels, and inputs sit at `--fs-base` (1rem, equal to the root); captions and button labels sit at `--fs-sm` (0.875rem). The display tiers (`--fs-2xl`, `--fs-3xl`, `--fs-display`) are fixed pixel sizes and do not scale with the root.
|
|
82
|
+
|
|
81
83
|
## Layout & Spacing
|
|
82
84
|
|
|
83
85
|
put.io layouts are file-browser layouts first: lists, rows, columns, sidebars, toolbars, and sheets. Prefer whitespace and subtle dividers before card-heavy composition.
|
|
84
86
|
|
|
85
87
|
The spacing scale is intentionally steep: `4, 8, 16, 32, 64, 128, 256, 512`. Use it consistently rather than tuning one-off gaps.
|
|
86
88
|
|
|
89
|
+
Stacking uses the token scale — `--z-dropdown` (1000), `--z-sticky` (1100), `--z-modal` (1300), `--z-notification` (1400), `--z-tooltip` (1500) — gapped for platform chrome; never invent z-index numbers. Breakpoints (`--bp-sm`/`--bp-md`/`--bp-lg` = 640/768/1280px) mirror the product's responsive tiers; CSS media queries cannot read custom properties, so write the literal pixels in `@media` and keep them in sync with the tokens.
|
|
90
|
+
|
|
87
91
|
## Elevation & Depth
|
|
88
92
|
|
|
89
93
|
Elevation should clarify interaction, not decorate. Use borders and soft shadows for popovers, modals, menus, TV focus, and draggable/drop targets. Avoid decorative glow except where it is part of a focused TV state.
|
|
@@ -108,6 +112,6 @@ Do use Phosphor-style inline SVG for forward-looking icon guidance and no emoji
|
|
|
108
112
|
|
|
109
113
|
Do keep `DESIGN.md`, `tokens/`, `dist/`, and `system/tokens.css` in agreement.
|
|
110
114
|
|
|
111
|
-
Don't publish private
|
|
115
|
+
Don't publish private material in this public repo — the enumerated list lives in the repo's `docs/DISTRIBUTION.md` (Public Safety).
|
|
112
116
|
|
|
113
|
-
Don't generate Swift, Kotlin, Android XML,
|
|
117
|
+
Don't generate platform-native outputs (Swift, Kotlin, Android XML, Roku) from this repo — platform repos own their adapters. Policy in the repo's `docs/DISTRIBUTION.md`.
|
package/dist/css/tokens.css
CHANGED
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
--button-success-bg-hover: hsl(151, 58%, 37%);
|
|
16
16
|
--button-danger-bg: hsl(358, 75%, 59%);
|
|
17
17
|
--button-danger-bg-hover: hsl(357, 66%, 53%);
|
|
18
|
+
--button-info-bg: hsl(0, 0%, 56.1%);
|
|
18
19
|
--button-info-bg-hover: hsl(0, 0%, 52.3%);
|
|
20
|
+
--button-info-fg: hsl(0, 0%, 0%);
|
|
21
|
+
--button-default-bg: hsl(0, 0%, 95.1%);
|
|
22
|
+
--button-default-bg-hover: hsl(0, 0%, 93.0%);
|
|
23
|
+
--button-default-fg: hsl(0, 0%, 9.0%);
|
|
19
24
|
--input-bg: hsl(0, 0%, 100%);
|
|
20
25
|
--input-border: hsl(0, 0%, 85.8%);
|
|
21
26
|
--field-bg: hsl(0, 0%, 100%);
|
|
@@ -144,15 +149,15 @@
|
|
|
144
149
|
--font-ui-mono: "GT America Mono", monospace;
|
|
145
150
|
--font-mono: "Berkeley Mono", "GT America Mono", monospace;
|
|
146
151
|
--fs-xs: 0.75rem;
|
|
147
|
-
--fs-sm: 0.
|
|
148
|
-
--fs-base:
|
|
149
|
-
--fs-md:
|
|
150
|
-
--fs-lg: 1.
|
|
151
|
-
--fs-xl:
|
|
152
|
-
--fs-2xl:
|
|
153
|
-
--fs-3xl:
|
|
154
|
-
--fs-4xl:
|
|
155
|
-
--fs-display:
|
|
152
|
+
--fs-sm: 0.875rem;
|
|
153
|
+
--fs-base: 1rem;
|
|
154
|
+
--fs-md: 1.125rem;
|
|
155
|
+
--fs-lg: 1.5rem;
|
|
156
|
+
--fs-xl: 2rem;
|
|
157
|
+
--fs-2xl: 48px;
|
|
158
|
+
--fs-3xl: 64px;
|
|
159
|
+
--fs-4xl: 64px;
|
|
160
|
+
--fs-display: 96px;
|
|
156
161
|
--lh-tight: 1.1;
|
|
157
162
|
--lh-snug: 1.25;
|
|
158
163
|
--lh-normal: 1.45;
|
|
@@ -185,6 +190,14 @@
|
|
|
185
190
|
--dur-fast: 120ms;
|
|
186
191
|
--dur-base: 200ms;
|
|
187
192
|
--dur-slow: 320ms;
|
|
193
|
+
--z-dropdown: 1000;
|
|
194
|
+
--z-sticky: 1100;
|
|
195
|
+
--z-modal: 1300;
|
|
196
|
+
--z-notification: 1400;
|
|
197
|
+
--z-tooltip: 1500;
|
|
198
|
+
--bp-sm: 640px;
|
|
199
|
+
--bp-md: 768px;
|
|
200
|
+
--bp-lg: 1280px;
|
|
188
201
|
}
|
|
189
202
|
|
|
190
203
|
/* -- Dark (.dark) --------------------------------------------------- */
|
|
@@ -196,7 +209,12 @@
|
|
|
196
209
|
--button-success-bg-hover: hsl(151, 68%, 35%);
|
|
197
210
|
--button-danger-bg: hsl(358, 75%, 59%);
|
|
198
211
|
--button-danger-bg-hover: hsl(357, 67%, 53%);
|
|
212
|
+
--button-info-bg: hsl(0, 0%, 43.9%);
|
|
199
213
|
--button-info-bg-hover: hsl(0, 0%, 49.4%);
|
|
214
|
+
--button-info-fg: hsl(0, 0%, 100%);
|
|
215
|
+
--button-default-bg: hsl(0, 0%, 13.6%);
|
|
216
|
+
--button-default-bg-hover: hsl(0, 0%, 15.8%);
|
|
217
|
+
--button-default-fg: hsl(0, 0%, 93.0%);
|
|
200
218
|
--input-bg: hsl(0, 0%, 8.5%);
|
|
201
219
|
--input-border: hsl(0, 0%, 24.3%);
|
|
202
220
|
--field-bg: hsl(0, 0%, 8.5%);
|
|
@@ -310,7 +328,7 @@ html {
|
|
|
310
328
|
background: var(--html-bg);
|
|
311
329
|
color: var(--text);
|
|
312
330
|
font-family: var(--font-sans);
|
|
313
|
-
font-size:
|
|
331
|
+
font-size: 14px; /* app.put.io root: fontSize ["14px","14px","15px"] — 15px at ≥ --bp-lg (media query below) */
|
|
314
332
|
line-height: var(--lh-normal);
|
|
315
333
|
-webkit-font-smoothing: antialiased;
|
|
316
334
|
-moz-osx-font-smoothing: grayscale;
|
|
@@ -322,6 +340,13 @@ body {
|
|
|
322
340
|
margin: 0;
|
|
323
341
|
}
|
|
324
342
|
|
|
343
|
+
/* Root steps up on desktop, matching app.put.io's responsive base.
|
|
344
|
+
14px/15px literals must stay in sync with --bp-lg (media queries
|
|
345
|
+
can't read custom properties). */
|
|
346
|
+
@media (min-width: 1280px) {
|
|
347
|
+
html { font-size: 15px; }
|
|
348
|
+
}
|
|
349
|
+
|
|
325
350
|
/* -- Semantic type ------------------------------------------------- */
|
|
326
351
|
|
|
327
352
|
.h-display, h1.display {
|
|
@@ -343,7 +368,7 @@ body {
|
|
|
343
368
|
|
|
344
369
|
h1, .h1 {
|
|
345
370
|
font-family: var(--font-sans);
|
|
346
|
-
font-size: var(--fs-
|
|
371
|
+
font-size: var(--fs-xl);
|
|
347
372
|
font-weight: var(--fw-bold);
|
|
348
373
|
line-height: var(--lh-tight);
|
|
349
374
|
letter-spacing: var(--tracking-tight);
|
|
@@ -352,7 +377,7 @@ h1, .h1 {
|
|
|
352
377
|
|
|
353
378
|
h2, .h2 {
|
|
354
379
|
font-family: var(--font-sans);
|
|
355
|
-
font-size: var(--fs-
|
|
380
|
+
font-size: var(--fs-lg);
|
|
356
381
|
font-weight: var(--fw-bold);
|
|
357
382
|
line-height: var(--lh-tight);
|
|
358
383
|
margin: 0 0 var(--space-3);
|
|
@@ -360,7 +385,7 @@ h2, .h2 {
|
|
|
360
385
|
|
|
361
386
|
h3, .h3 {
|
|
362
387
|
font-family: var(--font-sans);
|
|
363
|
-
font-size: var(--fs-
|
|
388
|
+
font-size: var(--fs-md);
|
|
364
389
|
font-weight: var(--fw-medium);
|
|
365
390
|
line-height: var(--lh-snug);
|
|
366
391
|
margin: 0 0 var(--space-2);
|
|
@@ -368,7 +393,7 @@ h3, .h3 {
|
|
|
368
393
|
|
|
369
394
|
h4, .h4 {
|
|
370
395
|
font-family: var(--font-sans);
|
|
371
|
-
font-size: var(--fs-
|
|
396
|
+
font-size: var(--fs-base);
|
|
372
397
|
font-weight: var(--fw-medium);
|
|
373
398
|
line-height: var(--lh-snug);
|
|
374
399
|
margin: 0 0 var(--space-2);
|
|
@@ -389,26 +414,26 @@ p, .body {
|
|
|
389
414
|
}
|
|
390
415
|
|
|
391
416
|
.lead {
|
|
392
|
-
font-size: var(--fs-
|
|
417
|
+
font-size: var(--fs-md);
|
|
393
418
|
font-weight: var(--fw-regular);
|
|
394
419
|
line-height: var(--lh-normal);
|
|
395
420
|
color: var(--text-secondary);
|
|
396
421
|
}
|
|
397
422
|
|
|
398
423
|
small, .caption {
|
|
399
|
-
font-size: var(--fs-
|
|
424
|
+
font-size: var(--fs-sm); /* production caption = fontSize 0 */
|
|
400
425
|
color: var(--text-secondary);
|
|
401
426
|
}
|
|
402
427
|
|
|
403
428
|
.label {
|
|
404
|
-
font-size: var(--fs-
|
|
429
|
+
font-size: var(--fs-base); /* production label = fontSize 1, medium */
|
|
405
430
|
font-weight: var(--fw-medium);
|
|
406
431
|
color: var(--text);
|
|
407
432
|
}
|
|
408
433
|
|
|
409
434
|
.button-text {
|
|
410
435
|
font-weight: var(--fw-medium);
|
|
411
|
-
font-size: var(--fs-
|
|
436
|
+
font-size: var(--fs-sm); /* production button = fontSize 0 */
|
|
412
437
|
letter-spacing: 0;
|
|
413
438
|
}
|
|
414
439
|
|
|
@@ -427,16 +452,6 @@ a {
|
|
|
427
452
|
}
|
|
428
453
|
a:hover { text-decoration-color: currentColor; }
|
|
429
454
|
|
|
430
|
-
/* -- Component-role aliases --------------------------------------- */
|
|
431
|
-
/* Button default + info variants — live aliases; the DTCG layer doesn't define these two. */
|
|
432
|
-
:root {
|
|
433
|
-
--button-default-bg: var(--component-bg);
|
|
434
|
-
--button-default-bg-hover: var(--component-bg-hover);
|
|
435
|
-
--button-default-fg: var(--text);
|
|
436
|
-
--button-info-bg: var(--solid);
|
|
437
|
-
--button-info-fg: var(--solid-foreground);
|
|
438
|
-
}
|
|
439
|
-
|
|
440
455
|
/* -- Utility classes ---------------------------------------------- */
|
|
441
456
|
.fg-1 { color: var(--text); }
|
|
442
457
|
.fg-2 { color: var(--text-secondary); }
|
|
@@ -448,3 +463,16 @@ a:hover { text-decoration-color: currentColor; }
|
|
|
448
463
|
.bg-2 { background: var(--bg-secondary); }
|
|
449
464
|
.bg-component { background: var(--component-bg); }
|
|
450
465
|
.bg-yellow { background: var(--yellow-solid); color: var(--primary-foreground); }
|
|
466
|
+
|
|
467
|
+
/* -- Reduced motion ------------------------------------------------ */
|
|
468
|
+
/* Honor the OS "reduce motion" setting: collapse transitions/animations
|
|
469
|
+
to near-instant and stop looping/auto-scrolling effects. Components
|
|
470
|
+
should not rely on motion to convey state. */
|
|
471
|
+
@media (prefers-reduced-motion: reduce) {
|
|
472
|
+
*, *::before, *::after {
|
|
473
|
+
animation-duration: 0.01ms !important;
|
|
474
|
+
animation-iteration-count: 1 !important;
|
|
475
|
+
transition-duration: 0.01ms !important;
|
|
476
|
+
scroll-behavior: auto !important;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
@@ -67,10 +67,37 @@
|
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"info": {
|
|
70
|
+
"background": {
|
|
71
|
+
"$type": "color",
|
|
72
|
+
"$value": "hsl(0, 0%, 56.1%)",
|
|
73
|
+
"$description": "Neutral solid command background in light mode."
|
|
74
|
+
},
|
|
70
75
|
"backgroundHover": {
|
|
71
76
|
"$type": "color",
|
|
72
77
|
"$value": "hsl(0, 0%, 52.3%)",
|
|
73
78
|
"$description": "Neutral solid command hover background in light mode."
|
|
79
|
+
},
|
|
80
|
+
"foreground": {
|
|
81
|
+
"$type": "color",
|
|
82
|
+
"$value": "hsl(0, 0%, 0%)",
|
|
83
|
+
"$description": "Label on the neutral solid — mode-aware for AA contrast on the gray fill."
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"default": {
|
|
87
|
+
"background": {
|
|
88
|
+
"$type": "color",
|
|
89
|
+
"$value": "hsl(0, 0%, 95.1%)",
|
|
90
|
+
"$description": "Quiet default button fill in light mode."
|
|
91
|
+
},
|
|
92
|
+
"backgroundHover": {
|
|
93
|
+
"$type": "color",
|
|
94
|
+
"$value": "hsl(0, 0%, 93.0%)",
|
|
95
|
+
"$description": "Default button hover fill in light mode."
|
|
96
|
+
},
|
|
97
|
+
"foreground": {
|
|
98
|
+
"$type": "color",
|
|
99
|
+
"$value": "hsl(0, 0%, 9.0%)",
|
|
100
|
+
"$description": "Default button label in light mode."
|
|
74
101
|
}
|
|
75
102
|
}
|
|
76
103
|
},
|
|
@@ -342,7 +369,8 @@
|
|
|
342
369
|
},
|
|
343
370
|
"color": {
|
|
344
371
|
"$type": "color",
|
|
345
|
-
"$value": "hsl(0, 0%, 78.0%)"
|
|
372
|
+
"$value": "hsl(0, 0%, 78.0%)",
|
|
373
|
+
"$description": "Compat name kept for existing web consumers — alias of elevation.shadowColor so the two can never drift."
|
|
346
374
|
},
|
|
347
375
|
"focusColor": {
|
|
348
376
|
"$type": "color",
|
|
@@ -375,39 +403,48 @@
|
|
|
375
403
|
},
|
|
376
404
|
"sm": {
|
|
377
405
|
"$type": "dimension",
|
|
378
|
-
"$value": "0.
|
|
406
|
+
"$value": "0.875rem",
|
|
407
|
+
"$description": "Caption and button labels — production fontSize 0."
|
|
379
408
|
},
|
|
380
409
|
"base": {
|
|
381
410
|
"$type": "dimension",
|
|
382
|
-
"$value": "
|
|
411
|
+
"$value": "1rem",
|
|
412
|
+
"$description": "Body, labels, inputs — production fontSize 1; equals the responsive root (14px, 15px at >= breakpoint.lg)."
|
|
383
413
|
},
|
|
384
414
|
"md": {
|
|
385
415
|
"$type": "dimension",
|
|
386
|
-
"$value": "
|
|
416
|
+
"$value": "1.125rem",
|
|
417
|
+
"$description": "Subheading."
|
|
387
418
|
},
|
|
388
419
|
"lg": {
|
|
389
420
|
"$type": "dimension",
|
|
390
|
-
"$value": "1.
|
|
421
|
+
"$value": "1.5rem",
|
|
422
|
+
"$description": "Heading."
|
|
391
423
|
},
|
|
392
424
|
"xl": {
|
|
393
425
|
"$type": "dimension",
|
|
394
|
-
"$value": "
|
|
426
|
+
"$value": "2rem",
|
|
427
|
+
"$description": "Page title."
|
|
395
428
|
},
|
|
396
429
|
"2xl": {
|
|
397
430
|
"$type": "dimension",
|
|
398
|
-
"$value": "
|
|
431
|
+
"$value": "48px",
|
|
432
|
+
"$description": "Fixed display tier — does not scale with the responsive root."
|
|
399
433
|
},
|
|
400
434
|
"3xl": {
|
|
401
435
|
"$type": "dimension",
|
|
402
|
-
"$value": "
|
|
436
|
+
"$value": "64px",
|
|
437
|
+
"$description": "Fixed display tier — does not scale with the responsive root."
|
|
403
438
|
},
|
|
404
439
|
"4xl": {
|
|
405
440
|
"$type": "dimension",
|
|
406
|
-
"$value": "
|
|
441
|
+
"$value": "64px",
|
|
442
|
+
"$description": "Compatibility alias for the former 4xl tier; new surfaces should use fontSize.3xl or fontSize.display."
|
|
407
443
|
},
|
|
408
444
|
"display": {
|
|
409
445
|
"$type": "dimension",
|
|
410
|
-
"$value": "
|
|
446
|
+
"$value": "96px",
|
|
447
|
+
"$description": "Fixed display tier for brand display moments."
|
|
411
448
|
}
|
|
412
449
|
},
|
|
413
450
|
"lineHeight": {
|
package/dist/tokens.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Do not edit directly. Generated from tokens/**/*.tokens.json.
|
|
2
2
|
|
|
3
|
-
export type PutioTokenName = "component.button.primary.background" | "component.button.primary.backgroundHover" | "component.button.primary.backgroundHoverDark" | "component.button.primary.foreground" | "component.button.primary.radius" | "component.button.secondary.background" | "component.button.secondary.backgroundDark" | "component.button.secondary.foreground" | "component.button.secondary.foregroundDark" | "component.button.success.background" | "component.button.success.backgroundDark" | "component.button.success.backgroundHover" | "component.button.success.backgroundHoverDark" | "component.button.success.foreground" | "component.button.danger.background" | "component.button.danger.backgroundDark" | "component.button.danger.backgroundHover" | "component.button.danger.backgroundHoverDark" | "component.button.danger.foreground" | "component.button.info.backgroundHover" | "component.button.info.backgroundHoverDark" | "component.input.background" | "component.input.backgroundDark" | "component.input.border" | "component.input.borderDark" | "component.input.radius" | "component.field.background" | "component.field.backgroundDark" | "component.field.backgroundDisabled" | "component.field.backgroundDisabledDark" | "component.field.border" | "component.field.borderDark" | "component.field.borderHover" | "component.field.borderHoverDark" | "component.field.borderFocus" | "component.field.borderFocusDark" | "component.field.text" | "component.field.textDark" | "component.field.placeholder" | "component.field.placeholderDark" | "component.field.ring" | "component.field.ringDark" | "component.panel.background" | "component.panel.backgroundDark" | "component.panel.border" | "component.panel.borderDark" | "component.panel.radius" | "component.panel.shadow" | "component.panel.shadowDark" | "component.alias.background" | "component.alias.backgroundDark" | "component.alias.foreground" | "component.alias.foregroundDark" | "component.alias.foregroundMuted" | "component.alias.foregroundMutedDark" | "component.alias.primary" | "component.alias.primaryForeground" | "component.alias.success" | "component.alias.successDark" | "component.alias.successForeground" | "component.alias.destructive" | "component.alias.destructiveDark" | "component.alias.destructiveForeground" | "component.alias.invertForeground" | "component.alias.invertForegroundDark" | "component.alias.solidForeground" | "component.alias.solidForegroundDark" | "component.alias.muted" | "component.alias.mutedDark" | "component.alias.mutedForeground" | "component.alias.mutedForegroundDark" | "component.alias.accent" | "component.alias.accentDark" | "component.alias.accentForeground" | "component.alias.accentForegroundDark" | "component.alias.card" | "component.alias.cardDark" | "component.alias.cardForeground" | "component.alias.cardForegroundDark" | "component.alias.popover" | "component.alias.popoverDark" | "component.alias.popoverForeground" | "component.alias.popoverForegroundDark" | "component.alias.input" | "component.alias.inputDark" | "component.alias.ring" | "component.fileRow.background" | "component.fileRow.backgroundDark" | "component.fileRow.hoverBackground" | "component.fileRow.hoverBackgroundDark" | "component.fileRow.icon" | "component.notification.infoBackground" | "component.notification.infoBackgroundDark" | "component.notification.dangerBackground" | "component.notification.dangerBackgroundDark" | "context.tv.surface.0" | "context.tv.surface.1" | "context.tv.surface.2" | "context.tv.surface.3" | "context.tv.text.primary" | "context.tv.text.secondary" | "context.tv.text.tertiary" | "context.tv.glass.1" | "context.tv.glass.2" | "context.tv.glass.3" | "context.tv.glass.border" | "context.tv.glass.borderStrong" | "context.tv.focus.ring" | "context.tv.focus.liftShadow" | "context.tv.channelArt.production.posterBackground" | "context.tv.channelArt.production.splashBackground" | "context.tv.channelArt.development.background" | "context.tv.channelArt.development.accent" | "context.tv.channelArt.development.grid" | "context.tv.channelArt.lab.background" | "context.tv.channelArt.lab.foreground" | "context.tv.channelArt.lab.accent" | "color.brand.yellow" | "color.neutral.light.bg" | "color.neutral.light.bgSecondary" | "color.neutral.light.componentBg" | "color.neutral.light.componentBgHover" | "color.neutral.light.componentBgActive" | "color.neutral.light.line" | "color.neutral.light.border" | "color.neutral.light.borderHover" | "color.neutral.light.solid" | "color.neutral.light.solidHover" | "color.neutral.light.textSecondary" | "color.neutral.light.text" | "color.neutral.dark.bg" | "color.neutral.dark.bgSecondary" | "color.neutral.dark.componentBg" | "color.neutral.dark.componentBgHover" | "color.neutral.dark.componentBgActive" | "color.neutral.dark.line" | "color.neutral.dark.border" | "color.neutral.dark.borderHover" | "color.neutral.dark.solid" | "color.neutral.dark.solidHover" | "color.neutral.dark.textSecondary" | "color.neutral.dark.text" | "color.green.light.bg" | "color.green.light.bgSecondary" | "color.green.light.componentBg" | "color.green.light.componentBgHover" | "color.green.light.componentBgActive" | "color.green.light.line" | "color.green.light.border" | "color.green.light.borderHover" | "color.green.light.solid" | "color.green.light.solidHover" | "color.green.light.textSecondary" | "color.green.light.text" | "color.green.dark.bg" | "color.green.dark.bgSecondary" | "color.green.dark.componentBg" | "color.green.dark.componentBgHover" | "color.green.dark.componentBgActive" | "color.green.dark.line" | "color.green.dark.border" | "color.green.dark.borderHover" | "color.green.dark.solid" | "color.green.dark.solidHover" | "color.green.dark.textSecondary" | "color.green.dark.text" | "color.red.light.bg" | "color.red.light.bgSecondary" | "color.red.light.componentBg" | "color.red.light.componentBgHover" | "color.red.light.componentBgActive" | "color.red.light.line" | "color.red.light.border" | "color.red.light.borderHover" | "color.red.light.solid" | "color.red.light.solidHover" | "color.red.light.textSecondary" | "color.red.light.text" | "color.red.dark.bg" | "color.red.dark.bgSecondary" | "color.red.dark.componentBg" | "color.red.dark.componentBgHover" | "color.red.dark.componentBgActive" | "color.red.dark.line" | "color.red.dark.border" | "color.red.dark.borderHover" | "color.red.dark.solid" | "color.red.dark.solidHover" | "color.red.dark.textSecondary" | "color.red.dark.text" | "color.yellow.light.bg" | "color.yellow.light.bgSecondary" | "color.yellow.light.componentBg" | "color.yellow.light.componentBgHover" | "color.yellow.light.componentBgActive" | "color.yellow.light.line" | "color.yellow.light.border" | "color.yellow.light.borderHover" | "color.yellow.light.solidHover" | "color.yellow.light.textSecondary" | "color.yellow.light.text" | "color.yellow.dark.bg" | "color.yellow.dark.bgSecondary" | "color.yellow.dark.componentBg" | "color.yellow.dark.componentBgHover" | "color.yellow.dark.componentBgActive" | "color.yellow.dark.line" | "color.yellow.dark.border" | "color.yellow.dark.borderHover" | "color.yellow.dark.solidHover" | "color.yellow.dark.textSecondary" | "color.yellow.dark.text" | "color.transfer.light.lime3" | "color.transfer.dark.lime3" | "elevation.shadowColor" | "elevation.color" | "elevation.sm" | "elevation.md" | "elevation.lg" | "elevation.focusColor" | "elevation.focus" | "typography.fontFamily.sans" | "typography.fontFamily.display" | "typography.fontFamily.uiMono" | "typography.fontFamily.mono" | "typography.fontSize.xs" | "typography.fontSize.sm" | "typography.fontSize.base" | "typography.fontSize.md" | "typography.fontSize.lg" | "typography.fontSize.xl" | "typography.fontSize.2xl" | "typography.fontSize.3xl" | "typography.fontSize.4xl" | "typography.fontSize.display" | "typography.lineHeight.tight" | "typography.lineHeight.snug" | "typography.lineHeight.normal" | "typography.lineHeight.loose" | "typography.fontWeight.regular" | "typography.fontWeight.medium" | "typography.fontWeight.bold" | "typography.fontWeight.black" | "typography.letterSpacing.tight" | "typography.letterSpacing.normal" | "typography.letterSpacing.wide" | "typography.letterSpacing.uppercase" | "spacing.0" | "spacing.1" | "spacing.2" | "spacing.3" | "spacing.4" | "spacing.5" | "spacing.6" | "spacing.7" | "spacing.8" | "radius.sm" | "radius.default" | "radius.md" | "radius.lg" | "radius.pill" | "border.width" | "motion.easing.out" | "motion.easing.inOut" | "motion.duration.fast" | "motion.duration.base" | "motion.duration.slow" | "surface.light.htmlBg" | "surface.light.appBg" | "surface.light.navBg" | "surface.light.navItemBg" | "surface.light.navItemBgHover" | "surface.light.navItemBgActive" | "surface.light.listItemBg" | "surface.light.listItemBgHover" | "surface.light.listItemBgActive" | "surface.light.listItemBorder" | "surface.light.segmentedControlBg" | "surface.light.segmentedControlBgActive" | "surface.light.transferListItemCompletingBg" | "surface.light.transferListItemDownloadingBg" | "surface.light.transferListItemFinishedBg" | "surface.light.transferListItemPassiveBg" | "surface.light.hiContrast" | "surface.light.loContrast" | "surface.light.transparent" | "surface.light.overlayInline" | "surface.light.overlayFull" | "surface.dark.htmlBg" | "surface.dark.appBg" | "surface.dark.navBg" | "surface.dark.navItemBg" | "surface.dark.navItemBgHover" | "surface.dark.navItemBgActive" | "surface.dark.listItemBg" | "surface.dark.listItemBgHover" | "surface.dark.listItemBgActive" | "surface.dark.listItemBorder" | "surface.dark.segmentedControlBg" | "surface.dark.segmentedControlBgActive" | "surface.dark.transferListItemCompletingBg" | "surface.dark.transferListItemDownloadingBg" | "surface.dark.transferListItemFinishedBg" | "surface.dark.transferListItemPassiveBg" | "surface.dark.hiContrast" | "surface.dark.loContrast" | "surface.dark.overlayInline" | "surface.dark.overlayFull" | "surface.dark.shadowColor" | "surface.dark.shadow" | "surface.dark.shadowSm" | "surface.dark.shadowMd" | "surface.dark.shadowLg";
|
|
3
|
+
export type PutioTokenName = "component.button.primary.background" | "component.button.primary.backgroundHover" | "component.button.primary.backgroundHoverDark" | "component.button.primary.foreground" | "component.button.primary.radius" | "component.button.secondary.background" | "component.button.secondary.backgroundDark" | "component.button.secondary.foreground" | "component.button.secondary.foregroundDark" | "component.button.success.background" | "component.button.success.backgroundDark" | "component.button.success.backgroundHover" | "component.button.success.backgroundHoverDark" | "component.button.success.foreground" | "component.button.danger.background" | "component.button.danger.backgroundDark" | "component.button.danger.backgroundHover" | "component.button.danger.backgroundHoverDark" | "component.button.danger.foreground" | "component.button.info.background" | "component.button.info.backgroundDark" | "component.button.info.backgroundHover" | "component.button.info.backgroundHoverDark" | "component.button.info.foreground" | "component.button.info.foregroundDark" | "component.button.default.background" | "component.button.default.backgroundDark" | "component.button.default.backgroundHover" | "component.button.default.backgroundHoverDark" | "component.button.default.foreground" | "component.button.default.foregroundDark" | "component.input.background" | "component.input.backgroundDark" | "component.input.border" | "component.input.borderDark" | "component.input.radius" | "component.field.background" | "component.field.backgroundDark" | "component.field.backgroundDisabled" | "component.field.backgroundDisabledDark" | "component.field.border" | "component.field.borderDark" | "component.field.borderHover" | "component.field.borderHoverDark" | "component.field.borderFocus" | "component.field.borderFocusDark" | "component.field.text" | "component.field.textDark" | "component.field.placeholder" | "component.field.placeholderDark" | "component.field.ring" | "component.field.ringDark" | "component.panel.background" | "component.panel.backgroundDark" | "component.panel.border" | "component.panel.borderDark" | "component.panel.radius" | "component.panel.shadow" | "component.panel.shadowDark" | "component.alias.background" | "component.alias.backgroundDark" | "component.alias.foreground" | "component.alias.foregroundDark" | "component.alias.foregroundMuted" | "component.alias.foregroundMutedDark" | "component.alias.primary" | "component.alias.primaryForeground" | "component.alias.success" | "component.alias.successDark" | "component.alias.successForeground" | "component.alias.destructive" | "component.alias.destructiveDark" | "component.alias.destructiveForeground" | "component.alias.invertForeground" | "component.alias.invertForegroundDark" | "component.alias.solidForeground" | "component.alias.solidForegroundDark" | "component.alias.muted" | "component.alias.mutedDark" | "component.alias.mutedForeground" | "component.alias.mutedForegroundDark" | "component.alias.accent" | "component.alias.accentDark" | "component.alias.accentForeground" | "component.alias.accentForegroundDark" | "component.alias.card" | "component.alias.cardDark" | "component.alias.cardForeground" | "component.alias.cardForegroundDark" | "component.alias.popover" | "component.alias.popoverDark" | "component.alias.popoverForeground" | "component.alias.popoverForegroundDark" | "component.alias.input" | "component.alias.inputDark" | "component.alias.ring" | "component.fileRow.background" | "component.fileRow.backgroundDark" | "component.fileRow.hoverBackground" | "component.fileRow.hoverBackgroundDark" | "component.fileRow.icon" | "component.notification.infoBackground" | "component.notification.infoBackgroundDark" | "component.notification.dangerBackground" | "component.notification.dangerBackgroundDark" | "context.tv.surface.0" | "context.tv.surface.1" | "context.tv.surface.2" | "context.tv.surface.3" | "context.tv.text.primary" | "context.tv.text.secondary" | "context.tv.text.tertiary" | "context.tv.glass.1" | "context.tv.glass.2" | "context.tv.glass.3" | "context.tv.glass.border" | "context.tv.glass.borderStrong" | "context.tv.focus.ring" | "context.tv.focus.liftShadow" | "context.tv.channelArt.production.posterBackground" | "context.tv.channelArt.production.splashBackground" | "context.tv.channelArt.development.background" | "context.tv.channelArt.development.accent" | "context.tv.channelArt.development.grid" | "context.tv.channelArt.lab.background" | "context.tv.channelArt.lab.foreground" | "context.tv.channelArt.lab.accent" | "color.brand.yellow" | "color.neutral.light.bg" | "color.neutral.light.bgSecondary" | "color.neutral.light.componentBg" | "color.neutral.light.componentBgHover" | "color.neutral.light.componentBgActive" | "color.neutral.light.line" | "color.neutral.light.border" | "color.neutral.light.borderHover" | "color.neutral.light.solid" | "color.neutral.light.solidHover" | "color.neutral.light.textSecondary" | "color.neutral.light.text" | "color.neutral.dark.bg" | "color.neutral.dark.bgSecondary" | "color.neutral.dark.componentBg" | "color.neutral.dark.componentBgHover" | "color.neutral.dark.componentBgActive" | "color.neutral.dark.line" | "color.neutral.dark.border" | "color.neutral.dark.borderHover" | "color.neutral.dark.solid" | "color.neutral.dark.solidHover" | "color.neutral.dark.textSecondary" | "color.neutral.dark.text" | "color.green.light.bg" | "color.green.light.bgSecondary" | "color.green.light.componentBg" | "color.green.light.componentBgHover" | "color.green.light.componentBgActive" | "color.green.light.line" | "color.green.light.border" | "color.green.light.borderHover" | "color.green.light.solid" | "color.green.light.solidHover" | "color.green.light.textSecondary" | "color.green.light.text" | "color.green.dark.bg" | "color.green.dark.bgSecondary" | "color.green.dark.componentBg" | "color.green.dark.componentBgHover" | "color.green.dark.componentBgActive" | "color.green.dark.line" | "color.green.dark.border" | "color.green.dark.borderHover" | "color.green.dark.solid" | "color.green.dark.solidHover" | "color.green.dark.textSecondary" | "color.green.dark.text" | "color.red.light.bg" | "color.red.light.bgSecondary" | "color.red.light.componentBg" | "color.red.light.componentBgHover" | "color.red.light.componentBgActive" | "color.red.light.line" | "color.red.light.border" | "color.red.light.borderHover" | "color.red.light.solid" | "color.red.light.solidHover" | "color.red.light.textSecondary" | "color.red.light.text" | "color.red.dark.bg" | "color.red.dark.bgSecondary" | "color.red.dark.componentBg" | "color.red.dark.componentBgHover" | "color.red.dark.componentBgActive" | "color.red.dark.line" | "color.red.dark.border" | "color.red.dark.borderHover" | "color.red.dark.solid" | "color.red.dark.solidHover" | "color.red.dark.textSecondary" | "color.red.dark.text" | "color.yellow.light.bg" | "color.yellow.light.bgSecondary" | "color.yellow.light.componentBg" | "color.yellow.light.componentBgHover" | "color.yellow.light.componentBgActive" | "color.yellow.light.line" | "color.yellow.light.border" | "color.yellow.light.borderHover" | "color.yellow.light.solidHover" | "color.yellow.light.textSecondary" | "color.yellow.light.text" | "color.yellow.dark.bg" | "color.yellow.dark.bgSecondary" | "color.yellow.dark.componentBg" | "color.yellow.dark.componentBgHover" | "color.yellow.dark.componentBgActive" | "color.yellow.dark.line" | "color.yellow.dark.border" | "color.yellow.dark.borderHover" | "color.yellow.dark.solidHover" | "color.yellow.dark.textSecondary" | "color.yellow.dark.text" | "color.transfer.light.lime3" | "color.transfer.dark.lime3" | "elevation.shadowColor" | "elevation.color" | "elevation.sm" | "elevation.md" | "elevation.lg" | "elevation.focusColor" | "elevation.focus" | "typography.fontFamily.sans" | "typography.fontFamily.display" | "typography.fontFamily.uiMono" | "typography.fontFamily.mono" | "typography.fontSize.xs" | "typography.fontSize.sm" | "typography.fontSize.base" | "typography.fontSize.md" | "typography.fontSize.lg" | "typography.fontSize.xl" | "typography.fontSize.2xl" | "typography.fontSize.3xl" | "typography.fontSize.4xl" | "typography.fontSize.display" | "typography.lineHeight.tight" | "typography.lineHeight.snug" | "typography.lineHeight.normal" | "typography.lineHeight.loose" | "typography.fontWeight.regular" | "typography.fontWeight.medium" | "typography.fontWeight.bold" | "typography.fontWeight.black" | "typography.letterSpacing.tight" | "typography.letterSpacing.normal" | "typography.letterSpacing.wide" | "typography.letterSpacing.uppercase" | "spacing.0" | "spacing.1" | "spacing.2" | "spacing.3" | "spacing.4" | "spacing.5" | "spacing.6" | "spacing.7" | "spacing.8" | "radius.sm" | "radius.default" | "radius.md" | "radius.lg" | "radius.pill" | "border.width" | "motion.easing.out" | "motion.easing.inOut" | "motion.duration.fast" | "motion.duration.base" | "motion.duration.slow" | "z.dropdown" | "z.sticky" | "z.modal" | "z.notification" | "z.tooltip" | "breakpoint.sm" | "breakpoint.md" | "breakpoint.lg" | "surface.light.htmlBg" | "surface.light.appBg" | "surface.light.navBg" | "surface.light.navItemBg" | "surface.light.navItemBgHover" | "surface.light.navItemBgActive" | "surface.light.listItemBg" | "surface.light.listItemBgHover" | "surface.light.listItemBgActive" | "surface.light.listItemBorder" | "surface.light.segmentedControlBg" | "surface.light.segmentedControlBgActive" | "surface.light.transferListItemCompletingBg" | "surface.light.transferListItemDownloadingBg" | "surface.light.transferListItemFinishedBg" | "surface.light.transferListItemPassiveBg" | "surface.light.hiContrast" | "surface.light.loContrast" | "surface.light.transparent" | "surface.light.overlayInline" | "surface.light.overlayFull" | "surface.dark.htmlBg" | "surface.dark.appBg" | "surface.dark.navBg" | "surface.dark.navItemBg" | "surface.dark.navItemBgHover" | "surface.dark.navItemBgActive" | "surface.dark.listItemBg" | "surface.dark.listItemBgHover" | "surface.dark.listItemBgActive" | "surface.dark.listItemBorder" | "surface.dark.segmentedControlBg" | "surface.dark.segmentedControlBgActive" | "surface.dark.transferListItemCompletingBg" | "surface.dark.transferListItemDownloadingBg" | "surface.dark.transferListItemFinishedBg" | "surface.dark.transferListItemPassiveBg" | "surface.dark.hiContrast" | "surface.dark.loContrast" | "surface.dark.overlayInline" | "surface.dark.overlayFull" | "surface.dark.shadowColor" | "surface.dark.shadow" | "surface.dark.shadowSm" | "surface.dark.shadowMd" | "surface.dark.shadowLg";
|
|
4
4
|
|
|
5
5
|
export type PutioToken = {
|
|
6
6
|
readonly cssName: string;
|