@diskette/palette 0.18.0 → 0.20.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 (77) hide show
  1. package/README.md +90 -70
  2. package/dist/cli/cli.d.ts +1 -1
  3. package/dist/cli/cli.js +59 -9
  4. package/dist/colors/amber.d.ts +21 -109
  5. package/dist/colors/amber.js +126 -109
  6. package/dist/colors/blue.d.ts +21 -109
  7. package/dist/colors/blue.js +126 -109
  8. package/dist/colors/bronze.d.ts +21 -109
  9. package/dist/colors/bronze.js +126 -109
  10. package/dist/colors/brown.d.ts +21 -109
  11. package/dist/colors/brown.js +126 -109
  12. package/dist/colors/crimson.d.ts +21 -109
  13. package/dist/colors/crimson.js +126 -109
  14. package/dist/colors/cyan.d.ts +21 -109
  15. package/dist/colors/cyan.js +126 -109
  16. package/dist/colors/gold.d.ts +21 -109
  17. package/dist/colors/gold.js +126 -109
  18. package/dist/colors/grass.d.ts +21 -109
  19. package/dist/colors/grass.js +126 -109
  20. package/dist/colors/gray.d.ts +21 -109
  21. package/dist/colors/gray.js +126 -109
  22. package/dist/colors/green.d.ts +21 -109
  23. package/dist/colors/green.js +126 -109
  24. package/dist/colors/indigo.d.ts +21 -109
  25. package/dist/colors/indigo.js +126 -109
  26. package/dist/colors/iris.d.ts +21 -109
  27. package/dist/colors/iris.js +126 -109
  28. package/dist/colors/jade.d.ts +21 -109
  29. package/dist/colors/jade.js +126 -109
  30. package/dist/colors/lime.d.ts +21 -109
  31. package/dist/colors/lime.js +126 -109
  32. package/dist/colors/mauve.d.ts +21 -109
  33. package/dist/colors/mauve.js +126 -109
  34. package/dist/colors/mint.d.ts +21 -109
  35. package/dist/colors/mint.js +126 -109
  36. package/dist/colors/olive.d.ts +21 -109
  37. package/dist/colors/olive.js +126 -109
  38. package/dist/colors/orange.d.ts +21 -109
  39. package/dist/colors/orange.js +126 -109
  40. package/dist/colors/pink.d.ts +21 -109
  41. package/dist/colors/pink.js +126 -109
  42. package/dist/colors/plum.d.ts +21 -109
  43. package/dist/colors/plum.js +126 -109
  44. package/dist/colors/purple.d.ts +21 -109
  45. package/dist/colors/purple.js +126 -109
  46. package/dist/colors/red.d.ts +21 -109
  47. package/dist/colors/red.js +126 -109
  48. package/dist/colors/ruby.d.ts +21 -109
  49. package/dist/colors/ruby.js +126 -109
  50. package/dist/colors/sage.d.ts +21 -109
  51. package/dist/colors/sage.js +126 -109
  52. package/dist/colors/sand.d.ts +21 -109
  53. package/dist/colors/sand.js +126 -109
  54. package/dist/colors/sky.d.ts +21 -109
  55. package/dist/colors/sky.js +126 -109
  56. package/dist/colors/slate.d.ts +21 -109
  57. package/dist/colors/slate.js +126 -109
  58. package/dist/colors/teal.d.ts +21 -109
  59. package/dist/colors/teal.js +126 -109
  60. package/dist/colors/tomato.d.ts +21 -109
  61. package/dist/colors/tomato.js +126 -109
  62. package/dist/colors/violet.d.ts +21 -109
  63. package/dist/colors/violet.js +126 -109
  64. package/dist/colors/yellow.d.ts +21 -109
  65. package/dist/colors/yellow.js +126 -109
  66. package/dist/css.d.ts +3 -2
  67. package/dist/css.js +28 -9
  68. package/dist/index.d.ts +716 -3444
  69. package/dist/index.js +2 -3
  70. package/dist/types.d.ts +24 -23
  71. package/dist/utils.d.ts +9 -0
  72. package/dist/utils.js +44 -0
  73. package/package.json +4 -3
  74. package/dist/cli/commands/generate.d.ts +0 -64
  75. package/dist/cli/commands/generate.js +0 -87
  76. package/dist/cli/commands/list.d.ts +0 -48
  77. package/dist/cli/commands/list.js +0 -33
@@ -1,124 +1,141 @@
1
+ import {} from "../types.js";
1
2
  export default {
2
- srgb: {
3
+ name: 'yellow',
4
+ indicator: 9,
5
+ contrast: '#21201c',
6
+ track: 9,
7
+ surface: {
3
8
  light: {
4
- yellow1: '#fdfdf9',
5
- yellow2: '#fefce9',
6
- yellow3: '#fffab8',
7
- yellow4: '#fff394',
8
- yellow5: '#ffe770',
9
- yellow6: '#f3d768',
10
- yellow7: '#e4c767',
11
- yellow8: '#d5ae39',
12
- yellow9: '#ffe629',
13
- yellow10: '#ffdc00',
14
- yellow11: '#9e6c00',
15
- yellow12: '#473b1f',
16
- yellowA1: '#aaaa0006',
17
- yellowA2: '#f4dd0016',
18
- yellowA3: '#ffee0047',
19
- yellowA4: '#ffe3016b',
20
- yellowA5: '#ffd5008f',
21
- yellowA6: '#ebbc0097',
22
- yellowA7: '#d2a10098',
23
- yellowA8: '#c99700c6',
24
- yellowA9: '#ffe100d6',
25
- yellowA10: '#ffdc00',
26
- yellowA11: '#9e6c00',
27
- yellowA12: '#2e2000e0',
9
+ srgb: '#fefbe4cc',
10
+ p3: 'color(display-p3 0.9961 0.9922 0.902 / 0.8)',
28
11
  },
29
12
  dark: {
30
- yellow1: '#14120b',
31
- yellow2: '#1b180f',
32
- yellow3: '#2d2305',
33
- yellow4: '#362b00',
34
- yellow5: '#433500',
35
- yellow6: '#524202',
36
- yellow7: '#665417',
37
- yellow8: '#836a21',
38
- yellow9: '#ffe629',
39
- yellow10: '#ffff57',
40
- yellow11: '#f5e147',
41
- yellow12: '#f6eeb4',
42
- yellowA1: '#d1510004',
43
- yellowA2: '#f9b4000b',
44
- yellowA3: '#ffaa001e',
45
- yellowA4: '#fdb70028',
46
- yellowA5: '#febb0036',
47
- yellowA6: '#fec40046',
48
- yellowA7: '#fdcb225c',
49
- yellowA8: '#fdca327b',
50
- yellowA9: '#ffe629',
51
- yellowA10: '#ffff57',
52
- yellowA11: '#fee949f5',
53
- yellowA12: '#fef6baf6',
13
+ srgb: '#231f1380',
14
+ p3: 'color(display-p3 0.1333 0.1176 0.0706 / 0.5)',
54
15
  },
55
16
  },
56
- p3: {
57
- light: {
58
- yellow1: 'color(display-p3 0.992 0.992 0.978)',
59
- yellow2: 'color(display-p3 0.995 0.99 0.922)',
60
- yellow3: 'color(display-p3 0.997 0.982 0.749)',
61
- yellow4: 'color(display-p3 0.992 0.953 0.627)',
62
- yellow5: 'color(display-p3 0.984 0.91 0.51)',
63
- yellow6: 'color(display-p3 0.934 0.847 0.474)',
64
- yellow7: 'color(display-p3 0.876 0.785 0.46)',
65
- yellow8: 'color(display-p3 0.811 0.689 0.313)',
66
- yellow9: 'color(display-p3 1 0.92 0.22)',
67
- yellow10: 'color(display-p3 0.977 0.868 0.291)',
68
- yellow11: 'color(display-p3 0.6 0.44 0)',
69
- yellow12: 'color(display-p3 0.271 0.233 0.137)',
70
- yellowA1: 'color(display-p3 0.675 0.675 0.024 / 0.024)',
71
- yellowA2: 'color(display-p3 0.953 0.855 0.008 / 0.079)',
72
- yellowA3: 'color(display-p3 0.988 0.925 0.004 / 0.251)',
73
- yellowA4: 'color(display-p3 0.98 0.875 0.004 / 0.373)',
74
- yellowA5: 'color(display-p3 0.969 0.816 0.004 / 0.491)',
75
- yellowA6: 'color(display-p3 0.875 0.71 0 / 0.526)',
76
- yellowA7: 'color(display-p3 0.769 0.604 0 / 0.542)',
77
- yellowA8: 'color(display-p3 0.725 0.549 0 / 0.687)',
78
- yellowA9: 'color(display-p3 1 0.898 0 / 0.781)',
79
- yellowA10: 'color(display-p3 0.969 0.812 0 / 0.71)',
80
- yellowA11: 'color(display-p3 0.6 0.44 0)',
81
- yellowA12: 'color(display-p3 0.271 0.233 0.137)',
17
+ light: {
18
+ srgb: {
19
+ solid: [
20
+ '#fdfdf9',
21
+ '#fefce9',
22
+ '#fffab8',
23
+ '#fff394',
24
+ '#ffe770',
25
+ '#f3d768',
26
+ '#e4c767',
27
+ '#d5ae39',
28
+ '#ffe629',
29
+ '#ffdc00',
30
+ '#9e6c00',
31
+ '#473b1f',
32
+ ],
33
+ alpha: [
34
+ '#aaaa0006',
35
+ '#f4dd0016',
36
+ '#ffee0047',
37
+ '#ffe3016b',
38
+ '#ffd5008f',
39
+ '#ebbc0097',
40
+ '#d2a10098',
41
+ '#c99700c6',
42
+ '#ffe100d6',
43
+ '#ffdc00',
44
+ '#9e6c00',
45
+ '#2e2000e0',
46
+ ],
82
47
  },
83
- dark: {
84
- yellow1: 'color(display-p3 0.078 0.069 0.047)',
85
- yellow2: 'color(display-p3 0.103 0.094 0.063)',
86
- yellow3: 'color(display-p3 0.168 0.137 0.039)',
87
- yellow4: 'color(display-p3 0.209 0.169 0)',
88
- yellow5: 'color(display-p3 0.255 0.209 0)',
89
- yellow6: 'color(display-p3 0.31 0.261 0.07)',
90
- yellow7: 'color(display-p3 0.389 0.331 0.135)',
91
- yellow8: 'color(display-p3 0.497 0.42 0.182)',
92
- yellow9: 'color(display-p3 1 0.92 0.22)',
93
- yellow10: 'color(display-p3 1 1 0.456)',
94
- yellow11: 'color(display-p3 0.948 0.885 0.392)',
95
- yellow12: 'color(display-p3 0.959 0.934 0.731)',
96
- yellowA1: 'color(display-p3 0.973 0.369 0 / 0.013)',
97
- yellowA2: 'color(display-p3 0.996 0.792 0 / 0.038)',
98
- yellowA3: 'color(display-p3 0.996 0.71 0 / 0.11)',
99
- yellowA4: 'color(display-p3 0.996 0.741 0 / 0.152)',
100
- yellowA5: 'color(display-p3 0.996 0.765 0 / 0.202)',
101
- yellowA6: 'color(display-p3 0.996 0.816 0.082 / 0.261)',
102
- yellowA7: 'color(display-p3 1 0.831 0.263 / 0.345)',
103
- yellowA8: 'color(display-p3 1 0.831 0.314 / 0.463)',
104
- yellowA9: 'color(display-p3 1 0.922 0.22)',
105
- yellowA10: 'color(display-p3 1 1 0.455)',
106
- yellowA11: 'color(display-p3 0.948 0.885 0.392)',
107
- yellowA12: 'color(display-p3 0.959 0.934 0.731)',
48
+ p3: {
49
+ solid: [
50
+ 'color(display-p3 0.992 0.992 0.978)',
51
+ 'color(display-p3 0.995 0.99 0.922)',
52
+ 'color(display-p3 0.997 0.982 0.749)',
53
+ 'color(display-p3 0.992 0.953 0.627)',
54
+ 'color(display-p3 0.984 0.91 0.51)',
55
+ 'color(display-p3 0.934 0.847 0.474)',
56
+ 'color(display-p3 0.876 0.785 0.46)',
57
+ 'color(display-p3 0.811 0.689 0.313)',
58
+ 'color(display-p3 1 0.92 0.22)',
59
+ 'color(display-p3 0.977 0.868 0.291)',
60
+ 'color(display-p3 0.6 0.44 0)',
61
+ 'color(display-p3 0.271 0.233 0.137)',
62
+ ],
63
+ alpha: [
64
+ 'color(display-p3 0.675 0.675 0.024 / 0.024)',
65
+ 'color(display-p3 0.953 0.855 0.008 / 0.079)',
66
+ 'color(display-p3 0.988 0.925 0.004 / 0.251)',
67
+ 'color(display-p3 0.98 0.875 0.004 / 0.373)',
68
+ 'color(display-p3 0.969 0.816 0.004 / 0.491)',
69
+ 'color(display-p3 0.875 0.71 0 / 0.526)',
70
+ 'color(display-p3 0.769 0.604 0 / 0.542)',
71
+ 'color(display-p3 0.725 0.549 0 / 0.687)',
72
+ 'color(display-p3 1 0.898 0 / 0.781)',
73
+ 'color(display-p3 0.969 0.812 0 / 0.71)',
74
+ 'color(display-p3 0.6 0.44 0)',
75
+ 'color(display-p3 0.271 0.233 0.137)',
76
+ ],
108
77
  },
109
78
  },
110
- contrast: '#21201c',
111
- indicator: 'yellow10',
112
- track: 'yellow10',
113
- surface: {
79
+ dark: {
114
80
  srgb: {
115
- light: '#fefbe4cc',
116
- dark: '#231f1380',
81
+ solid: [
82
+ '#14120b',
83
+ '#1b180f',
84
+ '#2d2305',
85
+ '#362b00',
86
+ '#433500',
87
+ '#524202',
88
+ '#665417',
89
+ '#836a21',
90
+ '#ffe629',
91
+ '#ffff57',
92
+ '#f5e147',
93
+ '#f6eeb4',
94
+ ],
95
+ alpha: [
96
+ '#d1510004',
97
+ '#f9b4000b',
98
+ '#ffaa001e',
99
+ '#fdb70028',
100
+ '#febb0036',
101
+ '#fec40046',
102
+ '#fdcb225c',
103
+ '#fdca327b',
104
+ '#ffe629',
105
+ '#ffff57',
106
+ '#fee949f5',
107
+ '#fef6baf6',
108
+ ],
117
109
  },
118
110
  p3: {
119
- light: 'color(display-p3 0.9961 0.9922 0.902 / 0.8)',
120
- dark: 'color(display-p3 0.1333 0.1176 0.0706 / 0.5)',
111
+ solid: [
112
+ 'color(display-p3 0.078 0.069 0.047)',
113
+ 'color(display-p3 0.103 0.094 0.063)',
114
+ 'color(display-p3 0.168 0.137 0.039)',
115
+ 'color(display-p3 0.209 0.169 0)',
116
+ 'color(display-p3 0.255 0.209 0)',
117
+ 'color(display-p3 0.31 0.261 0.07)',
118
+ 'color(display-p3 0.389 0.331 0.135)',
119
+ 'color(display-p3 0.497 0.42 0.182)',
120
+ 'color(display-p3 1 0.92 0.22)',
121
+ 'color(display-p3 1 1 0.456)',
122
+ 'color(display-p3 0.948 0.885 0.392)',
123
+ 'color(display-p3 0.959 0.934 0.731)',
124
+ ],
125
+ alpha: [
126
+ 'color(display-p3 0.973 0.369 0 / 0.013)',
127
+ 'color(display-p3 0.996 0.792 0 / 0.038)',
128
+ 'color(display-p3 0.996 0.71 0 / 0.11)',
129
+ 'color(display-p3 0.996 0.741 0 / 0.152)',
130
+ 'color(display-p3 0.996 0.765 0 / 0.202)',
131
+ 'color(display-p3 0.996 0.816 0.082 / 0.261)',
132
+ 'color(display-p3 1 0.831 0.263 / 0.345)',
133
+ 'color(display-p3 1 0.831 0.314 / 0.463)',
134
+ 'color(display-p3 1 0.922 0.22)',
135
+ 'color(display-p3 1 1 0.455)',
136
+ 'color(display-p3 0.948 0.885 0.392)',
137
+ 'color(display-p3 0.959 0.934 0.731)',
138
+ ],
121
139
  },
122
140
  },
123
- name: 'yellow',
124
141
  };
package/dist/css.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AnyColorScale } from './types.ts';
1
+ import type { Color, PaletteColor } from './types.ts';
2
2
  type AlphaConfig = {
3
3
  srgb: Record<string, string>;
4
4
  p3: Record<string, string>;
@@ -9,7 +9,7 @@ type PaletteOptions = {
9
9
  /** Include alpha scale variables (e.g., --amber-a1). Defaults to false */
10
10
  alpha?: boolean;
11
11
  };
12
- declare function palette(name: string, config: AnyColorScale, options?: PaletteOptions): string;
12
+ declare function palette<C extends Color>(config: PaletteColor<C>, options?: PaletteOptions): string;
13
13
  declare function alpha(config: AlphaConfig): string;
14
14
  declare function accents(colorNames: string[]): string;
15
15
  declare function grays(names: readonly string[], className: string): string;
@@ -36,4 +36,5 @@ export declare const css: {
36
36
  */
37
37
  tailwind: typeof tailwind;
38
38
  };
39
+ export declare function applyColorVars(prefix: 'accent' | 'gray', color: PaletteColor<Color>, theme: 'light' | 'dark', space: 'srgb' | 'p3', set: (name: string, value: string) => void): void;
39
40
  export {};
package/dist/css.js CHANGED
@@ -1,32 +1,40 @@
1
1
  import { formatNestedBlock, formatP3, formatRule, schemeSelector, toVarName, } from "./utils.js";
2
2
  const steps = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
3
- function palette(name, config, options = {}) {
3
+ function palette(config, options = {}) {
4
4
  const { schemes = ['light'], alpha = false } = options;
5
+ const name = config.name;
5
6
  const output = [];
6
7
  if (schemes.includes('light')) {
7
8
  output.push(formatRule(':root', [
8
9
  `--${name}-contrast: ${config.contrast}`,
9
- `--${name}-indicator: var(${toVarName(config.indicator)})`,
10
- `--${name}-track: var(${toVarName(config.track)})`,
10
+ `--${name}-indicator: var(--${name}-${config.indicator})`,
11
+ `--${name}-track: var(--${name}-${config.track})`,
11
12
  ]));
12
13
  }
13
14
  for (const scheme of schemes) {
14
15
  const isLight = scheme === 'light';
15
16
  const selector = schemeSelector(scheme);
16
- const srgbScale = isLight ? config.srgb.light : config.srgb.dark;
17
- const p3Scale = isLight ? config.p3.light : config.p3.dark;
17
+ const schemeData = isLight ? config.light : config.dark;
18
+ const srgbScale = schemeData.srgb;
19
+ const p3Scale = schemeData.p3;
20
+ const surfaceSrgb = isLight
21
+ ? config.surface.light.srgb
22
+ : config.surface.dark.srgb;
23
+ const surfaceP3 = isLight ? config.surface.light.p3 : config.surface.dark.p3;
18
24
  const srgb = [];
19
25
  const p3 = [];
20
26
  for (const n of steps) {
21
- srgb.push(`--${name}-${n}: ${srgbScale[`${name}${n}`]}`);
22
- p3.push(`--${name}-${n}: ${p3Scale[`${name}${n}`]}`);
27
+ srgb.push(`--${name}-${n}: ${srgbScale.solid[n - 1]}`);
28
+ p3.push(`--${name}-${n}: ${p3Scale.solid[n - 1]}`);
23
29
  }
24
30
  if (alpha) {
25
31
  for (const n of steps) {
26
- srgb.push(`--${name}-a${n}: ${srgbScale[`${name}A${n}`]}`);
27
- p3.push(`--${name}-a${n}: ${p3Scale[`${name}A${n}`]}`);
32
+ srgb.push(`--${name}-a${n}: ${srgbScale.alpha[n - 1]}`);
33
+ p3.push(`--${name}-a${n}: ${p3Scale.alpha[n - 1]}`);
28
34
  }
29
35
  }
36
+ srgb.push(`--${name}-surface: ${surfaceSrgb}`);
37
+ p3.push(`--${name}-surface: ${surfaceP3}`);
30
38
  output.push(formatRule(selector, srgb));
31
39
  output.push(formatP3(selector, p3));
32
40
  }
@@ -144,3 +152,14 @@ export const css = {
144
152
  */
145
153
  tailwind,
146
154
  };
155
+ export function applyColorVars(prefix, color, theme, space, set) {
156
+ const scale = color[theme][space];
157
+ for (let step = 0; step <= 12; step++) {
158
+ set(`--${prefix}-${step}`, scale.solid[step]);
159
+ set(`--${prefix}-a${step}`, scale.alpha[step]);
160
+ }
161
+ set(`--${prefix}-contrast`, color.contrast);
162
+ set(`--${prefix}-surface`, color.surface[theme][space]);
163
+ set(`--${prefix}-indicator`, scale.solid[color.indicator - 1]);
164
+ set(`--${prefix}-track`, scale.solid[color.track]);
165
+ }