@putdotio/design 1.0.0 → 1.2.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 +13 -11
- package/README.md +27 -6
- package/dist/css/tokens.css +168 -94
- package/dist/figma/putio.tokens.json +96 -49
- package/dist/tokens.d.ts +1 -1
- package/dist/tokens.dtcg.json +1041 -100
- package/dist/tokens.flat.json +821 -206
- package/dist/tokens.js +821 -206
- package/package.json +27 -3
- package/system/README.md +25 -21
- 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 +853 -2
- package/tokens/context.tokens.json +102 -14
- package/tokens/foundation.css +1 -1
- package/tokens/primitives.tokens.json +3 -3
- package/tokens/semantic.tokens.json +83 -81
- package/dist/tokens.ts +0 -1626
package/DESIGN.md
CHANGED
|
@@ -3,23 +3,23 @@ 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
|
-
success: "hsl(151, 55
|
|
14
|
-
danger: "hsl(358, 75
|
|
13
|
+
success: "hsl(151, 55%, 41.5%)"
|
|
14
|
+
danger: "hsl(358, 75%, 59%)"
|
|
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%)"
|
|
20
20
|
border: "hsl(0, 0%, 85.8%)"
|
|
21
|
-
success: "hsl(151, 55
|
|
22
|
-
danger: "hsl(358, 75
|
|
21
|
+
success: "hsl(151, 55%, 41.5%)"
|
|
22
|
+
danger: "hsl(358, 75%, 59%)"
|
|
23
23
|
typography:
|
|
24
24
|
ui:
|
|
25
25
|
family: "\"GT America\", sans-serif"
|
|
@@ -64,11 +64,11 @@ components:
|
|
|
64
64
|
|
|
65
65
|
put.io is a content-agnostic cloud file product. The interface should feel premium because the file browser is useful, fast, quiet, and honest about the data it has. Design for raw filenames, folders, transfers, storage, playback controls, and settings without pretending that structured media metadata is always available.
|
|
66
66
|
|
|
67
|
-
The canonical source for tokens is DTCG-compatible JSON in `tokens/`. Generated artifacts in `dist/` and `system/tokens.css` are outputs. This file
|
|
67
|
+
The canonical source for tokens is DTCG-compatible JSON in `tokens/`. Generated artifacts in `dist/` and `system/tokens.css` are outputs. This file explains how to use those tokens.
|
|
68
68
|
|
|
69
69
|
## Colors
|
|
70
70
|
|
|
71
|
-
Yellow `#FDCE45` is
|
|
71
|
+
Yellow `#FDCE45` is the resting `--yellow-solid` brand value in both light and dark modes. Use it for the put.io brand mark, primary action fill, folder/file emphasis, progress, and focus affordances. Use `--yellow-solid-hover` for primary button hover feedback; do not invent alternate yellows, gradient yellow into a different accent, or use yellow as foreground text on light surfaces.
|
|
72
72
|
|
|
73
73
|
Dark app surfaces are the default product mode, but the token contract includes both dark and light palettes. Light surfaces are allowed for landing, docs, and narrow product states where readability is stronger. Semantic red, green, and neutral scales should come from tokens rather than one-off CSS values.
|
|
74
74
|
|
|
@@ -94,7 +94,9 @@ The default radius is `6px`. Use `4px` for tight controls, `8px` or `10px` for l
|
|
|
94
94
|
|
|
95
95
|
## Components
|
|
96
96
|
|
|
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.
|
|
97
|
+
Buttons use yellow only for primary commands. Primary buttons use `--button-primary-bg` at rest and `--button-primary-bg-hover` on hover so the CTA never feels inert. 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
|
+
|
|
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.
|
|
98
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
|
|
|
@@ -106,6 +108,6 @@ Do use Phosphor-style inline SVG for forward-looking icon guidance and no emoji
|
|
|
106
108
|
|
|
107
109
|
Do keep `DESIGN.md`, `tokens/`, `dist/`, and `system/tokens.css` in agreement.
|
|
108
110
|
|
|
109
|
-
Don't publish private research, local file paths,
|
|
111
|
+
Don't publish private research, local file paths, internal project links, screenshots, team photos, account data, discount strategy, or auth-gated workspace URLs in the public design repo.
|
|
110
112
|
|
|
111
113
|
Don't generate Swift, Kotlin, Android XML, or Roku outputs from this repo until a consuming platform repo asks for an adapter.
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
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
9
|
|
|
10
10
|
<p>
|
|
11
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>
|
|
@@ -18,23 +18,39 @@
|
|
|
18
18
|
|
|
19
19
|
Live guide: [design.put.io](https://design.put.io)
|
|
20
20
|
|
|
21
|
-
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.
|
|
22
24
|
|
|
23
|
-
##
|
|
25
|
+
## Install
|
|
24
26
|
|
|
25
|
-
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).
|
|
26
29
|
|
|
27
30
|
```bash
|
|
28
31
|
npm install @putdotio/design
|
|
29
32
|
```
|
|
30
33
|
|
|
31
|
-
|
|
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:
|
|
32
47
|
|
|
33
48
|
- CSS custom properties: [`dist/css/tokens.css`](dist/css/tokens.css)
|
|
34
49
|
- DTCG token tree: [`dist/tokens.dtcg.json`](dist/tokens.dtcg.json)
|
|
35
50
|
- Flat token metadata: [`dist/tokens.flat.json`](dist/tokens.flat.json)
|
|
36
51
|
- Figma-safe subset: [`dist/figma/putio.tokens.json`](dist/figma/putio.tokens.json)
|
|
37
|
-
-
|
|
52
|
+
- Brand assets: [`system/assets`](system/assets) via `@putdotio/design/assets/<file>`
|
|
53
|
+
- Design contract: [`DESIGN.md`](DESIGN.md)
|
|
38
54
|
|
|
39
55
|
## Commands
|
|
40
56
|
|
|
@@ -56,6 +72,11 @@ Use `pnpm tokens:build` after token edits.
|
|
|
56
72
|
- [Security](SECURITY.md)
|
|
57
73
|
- [Agent guide](AGENTS.md)
|
|
58
74
|
|
|
75
|
+
## Contributing
|
|
76
|
+
|
|
77
|
+
See [Contributing](CONTRIBUTING.md) for local setup, validation, and pull
|
|
78
|
+
request expectations.
|
|
79
|
+
|
|
59
80
|
## License
|
|
60
81
|
|
|
61
82
|
[MIT](LICENSE)
|
package/dist/css/tokens.css
CHANGED
|
@@ -2,20 +2,53 @@
|
|
|
2
2
|
put.io design tokens
|
|
3
3
|
Do not edit directly. Generated from DTCG token JSON in tokens/.
|
|
4
4
|
|
|
5
|
-
Brand constant: Yellow #FDCE45
|
|
5
|
+
Brand constant: Yellow #FDCE45 in both light and dark modes.
|
|
6
6
|
Canonical source: DTCG-compatible JSON in tokens/
|
|
7
7
|
============================================================ */
|
|
8
8
|
|
|
9
9
|
/* -- Light (default) ------------------------------------------------ */
|
|
10
10
|
:root {
|
|
11
|
+
--button-primary-bg-hover: hsl(45, 89%, 58%);
|
|
11
12
|
--button-secondary-bg: hsl(0, 0%, 95.1%);
|
|
12
13
|
--button-secondary-fg: hsl(0, 0%, 9.0%);
|
|
13
|
-
--
|
|
14
|
+
--button-success-bg: hsl(151, 55%, 41.5%);
|
|
15
|
+
--button-success-bg-hover: hsl(151, 58%, 37%);
|
|
16
|
+
--button-danger-bg: hsl(358, 75%, 59%);
|
|
17
|
+
--button-danger-bg-hover: hsl(357, 66%, 53%);
|
|
18
|
+
--button-info-bg-hover: hsl(0, 0%, 52.3%);
|
|
19
|
+
--input-bg: hsl(0, 0%, 100%);
|
|
14
20
|
--input-border: hsl(0, 0%, 85.8%);
|
|
15
|
-
--
|
|
21
|
+
--field-bg: hsl(0, 0%, 100%);
|
|
22
|
+
--field-bg-disabled: hsl(0, 0%, 97.3%);
|
|
23
|
+
--field-border: hsl(0, 0%, 85.8%);
|
|
24
|
+
--field-border-hover: hsl(0, 0%, 78.0%);
|
|
25
|
+
--field-border-focus: hsl(0, 0%, 78.0%);
|
|
26
|
+
--field-text: hsl(0, 0%, 9.0%);
|
|
27
|
+
--field-placeholder: hsl(0, 0%, 43.5%);
|
|
28
|
+
--field-ring: 0 0 0 1px hsl(0, 0%, 78.0%);
|
|
29
|
+
--panel-bg: hsl(0, 0%, 95.1%);
|
|
30
|
+
--panel-border: hsl(0, 0%, 88.7%);
|
|
31
|
+
--panel-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
32
|
+
--background: hsl(0, 0%, 99.0%);
|
|
33
|
+
--foreground: hsl(0, 0%, 9.0%);
|
|
34
|
+
--foreground-muted: hsl(0, 0%, 43.5%);
|
|
35
|
+
--success: hsl(151, 55%, 41.5%);
|
|
36
|
+
--destructive: hsl(358, 75%, 59%);
|
|
37
|
+
--invert-foreground: hsl(0, 0%, 100%);
|
|
38
|
+
--solid-foreground: hsl(0, 0%, 0%);
|
|
39
|
+
--muted: hsl(0, 0%, 97.3%);
|
|
40
|
+
--muted-foreground: hsl(0, 0%, 43.5%);
|
|
41
|
+
--accent: hsl(0, 0%, 95.1%);
|
|
42
|
+
--accent-foreground: hsl(0, 0%, 9.0%);
|
|
43
|
+
--card: hsl(0, 0%, 95.1%);
|
|
44
|
+
--card-foreground: hsl(0, 0%, 9.0%);
|
|
45
|
+
--popover: hsl(0, 0%, 95.1%);
|
|
46
|
+
--popover-foreground: hsl(0, 0%, 9.0%);
|
|
47
|
+
--input: hsl(0, 0%, 85.8%);
|
|
48
|
+
--file-row-bg: hsla(0, 0%, 0%, 0);
|
|
16
49
|
--file-row-bg-hover: hsl(0, 0%, 97.3%);
|
|
17
50
|
--notification-info-bg: hsl(0, 0%, 97.3%);
|
|
18
|
-
--notification-danger-bg: hsl(
|
|
51
|
+
--notification-danger-bg: hsl(2, 100%, 96%);
|
|
19
52
|
--bg: hsl(0, 0%, 99.0%);
|
|
20
53
|
--bg-secondary: hsl(0, 0%, 97.3%);
|
|
21
54
|
--component-bg: hsl(0, 0%, 95.1%);
|
|
@@ -28,76 +61,84 @@
|
|
|
28
61
|
--solid-hover: hsl(0, 0%, 52.3%);
|
|
29
62
|
--text-secondary: hsl(0, 0%, 43.5%);
|
|
30
63
|
--text: hsl(0, 0%, 9.0%);
|
|
31
|
-
--green-bg: hsl(
|
|
32
|
-
--green-bg-secondary: hsl(
|
|
33
|
-
--green-component-bg: hsl(
|
|
34
|
-
--green-component-bg-hover: hsl(
|
|
35
|
-
--green-component-bg-active: hsl(
|
|
36
|
-
--green-line: hsl(
|
|
37
|
-
--green-border: hsl(
|
|
38
|
-
--green-border-hover: hsl(
|
|
39
|
-
--green-solid: hsl(151, 55
|
|
40
|
-
--green-solid-hover: hsl(
|
|
41
|
-
--green-text-secondary: hsl(
|
|
42
|
-
--green-text: hsl(
|
|
43
|
-
--red-bg: hsl(
|
|
44
|
-
--red-bg-secondary: hsl(
|
|
45
|
-
--red-component-bg: hsl(
|
|
46
|
-
--red-component-bg-hover: hsl(
|
|
47
|
-
--red-component-bg-active: hsl(
|
|
48
|
-
--red-line: hsl(
|
|
49
|
-
--red-border: hsl(
|
|
50
|
-
--red-border-hover: hsl(
|
|
51
|
-
--red-solid: hsl(358, 75
|
|
52
|
-
--red-solid-hover: hsl(
|
|
53
|
-
--red-text-secondary: hsl(
|
|
54
|
-
--red-text: hsl(
|
|
55
|
-
--yellow-bg: hsl(
|
|
56
|
-
--yellow-bg-secondary: hsl(
|
|
57
|
-
--yellow-component-bg: hsl(
|
|
58
|
-
--yellow-component-bg-hover: hsl(
|
|
59
|
-
--yellow-component-bg-active: hsl(
|
|
60
|
-
--yellow-line: hsl(
|
|
61
|
-
--yellow-border: hsl(
|
|
62
|
-
--yellow-border-hover: hsl(
|
|
63
|
-
--yellow-solid-hover:
|
|
64
|
-
--yellow-text-secondary: hsl(
|
|
65
|
-
--yellow-text: hsl(
|
|
64
|
+
--green-bg: hsl(140, 60%, 99%);
|
|
65
|
+
--green-bg-secondary: hsl(140, 41%, 97%);
|
|
66
|
+
--green-component-bg: hsl(135, 53%, 93%);
|
|
67
|
+
--green-component-bg-hover: hsl(138, 58%, 89%);
|
|
68
|
+
--green-component-bg-active: hsl(140, 50%, 84%);
|
|
69
|
+
--green-line: hsl(141, 47%, 77%);
|
|
70
|
+
--green-border: hsl(140, 39%, 68%);
|
|
71
|
+
--green-border-hover: hsl(146, 39%, 55%);
|
|
72
|
+
--green-solid: hsl(151, 55%, 41.5%);
|
|
73
|
+
--green-solid-hover: hsl(151, 58%, 37%);
|
|
74
|
+
--green-text-secondary: hsl(155, 100%, 25%);
|
|
75
|
+
--green-text: hsl(146, 35%, 17%);
|
|
76
|
+
--red-bg: hsl(0, 100%, 99%);
|
|
77
|
+
--red-bg-secondary: hsl(0, 100%, 98%);
|
|
78
|
+
--red-component-bg: hsl(2, 100%, 96%);
|
|
79
|
+
--red-component-bg-hover: hsl(4, 100%, 93%);
|
|
80
|
+
--red-component-bg-active: hsl(3, 100%, 89%);
|
|
81
|
+
--red-line: hsl(3, 97%, 86%);
|
|
82
|
+
--red-border: hsl(2, 81%, 80%);
|
|
83
|
+
--red-border-hover: hsl(2, 71%, 73%);
|
|
84
|
+
--red-solid: hsl(358, 75%, 59%);
|
|
85
|
+
--red-solid-hover: hsl(357, 66%, 53%);
|
|
86
|
+
--red-text-secondary: hsl(355, 64%, 49%);
|
|
87
|
+
--red-text: hsl(358, 62%, 24%);
|
|
88
|
+
--yellow-bg: hsl(45, 60%, 99%);
|
|
89
|
+
--yellow-bg-secondary: hsl(53, 100%, 96%);
|
|
90
|
+
--yellow-component-bg: hsl(52, 100%, 88%);
|
|
91
|
+
--yellow-component-bg-hover: hsl(50, 100%, 82%);
|
|
92
|
+
--yellow-component-bg-active: hsl(48, 100%, 76%);
|
|
93
|
+
--yellow-line: hsl(46, 87%, 73%);
|
|
94
|
+
--yellow-border: hsl(45, 67%, 67%);
|
|
95
|
+
--yellow-border-hover: hsl(44, 58%, 56%);
|
|
96
|
+
--yellow-solid-hover: hsl(45, 89%, 58%);
|
|
97
|
+
--yellow-text-secondary: hsl(46, 100%, 29%);
|
|
98
|
+
--yellow-text: hsl(43, 32%, 21%);
|
|
66
99
|
--lime-3: hsl(85, 76.0%, 92.3%);
|
|
67
100
|
--html-bg: hsl(0, 0%, 97.3%);
|
|
68
|
-
--app-bg:
|
|
69
|
-
--nav-bg:
|
|
70
|
-
--nav-item-bg:
|
|
101
|
+
--app-bg: hsl(0, 0%, 100%);
|
|
102
|
+
--nav-bg: hsl(0, 0%, 100%);
|
|
103
|
+
--nav-item-bg: hsla(0, 0%, 0%, 0);
|
|
71
104
|
--nav-item-bg-hover: hsl(0, 0%, 95.1%);
|
|
72
105
|
--nav-item-bg-active: hsl(0, 0%, 95.1%);
|
|
73
|
-
--list-item-bg:
|
|
106
|
+
--list-item-bg: hsla(0, 0%, 0%, 0);
|
|
74
107
|
--list-item-bg-hover: hsl(0, 0%, 97.3%);
|
|
75
108
|
--list-item-bg-active: hsl(0, 0%, 97.3%);
|
|
76
109
|
--list-item-border: hsl(0, 0%, 90.9%);
|
|
77
110
|
--segmented-control-bg: hsl(0, 0%, 95.1%);
|
|
78
|
-
--segmented-control-bg-active:
|
|
111
|
+
--segmented-control-bg-active: hsl(0, 0%, 100%);
|
|
79
112
|
--transfer-list-item-completing-bg: hsl(85, 76.0%, 92.3%);
|
|
80
113
|
--transfer-list-item-downloading-bg: hsl(85, 76.0%, 92.3%);
|
|
81
114
|
--transfer-list-item-finished-bg: hsl(0, 0%, 97.3%);
|
|
82
115
|
--transfer-list-item-passive-bg: hsl(0, 0%, 99.0%);
|
|
83
116
|
--hi-contrast: hsl(0, 0%, 9.0%);
|
|
84
117
|
--lo-contrast: hsl(0, 0%, 99.0%);
|
|
85
|
-
--transparent:
|
|
118
|
+
--transparent: hsla(0, 0%, 0%, 0);
|
|
86
119
|
--overlay-inline: hsla(0, 0%, 0%, 0.047);
|
|
87
120
|
--overlay-full: hsla(0, 0%, 0%, 0.439);
|
|
88
|
-
--button-primary-bg:
|
|
89
|
-
--button-primary-fg:
|
|
121
|
+
--button-primary-bg: hsl(44.7, 97.9%, 63.1%);
|
|
122
|
+
--button-primary-fg: hsl(38, 65%, 10%);
|
|
90
123
|
--button-radius: 6px;
|
|
124
|
+
--button-success-fg: hsl(0, 0%, 100%);
|
|
125
|
+
--button-danger-fg: hsl(0, 0%, 100%);
|
|
91
126
|
--input-radius: 6px;
|
|
92
|
-
--
|
|
93
|
-
--
|
|
127
|
+
--panel-radius: 10px;
|
|
128
|
+
--primary: hsl(44.7, 97.9%, 63.1%);
|
|
129
|
+
--primary-foreground: hsl(38, 65%, 10%);
|
|
130
|
+
--success-foreground: hsl(0, 0%, 100%);
|
|
131
|
+
--destructive-foreground: hsl(0, 0%, 100%);
|
|
132
|
+
--ring: hsla(47, 100%, 65%, 0.35);
|
|
133
|
+
--file-row-icon: hsl(44.7, 97.9%, 63.1%);
|
|
134
|
+
--yellow-solid: hsl(44.7, 97.9%, 63.1%);
|
|
94
135
|
--shadow-color: hsl(0, 0%, 78.0%);
|
|
95
136
|
--shadow: hsl(0, 0%, 78.0%);
|
|
96
137
|
--shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.05);
|
|
97
138
|
--shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.08);
|
|
98
139
|
--shadow-lg: 0 16px 40px hsla(0, 0%, 0%, 0.12);
|
|
99
140
|
--shadow-focus-color: hsla(47, 100%, 65%, 0.35);
|
|
100
|
-
--shadow-focus: 0 0 0 3px
|
|
141
|
+
--shadow-focus: 0 0 0 3px hsla(47, 100%, 65%, 0.35);
|
|
101
142
|
--font-sans: "GT America", sans-serif;
|
|
102
143
|
--font-display: "GT America", sans-serif;
|
|
103
144
|
--font-ui-mono: "GT America Mono", monospace;
|
|
@@ -148,14 +189,47 @@
|
|
|
148
189
|
|
|
149
190
|
/* -- Dark (.dark) --------------------------------------------------- */
|
|
150
191
|
.dark {
|
|
192
|
+
--button-primary-bg-hover: hsl(45, 89%, 58%);
|
|
151
193
|
--button-secondary-bg: hsl(0, 0%, 13.6%);
|
|
152
194
|
--button-secondary-fg: hsl(0, 0%, 93.0%);
|
|
153
|
-
--
|
|
195
|
+
--button-success-bg: hsl(151, 55%, 41.5%);
|
|
196
|
+
--button-success-bg-hover: hsl(151, 68%, 35%);
|
|
197
|
+
--button-danger-bg: hsl(358, 75%, 59%);
|
|
198
|
+
--button-danger-bg-hover: hsl(357, 67%, 53%);
|
|
199
|
+
--button-info-bg-hover: hsl(0, 0%, 49.4%);
|
|
200
|
+
--input-bg: hsl(0, 0%, 8.5%);
|
|
154
201
|
--input-border: hsl(0, 0%, 24.3%);
|
|
155
|
-
--
|
|
202
|
+
--field-bg: hsl(0, 0%, 8.5%);
|
|
203
|
+
--field-bg-disabled: hsl(0, 0%, 11.0%);
|
|
204
|
+
--field-border: hsl(0, 0%, 24.3%);
|
|
205
|
+
--field-border-hover: hsl(0, 0%, 31.2%);
|
|
206
|
+
--field-border-focus: hsl(0, 0%, 31.2%);
|
|
207
|
+
--field-text: hsl(0, 0%, 93.0%);
|
|
208
|
+
--field-placeholder: hsl(0, 0%, 62.8%);
|
|
209
|
+
--field-ring: 0 0 0 1px hsl(0, 0%, 31.2%);
|
|
210
|
+
--panel-bg: hsl(0, 0%, 13.6%);
|
|
211
|
+
--panel-border: hsl(0, 0%, 20.5%);
|
|
212
|
+
--panel-shadow: 0 4px 12px hsla(0, 0%, 0%, 0.5);
|
|
213
|
+
--background: hsl(0, 0%, 8.5%);
|
|
214
|
+
--foreground: hsl(0, 0%, 93.0%);
|
|
215
|
+
--foreground-muted: hsl(0, 0%, 62.8%);
|
|
216
|
+
--success: hsl(151, 55%, 41.5%);
|
|
217
|
+
--destructive: hsl(358, 75%, 59%);
|
|
218
|
+
--invert-foreground: hsl(0, 0%, 8.5%);
|
|
219
|
+
--solid-foreground: hsl(0, 0%, 100%);
|
|
220
|
+
--muted: hsl(0, 0%, 11.0%);
|
|
221
|
+
--muted-foreground: hsl(0, 0%, 62.8%);
|
|
222
|
+
--accent: hsl(0, 0%, 13.6%);
|
|
223
|
+
--accent-foreground: hsl(0, 0%, 93.0%);
|
|
224
|
+
--card: hsl(0, 0%, 13.6%);
|
|
225
|
+
--card-foreground: hsl(0, 0%, 93.0%);
|
|
226
|
+
--popover: hsl(0, 0%, 13.6%);
|
|
227
|
+
--popover-foreground: hsl(0, 0%, 93.0%);
|
|
228
|
+
--input: hsl(0, 0%, 24.3%);
|
|
229
|
+
--file-row-bg: hsla(0, 0%, 0%, 0);
|
|
156
230
|
--file-row-bg-hover: hsl(0, 0%, 11.0%);
|
|
157
231
|
--notification-info-bg: hsl(0, 0%, 13.6%);
|
|
158
|
-
--notification-danger-bg: hsl(
|
|
232
|
+
--notification-danger-bg: hsl(0, 55%, 15%);
|
|
159
233
|
--bg: hsl(0, 0%, 8.5%);
|
|
160
234
|
--bg-secondary: hsl(0, 0%, 11.0%);
|
|
161
235
|
--component-bg: hsl(0, 0%, 13.6%);
|
|
@@ -168,49 +242,49 @@
|
|
|
168
242
|
--solid-hover: hsl(0, 0%, 49.4%);
|
|
169
243
|
--text-secondary: hsl(0, 0%, 62.8%);
|
|
170
244
|
--text: hsl(0, 0%, 93.0%);
|
|
171
|
-
--green-bg: hsl(
|
|
172
|
-
--green-bg-secondary: hsl(
|
|
173
|
-
--green-component-bg: hsl(
|
|
174
|
-
--green-component-bg-hover: hsl(
|
|
175
|
-
--green-component-bg-active: hsl(
|
|
176
|
-
--green-line: hsl(
|
|
177
|
-
--green-border: hsl(
|
|
178
|
-
--green-border-hover: hsl(
|
|
179
|
-
--green-solid: hsl(151, 55
|
|
180
|
-
--green-solid-hover: hsl(151,
|
|
181
|
-
--green-text-secondary: hsl(
|
|
182
|
-
--green-text: hsl(
|
|
183
|
-
--red-bg: hsl(
|
|
184
|
-
--red-bg-secondary: hsl(
|
|
185
|
-
--red-component-bg: hsl(
|
|
186
|
-
--red-component-bg-hover: hsl(
|
|
187
|
-
--red-component-bg-active: hsl(
|
|
188
|
-
--red-line: hsl(
|
|
189
|
-
--red-border: hsl(
|
|
190
|
-
--red-border-hover: hsl(
|
|
191
|
-
--red-solid: hsl(358, 75
|
|
192
|
-
--red-solid-hover: hsl(
|
|
193
|
-
--red-text-secondary: hsl(
|
|
194
|
-
--red-text: hsl(
|
|
195
|
-
--yellow-bg: hsl(
|
|
196
|
-
--yellow-bg-secondary: hsl(
|
|
197
|
-
--yellow-component-bg: hsl(45,
|
|
198
|
-
--yellow-component-bg-hover: hsl(
|
|
199
|
-
--yellow-component-bg-active: hsl(
|
|
200
|
-
--yellow-line: hsl(
|
|
201
|
-
--yellow-border: hsl(
|
|
202
|
-
--yellow-border-hover: hsl(
|
|
203
|
-
--yellow-solid-hover:
|
|
204
|
-
--yellow-text-secondary: hsl(
|
|
205
|
-
--yellow-text: hsl(
|
|
245
|
+
--green-bg: hsl(140, 13%, 6%);
|
|
246
|
+
--green-bg-secondary: hsl(149, 21%, 9%);
|
|
247
|
+
--green-component-bg: hsl(151, 35%, 13%);
|
|
248
|
+
--green-component-bg-hover: hsl(149, 49%, 16%);
|
|
249
|
+
--green-component-bg-active: hsl(149, 46%, 19%);
|
|
250
|
+
--green-line: hsl(146, 42%, 24%);
|
|
251
|
+
--green-border: hsl(146, 41%, 29%);
|
|
252
|
+
--green-border-hover: hsl(148, 43%, 34%);
|
|
253
|
+
--green-solid: hsl(151, 55%, 41.5%);
|
|
254
|
+
--green-solid-hover: hsl(151, 68%, 35%);
|
|
255
|
+
--green-text-secondary: hsl(146, 56%, 60%);
|
|
256
|
+
--green-text: hsl(142, 71%, 82%);
|
|
257
|
+
--red-bg: hsl(8, 13%, 7%);
|
|
258
|
+
--red-bg-secondary: hsl(4, 28%, 10%);
|
|
259
|
+
--red-component-bg: hsl(0, 55%, 15%);
|
|
260
|
+
--red-component-bg-hover: hsl(357, 70%, 19%);
|
|
261
|
+
--red-component-bg-active: hsl(358, 62%, 24%);
|
|
262
|
+
--red-line: hsl(359, 52%, 30%);
|
|
263
|
+
--red-border: hsl(0, 46%, 38%);
|
|
264
|
+
--red-border-hover: hsl(359, 45%, 49%);
|
|
265
|
+
--red-solid: hsl(358, 75%, 59%);
|
|
266
|
+
--red-solid-hover: hsl(357, 67%, 53%);
|
|
267
|
+
--red-text-secondary: hsl(2, 100%, 77%);
|
|
268
|
+
--red-text: hsl(5, 100%, 91%);
|
|
269
|
+
--yellow-bg: hsl(0, 0%, 0%);
|
|
270
|
+
--yellow-bg-secondary: hsl(38, 35%, 6%);
|
|
271
|
+
--yellow-component-bg: hsl(45, 70%, 9%);
|
|
272
|
+
--yellow-component-bg-hover: hsl(44, 100%, 11%);
|
|
273
|
+
--yellow-component-bg-active: hsl(44, 100%, 14%);
|
|
274
|
+
--yellow-line: hsl(45, 71%, 19%);
|
|
275
|
+
--yellow-border: hsl(45, 53%, 26%);
|
|
276
|
+
--yellow-border-hover: hsl(45, 49%, 34%);
|
|
277
|
+
--yellow-solid-hover: hsl(45, 89%, 58%);
|
|
278
|
+
--yellow-text-secondary: hsl(45, 100%, 64%);
|
|
279
|
+
--yellow-text: hsl(46, 89%, 86%);
|
|
206
280
|
--lime-3: hsl(85, 45%, 12%);
|
|
207
|
-
--html-bg:
|
|
281
|
+
--html-bg: hsl(0, 0%, 0%);
|
|
208
282
|
--app-bg: hsl(0, 0%, 8.5%);
|
|
209
283
|
--nav-bg: hsl(0, 0%, 8.5%);
|
|
210
|
-
--nav-item-bg:
|
|
284
|
+
--nav-item-bg: hsla(0, 0%, 0%, 0);
|
|
211
285
|
--nav-item-bg-hover: hsl(0, 0%, 13.6%);
|
|
212
286
|
--nav-item-bg-active: hsl(0, 0%, 13.6%);
|
|
213
|
-
--list-item-bg:
|
|
287
|
+
--list-item-bg: hsla(0, 0%, 0%, 0);
|
|
214
288
|
--list-item-bg-hover: hsl(0, 0%, 11.0%);
|
|
215
289
|
--list-item-bg-active: hsl(0, 0%, 11.0%);
|
|
216
290
|
--list-item-border: hsl(0, 0%, 17.9%);
|
|
@@ -224,8 +298,8 @@
|
|
|
224
298
|
--lo-contrast: hsl(0, 0%, 8.5%);
|
|
225
299
|
--overlay-inline: hsla(0, 0%, 0%, 0.439);
|
|
226
300
|
--overlay-full: hsla(0, 0%, 0%, 0.565);
|
|
227
|
-
--shadow-color:
|
|
228
|
-
--shadow:
|
|
301
|
+
--shadow-color: hsl(0, 0%, 0%);
|
|
302
|
+
--shadow: hsl(0, 0%, 0%);
|
|
229
303
|
--shadow-sm: 0 1px 2px hsla(0, 0%, 0%, 0.4);
|
|
230
304
|
--shadow-md: 0 4px 12px hsla(0, 0%, 0%, 0.5);
|
|
231
305
|
--shadow-lg: 0 16px 40px hsla(0, 0%, 0%, 0.6);
|
|
@@ -363,4 +437,4 @@ a:hover { text-decoration-color: currentColor; }
|
|
|
363
437
|
.bg-1 { background: var(--bg); }
|
|
364
438
|
.bg-2 { background: var(--bg-secondary); }
|
|
365
439
|
.bg-component { background: var(--component-bg); }
|
|
366
|
-
.bg-yellow { background: var(--yellow-solid); color:
|
|
440
|
+
.bg-yellow { background: var(--yellow-solid); color: var(--primary-foreground); }
|