@tamagui/theme-builder 1.79.8 → 1.79.10

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 (35) hide show
  1. package/dist/cjs/buildThemeSuite.js +21 -2
  2. package/dist/cjs/buildThemeSuite.js.map +1 -1
  3. package/dist/cjs/buildThemeSuite.native.js +21 -2
  4. package/dist/cjs/buildThemeSuite.native.js.map +1 -1
  5. package/dist/cjs/buildThemeSuitePalettes.js +46 -11
  6. package/dist/cjs/buildThemeSuitePalettes.js.map +2 -2
  7. package/dist/cjs/buildThemeSuitePalettes.native.js +46 -11
  8. package/dist/cjs/buildThemeSuitePalettes.native.js.map +2 -2
  9. package/dist/cjs/buildThemeSuiteScales.js +35 -60
  10. package/dist/cjs/buildThemeSuiteScales.js.map +1 -1
  11. package/dist/cjs/buildThemeSuiteScales.native.js +35 -61
  12. package/dist/cjs/buildThemeSuiteScales.native.js.map +2 -2
  13. package/dist/esm/buildThemeSuite.js +21 -2
  14. package/dist/esm/buildThemeSuite.js.map +1 -1
  15. package/dist/esm/buildThemeSuite.native.js +21 -2
  16. package/dist/esm/buildThemeSuite.native.js.map +1 -1
  17. package/dist/esm/buildThemeSuitePalettes.js +46 -12
  18. package/dist/esm/buildThemeSuitePalettes.js.map +2 -2
  19. package/dist/esm/buildThemeSuitePalettes.native.js +46 -12
  20. package/dist/esm/buildThemeSuitePalettes.native.js.map +2 -2
  21. package/dist/esm/buildThemeSuiteScales.js +34 -58
  22. package/dist/esm/buildThemeSuiteScales.js.map +1 -1
  23. package/dist/esm/buildThemeSuiteScales.native.js +34 -59
  24. package/dist/esm/buildThemeSuiteScales.native.js.map +2 -2
  25. package/package.json +3 -3
  26. package/src/buildThemeSuite.ts +25 -3
  27. package/src/buildThemeSuitePalettes.ts +74 -34
  28. package/src/buildThemeSuiteScales.ts +78 -76
  29. package/src/types.ts +30 -6
  30. package/types/buildThemeSuite.d.ts.map +1 -1
  31. package/types/buildThemeSuitePalettes.d.ts.map +1 -1
  32. package/types/buildThemeSuiteScales.d.ts +129 -10
  33. package/types/buildThemeSuiteScales.d.ts.map +1 -1
  34. package/types/types.d.ts +22 -6
  35. package/types/types.d.ts.map +1 -1
@@ -2,73 +2,46 @@ import { hsla, parseToHsla, toHex } from 'color2k'
2
2
 
3
3
  import { BuildTheme, ScaleTypeName } from './types'
4
4
 
5
- export function getColorForegroundBackground(color: string, isDarkMode = false) {
6
- const [h, s, l] = parseToHsla(color)
7
- const isColorLight = l > 0.5
8
- const oppositeLightness = l > 0.5 ? 1 - l : 0.5 + l
9
- const oppositeLightnessColor = toHex(hsla(h, s, oppositeLightness, 1))
10
- const foreground = isDarkMode ? color : oppositeLightnessColor
11
- const background = foreground === color ? oppositeLightnessColor : color
12
- return {
13
- foreground,
14
- foregroundLightness: foreground === color ? l : oppositeLightness,
15
- background,
16
- backgroundLightness: foreground !== color ? l : oppositeLightness,
17
- }
18
- }
19
-
20
- export const getThemeSuiteScale = (theme: BuildTheme, accent?: boolean): ScaleType => {
21
- const baseColor = accent ? theme.accent || theme.color : theme.color
22
- const scale = accent ? theme.accentScale || theme.scale : theme.scale
23
-
24
- let base = scaleTypes[scale]
25
-
26
- if (!baseColor) {
27
- return base
28
- }
29
-
30
- const [h, s, l] = parseToHsla(baseColor)
31
-
32
- if (scale === 'automatic') {
33
- const lightColors = getColorForegroundBackground(baseColor, false)
34
- const darkColors = getColorForegroundBackground(baseColor, true)
35
-
36
- const scaleLen = 12
37
- const arr = new Array(scaleLen).fill(0)
38
-
39
- function getScale(bgL: number, fgL: number) {
40
- const stepSize = (fgL - bgL) / scaleLen
41
- return arr.map((_, i) => bgL + i * stepSize)
42
- }
43
-
44
- return {
45
- ...base,
46
- lumScale: {
47
- light: getScale(lightColors.backgroundLightness, lightColors.foregroundLightness),
48
- dark: getScale(darkColors.backgroundLightness, darkColors.foregroundLightness),
49
- },
50
- }
51
- }
52
-
53
- return {
54
- ...base,
55
- lumScale: {
56
- light: adjustScale(theme, base.lumScale.light, l, true),
57
- dark: adjustScale(theme, base.lumScale.dark, 1 - l),
58
- },
59
- ...(base.satScale && {
60
- satScale: {
61
- light: adjustScale(theme, base.satScale.light, s, true),
62
- dark: adjustScale(theme, base.satScale.dark, s),
63
- },
64
- }),
65
- }
66
- }
5
+ // export function getColorForegroundBackground(color: string, isDarkMode = false) {
6
+ // const [h, s, l] = parseToHsla(color)
7
+ // const isColorLight = l > 0.5
8
+ // const oppositeLightness = l > 0.5 ? 1 - l : 0.5 + l
9
+ // const oppositeLightnessColor = toHex(hsla(h, s, oppositeLightness, 1))
10
+ // const foreground = isDarkMode ? color : oppositeLightnessColor
11
+ // const background = foreground === color ? oppositeLightnessColor : color
12
+ // return {
13
+ // foreground,
14
+ // foregroundLightness: foreground === color ? l : oppositeLightness,
15
+ // background,
16
+ // backgroundLightness: foreground !== color ? l : oppositeLightness,
17
+ // }
18
+ // }
19
+
20
+ // if (scale === 'automatic') {
21
+ // const lightColors = getColorForegroundBackground(baseColor, false)
22
+ // const darkColors = getColorForegroundBackground(baseColor, true)
23
+
24
+ // const scaleLen = 12
25
+ // const arr = new Array(scaleLen).fill(0)
26
+
27
+ // function getScale(bgL: number, fgL: number) {
28
+ // const stepSize = (fgL - bgL) / scaleLen
29
+ // return arr.map((_, i) => bgL + i * stepSize)
30
+ // }
31
+
32
+ // return {
33
+ // ...base,
34
+ // lumScale: {
35
+ // light: getScale(lightColors.backgroundLightness, lightColors.foregroundLightness),
36
+ // dark: getScale(darkColors.backgroundLightness, darkColors.foregroundLightness),
37
+ // },
38
+ // }
39
+ // }
67
40
 
68
41
  export type ScaleType<A extends ScaleTypeName = ScaleTypeName> = {
69
42
  name: string
70
43
  createdFrom?: A // we copy the scale values - keeping this helps us refer back to the scale. also helpful if we change scales in the future
71
- lumScale: {
44
+ lumScale?: {
72
45
  light: Array<number>
73
46
  dark: Array<number>
74
47
  }
@@ -78,15 +51,23 @@ export type ScaleType<A extends ScaleTypeName = ScaleTypeName> = {
78
51
  }
79
52
  }
80
53
 
81
- export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
82
- automatic: {
83
- createdFrom: 'automatic',
84
- name: 'Automatic',
85
- lumScale: {
86
- light: [],
87
- dark: [],
88
- },
54
+ export function getScalePreset<Name extends ScaleTypeName>(
55
+ a: Name
56
+ ): (typeof scaleTypes)[Name] {
57
+ return scaleTypes[a]
58
+ }
59
+
60
+ const fullSatScale = {
61
+ light: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
62
+ dark: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
63
+ }
64
+
65
+ export const scaleTypes = {
66
+ custom: {
67
+ name: 'Custom',
68
+ createdFrom: 'custom',
89
69
  },
70
+
90
71
  radix: {
91
72
  name: 'Radius',
92
73
  createdFrom: 'radix',
@@ -115,6 +96,10 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
115
96
  0.11, 0.136, 0.158, 0.179, 0.205, 0.243, 0.313, 0.439, 0.47, 0.52, 0.56, 0.61,
116
97
  ],
117
98
  },
99
+ satScale: {
100
+ light: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
101
+ dark: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
102
+ },
118
103
  },
119
104
 
120
105
  'radius-bright': {
@@ -124,6 +109,10 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
124
109
  light: [1, 0.954, 0.94, 0.9, 0.85, 0.804, 0.747, 0.659, 0.541, 0.453, 0.27, 0.086],
125
110
  dark: [0, 0.1, 0.16, 0.2, 0.24, 0.36, 0.42, 0.46, 0.5, 0.54, 0.84, 0.97],
126
111
  },
112
+ satScale: {
113
+ light: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
114
+ dark: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
115
+ },
127
116
  },
128
117
 
129
118
  'radius-bold': {
@@ -133,6 +122,10 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
133
122
  light: [1, 0.9, 0.885, 0.82, 0.77, 0.54, 0.32, 0.25, 0.16, 0.12, 0.075, 0],
134
123
  dark: [0, 0.13, 0.2, 0.24, 0.3, 0.34, 0.45, 0.55, 0.65, 0.885, 0.9, 1],
135
124
  },
125
+ satScale: {
126
+ light: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
127
+ dark: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
128
+ },
136
129
  },
137
130
 
138
131
  linear: {
@@ -142,6 +135,10 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
142
135
  light: [1, 0.925, 0.9, 0.85, 0.75, 0.6, 0.4, 0.3, 0.25, 0.15, 0.125, 0],
143
136
  dark: [0, 0.075, 0.125, 0.15, 0.25, 0.4, 0.6, 0.75, 0.85, 0.9, 0.925, 1],
144
137
  },
138
+ satScale: {
139
+ light: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
140
+ dark: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
141
+ },
145
142
  },
146
143
 
147
144
  neon: {
@@ -155,6 +152,10 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
155
152
  0.07, 0.11, 0.136, 0.158, 0.179, 0.205, 0.243, 0.313, 0.439, 0.52, 0.61, 0.93,
156
153
  ],
157
154
  },
155
+ satScale: {
156
+ light: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
157
+ dark: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
158
+ },
158
159
  },
159
160
 
160
161
  'neon-bright': {
@@ -164,6 +165,10 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
164
165
  light: [0.45, 0.475, 0.5, 0.525, 0.55, 0.575, 0.6, 0.625, 0.65, 0.2, 0.1, 0],
165
166
  dark: [0.45, 0.475, 0.5, 0.525, 0.55, 0.575, 0.6, 0.625, 0.65, 0.2, 0.1, 0],
166
167
  },
168
+ satScale: {
169
+ light: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
170
+ dark: [0.65, 0.55, 0.4, 0.4, 0.35, 0.35, 0.35, 0.35, 0.4, 0.4, 0.3, 0.2],
171
+ },
167
172
  },
168
173
 
169
174
  'neon-c': {
@@ -173,10 +178,7 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
173
178
  light: [0.45, 0.475, 0.5, 0.525, 0.55, 0.575, 0.6, 0.625, 0.65, 0.2, 0.1, 0],
174
179
  dark: [0.45, 0.475, 0.5, 0.525, 0.55, 0.575, 0.6, 0.625, 0.65, 0.2, 0.1, 0],
175
180
  },
176
- satScale: {
177
- light: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
178
- dark: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
179
- },
181
+ satScale: fullSatScale,
180
182
  },
181
183
 
182
184
  pastel: {
@@ -208,7 +210,7 @@ export const scaleTypes: Record<ScaleTypeName, ScaleType> = {
208
210
  dark: [0.6, 0.5, 0.4, 0.35, 0.3, 0.3, 0.3, 0.3, 0.4, 0.35, 0.25, 0.15],
209
211
  },
210
212
  },
211
- }
213
+ } satisfies Record<ScaleTypeName, ScaleType>
212
214
 
213
215
  const adjustScale = (
214
216
  theme: BuildTheme,
package/src/types.ts CHANGED
@@ -21,7 +21,7 @@ export type BuildThemeSuitePalettes = {
21
21
  }
22
22
 
23
23
  export type ScaleTypeName =
24
- | 'automatic'
24
+ | 'custom'
25
25
  | 'radix'
26
26
  | 'radix-b'
27
27
  | 'radius-bold'
@@ -39,13 +39,37 @@ export type BuildThemeBase = {
39
39
  errors?: string[]
40
40
  }
41
41
 
42
- export type BuildTheme = BuildThemeBase & {
42
+ type BuildThemeFromScale = BuildThemeBase & {
43
43
  type: 'theme'
44
- color: string
45
- scale: ScaleTypeName
44
+
45
+ hue: number // 0-360
46
+ hueColor?: number // 0-360 (if distinguished from background)
47
+
48
+ // if you use a preset it sets this then clears when changed
49
+ createdFrom?: ScaleTypeName
50
+
51
+ satScale: {
52
+ light: number[]
53
+ dark: number[]
54
+ }
55
+
56
+ lumScale: {
57
+ light: number[]
58
+ dark: number[]
59
+ }
60
+
61
+ // overrides the above hue/scales, avoiding too much mess refactoring
62
+ strategy?: {
63
+ type: 'automatic'
64
+ foreground: string
65
+ background: string
66
+ }
67
+
46
68
  template?: Template
47
- accent?: string
48
- accentScale?: ScaleTypeName
69
+ }
70
+
71
+ export type BuildTheme = BuildThemeFromScale & {
72
+ accent?: BuildThemeFromScale
49
73
  }
50
74
 
51
75
  // TODO type here isnt the same as type in BuildTheme
@@ -1 +1 @@
1
- {"version":3,"file":"buildThemeSuite.d.ts","sourceRoot":"","sources":["../src/buildThemeSuite.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE9D,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuW7E;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"buildThemeSuite.d.ts","sourceRoot":"","sources":["../src/buildThemeSuite.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAiB9D,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8W7E;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildThemeSuitePalettes.d.ts","sourceRoot":"","sources":["../src/buildThemeSuitePalettes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAgF7D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,uBAAuB,CAOhF"}
1
+ {"version":3,"file":"buildThemeSuitePalettes.d.ts","sourceRoot":"","sources":["../src/buildThemeSuitePalettes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAyH7D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,uBAAuB,CAOhF"}
@@ -1,15 +1,8 @@
1
- import { BuildTheme, ScaleTypeName } from './types';
2
- export declare function getColorForegroundBackground(color: string, isDarkMode?: boolean): {
3
- foreground: string;
4
- foregroundLightness: number;
5
- background: string;
6
- backgroundLightness: number;
7
- };
8
- export declare const getThemeSuiteScale: (theme: BuildTheme, accent?: boolean) => ScaleType;
1
+ import { ScaleTypeName } from './types';
9
2
  export type ScaleType<A extends ScaleTypeName = ScaleTypeName> = {
10
3
  name: string;
11
4
  createdFrom?: A;
12
- lumScale: {
5
+ lumScale?: {
13
6
  light: Array<number>;
14
7
  dark: Array<number>;
15
8
  };
@@ -18,5 +11,131 @@ export type ScaleType<A extends ScaleTypeName = ScaleTypeName> = {
18
11
  dark: Array<number>;
19
12
  };
20
13
  };
21
- export declare const scaleTypes: Record<ScaleTypeName, ScaleType>;
14
+ export declare function getScalePreset<Name extends ScaleTypeName>(a: Name): (typeof scaleTypes)[Name];
15
+ export declare const scaleTypes: {
16
+ custom: {
17
+ name: string;
18
+ createdFrom: "custom";
19
+ };
20
+ radix: {
21
+ name: string;
22
+ createdFrom: "radix";
23
+ lumScale: {
24
+ light: number[];
25
+ dark: number[];
26
+ };
27
+ satScale: {
28
+ light: number[];
29
+ dark: number[];
30
+ };
31
+ };
32
+ 'radix-b': {
33
+ name: string;
34
+ createdFrom: "radix-b";
35
+ lumScale: {
36
+ light: number[];
37
+ dark: number[];
38
+ };
39
+ satScale: {
40
+ light: number[];
41
+ dark: number[];
42
+ };
43
+ };
44
+ 'radius-bright': {
45
+ name: string;
46
+ createdFrom: "radius-bright";
47
+ lumScale: {
48
+ light: number[];
49
+ dark: number[];
50
+ };
51
+ satScale: {
52
+ light: number[];
53
+ dark: number[];
54
+ };
55
+ };
56
+ 'radius-bold': {
57
+ name: string;
58
+ createdFrom: "radius-bold";
59
+ lumScale: {
60
+ light: number[];
61
+ dark: number[];
62
+ };
63
+ satScale: {
64
+ light: number[];
65
+ dark: number[];
66
+ };
67
+ };
68
+ linear: {
69
+ name: string;
70
+ createdFrom: "linear";
71
+ lumScale: {
72
+ light: number[];
73
+ dark: number[];
74
+ };
75
+ satScale: {
76
+ light: number[];
77
+ dark: number[];
78
+ };
79
+ };
80
+ neon: {
81
+ name: string;
82
+ createdFrom: "neon";
83
+ lumScale: {
84
+ light: number[];
85
+ dark: number[];
86
+ };
87
+ satScale: {
88
+ light: number[];
89
+ dark: number[];
90
+ };
91
+ };
92
+ 'neon-bright': {
93
+ name: string;
94
+ createdFrom: "neon-bright";
95
+ lumScale: {
96
+ light: number[];
97
+ dark: number[];
98
+ };
99
+ satScale: {
100
+ light: number[];
101
+ dark: number[];
102
+ };
103
+ };
104
+ 'neon-c': {
105
+ name: string;
106
+ createdFrom: "neon-c";
107
+ lumScale: {
108
+ light: number[];
109
+ dark: number[];
110
+ };
111
+ satScale: {
112
+ light: number[];
113
+ dark: number[];
114
+ };
115
+ };
116
+ pastel: {
117
+ name: string;
118
+ createdFrom: "pastel";
119
+ lumScale: {
120
+ light: number[];
121
+ dark: number[];
122
+ };
123
+ satScale: {
124
+ light: number[];
125
+ dark: number[];
126
+ };
127
+ };
128
+ 'pastel-desaturating': {
129
+ name: string;
130
+ createdFrom: "pastel-desaturating";
131
+ lumScale: {
132
+ light: number[];
133
+ dark: number[];
134
+ };
135
+ satScale: {
136
+ light: number[];
137
+ dark: number[];
138
+ };
139
+ };
140
+ };
22
141
  //# sourceMappingURL=buildThemeSuiteScales.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildThemeSuiteScales.d.ts","sourceRoot":"","sources":["../src/buildThemeSuiteScales.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEnD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,UAAQ;;;;;EAa7E;AAED,eAAO,MAAM,kBAAkB,UAAW,UAAU,WAAW,OAAO,KAAG,SA8CxE,CAAA;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,CAAC,CAAA;IACf,QAAQ,EAAE;QACR,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACpB,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACpB,CAAA;CACF,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,aAAa,EAAE,SAAS,CAkIvD,CAAA"}
1
+ {"version":3,"file":"buildThemeSuiteScales.d.ts","sourceRoot":"","sources":["../src/buildThemeSuiteScales.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,aAAa,EAAE,MAAM,SAAS,CAAA;AAsCnD,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,CAAC,CAAA;IACf,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACpB,CAAA;IACD,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACpB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KACpB,CAAA;CACF,CAAA;AAED,wBAAgB,cAAc,CAAC,IAAI,SAAS,aAAa,EACvD,CAAC,EAAE,IAAI,GACN,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,CAE3B;AAOD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJqB,CAAA"}
package/types/types.d.ts CHANGED
@@ -15,19 +15,34 @@ export type BuildThemeSuitePalettes = {
15
15
  lightAccent?: string[];
16
16
  darkAccent?: string[];
17
17
  };
18
- export type ScaleTypeName = 'automatic' | 'radix' | 'radix-b' | 'radius-bold' | 'radius-bright' | 'linear' | 'pastel' | 'pastel-desaturating' | 'neon' | 'neon-bright' | 'neon-c';
18
+ export type ScaleTypeName = 'custom' | 'radix' | 'radix-b' | 'radius-bold' | 'radius-bright' | 'linear' | 'pastel' | 'pastel-desaturating' | 'neon' | 'neon-bright' | 'neon-c';
19
19
  export type BuildThemeBase = {
20
20
  id: string;
21
21
  name: string;
22
22
  errors?: string[];
23
23
  };
24
- export type BuildTheme = BuildThemeBase & {
24
+ type BuildThemeFromScale = BuildThemeBase & {
25
25
  type: 'theme';
26
- color: string;
27
- scale: ScaleTypeName;
26
+ hue: number;
27
+ hueColor?: number;
28
+ createdFrom?: ScaleTypeName;
29
+ satScale: {
30
+ light: number[];
31
+ dark: number[];
32
+ };
33
+ lumScale: {
34
+ light: number[];
35
+ dark: number[];
36
+ };
37
+ strategy?: {
38
+ type: 'automatic';
39
+ foreground: string;
40
+ background: string;
41
+ };
28
42
  template?: Template;
29
- accent?: string;
30
- accentScale?: ScaleTypeName;
43
+ };
44
+ export type BuildTheme = BuildThemeFromScale & {
45
+ accent?: BuildThemeFromScale;
31
46
  };
32
47
  export type BuildMask = {
33
48
  id: string;
@@ -50,4 +65,5 @@ export type BuildThemeMask = BuildThemeBase & {
50
65
  type: 'mask';
51
66
  masks: BuildMask[];
52
67
  };
68
+ export {};
53
69
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,UAAU,CAAA;IACrB,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAA;IAC3C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,WAAW,EAAE,QAAQ,CAAA;QACrB,UAAU,EAAE,QAAQ,CAAA;KACrB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,OAAO,GACP,SAAS,GACT,aAAa,GACb,eAAe,GACf,QAAQ,GACR,QAAQ,GACR,qBAAqB,GACrB,MAAM,GACN,aAAa,GACb,QAAQ,CAAA;AAEZ,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,aAAa,CAAA;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,aAAa,CAAA;CAC5B,CAAA;AAGD,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CACrC;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;CAChB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CACJ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,UAAU,CAAA;IACrB,SAAS,CAAC,EAAE,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAA;IAC3C,aAAa,CAAC,EAAE,WAAW,CAAA;IAC3B,SAAS,CAAC,EAAE;QACV,IAAI,EAAE,QAAQ,CAAA;QACd,WAAW,EAAE,QAAQ,CAAA;QACrB,UAAU,EAAE,QAAQ,CAAA;KACrB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,OAAO,GACP,SAAS,GACT,aAAa,GACb,eAAe,GACf,QAAQ,GACR,QAAQ,GACR,qBAAqB,GACrB,MAAM,GACN,aAAa,GACb,QAAQ,CAAA;AAEZ,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,KAAK,mBAAmB,GAAG,cAAc,GAAG;IAC1C,IAAI,EAAE,OAAO,CAAA;IAEb,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,WAAW,CAAC,EAAE,aAAa,CAAA;IAE3B,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,CAAA;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,CAAA;IAGD,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,WAAW,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IAED,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG;IAC7C,MAAM,CAAC,EAAE,mBAAmB,CAAA;CAC7B,CAAA;AAGD,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CACrC;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,QAAQ,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,SAAS,CAAA;CAChB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAA;IACxB,QAAQ,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;CACjB,CACJ,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB,CAAA"}