@putdotio/design 3.7.0 → 3.9.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 +20 -8
- package/dist/css/tokens.css +23 -21
- package/dist/figma/putio.tokens.json +7 -3
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.dtcg.json +44 -20
- package/dist/tokens.flat.json +57 -41
- package/dist/tokens.js +57 -41
- package/package.json +1 -1
- package/system/README.md +4 -6
- package/system/components.css +154 -16
- package/tokens/components.tokens.json +18 -18
- package/tokens/primitives.tokens.json +26 -2
package/DESIGN.md
CHANGED
|
@@ -115,7 +115,8 @@ Default radius `6px`; `4px` for tight controls, `8px` or `10px` for panels, pill
|
|
|
115
115
|
- **Primary:** `--button-primary-bg`, hover `--button-primary-bg-hover`, label `--button-primary-fg`. At most one per action group.
|
|
116
116
|
- **Secondary:** `--button-default-bg` plus a `--border` border; hover steps both (`--button-default-bg-hover`, `--border-hover`).
|
|
117
117
|
- **Ghost:** text only, `--button-ghost-fg`; hover adds `--button-ghost-bg-hover` and lifts the label to `--button-ghost-fg-hover`. Use it for anything quieter than secondary: header `Sign in`, toolbar actions, `Cancel` beside a confirm, icon-only buttons.
|
|
118
|
-
- **Disabled:** colour drops to `--solid` at full opacity.
|
|
118
|
+
- **Disabled:** colour drops to `--solid` at full opacity: filled variants take a `--solid` fill with `--solid-foreground` labels; quiet ones take `--solid` text. A finished action stays filled with `data-state="success"` on `.btn-success`.
|
|
119
|
+
- **Focus:** `--shadow-focus`, a 2px `--bg` gap then a 2px `--solid-hover` ring, at least 3:1 against the page and panels in both modes.
|
|
119
120
|
- A bordered button always fills (secondary). Border-only buttons read smaller beside solid fills and vanish on dark.
|
|
120
121
|
- Four sizes share one box per size across tiers: default 36px, `md` 32px, `sm` 28px, `xs` 24px. Read `--button-height*`, `--button-padding-x*`, `--button-label-size*`, `--button-tracking*`, `--button-icon-size`, `--button-gap`.
|
|
121
122
|
- A dark bar on a light page is a `.dark`-scoped region.
|
|
@@ -125,18 +126,29 @@ Default radius `6px`; `4px` for tight controls, `8px` or `10px` for panels, pill
|
|
|
125
126
|
### Rows, fields, and panels
|
|
126
127
|
|
|
127
128
|
- File rows are the core component: raw names, compact metadata, obvious hover and focus at the same row height.
|
|
128
|
-
- Fields read `--field-bg`, `--field-border`, and `--field-ring` (focus). `aria-invalid="true"` turns border and text red; the fill stays.
|
|
129
|
+
- Fields read `--field-bg`, `--field-border`, and `--field-ring` (focus). They are filled: `--bg-secondary` on a `--line` border, so they read on the page as well as in panels. Hover steps the border to `--border-hover`; focus steps it to `--solid-hover` with a matching 1px ring, at least 3:1 against the fill, the page, and panels in both modes (WCAG 1.4.11). Disabled fields take `--component-bg`. `--bg-secondary` is the field fill, so fields never sit on it. `aria-invalid="true"` turns border and text red; the fill stays.
|
|
129
130
|
- Raised panels read `--panel-*`.
|
|
130
131
|
- Feedback uses `.form-callout`: `--alert-*` colours, `data-state` `info`, `success`, or `error`; `.inline` drops surface and border. It holds a message only. `.form-group` (`6px` gap) spaces a control and its feedback.
|
|
132
|
+
- Every field and form error eases in through `.form-reveal`: `grid-template-rows` `0fr` to `1fr` plus opacity, over `--dur-reveal` (`180ms`) with `--ease-out`, so whatever sits below slides instead of jumping. A field error sits under its field inside `.form-group`, where the row absorbs the group gap; a form error sits above the submit button. `data-state="open"` shows it. Keep the `role="alert"` message mounted and rendered; empty it once a closed row has collapsed. An `aria-invalid` field or code fades its border red over the same `--dur-reveal`. Under `prefers-reduced-motion` nothing animates.
|
|
131
133
|
|
|
132
134
|
### Auth
|
|
133
135
|
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
136
|
+
- Sign in, sign up, password reset, and two-factor pages have no card or panel: the form sits on `--bg`. Recipe: `.auth-page`, `.auth-header`, `.auth-main`, `.auth-column`, `.auth-title`, `.auth-links`, `.auth-footer`.
|
|
137
|
+
- The logo sits top-left in the header, in a `30.33px` box (26px ink × 7/6). The top right stays empty by default.
|
|
138
|
+
- One left-aligned column, up to `340px`, is centred horizontally and vertically.
|
|
139
|
+
- A quiet centred footer links Terms of Service, Privacy Policy, and Help in muted `--fs-sm`.
|
|
140
|
+
- One title per screen: `22px`, medium, `-0.01em` tracking. No subtitles, taglines, or marketing lines; copy stays short.
|
|
141
|
+
- Fields are the standard filled field. Fields and buttons in the column are `44px`.
|
|
142
|
+
- Labels are small, muted, and above the field.
|
|
143
|
+
- The primary button is full-width yellow. Secondary actions sit under the form as muted text links: “Forgot password?”, “New to put.io? Sign up”, “Wrong account? Sign out”.
|
|
144
|
+
- Tab order runs fields, submit, then secondary links; DOM order follows visual order, with no positive `tabindex`. Two-factor runs the code, Verify, then its links. The reveal-password toggle takes `tabindex="-1"` and keeps its accessible name: keyboard-only users can't toggle visibility, screen-reader users still can in browse mode. No link leaves the tab order.
|
|
145
|
+
- Form errors: one message in a `.form-reveal` row right above the submit button, in red `--fs-base` text. Invalid fields turn red. Auth forms never use the boxed `.form-callout`.
|
|
146
|
+
- Copy: “Sign in”, “Sign up”, and “That username or password doesn't look right.”
|
|
147
|
+
- auth.put.io still ships the older card layout: drift.
|
|
148
|
+
- References: `web-s06-auth`, `web-p00c-auth-signin`, `web-p00d-auth-signup`, `web-p00e-auth-2fa`. Outside references: the TIDAL, Stripe Link, Cursor, Linear, and Vercel sign-in pages.
|
|
149
|
+
- One-time codes are one `.otp-input` (`inputmode="numeric"`, `autocomplete="one-time-code"`, `maxlength="6"`, `aria-invalid`) shown through two `.otp-group`s, one `.otp-separator`, and six `.otp-slot`s; script syncs slot text and `filled`/`active`, and maps a clicked slot to the input selection. The slots stretch the full column with mono digits. The label reads “Code from your authenticator app”, with no hint line.
|
|
150
|
+
- Editing an invalid code closes the error; retry waits for six digits. `data-state="verifying"` disables the input, keeps the digits, and announces through a polite live region. `data-state="success"` keeps the digits read-only, announces continuation in a `role="status"` region, and shows no further action; the consumer owns navigation. The submit turns a disabled `.btn-success` with `data-state="success"`, relabelled “Verified”, announced through a visually hidden status region.
|
|
151
|
+
- “Use a recovery code” appears only once a consumer owns the route. Groups own the responsive width, so the control fits narrow columns without scrolling.
|
|
140
152
|
|
|
141
153
|
### TV
|
|
142
154
|
|
package/dist/css/tokens.css
CHANGED
|
@@ -25,21 +25,21 @@
|
|
|
25
25
|
--button-ghost-fg: hsl(0, 0%, 43.5%);
|
|
26
26
|
--button-ghost-fg-hover: hsl(0, 0%, 9.0%);
|
|
27
27
|
--button-ghost-bg-hover: hsl(0, 0%, 93.0%);
|
|
28
|
-
--input-bg: hsl(0, 0%,
|
|
29
|
-
--input-border: hsl(0, 0%,
|
|
28
|
+
--input-bg: hsl(0, 0%, 97.3%); /* deprecated: use --field-bg */
|
|
29
|
+
--input-border: hsl(0, 0%, 88.7%); /* deprecated: use --field-border */
|
|
30
30
|
--input-border-hover: hsl(0, 0%, 78.0%); /* deprecated: use --field-border-hover */
|
|
31
|
-
--input-border-focus: hsl(0, 0%,
|
|
32
|
-
--input-ring: 0 0 0 1px hsl(0, 0%,
|
|
31
|
+
--input-border-focus: hsl(0, 0%, 52.3%); /* deprecated: use --field-border-focus */
|
|
32
|
+
--input-ring: 0 0 0 1px hsl(0, 0%, 52.3%); /* deprecated: use --field-ring */
|
|
33
33
|
--input-text: hsl(0, 0%, 9.0%); /* deprecated: use --field-text */
|
|
34
34
|
--input-placeholder: hsl(0, 0%, 43.5%); /* deprecated: use --field-placeholder */
|
|
35
|
-
--field-bg: hsl(0, 0%,
|
|
36
|
-
--field-bg-disabled: hsl(0, 0%,
|
|
37
|
-
--field-border: hsl(0, 0%,
|
|
35
|
+
--field-bg: hsl(0, 0%, 97.3%);
|
|
36
|
+
--field-bg-disabled: hsl(0, 0%, 95.1%);
|
|
37
|
+
--field-border: hsl(0, 0%, 88.7%);
|
|
38
38
|
--field-border-hover: hsl(0, 0%, 78.0%);
|
|
39
|
-
--field-border-focus: hsl(0, 0%,
|
|
39
|
+
--field-border-focus: hsl(0, 0%, 52.3%);
|
|
40
40
|
--field-text: hsl(0, 0%, 9.0%);
|
|
41
41
|
--field-placeholder: hsl(0, 0%, 43.5%);
|
|
42
|
-
--field-ring: 0 0 0 1px hsl(0, 0%,
|
|
42
|
+
--field-ring: 0 0 0 1px hsl(0, 0%, 52.3%);
|
|
43
43
|
--panel-bg: hsl(0, 0%, 95.1%);
|
|
44
44
|
--panel-border: hsl(0, 0%, 88.7%);
|
|
45
45
|
--panel-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
--card-foreground: hsl(0, 0%, 9.0%);
|
|
59
59
|
--popover: hsl(0, 0%, 95.1%);
|
|
60
60
|
--popover-foreground: hsl(0, 0%, 9.0%);
|
|
61
|
-
--input: hsl(0, 0%,
|
|
61
|
+
--input: hsl(0, 0%, 88.7%);
|
|
62
62
|
--file-row-bg: hsla(0, 0%, 0%, 0);
|
|
63
63
|
--file-row-bg-hover: hsl(0, 0%, 97.3%);
|
|
64
64
|
--file-row-bg-active: hsl(0, 0%, 97.3%);
|
|
@@ -172,6 +172,7 @@
|
|
|
172
172
|
--yellow-text-secondary: hsl(46, 100%, 27%);
|
|
173
173
|
--yellow-text: hsl(43, 32%, 21%);
|
|
174
174
|
--lime-3: hsl(85, 76.0%, 92.3%);
|
|
175
|
+
--shadow-focus: 0 0 0 2px hsl(0, 0%, 99.0%), 0 0 0 4px hsl(0, 0%, 52.3%);
|
|
175
176
|
--html-bg: hsl(0, 0%, 97.3%);
|
|
176
177
|
--app-bg: hsl(0, 0%, 100%);
|
|
177
178
|
--nav-bg: hsl(0, 0%, 100%);
|
|
@@ -256,7 +257,6 @@
|
|
|
256
257
|
--shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
257
258
|
--shadow-lg: 0 16px 40px hsla(0, 0%, 0%, 0.12);
|
|
258
259
|
--shadow-focus-color: hsla(47, 100%, 65%, 0.35);
|
|
259
|
-
--shadow-focus: 0 0 0 3px hsla(47, 100%, 65%, 0.35);
|
|
260
260
|
--font-sans: "GT America", sans-serif;
|
|
261
261
|
--font-display: "GT America", sans-serif;
|
|
262
262
|
--font-mono: "Berkeley Mono", monospace;
|
|
@@ -301,6 +301,7 @@
|
|
|
301
301
|
--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
|
|
302
302
|
--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
|
|
303
303
|
--dur-fast: 120ms;
|
|
304
|
+
--dur-reveal: 180ms;
|
|
304
305
|
--dur-base: 200ms;
|
|
305
306
|
--dur-slow: 320ms;
|
|
306
307
|
--z-dropdown: 1000;
|
|
@@ -332,21 +333,21 @@
|
|
|
332
333
|
--button-ghost-fg: hsl(0, 0%, 62.8%);
|
|
333
334
|
--button-ghost-fg-hover: hsl(0, 0%, 93.0%);
|
|
334
335
|
--button-ghost-bg-hover: hsl(0, 0%, 15.8%);
|
|
335
|
-
--input-bg: hsl(0, 0%,
|
|
336
|
-
--input-border: hsl(0, 0%,
|
|
336
|
+
--input-bg: hsl(0, 0%, 11.0%); /* deprecated: use --field-bg */
|
|
337
|
+
--input-border: hsl(0, 0%, 20.5%); /* deprecated: use --field-border */
|
|
337
338
|
--input-border-hover: hsl(0, 0%, 31.2%); /* deprecated: use --field-border-hover */
|
|
338
|
-
--input-border-focus: hsl(0, 0%,
|
|
339
|
-
--input-ring: 0 0 0 1px hsl(0, 0%,
|
|
339
|
+
--input-border-focus: hsl(0, 0%, 49.4%); /* deprecated: use --field-border-focus */
|
|
340
|
+
--input-ring: 0 0 0 1px hsl(0, 0%, 49.4%); /* deprecated: use --field-ring */
|
|
340
341
|
--input-text: hsl(0, 0%, 93.0%); /* deprecated: use --field-text */
|
|
341
342
|
--input-placeholder: hsl(0, 0%, 62.8%); /* deprecated: use --field-placeholder */
|
|
342
|
-
--field-bg: hsl(0, 0%,
|
|
343
|
-
--field-bg-disabled: hsl(0, 0%,
|
|
344
|
-
--field-border: hsl(0, 0%,
|
|
343
|
+
--field-bg: hsl(0, 0%, 11.0%);
|
|
344
|
+
--field-bg-disabled: hsl(0, 0%, 13.6%);
|
|
345
|
+
--field-border: hsl(0, 0%, 20.5%);
|
|
345
346
|
--field-border-hover: hsl(0, 0%, 31.2%);
|
|
346
|
-
--field-border-focus: hsl(0, 0%,
|
|
347
|
+
--field-border-focus: hsl(0, 0%, 49.4%);
|
|
347
348
|
--field-text: hsl(0, 0%, 93.0%);
|
|
348
349
|
--field-placeholder: hsl(0, 0%, 62.8%);
|
|
349
|
-
--field-ring: 0 0 0 1px hsl(0, 0%,
|
|
350
|
+
--field-ring: 0 0 0 1px hsl(0, 0%, 49.4%);
|
|
350
351
|
--panel-bg: hsl(0, 0%, 13.6%);
|
|
351
352
|
--panel-border: hsl(0, 0%, 20.5%);
|
|
352
353
|
--panel-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.5);
|
|
@@ -365,7 +366,7 @@
|
|
|
365
366
|
--card-foreground: hsl(0, 0%, 93.0%);
|
|
366
367
|
--popover: hsl(0, 0%, 13.6%);
|
|
367
368
|
--popover-foreground: hsl(0, 0%, 93.0%);
|
|
368
|
-
--input: hsl(0, 0%,
|
|
369
|
+
--input: hsl(0, 0%, 20.5%);
|
|
369
370
|
--file-row-bg: hsla(0, 0%, 0%, 0);
|
|
370
371
|
--file-row-bg-hover: hsl(0, 0%, 11.0%);
|
|
371
372
|
--file-row-bg-active: hsl(0, 0%, 11.0%);
|
|
@@ -479,6 +480,7 @@
|
|
|
479
480
|
--yellow-text-secondary: hsl(45, 100%, 64%);
|
|
480
481
|
--yellow-text: hsl(46, 89%, 86%);
|
|
481
482
|
--lime-3: hsl(85, 45%, 12%);
|
|
483
|
+
--shadow-focus: 0 0 0 2px hsl(0, 0%, 8.5%), 0 0 0 4px hsl(0, 0%, 49.4%);
|
|
482
484
|
--html-bg: hsl(0, 0%, 0%);
|
|
483
485
|
--app-bg: hsl(0, 0%, 8.5%);
|
|
484
486
|
--nav-bg: hsl(0, 0%, 8.5%);
|
|
@@ -218,12 +218,12 @@
|
|
|
218
218
|
"input": {
|
|
219
219
|
"background": {
|
|
220
220
|
"$type": "color",
|
|
221
|
-
"$value": "hsl(0, 0%,
|
|
221
|
+
"$value": "hsl(0, 0%, 97.3%)",
|
|
222
222
|
"$description": "Deprecated alias. Use --field-bg (component.field.background)."
|
|
223
223
|
},
|
|
224
224
|
"border": {
|
|
225
225
|
"$type": "color",
|
|
226
|
-
"$value": "hsl(0, 0%,
|
|
226
|
+
"$value": "hsl(0, 0%, 88.7%)",
|
|
227
227
|
"$description": "Deprecated alias. Use --field-border (component.field.border)."
|
|
228
228
|
},
|
|
229
229
|
"radius": {
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
},
|
|
239
239
|
"borderFocus": {
|
|
240
240
|
"$type": "color",
|
|
241
|
-
"$value": "hsl(0, 0%,
|
|
241
|
+
"$value": "hsl(0, 0%, 52.3%)",
|
|
242
242
|
"$description": "Deprecated alias. Use --field-border-focus (component.field.borderFocus)."
|
|
243
243
|
},
|
|
244
244
|
"text": {
|
|
@@ -1070,6 +1070,10 @@
|
|
|
1070
1070
|
"$type": "duration",
|
|
1071
1071
|
"$value": "120ms"
|
|
1072
1072
|
},
|
|
1073
|
+
"reveal": {
|
|
1074
|
+
"$type": "duration",
|
|
1075
|
+
"$value": "180ms"
|
|
1076
|
+
},
|
|
1073
1077
|
"base": {
|
|
1074
1078
|
"$type": "duration",
|
|
1075
1079
|
"$value": "200ms"
|
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.secondary.backgroundHover" | "component.button.secondary.backgroundHoverDark" | "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.button.ghost.background" | "component.button.ghost.foreground" | "component.button.ghost.foregroundDark" | "component.button.ghost.foregroundHover" | "component.button.ghost.foregroundHoverDark" | "component.button.ghost.backgroundHover" | "component.button.ghost.backgroundHoverDark" | "component.button.height" | "component.button.heightMd" | "component.button.heightSm" | "component.button.heightXs" | "component.button.paddingX" | "component.button.paddingXXs" | "component.button.labelSize" | "component.button.labelSizeXs" | "component.button.tracking" | "component.button.trackingMd" | "component.button.trackingSm" | "component.button.trackingXs" | "component.button.iconSize" | "component.button.gap" | "component.nav.height" | "component.nav.heightCompact" | "component.nav.ctaHeight" | "component.input.background" | "component.input.backgroundDark" | "component.input.border" | "component.input.borderDark" | "component.input.radius" | "component.input.borderHover" | "component.input.borderHoverDark" | "component.input.borderFocus" | "component.input.borderFocusDark" | "component.input.ring" | "component.input.ringDark" | "component.input.text" | "component.input.textDark" | "component.input.placeholder" | "component.input.placeholderDark" | "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.radius" | "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.activeBackground" | "component.fileRow.activeBackgroundDark" | "component.fileRow.border" | "component.fileRow.borderDark" | "component.fileRow.icon" | "component.notification.infoBackground" | "component.notification.infoBackgroundDark" | "component.notification.dangerBackground" | "component.notification.dangerBackgroundDark" | "component.notification.background" | "component.notification.backgroundDark" | "component.notification.border" | "component.notification.borderDark" | "component.notification.foreground" | "component.notification.foregroundDark" | "component.notification.icon" | "component.notification.iconDark" | "component.notification.successBackground" | "component.notification.successBackgroundDark" | "component.notification.successBorder" | "component.notification.successBorderDark" | "component.notification.successForeground" | "component.notification.successForegroundDark" | "component.notification.dangerBorder" | "component.notification.dangerBorderDark" | "component.notification.dangerForeground" | "component.notification.dangerForegroundDark" | "component.notification.badgeBackground" | "component.notification.badgeForeground" | "component.menu.background" | "component.menu.backgroundDark" | "component.menu.border" | "component.menu.borderDark" | "component.menu.radius" | "component.menu.shadow" | "component.menu.shadowDark" | "component.menu.itemBackgroundHover" | "component.menu.itemBackgroundHoverDark" | "component.menu.itemText" | "component.menu.itemTextDark" | "component.menu.itemIcon" | "component.menu.itemIconDark" | "component.menu.itemShortcut" | "component.menu.itemShortcutDark" | "component.menu.itemDangerText" | "component.menu.itemDangerTextDark" | "component.menu.itemDangerBackgroundHover" | "component.menu.itemDangerBackgroundHoverDark" | "component.menu.itemHeight" | "component.menu.separator" | "component.menu.separatorDark" | "component.menu.label" | "component.menu.labelDark" | "component.palette.background" | "component.palette.backgroundDark" | "component.palette.border" | "component.palette.borderDark" | "component.palette.shadow" | "component.palette.shadowDark" | "component.palette.scrim" | "component.palette.scrimDark" | "component.palette.width" | "component.palette.inputHeight" | "component.palette.itemHeight" | "component.palette.itemBackgroundActive" | "component.palette.itemBackgroundActiveDark" | "component.palette.groupLabel" | "component.palette.groupLabelDark" | "component.palette.itemMeta" | "component.palette.itemMetaDark" | "component.sheet.background" | "component.sheet.backgroundDark" | "component.sheet.border" | "component.sheet.borderDark" | "component.sheet.shadow" | "component.sheet.shadowDark" | "component.sheet.scrim" | "component.sheet.scrimDark" | "component.sheet.width" | "component.avatar.yellow" | "component.avatar.green" | "component.avatar.red" | "component.avatar.blue" | "component.avatar.purple" | "component.avatar.teal" | "component.avatar.orange" | "component.avatar.foreground" | "component.avatar.foregroundWarm" | "component.alert.radius" | "component.alert.infoBackground" | "component.alert.infoBackgroundDark" | "component.alert.infoBorder" | "component.alert.infoBorderDark" | "component.alert.infoText" | "component.alert.infoTextDark" | "component.alert.infoBody" | "component.alert.infoBodyDark" | "component.alert.infoIcon" | "component.alert.infoIconDark" | "component.alert.brandBackground" | "component.alert.brandBackgroundDark" | "component.alert.brandBorder" | "component.alert.brandBorderDark" | "component.alert.brandText" | "component.alert.brandTextDark" | "component.alert.brandBody" | "component.alert.brandBodyDark" | "component.alert.brandIcon" | "component.alert.brandIconDark" | "component.alert.successBackground" | "component.alert.successBackgroundDark" | "component.alert.successBorder" | "component.alert.successBorderDark" | "component.alert.successText" | "component.alert.successTextDark" | "component.alert.successBody" | "component.alert.successBodyDark" | "component.alert.successIcon" | "component.alert.successIconDark" | "component.alert.dangerBackground" | "component.alert.dangerBackgroundDark" | "component.alert.dangerBorder" | "component.alert.dangerBorderDark" | "component.alert.dangerText" | "component.alert.dangerTextDark" | "component.alert.dangerBody" | "component.alert.dangerBodyDark" | "component.alert.dangerIcon" | "component.alert.dangerIconDark" | "component.slider.track" | "component.slider.trackDark" | "component.slider.buffer" | "component.slider.bufferDark" | "component.slider.fill" | "component.slider.knob" | "component.slider.fillDisabled" | "component.slider.fillDisabledDark" | "component.slider.trackHeight" | "component.slider.knobSize" | "component.slider.hitHeight" | "component.pagination.itemSize" | "component.pagination.itemText" | "component.pagination.itemTextDark" | "component.pagination.itemTextActive" | "component.pagination.itemTextActiveDark" | "component.pagination.itemBackgroundHover" | "component.pagination.itemBackgroundHoverDark" | "component.pagination.itemBackgroundActive" | "component.pagination.itemBackgroundActiveDark" | "component.pagination.itemBorderActive" | "component.pagination.itemBorderActiveDark" | "context.tv.text.primary" | "context.tv.text.secondary" | "context.tv.text.tertiary" | "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.nightly.background" | "context.tv.channelArt.nightly.accent" | "context.tv.channelArt.nightly.star" | "context.tv.channelArt.nightly.moon" | "context.tv.channelArt.nightly.moonCrater" | "context.tv.channelArt.lab.background" | "context.tv.channelArt.lab.foreground" | "context.tv.channelArt.lab.accent" | "tv.video.background" | "tv.video.heroScrimTop" | "tv.video.heroScrimBottom" | "tv.video.textOnVideo" | "tv.text.heading" | "tv.text.label" | "tv.text.body" | "tv.text.caption" | "tv.text.smol" | "tv.fontWeight.regular" | "tv.fontWeight.medium" | "tv.space.xxs" | "tv.space.xs" | "tv.space.sm" | "tv.space.md" | "tv.space.lg" | "tv.space.xl" | "tv.space.xxl" | "tv.overscan.x" | "tv.overscan.y" | "tv.radius" | "tv.focus.borderWidth" | "tv.focus.row.background" | "tv.focus.row.backgroundFocused" | "tv.focus.control.background" | "tv.focus.control.backgroundFocused" | "tv.focus.control.border" | "tv.focus.control.borderFocused" | "tv.z.modal" | "tv.z.toast" | "tv.z.overlay" | "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.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" | "radius.tv" | "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";
|
|
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.secondary.backgroundHover" | "component.button.secondary.backgroundHoverDark" | "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.button.ghost.background" | "component.button.ghost.foreground" | "component.button.ghost.foregroundDark" | "component.button.ghost.foregroundHover" | "component.button.ghost.foregroundHoverDark" | "component.button.ghost.backgroundHover" | "component.button.ghost.backgroundHoverDark" | "component.button.height" | "component.button.heightMd" | "component.button.heightSm" | "component.button.heightXs" | "component.button.paddingX" | "component.button.paddingXXs" | "component.button.labelSize" | "component.button.labelSizeXs" | "component.button.tracking" | "component.button.trackingMd" | "component.button.trackingSm" | "component.button.trackingXs" | "component.button.iconSize" | "component.button.gap" | "component.nav.height" | "component.nav.heightCompact" | "component.nav.ctaHeight" | "component.input.background" | "component.input.backgroundDark" | "component.input.border" | "component.input.borderDark" | "component.input.radius" | "component.input.borderHover" | "component.input.borderHoverDark" | "component.input.borderFocus" | "component.input.borderFocusDark" | "component.input.ring" | "component.input.ringDark" | "component.input.text" | "component.input.textDark" | "component.input.placeholder" | "component.input.placeholderDark" | "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.radius" | "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.activeBackground" | "component.fileRow.activeBackgroundDark" | "component.fileRow.border" | "component.fileRow.borderDark" | "component.fileRow.icon" | "component.notification.infoBackground" | "component.notification.infoBackgroundDark" | "component.notification.dangerBackground" | "component.notification.dangerBackgroundDark" | "component.notification.background" | "component.notification.backgroundDark" | "component.notification.border" | "component.notification.borderDark" | "component.notification.foreground" | "component.notification.foregroundDark" | "component.notification.icon" | "component.notification.iconDark" | "component.notification.successBackground" | "component.notification.successBackgroundDark" | "component.notification.successBorder" | "component.notification.successBorderDark" | "component.notification.successForeground" | "component.notification.successForegroundDark" | "component.notification.dangerBorder" | "component.notification.dangerBorderDark" | "component.notification.dangerForeground" | "component.notification.dangerForegroundDark" | "component.notification.badgeBackground" | "component.notification.badgeForeground" | "component.menu.background" | "component.menu.backgroundDark" | "component.menu.border" | "component.menu.borderDark" | "component.menu.radius" | "component.menu.shadow" | "component.menu.shadowDark" | "component.menu.itemBackgroundHover" | "component.menu.itemBackgroundHoverDark" | "component.menu.itemText" | "component.menu.itemTextDark" | "component.menu.itemIcon" | "component.menu.itemIconDark" | "component.menu.itemShortcut" | "component.menu.itemShortcutDark" | "component.menu.itemDangerText" | "component.menu.itemDangerTextDark" | "component.menu.itemDangerBackgroundHover" | "component.menu.itemDangerBackgroundHoverDark" | "component.menu.itemHeight" | "component.menu.separator" | "component.menu.separatorDark" | "component.menu.label" | "component.menu.labelDark" | "component.palette.background" | "component.palette.backgroundDark" | "component.palette.border" | "component.palette.borderDark" | "component.palette.shadow" | "component.palette.shadowDark" | "component.palette.scrim" | "component.palette.scrimDark" | "component.palette.width" | "component.palette.inputHeight" | "component.palette.itemHeight" | "component.palette.itemBackgroundActive" | "component.palette.itemBackgroundActiveDark" | "component.palette.groupLabel" | "component.palette.groupLabelDark" | "component.palette.itemMeta" | "component.palette.itemMetaDark" | "component.sheet.background" | "component.sheet.backgroundDark" | "component.sheet.border" | "component.sheet.borderDark" | "component.sheet.shadow" | "component.sheet.shadowDark" | "component.sheet.scrim" | "component.sheet.scrimDark" | "component.sheet.width" | "component.avatar.yellow" | "component.avatar.green" | "component.avatar.red" | "component.avatar.blue" | "component.avatar.purple" | "component.avatar.teal" | "component.avatar.orange" | "component.avatar.foreground" | "component.avatar.foregroundWarm" | "component.alert.radius" | "component.alert.infoBackground" | "component.alert.infoBackgroundDark" | "component.alert.infoBorder" | "component.alert.infoBorderDark" | "component.alert.infoText" | "component.alert.infoTextDark" | "component.alert.infoBody" | "component.alert.infoBodyDark" | "component.alert.infoIcon" | "component.alert.infoIconDark" | "component.alert.brandBackground" | "component.alert.brandBackgroundDark" | "component.alert.brandBorder" | "component.alert.brandBorderDark" | "component.alert.brandText" | "component.alert.brandTextDark" | "component.alert.brandBody" | "component.alert.brandBodyDark" | "component.alert.brandIcon" | "component.alert.brandIconDark" | "component.alert.successBackground" | "component.alert.successBackgroundDark" | "component.alert.successBorder" | "component.alert.successBorderDark" | "component.alert.successText" | "component.alert.successTextDark" | "component.alert.successBody" | "component.alert.successBodyDark" | "component.alert.successIcon" | "component.alert.successIconDark" | "component.alert.dangerBackground" | "component.alert.dangerBackgroundDark" | "component.alert.dangerBorder" | "component.alert.dangerBorderDark" | "component.alert.dangerText" | "component.alert.dangerTextDark" | "component.alert.dangerBody" | "component.alert.dangerBodyDark" | "component.alert.dangerIcon" | "component.alert.dangerIconDark" | "component.slider.track" | "component.slider.trackDark" | "component.slider.buffer" | "component.slider.bufferDark" | "component.slider.fill" | "component.slider.knob" | "component.slider.fillDisabled" | "component.slider.fillDisabledDark" | "component.slider.trackHeight" | "component.slider.knobSize" | "component.slider.hitHeight" | "component.pagination.itemSize" | "component.pagination.itemText" | "component.pagination.itemTextDark" | "component.pagination.itemTextActive" | "component.pagination.itemTextActiveDark" | "component.pagination.itemBackgroundHover" | "component.pagination.itemBackgroundHoverDark" | "component.pagination.itemBackgroundActive" | "component.pagination.itemBackgroundActiveDark" | "component.pagination.itemBorderActive" | "component.pagination.itemBorderActiveDark" | "context.tv.text.primary" | "context.tv.text.secondary" | "context.tv.text.tertiary" | "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.nightly.background" | "context.tv.channelArt.nightly.accent" | "context.tv.channelArt.nightly.star" | "context.tv.channelArt.nightly.moon" | "context.tv.channelArt.nightly.moonCrater" | "context.tv.channelArt.lab.background" | "context.tv.channelArt.lab.foreground" | "context.tv.channelArt.lab.accent" | "tv.video.background" | "tv.video.heroScrimTop" | "tv.video.heroScrimBottom" | "tv.video.textOnVideo" | "tv.text.heading" | "tv.text.label" | "tv.text.body" | "tv.text.caption" | "tv.text.smol" | "tv.fontWeight.regular" | "tv.fontWeight.medium" | "tv.space.xxs" | "tv.space.xs" | "tv.space.sm" | "tv.space.md" | "tv.space.lg" | "tv.space.xl" | "tv.space.xxl" | "tv.overscan.x" | "tv.overscan.y" | "tv.radius" | "tv.focus.borderWidth" | "tv.focus.row.background" | "tv.focus.row.backgroundFocused" | "tv.focus.control.background" | "tv.focus.control.backgroundFocused" | "tv.focus.control.border" | "tv.focus.control.borderFocused" | "tv.z.modal" | "tv.z.toast" | "tv.z.overlay" | "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" | "elevation.focusDark" | "typography.fontFamily.sans" | "typography.fontFamily.display" | "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" | "radius.tv" | "border.width" | "motion.easing.out" | "motion.easing.inOut" | "motion.duration.fast" | "motion.duration.reveal" | "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;
|
package/dist/tokens.dtcg.json
CHANGED
|
@@ -828,8 +828,8 @@
|
|
|
828
828
|
"field": {
|
|
829
829
|
"background": {
|
|
830
830
|
"$type": "color",
|
|
831
|
-
"$value": "{
|
|
832
|
-
"$description": "Form-control fill. Fields
|
|
831
|
+
"$value": "{color.neutral.light.bgSecondary}",
|
|
832
|
+
"$description": "Form-control fill. Fields are filled so they read on the page background as well as inside panels.",
|
|
833
833
|
"$extensions": {
|
|
834
834
|
"putio": {
|
|
835
835
|
"cssName": "field-bg",
|
|
@@ -840,7 +840,7 @@
|
|
|
840
840
|
},
|
|
841
841
|
"backgroundDark": {
|
|
842
842
|
"$type": "color",
|
|
843
|
-
"$value": "{
|
|
843
|
+
"$value": "{color.neutral.dark.bgSecondary}",
|
|
844
844
|
"$description": "Dark-mode form-control fill.",
|
|
845
845
|
"$extensions": {
|
|
846
846
|
"putio": {
|
|
@@ -852,8 +852,8 @@
|
|
|
852
852
|
},
|
|
853
853
|
"backgroundDisabled": {
|
|
854
854
|
"$type": "color",
|
|
855
|
-
"$value": "{color.neutral.light.
|
|
856
|
-
"$description": "Disabled form-control fill.",
|
|
855
|
+
"$value": "{color.neutral.light.componentBg}",
|
|
856
|
+
"$description": "Disabled form-control fill, a step off the resting fill.",
|
|
857
857
|
"$extensions": {
|
|
858
858
|
"putio": {
|
|
859
859
|
"cssName": "field-bg-disabled",
|
|
@@ -864,7 +864,7 @@
|
|
|
864
864
|
},
|
|
865
865
|
"backgroundDisabledDark": {
|
|
866
866
|
"$type": "color",
|
|
867
|
-
"$value": "{color.neutral.dark.
|
|
867
|
+
"$value": "{color.neutral.dark.componentBg}",
|
|
868
868
|
"$description": "Dark-mode disabled form-control fill.",
|
|
869
869
|
"$extensions": {
|
|
870
870
|
"putio": {
|
|
@@ -876,7 +876,7 @@
|
|
|
876
876
|
},
|
|
877
877
|
"border": {
|
|
878
878
|
"$type": "color",
|
|
879
|
-
"$value": "{color.neutral.light.
|
|
879
|
+
"$value": "{color.neutral.light.line}",
|
|
880
880
|
"$description": "Resting form-control border.",
|
|
881
881
|
"$extensions": {
|
|
882
882
|
"putio": {
|
|
@@ -888,7 +888,7 @@
|
|
|
888
888
|
},
|
|
889
889
|
"borderDark": {
|
|
890
890
|
"$type": "color",
|
|
891
|
-
"$value": "{color.neutral.dark.
|
|
891
|
+
"$value": "{color.neutral.dark.line}",
|
|
892
892
|
"$description": "Dark-mode resting form-control border.",
|
|
893
893
|
"$extensions": {
|
|
894
894
|
"putio": {
|
|
@@ -924,8 +924,8 @@
|
|
|
924
924
|
},
|
|
925
925
|
"borderFocus": {
|
|
926
926
|
"$type": "color",
|
|
927
|
-
"$value": "{color.neutral.light.
|
|
928
|
-
"$description": "Focused form-control border
|
|
927
|
+
"$value": "{color.neutral.light.solidHover}",
|
|
928
|
+
"$description": "Focused form-control border, a step past hover; at least 3:1 against the fill, the page, and panels. Does not use the yellow focus shadow.",
|
|
929
929
|
"$extensions": {
|
|
930
930
|
"putio": {
|
|
931
931
|
"cssName": "field-border-focus",
|
|
@@ -936,8 +936,8 @@
|
|
|
936
936
|
},
|
|
937
937
|
"borderFocusDark": {
|
|
938
938
|
"$type": "color",
|
|
939
|
-
"$value": "{color.neutral.dark.
|
|
940
|
-
"$description": "Dark-mode focused form-control border
|
|
939
|
+
"$value": "{color.neutral.dark.solidHover}",
|
|
940
|
+
"$description": "Dark-mode focused form-control border, a step past hover; at least 3:1 against the fill, the page, and panels.",
|
|
941
941
|
"$extensions": {
|
|
942
942
|
"putio": {
|
|
943
943
|
"cssName": "field-border-focus",
|
|
@@ -1008,8 +1008,8 @@
|
|
|
1008
1008
|
},
|
|
1009
1009
|
"ring": {
|
|
1010
1010
|
"$type": "string",
|
|
1011
|
-
"$value": "0 0 0 1px {color.neutral.light.
|
|
1012
|
-
"$description": "Quiet field focus ring
|
|
1011
|
+
"$value": "0 0 0 1px {color.neutral.light.solidHover}",
|
|
1012
|
+
"$description": "Quiet field focus ring in the focus border colour. Buttons, links, and nav focus with --shadow-focus instead.",
|
|
1013
1013
|
"$extensions": {
|
|
1014
1014
|
"putio": {
|
|
1015
1015
|
"cssName": "field-ring",
|
|
@@ -1020,8 +1020,8 @@
|
|
|
1020
1020
|
},
|
|
1021
1021
|
"ringDark": {
|
|
1022
1022
|
"$type": "string",
|
|
1023
|
-
"$value": "0 0 0 1px {color.neutral.dark.
|
|
1024
|
-
"$description": "Dark-mode quiet field focus ring.
|
|
1023
|
+
"$value": "0 0 0 1px {color.neutral.dark.solidHover}",
|
|
1024
|
+
"$description": "Dark-mode quiet field focus ring. Buttons, links, and nav focus with --shadow-focus instead.",
|
|
1025
1025
|
"$extensions": {
|
|
1026
1026
|
"putio": {
|
|
1027
1027
|
"cssName": "field-ring",
|
|
@@ -1500,7 +1500,7 @@
|
|
|
1500
1500
|
},
|
|
1501
1501
|
"input": {
|
|
1502
1502
|
"$type": "color",
|
|
1503
|
-
"$value": "{
|
|
1503
|
+
"$value": "{component.field.border}",
|
|
1504
1504
|
"$extensions": {
|
|
1505
1505
|
"putio": {
|
|
1506
1506
|
"cssName": "input",
|
|
@@ -1511,7 +1511,7 @@
|
|
|
1511
1511
|
},
|
|
1512
1512
|
"inputDark": {
|
|
1513
1513
|
"$type": "color",
|
|
1514
|
-
"$value": "{
|
|
1514
|
+
"$value": "{component.field.borderDark}",
|
|
1515
1515
|
"$extensions": {
|
|
1516
1516
|
"putio": {
|
|
1517
1517
|
"cssName": "input",
|
|
@@ -4746,11 +4746,24 @@
|
|
|
4746
4746
|
},
|
|
4747
4747
|
"focus": {
|
|
4748
4748
|
"$type": "string",
|
|
4749
|
-
"$value": "0 0 0
|
|
4749
|
+
"$value": "0 0 0 2px {color.neutral.light.bg}, 0 0 0 4px {color.neutral.light.solidHover}",
|
|
4750
4750
|
"$extensions": {
|
|
4751
4751
|
"putio": {
|
|
4752
4752
|
"cssName": "shadow-focus",
|
|
4753
|
-
"mode": "
|
|
4753
|
+
"mode": "light",
|
|
4754
|
+
"figma": false
|
|
4755
|
+
}
|
|
4756
|
+
},
|
|
4757
|
+
"$description": "Button, link, and nav focus: a 2px page-coloured gap, then a 2px opaque ring at least 3:1 against the page and panels."
|
|
4758
|
+
},
|
|
4759
|
+
"focusDark": {
|
|
4760
|
+
"$type": "string",
|
|
4761
|
+
"$value": "0 0 0 2px {color.neutral.dark.bg}, 0 0 0 4px {color.neutral.dark.solidHover}",
|
|
4762
|
+
"$description": "Dark-mode button, link, and nav focus ring.",
|
|
4763
|
+
"$extensions": {
|
|
4764
|
+
"putio": {
|
|
4765
|
+
"cssName": "shadow-focus",
|
|
4766
|
+
"mode": "dark",
|
|
4754
4767
|
"figma": false
|
|
4755
4768
|
}
|
|
4756
4769
|
}
|
|
@@ -5273,6 +5286,17 @@
|
|
|
5273
5286
|
}
|
|
5274
5287
|
}
|
|
5275
5288
|
},
|
|
5289
|
+
"reveal": {
|
|
5290
|
+
"$type": "duration",
|
|
5291
|
+
"$value": "180ms",
|
|
5292
|
+
"$extensions": {
|
|
5293
|
+
"putio": {
|
|
5294
|
+
"cssName": "dur-reveal",
|
|
5295
|
+
"mode": "global",
|
|
5296
|
+
"figma": true
|
|
5297
|
+
}
|
|
5298
|
+
}
|
|
5299
|
+
},
|
|
5276
5300
|
"base": {
|
|
5277
5301
|
"$type": "duration",
|
|
5278
5302
|
"$value": "200ms",
|