@putdotio/design 0.1.0-alpha.0 → 1.1.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 +5 -3
- package/README.md +30 -5
- package/dist/css/tokens.css +73 -16
- package/dist/figma/putio.tokens.json +10 -10
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.dtcg.json +755 -11
- package/dist/tokens.flat.json +504 -26
- package/dist/tokens.js +504 -26
- package/dist/tokens.ts +504 -26
- package/package.json +26 -2
- package/system/README.md +5 -3
- package/system/assets/app-icon-beta.png +0 -0
- package/system/assets/app-icon-dev-blueprint.png +0 -0
- package/system/assets/app-icon-prod-dark.png +0 -0
- package/system/assets/app-icon-source.png +0 -0
- package/system/assets/favicon.svg +6 -0
- package/system/assets/logo-retro-dark.svg +22 -0
- package/system/assets/logo-retro-light.svg +22 -0
- package/system/assets/logo.svg +3 -0
- package/tokens/components.tokens.json +658 -2
- package/tokens/context.tokens.json +88 -0
- package/tokens/foundation.css +1 -1
- package/tokens/primitives.tokens.json +3 -3
- package/tokens/semantic.tokens.json +6 -6
package/DESIGN.md
CHANGED
|
@@ -3,17 +3,17 @@ version: "0.1.0"
|
|
|
3
3
|
name: "put.io Design System"
|
|
4
4
|
description: "Public token and guidance contract for put.io product surfaces."
|
|
5
5
|
colors:
|
|
6
|
-
brand: "
|
|
6
|
+
brand: "hsl(44.7, 97.9%, 63.1%)"
|
|
7
7
|
dark:
|
|
8
8
|
app-bg: "hsl(0, 0%, 8.5%)"
|
|
9
|
-
page-bg: "
|
|
9
|
+
page-bg: "hsl(0, 0%, 0%)"
|
|
10
10
|
text: "hsl(0, 0%, 93.0%)"
|
|
11
11
|
text-muted: "hsl(0, 0%, 62.8%)"
|
|
12
12
|
border: "hsl(0, 0%, 24.3%)"
|
|
13
13
|
success: "hsl(151, 55.0%, 41.5%)"
|
|
14
14
|
danger: "hsl(358, 75.0%, 59.0%)"
|
|
15
15
|
light:
|
|
16
|
-
app-bg: "
|
|
16
|
+
app-bg: "hsl(0, 0%, 100%)"
|
|
17
17
|
page-bg: "hsl(0, 0%, 97.3%)"
|
|
18
18
|
text: "hsl(0, 0%, 9.0%)"
|
|
19
19
|
text-muted: "hsl(0, 0%, 43.5%)"
|
|
@@ -96,6 +96,8 @@ The default radius is `6px`. Use `4px` for tight controls, `8px` or `10px` for l
|
|
|
96
96
|
|
|
97
97
|
Buttons use yellow only for primary commands. Secondary buttons should feel quiet and tokenized against the active surface. File rows are the core component: preserve raw names, keep metadata compact, and make hover/focus states obvious without inflating row height.
|
|
98
98
|
|
|
99
|
+
Form fields use the shared `--field-*` aliases: `--field-bg` for the fill, `--field-border` for the resting border, and `--field-ring` for focus. Invalid fields opt in with `aria-invalid="true"` and use red border/text only; do not add red fill. Raised panels use the shared `--panel-*` aliases instead of auth- or screen-specific panel variables.
|
|
100
|
+
|
|
99
101
|
TV components are list-first and focus-first. A TV app is still a file browser, not a poster wall. Roku, native Apple, Android, and web TV repos should consume the generic tokens and generate their own platform bindings.
|
|
100
102
|
|
|
101
103
|
## Do's and Don'ts
|
package/README.md
CHANGED
|
@@ -5,7 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
<h1>put.io design</h1>
|
|
7
7
|
|
|
8
|
-
<p>Public design tokens and design-system guidance for <a href="https://put.io">put.io</a>.</p>
|
|
8
|
+
<p>Public design tokens, brand assets, and design-system guidance for <a href="https://put.io">put.io</a>.</p>
|
|
9
|
+
|
|
10
|
+
<p>
|
|
11
|
+
<a href="https://www.npmjs.com/package/@putdotio/design" style="text-decoration:none;"><img src="https://img.shields.io/npm/v/%40putdotio%2Fdesign?style=flat&label=npm&logo=npm&colorA=000000&colorB=000000" alt="npm version"></a>
|
|
12
|
+
</p>
|
|
9
13
|
</div>
|
|
10
14
|
|
|
11
15
|
<br />
|
|
@@ -14,22 +18,38 @@
|
|
|
14
18
|
|
|
15
19
|
Live guide: [design.put.io](https://design.put.io)
|
|
16
20
|
|
|
17
|
-
This repo owns the public contract behind it: DTCG token sources, generated
|
|
21
|
+
This repo owns the public contract behind it: DTCG token sources, generated
|
|
22
|
+
CSS/JSON/TypeScript artifacts, brand assets, preview cards, and deployable
|
|
23
|
+
static guidance.
|
|
18
24
|
|
|
19
|
-
##
|
|
25
|
+
## Install
|
|
20
26
|
|
|
21
|
-
Token sources live in [`tokens`](tokens). Generated package artifacts live in
|
|
27
|
+
Token sources live in [`tokens`](tokens). Generated package artifacts live in
|
|
28
|
+
[`dist`](dist). Package-safe brand assets live in [`system/assets`](system/assets).
|
|
22
29
|
|
|
23
30
|
```bash
|
|
24
31
|
npm install @putdotio/design
|
|
25
32
|
```
|
|
26
33
|
|
|
27
|
-
|
|
34
|
+
## Use
|
|
35
|
+
|
|
36
|
+
Import the generated CSS when a web surface needs put.io custom properties:
|
|
37
|
+
|
|
38
|
+
```css
|
|
39
|
+
@import "@putdotio/design/css";
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Component recipes should consume semantic aliases such as `--field-*`,
|
|
43
|
+
`--panel-*`, `--primary`, `--success`, and `--destructive` instead of reaching
|
|
44
|
+
into palette tokens directly.
|
|
45
|
+
|
|
46
|
+
Package entrypoints:
|
|
28
47
|
|
|
29
48
|
- CSS custom properties: [`dist/css/tokens.css`](dist/css/tokens.css)
|
|
30
49
|
- DTCG token tree: [`dist/tokens.dtcg.json`](dist/tokens.dtcg.json)
|
|
31
50
|
- Flat token metadata: [`dist/tokens.flat.json`](dist/tokens.flat.json)
|
|
32
51
|
- Figma-safe subset: [`dist/figma/putio.tokens.json`](dist/figma/putio.tokens.json)
|
|
52
|
+
- Brand assets: [`system/assets`](system/assets) via `@putdotio/design/assets/<file>`
|
|
33
53
|
- Human and AI design contract: [`DESIGN.md`](DESIGN.md)
|
|
34
54
|
|
|
35
55
|
## Commands
|
|
@@ -52,6 +72,11 @@ Use `pnpm tokens:build` after token edits.
|
|
|
52
72
|
- [Security](SECURITY.md)
|
|
53
73
|
- [Agent guide](AGENTS.md)
|
|
54
74
|
|
|
75
|
+
## Contributing
|
|
76
|
+
|
|
77
|
+
See [Contributing](CONTRIBUTING.md) for local setup, validation, and pull
|
|
78
|
+
request expectations.
|
|
79
|
+
|
|
55
80
|
## License
|
|
56
81
|
|
|
57
82
|
[MIT](LICENSE)
|
package/dist/css/tokens.css
CHANGED
|
@@ -10,8 +10,33 @@
|
|
|
10
10
|
:root {
|
|
11
11
|
--button-secondary-bg: hsl(0, 0%, 95.1%);
|
|
12
12
|
--button-secondary-fg: hsl(0, 0%, 9.0%);
|
|
13
|
-
--input-bg:
|
|
13
|
+
--input-bg: hsl(0, 0%, 100%);
|
|
14
14
|
--input-border: hsl(0, 0%, 85.8%);
|
|
15
|
+
--field-bg: hsl(0, 0%, 100%);
|
|
16
|
+
--field-bg-disabled: hsl(0, 0%, 97.3%);
|
|
17
|
+
--field-border: hsl(0, 0%, 85.8%);
|
|
18
|
+
--field-border-hover: hsl(0, 0%, 78.0%);
|
|
19
|
+
--field-border-focus: hsl(0, 0%, 78.0%);
|
|
20
|
+
--field-text: hsl(0, 0%, 9.0%);
|
|
21
|
+
--field-placeholder: hsl(0, 0%, 43.5%);
|
|
22
|
+
--field-ring: 0 0 0 1px hsl(0, 0%, 78.0%);
|
|
23
|
+
--panel-bg: hsl(0, 0%, 95.1%);
|
|
24
|
+
--panel-border: hsl(0, 0%, 88.7%);
|
|
25
|
+
--panel-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
26
|
+
--background: hsl(0, 0%, 99.0%);
|
|
27
|
+
--foreground: hsl(0, 0%, 9.0%);
|
|
28
|
+
--foreground-muted: hsl(0, 0%, 43.5%);
|
|
29
|
+
--success: hsl(153, 67.0%, 28.5%);
|
|
30
|
+
--destructive: hsl(358, 65.0%, 48.7%);
|
|
31
|
+
--muted: hsl(0, 0%, 97.3%);
|
|
32
|
+
--muted-foreground: hsl(0, 0%, 43.5%);
|
|
33
|
+
--accent: hsl(0, 0%, 95.1%);
|
|
34
|
+
--accent-foreground: hsl(0, 0%, 9.0%);
|
|
35
|
+
--card: hsl(0, 0%, 95.1%);
|
|
36
|
+
--card-foreground: hsl(0, 0%, 9.0%);
|
|
37
|
+
--popover: hsl(0, 0%, 95.1%);
|
|
38
|
+
--popover-foreground: hsl(0, 0%, 9.0%);
|
|
39
|
+
--input: hsl(0, 0%, 85.8%);
|
|
15
40
|
--file-row-bg: transparent;
|
|
16
41
|
--file-row-bg-hover: hsl(0, 0%, 97.3%);
|
|
17
42
|
--notification-info-bg: hsl(0, 0%, 97.3%);
|
|
@@ -60,13 +85,13 @@
|
|
|
60
85
|
--yellow-line: hsl(50, 89.4%, 76.1%);
|
|
61
86
|
--yellow-border: hsl(47, 80.4%, 68.0%);
|
|
62
87
|
--yellow-border-hover: hsl(48, 100%, 46.1%);
|
|
63
|
-
--yellow-solid-hover:
|
|
88
|
+
--yellow-solid-hover: hsl(44.7, 97.9%, 63.1%);
|
|
64
89
|
--yellow-text-secondary: hsl(42, 100%, 29.0%);
|
|
65
90
|
--yellow-text: hsl(40, 55.0%, 13.5%);
|
|
66
91
|
--lime-3: hsl(85, 76.0%, 92.3%);
|
|
67
92
|
--html-bg: hsl(0, 0%, 97.3%);
|
|
68
|
-
--app-bg:
|
|
69
|
-
--nav-bg:
|
|
93
|
+
--app-bg: hsl(0, 0%, 100%);
|
|
94
|
+
--nav-bg: hsl(0, 0%, 100%);
|
|
70
95
|
--nav-item-bg: transparent;
|
|
71
96
|
--nav-item-bg-hover: hsl(0, 0%, 95.1%);
|
|
72
97
|
--nav-item-bg-active: hsl(0, 0%, 95.1%);
|
|
@@ -75,7 +100,7 @@
|
|
|
75
100
|
--list-item-bg-active: hsl(0, 0%, 97.3%);
|
|
76
101
|
--list-item-border: hsl(0, 0%, 90.9%);
|
|
77
102
|
--segmented-control-bg: hsl(0, 0%, 95.1%);
|
|
78
|
-
--segmented-control-bg-active:
|
|
103
|
+
--segmented-control-bg-active: hsl(0, 0%, 100%);
|
|
79
104
|
--transfer-list-item-completing-bg: hsl(85, 76.0%, 92.3%);
|
|
80
105
|
--transfer-list-item-downloading-bg: hsl(85, 76.0%, 92.3%);
|
|
81
106
|
--transfer-list-item-finished-bg: hsl(0, 0%, 97.3%);
|
|
@@ -85,19 +110,26 @@
|
|
|
85
110
|
--transparent: transparent;
|
|
86
111
|
--overlay-inline: hsla(0, 0%, 0%, 0.047);
|
|
87
112
|
--overlay-full: hsla(0, 0%, 0%, 0.439);
|
|
88
|
-
--button-primary-bg:
|
|
89
|
-
--button-primary-fg:
|
|
113
|
+
--button-primary-bg: hsl(44.7, 97.9%, 63.1%);
|
|
114
|
+
--button-primary-fg: hsl(0, 0%, 4.0%);
|
|
90
115
|
--button-radius: 6px;
|
|
91
116
|
--input-radius: 6px;
|
|
92
|
-
--
|
|
93
|
-
--
|
|
117
|
+
--panel-radius: 10px;
|
|
118
|
+
--primary: hsl(44.7, 97.9%, 63.1%);
|
|
119
|
+
--primary-foreground: hsl(0, 0%, 0%);
|
|
120
|
+
--success-foreground: hsl(0, 0%, 100%);
|
|
121
|
+
--destructive-foreground: hsl(0, 0%, 100%);
|
|
122
|
+
--solid-foreground: hsl(0, 0%, 100%);
|
|
123
|
+
--ring: hsla(47, 100%, 65%, 0.35);
|
|
124
|
+
--file-row-icon: hsl(44.7, 97.9%, 63.1%);
|
|
125
|
+
--yellow-solid: hsl(44.7, 97.9%, 63.1%);
|
|
94
126
|
--shadow-color: hsl(0, 0%, 78.0%);
|
|
95
127
|
--shadow: hsl(0, 0%, 78.0%);
|
|
96
128
|
--shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.05);
|
|
97
129
|
--shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
98
130
|
--shadow-lg: 0 16px 40px hsla(0, 0%, 0%, 0.12);
|
|
99
131
|
--shadow-focus-color: hsla(47, 100%, 65%, 0.35);
|
|
100
|
-
--shadow-focus: 0 0 0 3px
|
|
132
|
+
--shadow-focus: 0 0 0 3px hsla(47, 100%, 65%, 0.35);
|
|
101
133
|
--font-sans: "GT America", sans-serif;
|
|
102
134
|
--font-display: "GT America", sans-serif;
|
|
103
135
|
--font-ui-mono: "GT America Mono", monospace;
|
|
@@ -150,8 +182,33 @@
|
|
|
150
182
|
.dark {
|
|
151
183
|
--button-secondary-bg: hsl(0, 0%, 13.6%);
|
|
152
184
|
--button-secondary-fg: hsl(0, 0%, 93.0%);
|
|
153
|
-
--input-bg: hsl(0, 0%,
|
|
185
|
+
--input-bg: hsl(0, 0%, 8.5%);
|
|
154
186
|
--input-border: hsl(0, 0%, 24.3%);
|
|
187
|
+
--field-bg: hsl(0, 0%, 8.5%);
|
|
188
|
+
--field-bg-disabled: hsl(0, 0%, 11.0%);
|
|
189
|
+
--field-border: hsl(0, 0%, 24.3%);
|
|
190
|
+
--field-border-hover: hsl(0, 0%, 31.2%);
|
|
191
|
+
--field-border-focus: hsl(0, 0%, 31.2%);
|
|
192
|
+
--field-text: hsl(0, 0%, 93.0%);
|
|
193
|
+
--field-placeholder: hsl(0, 0%, 62.8%);
|
|
194
|
+
--field-ring: 0 0 0 1px hsl(0, 0%, 31.2%);
|
|
195
|
+
--panel-bg: hsl(0, 0%, 13.6%);
|
|
196
|
+
--panel-border: hsl(0, 0%, 20.5%);
|
|
197
|
+
--panel-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.5);
|
|
198
|
+
--background: hsl(0, 0%, 8.5%);
|
|
199
|
+
--foreground: hsl(0, 0%, 93.0%);
|
|
200
|
+
--foreground-muted: hsl(0, 0%, 62.8%);
|
|
201
|
+
--success: hsl(151, 51.7%, 28.4%);
|
|
202
|
+
--destructive: hsl(358, 65.0%, 40.4%);
|
|
203
|
+
--muted: hsl(0, 0%, 11.0%);
|
|
204
|
+
--muted-foreground: hsl(0, 0%, 62.8%);
|
|
205
|
+
--accent: hsl(0, 0%, 13.6%);
|
|
206
|
+
--accent-foreground: hsl(0, 0%, 93.0%);
|
|
207
|
+
--card: hsl(0, 0%, 13.6%);
|
|
208
|
+
--card-foreground: hsl(0, 0%, 93.0%);
|
|
209
|
+
--popover: hsl(0, 0%, 13.6%);
|
|
210
|
+
--popover-foreground: hsl(0, 0%, 93.0%);
|
|
211
|
+
--input: hsl(0, 0%, 24.3%);
|
|
155
212
|
--file-row-bg: transparent;
|
|
156
213
|
--file-row-bg-hover: hsl(0, 0%, 11.0%);
|
|
157
214
|
--notification-info-bg: hsl(0, 0%, 13.6%);
|
|
@@ -200,11 +257,11 @@
|
|
|
200
257
|
--yellow-line: hsl(49, 100%, 14.3%);
|
|
201
258
|
--yellow-border: hsl(49, 90.3%, 18.4%);
|
|
202
259
|
--yellow-border-hover: hsl(50, 100%, 22.0%);
|
|
203
|
-
--yellow-solid-hover:
|
|
260
|
+
--yellow-solid-hover: hsl(44.7, 97.9%, 63.1%);
|
|
204
261
|
--yellow-text-secondary: hsl(48, 100%, 47.0%);
|
|
205
262
|
--yellow-text: hsl(53, 100%, 91.0%);
|
|
206
263
|
--lime-3: hsl(85, 45%, 12%);
|
|
207
|
-
--html-bg:
|
|
264
|
+
--html-bg: hsl(0, 0%, 0%);
|
|
208
265
|
--app-bg: hsl(0, 0%, 8.5%);
|
|
209
266
|
--nav-bg: hsl(0, 0%, 8.5%);
|
|
210
267
|
--nav-item-bg: transparent;
|
|
@@ -224,8 +281,8 @@
|
|
|
224
281
|
--lo-contrast: hsl(0, 0%, 8.5%);
|
|
225
282
|
--overlay-inline: hsla(0, 0%, 0%, 0.439);
|
|
226
283
|
--overlay-full: hsla(0, 0%, 0%, 0.565);
|
|
227
|
-
--shadow-color:
|
|
228
|
-
--shadow:
|
|
284
|
+
--shadow-color: hsl(0, 0%, 0%);
|
|
285
|
+
--shadow: hsl(0, 0%, 0%);
|
|
229
286
|
--shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.4);
|
|
230
287
|
--shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.5);
|
|
231
288
|
--shadow-lg: 0 16px 40px hsla(0, 0%, 0%, 0.6);
|
|
@@ -363,4 +420,4 @@ a:hover { text-decoration-color: currentColor; }
|
|
|
363
420
|
.bg-1 { background: var(--bg); }
|
|
364
421
|
.bg-2 { background: var(--bg-secondary); }
|
|
365
422
|
.bg-component { background: var(--component-bg); }
|
|
366
|
-
.bg-yellow { background: var(--yellow-solid); color:
|
|
423
|
+
.bg-yellow { background: var(--yellow-solid); color: var(--primary-foreground); }
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"primary": {
|
|
5
5
|
"background": {
|
|
6
6
|
"$type": "color",
|
|
7
|
-
"$value": "
|
|
7
|
+
"$value": "hsl(44.7, 97.9%, 63.1%)",
|
|
8
8
|
"$description": "Primary command background."
|
|
9
9
|
},
|
|
10
10
|
"foreground": {
|
|
11
11
|
"$type": "color",
|
|
12
|
-
"$value": "
|
|
12
|
+
"$value": "hsl(0, 0%, 4.0%)",
|
|
13
13
|
"$description": "Text or icon color on the yellow primary button."
|
|
14
14
|
},
|
|
15
15
|
"radius": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"input": {
|
|
32
32
|
"background": {
|
|
33
33
|
"$type": "color",
|
|
34
|
-
"$value": "
|
|
34
|
+
"$value": "hsl(0, 0%, 100%)"
|
|
35
35
|
},
|
|
36
36
|
"border": {
|
|
37
37
|
"$type": "color",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"icon": {
|
|
55
55
|
"$type": "color",
|
|
56
|
-
"$value": "
|
|
56
|
+
"$value": "hsl(44.7, 97.9%, 63.1%)"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"notification": {
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"brand": {
|
|
72
72
|
"yellow": {
|
|
73
73
|
"$type": "color",
|
|
74
|
-
"$value": "
|
|
75
|
-
"$description": "Sacred put.io brand yellow. Do not change or tint."
|
|
74
|
+
"$value": "hsl(44.7, 97.9%, 63.1%)",
|
|
75
|
+
"$description": "Sacred put.io brand yellow (canonical hex #FDCE45). Do not change or tint."
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
"neutral": {
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
},
|
|
268
268
|
"solidHover": {
|
|
269
269
|
"$type": "color",
|
|
270
|
-
"$value": "
|
|
270
|
+
"$value": "hsl(44.7, 97.9%, 63.1%)"
|
|
271
271
|
},
|
|
272
272
|
"textSecondary": {
|
|
273
273
|
"$type": "color",
|
|
@@ -508,11 +508,11 @@
|
|
|
508
508
|
},
|
|
509
509
|
"appBg": {
|
|
510
510
|
"$type": "color",
|
|
511
|
-
"$value": "
|
|
511
|
+
"$value": "hsl(0, 0%, 100%)"
|
|
512
512
|
},
|
|
513
513
|
"navBg": {
|
|
514
514
|
"$type": "color",
|
|
515
|
-
"$value": "
|
|
515
|
+
"$value": "hsl(0, 0%, 100%)"
|
|
516
516
|
},
|
|
517
517
|
"navItemBg": {
|
|
518
518
|
"$type": "color",
|
|
@@ -548,7 +548,7 @@
|
|
|
548
548
|
},
|
|
549
549
|
"segmentedControlBgActive": {
|
|
550
550
|
"$type": "color",
|
|
551
|
-
"$value": "
|
|
551
|
+
"$value": "hsl(0, 0%, 100%)"
|
|
552
552
|
},
|
|
553
553
|
"transferListItemCompletingBg": {
|
|
554
554
|
"$type": "color",
|
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.foreground" | "component.button.primary.radius" | "component.button.secondary.background" | "component.button.secondary.backgroundDark" | "component.button.secondary.foreground" | "component.button.secondary.foregroundDark" | "component.input.background" | "component.input.backgroundDark" | "component.input.border" | "component.input.borderDark" | "component.input.radius" | "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" | "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.foreground" | "component.button.primary.radius" | "component.button.secondary.background" | "component.button.secondary.backgroundDark" | "component.button.secondary.foreground" | "component.button.secondary.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.solidForeground" | "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";
|
|
4
4
|
|
|
5
5
|
export type PutioToken = {
|
|
6
6
|
readonly cssName: string;
|