@kanzo-tech/theme 0.19.0 → 0.21.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.
Files changed (44) hide show
  1. package/README.md +61 -22
  2. package/dist/contrast.d.ts +34 -0
  3. package/dist/contrast.d.ts.map +1 -0
  4. package/dist/index.d.ts +35 -74
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +188 -133
  7. package/dist/index.js.map +1 -1
  8. package/dist/ink.d.ts +2 -2
  9. package/dist/sections.d.ts +0 -7
  10. package/dist/sections.d.ts.map +1 -1
  11. package/package.json +1 -1
  12. package/theme-data.json +35 -107
  13. package/themes/catppuccin-latte.css +52 -45
  14. package/themes/catppuccin-mocha.css +55 -47
  15. package/themes/kanzo-dark.css +55 -55
  16. package/themes/kanzo.css +53 -50
  17. package/themes/lofi-dark.css +70 -0
  18. package/themes/lofi.css +38 -22
  19. package/themes/nord-dark.css +54 -46
  20. package/themes/nord.css +55 -47
  21. package/themes.css +4 -25
  22. package/tokens.css +49 -35
  23. package/themes/acid.css +0 -54
  24. package/themes/bank-dark.css +0 -62
  25. package/themes/bank-private-dark.css +0 -62
  26. package/themes/bank-private.css +0 -61
  27. package/themes/bank.css +0 -61
  28. package/themes/catppuccin-latte-dark.css +0 -62
  29. package/themes/catppuccin-mocha-dark.css +0 -62
  30. package/themes/cmyk.css +0 -54
  31. package/themes/coffee.css +0 -54
  32. package/themes/cyberpunk.css +0 -54
  33. package/themes/dim.css +0 -54
  34. package/themes/dracula-dark.css +0 -62
  35. package/themes/dracula.css +0 -61
  36. package/themes/forest.css +0 -54
  37. package/themes/lemonade.css +0 -54
  38. package/themes/luxury.css +0 -54
  39. package/themes/monochrome-dark.css +0 -62
  40. package/themes/monochrome.css +0 -61
  41. package/themes/night.css +0 -54
  42. package/themes/sunset.css +0 -54
  43. package/themes/synthwave.css +0 -54
  44. package/themes/wireframe.css +0 -54
@@ -1,61 +1,68 @@
1
- /* catppuccin-latte — a theme is one mode, one flat block, written by hand. */
1
+ /* @family catppuccin
2
+ @label Catppuccin Latte
3
+
4
+ Catppuccin's Latte flavour: Base #eff1f5, Text #4c4f69, Mauve for the brand.
5
+ One mode, one flat block, written by hand. */
2
6
  [data-theme="catppuccin-latte"] {
3
7
  color-scheme: light;
4
8
 
5
- /* The twenty-one */
6
- --background: #fafafb;
7
- --foreground: #0c0d12;
8
- --card: #fafafb;
9
- --muted: #f1f2f5;
10
- --muted-foreground: #505360;
9
+ /* Surfaces, ink, brand, lines */
10
+ --background: #eff1f5;
11
+ --foreground: #4c4f69;
12
+ --card: #f5f6f9;
13
+ --muted: #e6e9ef;
14
+ --muted-foreground: #5c5f77;
11
15
  --primary: #8839ef;
12
- --primary-foreground: #faf9fe;
13
- --secondary: #e9eaf0;
14
- --accent: #dfe1e8;
15
- --destructive: #e7000b;
16
- --destructive-content: #fef9f8;
17
- --info: #155dfc;
18
- --info-content: #f8fafe;
19
- --success: #009966;
20
- --success-content: #001309;
21
- --warning: #e17100;
22
- --warning-content: #1b0700;
23
- --border: #d2d4dc;
24
- --ring: #a578fa;
16
+ --primary-foreground: #f5f6f9;
17
+ --secondary: #ccd0da;
18
+ --accent: #dce0e8;
19
+ --border: #bcc0cc;
20
+ --input: #86899b;
21
+ --ring: #8839ef;
22
+ --field: #f5f6f9;
23
+ --faint: #63667c;
25
24
 
26
- /* Optional: each falls back to a bridge default in tokens.css when left out */
27
- --input: #8d91a1;
28
- --field: #00000005;
29
- --faint: #505360;
30
- --destructive-foreground: #8d0003;
31
- --info-foreground: #0032a7;
32
- --success-foreground: #005b3b;
33
- --warning-foreground: #844000;
25
+ /* Status: the fill, the ink on it, and the same family read on the page */
26
+ --destructive: #d20f39;
27
+ --destructive-content: #ffe5e4;
28
+ --destructive-foreground: #9f4051;
29
+ --info: #1e66f5;
30
+ --info-content: #e7f9ff;
31
+ --info-foreground: #3860bc;
32
+ --success: #40a02b;
33
+ --success-content: #010901;
34
+ --success-foreground: #4a7856;
35
+ --warning: #df8e1d;
36
+ --warning-content: #120700;
37
+ --warning-foreground: #7f675e;
34
38
 
35
39
  /* Shape */
36
40
  --radius-box: 0.75rem;
37
41
  --radius-field: 0.5rem;
38
- --radius-selector: 0.25rem;
42
+ --radius-selector: 0.375rem;
39
43
  --size-field: 0.25rem;
40
44
  --size-selector: 0.25rem;
41
45
  --stroke: 1px;
42
46
  --relief: 0;
43
47
 
44
- /* Optional: categorical set and syntax */
48
+ /* Categorical set */
45
49
  --chart-capacity: 8;
46
- --chart-1: #00c950;
47
- --chart-2: #a800b7;
48
- --chart-3: #ff8904;
49
- --chart-4: #2b7fff;
50
- --chart-5: #ff2056;
51
- --chart-6: #7008e7;
52
- --chart-7: #a65f00;
53
- --chart-8: #0092b8;
54
- --syntax-keyword: #8839ef;
55
- --syntax-string: #208000;
56
- --syntax-number: #c04800;
57
- --syntax-function: #1c64f3;
58
- --syntax-identifier: #d20f39;
59
- --syntax-property: #007b82;
60
- --syntax-type: #9e6100;
50
+ --chart-1: #8839ef;
51
+ --chart-2: #f05600;
52
+ --chart-3: #0085d8;
53
+ --chart-4: #487f00;
54
+ --chart-5: #d260b4;
55
+ --chart-6: #007985;
56
+ --chart-7: #a86200;
57
+ --chart-8: #a639ad;
58
+
59
+ /* Syntax */
60
+ --syntax-keyword: #8535eb;
61
+ --syntax-string: #0c7900;
62
+ --syntax-number: #c52a00;
63
+ --syntax-function: #135cea;
64
+ --syntax-variable: #c7233b;
65
+ --syntax-property: #007279;
66
+ --syntax-type: #9f5200;
67
+ --syntax-annotation: #a93a8f;
61
68
  }
@@ -1,61 +1,69 @@
1
- /* catppuccin-mocha — a theme is one mode, one flat block, written by hand. */
1
+ /* @family catppuccin
2
+ @label Catppuccin Mocha
3
+
4
+ Catppuccin's Mocha flavour: Base #1e1e2e, Text #cdd6f4, Mauve for the brand.
5
+ One mode, one flat block, written by hand. */
2
6
  [data-theme="catppuccin-mocha"] {
3
- color-scheme: light;
7
+ color-scheme: dark;
4
8
 
5
- /* The twenty-one */
6
- --background: #fafafb;
7
- --foreground: #0d0e16;
8
- --card: #fafafb;
9
- --muted: #eeeff4;
10
- --muted-foreground: #3f4354;
11
- --primary: #a681d0;
12
- --primary-foreground: #130620;
13
- --secondary: #e4e5ed;
14
- --accent: #d6d8e2;
15
- --destructive: #e7000b;
16
- --destructive-content: #fef9f8;
17
- --info: #155dfc;
18
- --info-content: #f8fafe;
19
- --success: #009966;
20
- --success-content: #001309;
21
- --warning: #e17100;
22
- --warning-content: #1b0700;
23
- --border: #c5c7d3;
24
- --ring: #a681d0;
9
+ /* Surfaces, ink, brand, lines */
10
+ --background: #1e1e2e;
11
+ --foreground: #cdd6f4;
12
+ --card: #232334;
13
+ --popover: #181825;
14
+ --muted: #313244;
15
+ --muted-foreground: #bac2de;
16
+ --primary: #cba6f7;
17
+ --primary-foreground: #11111b;
18
+ --secondary: #45475a;
19
+ --accent: #3a3b50;
20
+ --border: #45475a;
21
+ --input: #7f849c;
22
+ --ring: #cba6f7;
23
+ --field: #1e1e2e;
24
+ --faint: #a6adc8;
25
25
 
26
- /* Optional: each falls back to a bridge default in tokens.css when left out */
27
- --input: #6c7086;
28
- --field: #00001c08;
29
- --faint: #64677d;
30
- --destructive-foreground: #8d0003;
31
- --info-foreground: #0032a7;
32
- --success-foreground: #005b3b;
33
- --warning-foreground: #844000;
26
+ /* Status: the fill, the ink on it, and the same family read on the page */
27
+ --destructive: #f38ba8;
28
+ --destructive-content: #14070a;
29
+ --destructive-foreground: #e8abc6;
30
+ --info: #89b4fa;
31
+ --info-content: #070c15;
32
+ --info-foreground: #a4c2f8;
33
+ --success: #a6e3a1;
34
+ --success-content: #0a1209;
35
+ --success-foreground: #b6dfc4;
36
+ --warning: #f9e2af;
37
+ --warning-content: #15120b;
38
+ --warning-foreground: #e7decd;
34
39
 
35
40
  /* Shape */
36
41
  --radius-box: 0.75rem;
37
42
  --radius-field: 0.5rem;
38
- --radius-selector: 0.25rem;
43
+ --radius-selector: 0.375rem;
39
44
  --size-field: 0.25rem;
40
45
  --size-selector: 0.25rem;
41
46
  --stroke: 1px;
42
47
  --relief: 0;
43
48
 
44
- /* Optional: categorical set and syntax */
49
+ /* Categorical set */
45
50
  --chart-capacity: 8;
46
- --chart-1: #9810fa;
47
- --chart-2: #00a63e;
48
- --chart-3: #432dd7;
49
- --chart-4: #e17100;
50
- --chart-5: #e12afb;
51
- --chart-6: #a65f00;
52
- --chart-7: #2b7fff;
53
- --chart-8: #c6005c;
54
- --syntax-keyword: #805da8;
55
- --syntax-string: #3b7438;
56
- --syntax-number: #9a5b30;
57
- --syntax-function: #466dae;
58
- --syntax-identifier: #ad4d6b;
59
- --syntax-property: #207368;
60
- --syntax-type: #675323;
51
+ --chart-1: #cba6f7;
52
+ --chart-2: #fab387;
53
+ --chart-3: #9390dc;
54
+ --chart-4: #68cda9;
55
+ --chart-5: #f5c2e7;
56
+ --chart-6: #abfdf4;
57
+ --chart-7: #89dae4;
58
+ --chart-8: #d08b75;
59
+
60
+ /* Syntax */
61
+ --syntax-keyword: #cba6f7;
62
+ --syntax-string: #a6e3a1;
63
+ --syntax-number: #fab387;
64
+ --syntax-function: #89b4fa;
65
+ --syntax-variable: #f2cdcd;
66
+ --syntax-property: #b4befe;
67
+ --syntax-type: #f9e2af;
68
+ --syntax-annotation: #f5c2e7;
61
69
  }
@@ -1,46 +1,43 @@
1
- /* kanzo-dark — a theme is one mode, one flat block, written by hand. */
2
- /* `:root.dark:not([data-theme])` for the same reason kanzo.css claims the bare unattributed
3
- document, and for the half that file could not cover: a first-time visitor with the OS in dark
4
- has an empty `localStorage`, so `themeByAppearance` resolves to its `""` default and no
5
- `data-theme` is written — while the blocking theme script has already put `.dark` on `<html>`
6
- from `prefers-color-scheme`. Without this selector that document paints kanzo, which declares
7
- `color-scheme: light`: a page that says it is dark and is not. Measured on a clean load, no
8
- control touched. It outranks `:root:not([data-theme])` by the class and loses to any
9
- `[data-theme]` through the `:not()`, so choosing a theme still wins. See `themes.test.ts`,
10
- "leaves no dark document painted by a light theme". */
1
+ /* @family kanzo
2
+ @label Kanzo Dark
3
+
4
+ The brand at night: near-black green, mist ink, and the neon #1AE973 as the brand fill it is on
5
+ kanzo.tech.
6
+ The dark default: `:root.dark:not([data-theme])` paints a first visit whose OS is dark before any
7
+ theme is chosen (themes.test.ts, "leaves no dark document painted by a light theme"). */
11
8
  :root.dark:not([data-theme]), [data-theme="kanzo-dark"] {
12
9
  color-scheme: dark;
13
10
 
14
- /* The twenty-one */
15
- --background: #0a0a0a;
16
- --foreground: #efefef;
17
- --card: #0d0d0d;
18
- --muted: #141414;
19
- --muted-foreground: #aaaaaa;
20
- --primary: #efefef;
21
- --primary-foreground: #0a0a0a;
22
- --secondary: #1d1d1d;
23
- --accent: #282828;
24
- --destructive: #e7000b;
25
- --destructive-content: #ffffff;
26
- --info: #155dfc;
27
- --info-content: #e8f0ff;
28
- --success: #009966;
29
- --success-content: #060c08;
30
- --warning: #e17100;
31
- --warning-content: #100805;
32
- --border: #353535;
33
- --ring: #737373;
11
+ /* Surfaces, ink, brand, lines */
12
+ --background: #070b08;
13
+ --foreground: #e6eee5;
14
+ --card: #0b110c;
15
+ --popover: #101712;
16
+ --muted: #121a14;
17
+ --muted-foreground: #a3b2a6;
18
+ --primary: #1ae973;
19
+ --primary-foreground: #002b0b;
20
+ --secondary: #18221a;
21
+ --accent: #1d281f;
22
+ --border: #27342a;
23
+ --input: #5f6e63;
24
+ --ring: #1ae973;
25
+ --field: #070b08;
26
+ --faint: #8a998d;
34
27
 
35
- /* Optional: each falls back to a bridge default in tokens.css when left out */
36
- --popover: #141414;
37
- --input: #737373;
38
- --field: #0a0a0a;
39
- --faint: #7c7c7c;
40
- --destructive-foreground: #ff8677;
41
- --info-foreground: #7aa7ff;
42
- --success-foreground: #66c999;
43
- --warning-foreground: #ffa264;
28
+ /* Status: the fill, the ink on it, and the same family read on the page */
29
+ --destructive: #f04438;
30
+ --destructive-content: #140201;
31
+ --destructive-foreground: #f59180;
32
+ --info: #2e90fa;
33
+ --info-content: #010715;
34
+ --info-foreground: #7fb8f5;
35
+ --success: #1ae973;
36
+ --success-content: #001305;
37
+ --success-foreground: #8deda3;
38
+ --warning: #fdb022;
39
+ --warning-content: #160b00;
40
+ --warning-foreground: #f6ca85;
44
41
 
45
42
  /* Shape */
46
43
  --radius-box: 0.75rem;
@@ -51,21 +48,24 @@
51
48
  --stroke: 1px;
52
49
  --relief: 0;
53
50
 
54
- /* Optional: categorical set and syntax */
51
+ /* Categorical set */
55
52
  --chart-capacity: 8;
56
- --chart-1: #a800b7;
57
- --chart-2: #f54900;
58
- --chart-3: #ad46ff;
59
- --chart-4: #a65f00;
60
- --chart-5: #7f22fe;
61
- --chart-6: #e7000b;
62
- --chart-7: #1447e6;
63
- --chart-8: #009966;
64
- --syntax-keyword: #c27aff;
65
- --syntax-string: #00d492;
66
- --syntax-number: #ff8904;
67
- --syntax-function: #51a2ff;
68
- --syntax-identifier: #ff6467;
69
- --syntax-property: #00d3f2;
70
- --syntax-type: #fdc700;
53
+ --chart-1: #64c600;
54
+ --chart-2: #a48afb;
55
+ --chart-3: #fd853a;
56
+ --chart-4: #53b1fd;
57
+ --chart-5: #f670c7;
58
+ --chart-6: #ffd632;
59
+ --chart-7: #2ed3b7;
60
+ --chart-8: #9e6dcb;
61
+
62
+ /* Syntax */
63
+ --syntax-keyword: #b69cff;
64
+ --syntax-string: #86e3ad;
65
+ --syntax-number: #ffb27a;
66
+ --syntax-function: #6cb6ff;
67
+ --syntax-variable: #1ae973;
68
+ --syntax-property: #67d4e0;
69
+ --syntax-type: #f2d36b;
70
+ --syntax-annotation: #ff7ac6;
71
71
  }
package/themes/kanzo.css CHANGED
@@ -1,42 +1,42 @@
1
- /* kanzo — a theme is one mode, one flat block, written by hand.
1
+ /* @family kanzo
2
+ @label Kanzo
2
3
 
3
- `:root:not([data-theme])` and NOT a bare `:root`: this is the default theme, so it binds to the
4
- document that has not chosen one. A bare `:root` has the same specificity as `[data-theme="x"]`,
5
- which makes source order the tie-breaker, and `themes.css` imports alphabetically, so a bare
6
- `:root` here would repaint every theme sorting before "kanzo.css" with kanzo's colours. See
7
- `themes.test.ts`, "binds the default theme so it cannot outrank a chosen one". */
4
+ The brand at kanzo.tech, by day: deep green on white, mist for the quiet surfaces, the neon
5
+ kept for success.
6
+ The default: `:root:not([data-theme])` binds the document that chose nothing without tying a
7
+ chosen `[data-theme]` on specificity (themes.test.ts, "binds the default theme…"). */
8
8
  :root:not([data-theme]), [data-theme="kanzo"] {
9
9
  color-scheme: light;
10
10
 
11
- /* The twenty-one */
12
- --background: #fafafa;
13
- --foreground: #0f0f0f;
14
- --card: #fafafa;
15
- --muted: #efefef;
16
- --muted-foreground: #454545;
17
- --primary: #0f0f0f;
18
- --primary-foreground: #fafafa;
19
- --secondary: #e6e6e6;
20
- --accent: #d9d9d9;
21
- --destructive: #e7000b;
22
- --destructive-content: #fef9f8;
23
- --info: #155dfc;
24
- --info-content: #f8fafe;
25
- --success: #009966;
26
- --success-content: #001309;
27
- --warning: #e17100;
28
- --warning-content: #1b0700;
29
- --border: #c9c9c9;
30
- --ring: #737373;
11
+ /* Surfaces, ink, brand, lines */
12
+ --background: #fbfcfb;
13
+ --foreground: #09110b;
14
+ --card: #ffffff;
15
+ --muted: #eef2ed;
16
+ --muted-foreground: #46534a;
17
+ --primary: #004011;
18
+ --primary-foreground: #f2fff6;
19
+ --secondary: #e0e7df;
20
+ --accent: #e3eae2;
21
+ --border: #cfd9ce;
22
+ --input: #7d8b80;
23
+ --ring: #0f8c42;
24
+ --field: #ffffff;
25
+ --faint: #56635a;
31
26
 
32
- /* Optional: each falls back to a bridge default in tokens.css when left out */
33
- --input: #737373;
34
- --field: #00000008;
35
- --faint: #6a6a6a;
36
- --destructive-foreground: #8d0003;
37
- --info-foreground: #0032a7;
38
- --success-foreground: #005b3b;
39
- --warning-foreground: #844000;
27
+ /* Status: the fill, the ink on it, and the same family read on the page */
28
+ --destructive: #d92d20;
29
+ --destructive-content: #fff6f1;
30
+ --destructive-foreground: #802a1b;
31
+ --info: #175cd3;
32
+ --info-content: #e0f0ff;
33
+ --info-foreground: #113e7c;
34
+ --success: #1ae973;
35
+ --success-content: #003d10;
36
+ --success-foreground: #208544;
37
+ --warning: #f5a524;
38
+ --warning-content: #150a00;
39
+ --warning-foreground: #8d6522;
40
40
 
41
41
  /* Shape */
42
42
  --radius-box: 0.75rem;
@@ -47,21 +47,24 @@
47
47
  --stroke: 1px;
48
48
  --relief: 0;
49
49
 
50
- /* Optional: categorical set and syntax */
50
+ /* Categorical set */
51
51
  --chart-capacity: 8;
52
- --chart-1: #9810fa;
53
- --chart-2: #d08700;
54
- --chart-3: #2b7fff;
55
- --chart-4: #ca3500;
56
- --chart-5: #e12afb;
57
- --chart-6: #fb2c36;
58
- --chart-7: #7008e7;
59
- --chart-8: #009966;
60
- --syntax-keyword: #8200db;
61
- --syntax-string: #007a55;
62
- --syntax-number: #ca3500;
63
- --syntax-function: #1447e6;
64
- --syntax-identifier: #c10007;
65
- --syntax-property: #007595;
66
- --syntax-type: #a15c00;
52
+ --chart-1: #0b7a3b;
53
+ --chart-2: #6941c6;
54
+ --chart-3: #a71200;
55
+ --chart-4: #4079fe;
56
+ --chart-5: #c11574;
57
+ --chart-6: #a15c07;
58
+ --chart-7: #0e7490;
59
+ --chart-8: #4a4d98;
60
+
61
+ /* Syntax */
62
+ --syntax-keyword: #6d28d9;
63
+ --syntax-string: #08743a;
64
+ --syntax-number: #b54708;
65
+ --syntax-function: #1d4ed8;
66
+ --syntax-variable: #004011;
67
+ --syntax-property: #0e7490;
68
+ --syntax-type: #9a5b00;
69
+ --syntax-annotation: #c11574;
67
70
  }
@@ -0,0 +1,70 @@
1
+ /* @family lofi
2
+ @label Lo-fi Dark
3
+
4
+ lofi inverted: white on near-black, greys for every surface, colour only where state needs it.
5
+ One mode, one flat block, written by hand. */
6
+ [data-theme="lofi-dark"] {
7
+ color-scheme: dark;
8
+
9
+ /* Surfaces, ink, brand, lines */
10
+ --background: #0a0a0a;
11
+ --foreground: #ffffff;
12
+ --card: #0f0f0f;
13
+ --popover: #141414;
14
+ --muted: #171717;
15
+ --muted-foreground: #b3b3b3;
16
+ --primary: #f2f2f2;
17
+ --primary-foreground: #0a0a0a;
18
+ --secondary: #e6e6e6;
19
+ --secondary-foreground: #0a0a0a;
20
+ --accent: #1f1f1f;
21
+ --border: #2b2b2b;
22
+ --input: #6b6b6b;
23
+ --ring: #f2f2f2;
24
+ --field: #0a0a0a;
25
+ --faint: #9a9a9a;
26
+
27
+ /* Status: the fill, the ink on it, and the same family read on the page */
28
+ --destructive: #ff9181;
29
+ --destructive-content: #160706;
30
+ --destructive-foreground: #ffbeb3;
31
+ --info: #5fcfdd;
32
+ --info-content: #031011;
33
+ --info-foreground: #a7e3eb;
34
+ --success: #69fec3;
35
+ --success-content: #04160e;
36
+ --success-foreground: #b1ffdb;
37
+ --warning: #ffce69;
38
+ --warning-content: #160f04;
39
+ --warning-foreground: #ffe2aa;
40
+
41
+ /* Shape */
42
+ --radius-box: 0.5rem;
43
+ --radius-field: 0.25rem;
44
+ --radius-selector: 2rem;
45
+ --size-field: 0.25rem;
46
+ --size-selector: 0.25rem;
47
+ --stroke: 1px;
48
+ --relief: 0;
49
+
50
+ /* Categorical set */
51
+ --chart-capacity: 8;
52
+ --chart-1: #d4d4d4;
53
+ --chart-2: #fdb1c1;
54
+ --chart-3: #a7f7ff;
55
+ --chart-4: #83d49d;
56
+ --chart-5: #f4f4a4;
57
+ --chart-6: #c4b5fd;
58
+ --chart-7: #db90c0;
59
+ --chart-8: #9399e0;
60
+
61
+ /* Syntax */
62
+ --syntax-keyword: #ffffff;
63
+ --syntax-string: #b9d6c4;
64
+ --syntax-number: #e0c3b4;
65
+ --syntax-function: #b4c8de;
66
+ --syntax-variable: #e5e5e5;
67
+ --syntax-property: #b4ccd6;
68
+ --syntax-type: #d9cfae;
69
+ --syntax-annotation: #dcb4cf;
70
+ }
package/themes/lofi.css CHANGED
@@ -1,15 +1,13 @@
1
- /* lofi — imported from daisyUI 5.7.20 (MIT), converted from OKLCh to hex.
2
- Copyright (c) 2020 Pouya Saadeghi. https://github.com/saadeghi/daisyui
1
+ /* @family lofi
2
+ @label Lo-fi
3
3
 
4
- Their twenty colours mapped onto our twenty-one; the mapping and what it decides are in
5
- `scripts/import-daisy.mjs`. Not one value was corrected — a theme whose own colours failed the
6
- contrast guard was skipped rather than nudged, because a nudged `pastel` is not `pastel`.
7
-
8
- SOURCE from here on. Edit it by hand; nothing regenerates it. */
4
+ daisyUI's lofi, by day: black on white, greys for every surface, colour only where state needs
5
+ it.
6
+ One mode, one flat block, written by hand. */
9
7
  [data-theme="lofi"] {
10
8
  color-scheme: light;
11
9
 
12
- /* The twenty-one */
10
+ /* Surfaces, ink, brand, lines */
13
11
  --background: #ffffff;
14
12
  --foreground: #000000;
15
13
  --card: #ffffff;
@@ -20,21 +18,24 @@
20
18
  --secondary: #1a1919;
21
19
  --secondary-foreground: #ffffff;
22
20
  --accent: #efefef;
21
+ --border: #e5e5e5;
22
+ --input: #8a8a8a;
23
+ --ring: #0d0d0d;
24
+ --field: #ffffff;
25
+ --faint: #5e5e5e;
26
+
27
+ /* Status: the fill, the ink on it, and the same family read on the page */
23
28
  --destructive: #ff9181;
24
- --destructive-content: #180706;
29
+ --destructive-content: #160706;
30
+ --destructive-foreground: #80463e;
25
31
  --info: #5fcfdd;
26
32
  --info-content: #031011;
33
+ --info-foreground: #2c676e;
27
34
  --success: #69fec3;
28
35
  --success-content: #04160e;
29
- --warning: #ffce69;
30
- --warning-content: #170f04;
31
- --border: #ebebeb;
32
- --ring: #0d0d0d;
33
-
34
- /* The same families, read on the page rather than on their fill */
35
- --destructive-foreground: #80463e;
36
- --info-foreground: #2c676e;
37
36
  --success-foreground: #318060;
37
+ --warning: #ffce69;
38
+ --warning-content: #160f04;
38
39
  --warning-foreground: #806631;
39
40
 
40
41
  /* Shape */
@@ -46,9 +47,24 @@
46
47
  --stroke: 1px;
47
48
  --relief: 0;
48
49
 
49
- /* daisyUI has no categorical channel, so this theme authors no `--chart-*` and takes the eight
50
- `tokens.css` publishes as its fallback. It does NOT declare `--chart-capacity: 0`: zero means
51
- *this theme declines the channel*, which is `monochrome`'s answer and not this one — an absent
52
- capacity reads as the full count, which is now true because there is a full set behind it.
53
- Author eight of your own here and they win, slot by slot. */
50
+ /* Categorical set */
51
+ --chart-capacity: 8;
52
+ --chart-1: #3b3b3b;
53
+ --chart-2: #7a4b3e;
54
+ --chart-3: #2c676e;
55
+ --chart-4: #388c71;
56
+ --chart-5: #89733b;
57
+ --chart-6: #5b4a80;
58
+ --chart-7: #80315b;
59
+ --chart-8: #5b78a6;
60
+
61
+ /* Syntax */
62
+ --syntax-keyword: #000000;
63
+ --syntax-string: #3d5c4a;
64
+ --syntax-number: #6b4a3a;
65
+ --syntax-function: #2f4a66;
66
+ --syntax-variable: #262626;
67
+ --syntax-property: #3a5560;
68
+ --syntax-type: #5c5030;
69
+ --syntax-annotation: #6a3a5c;
54
70
  }