@tamagui/theme-builder 1.79.9 → 1.79.11

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 (46) hide show
  1. package/dist/cjs/buildThemeSuite.js +31 -12
  2. package/dist/cjs/buildThemeSuite.js.map +1 -1
  3. package/dist/cjs/buildThemeSuite.native.js +31 -12
  4. package/dist/cjs/buildThemeSuite.native.js.map +1 -1
  5. package/dist/cjs/buildThemeSuitePalettes.js +27 -8
  6. package/dist/cjs/buildThemeSuitePalettes.js.map +2 -2
  7. package/dist/cjs/buildThemeSuitePalettes.native.js +27 -8
  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/cjs/masks.js +143 -0
  14. package/dist/cjs/masks.js.map +6 -0
  15. package/dist/cjs/masks.native.js +144 -0
  16. package/dist/cjs/masks.native.js.map +6 -0
  17. package/dist/esm/buildThemeSuite.js +22 -3
  18. package/dist/esm/buildThemeSuite.js.map +1 -1
  19. package/dist/esm/buildThemeSuite.native.js +22 -3
  20. package/dist/esm/buildThemeSuite.native.js.map +1 -1
  21. package/dist/esm/buildThemeSuitePalettes.js +27 -9
  22. package/dist/esm/buildThemeSuitePalettes.js.map +2 -2
  23. package/dist/esm/buildThemeSuitePalettes.native.js +27 -9
  24. package/dist/esm/buildThemeSuitePalettes.native.js.map +2 -2
  25. package/dist/esm/buildThemeSuiteScales.js +34 -58
  26. package/dist/esm/buildThemeSuiteScales.js.map +1 -1
  27. package/dist/esm/buildThemeSuiteScales.native.js +34 -59
  28. package/dist/esm/buildThemeSuiteScales.native.js.map +2 -2
  29. package/dist/esm/masks.js +130 -0
  30. package/dist/esm/masks.js.map +6 -0
  31. package/dist/esm/masks.native.js +130 -0
  32. package/dist/esm/masks.native.js.map +6 -0
  33. package/package.json +3 -3
  34. package/src/buildThemeSuite.ts +26 -4
  35. package/src/buildThemeSuitePalettes.ts +102 -29
  36. package/src/buildThemeSuiteScales.ts +78 -76
  37. package/src/masks.ts +147 -0
  38. package/src/types.ts +23 -4
  39. package/types/buildThemeSuite.d.ts.map +1 -1
  40. package/types/buildThemeSuitePalettes.d.ts.map +1 -1
  41. package/types/buildThemeSuiteScales.d.ts +129 -10
  42. package/types/buildThemeSuiteScales.d.ts.map +1 -1
  43. package/types/masks.d.ts +110 -0
  44. package/types/masks.d.ts.map +1 -0
  45. package/types/types.d.ts +18 -4
  46. 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/masks.ts ADDED
@@ -0,0 +1,147 @@
1
+ import {
2
+ MaskDefinitions,
3
+ MaskOptions,
4
+ combineMasks,
5
+ createIdentityMask,
6
+ createInverseMask,
7
+ createMask,
8
+ createSoftenMask,
9
+ createStrengthenMask,
10
+ skipMask,
11
+ } from '@tamagui/create-theme'
12
+
13
+ const shadows = {
14
+ shadowColor: 0,
15
+ shadowColorHover: 0,
16
+ shadowColorPress: 0,
17
+ shadowColorFocus: 0,
18
+ }
19
+
20
+ const colors = {
21
+ ...shadows,
22
+ color: 0,
23
+ colorHover: 0,
24
+ colorFocus: 0,
25
+ colorPress: 0,
26
+ }
27
+
28
+ const templateColorsSpecific = {
29
+ color1: 1,
30
+ color2: 2,
31
+ color3: 3,
32
+ color4: 4,
33
+ color5: 5,
34
+ color6: 6,
35
+ color7: 7,
36
+ color8: 8,
37
+ color9: 9,
38
+ color10: 10,
39
+ color11: 11,
40
+ color12: 12,
41
+ }
42
+
43
+ const skipShadowsAndSpecificColors = {
44
+ ...shadows,
45
+ ...templateColorsSpecific,
46
+ }
47
+
48
+ const PALETTE_LEN = 14
49
+
50
+ const baseMaskOptions: MaskOptions = {
51
+ override: shadows,
52
+ skip: shadows,
53
+ // avoids the transparent ends
54
+ max: PALETTE_LEN - 2,
55
+ min: 1,
56
+ }
57
+
58
+ export const maskOptions = {
59
+ component: {
60
+ ...baseMaskOptions,
61
+ override: colors,
62
+ skip: skipShadowsAndSpecificColors,
63
+ },
64
+ alt: {
65
+ ...baseMaskOptions,
66
+ },
67
+ button: {
68
+ ...baseMaskOptions,
69
+ override: {
70
+ ...colors,
71
+ borderColor: 'transparent',
72
+ borderColorHover: 'transparent',
73
+ },
74
+ skip: skipShadowsAndSpecificColors,
75
+ },
76
+ } satisfies Record<string, MaskOptions>
77
+
78
+ export const masks = {
79
+ identity: createIdentityMask(),
80
+ soften: createSoftenMask(),
81
+ soften2: createSoftenMask({ strength: 2 }),
82
+ soften3: createSoftenMask({ strength: 3 }),
83
+ strengthen: createStrengthenMask(),
84
+ inverse: createInverseMask(),
85
+ inverseSoften: combineMasks(createInverseMask(), createSoftenMask({ strength: 2 })),
86
+ inverseSoften2: combineMasks(createInverseMask(), createSoftenMask({ strength: 3 })),
87
+ inverseSoften3: combineMasks(createInverseMask(), createSoftenMask({ strength: 4 })),
88
+ inverseStrengthen2: combineMasks(
89
+ createInverseMask(),
90
+ createStrengthenMask({ strength: 2 })
91
+ ),
92
+ strengthenButSoftenBorder: createMask((template, options) => {
93
+ const stronger = createStrengthenMask().mask(template, options)
94
+ const softer = createSoftenMask().mask(template, options)
95
+ return {
96
+ ...stronger,
97
+ borderColor: softer.borderColor,
98
+ borderColorHover: softer.borderColorHover,
99
+ borderColorPress: softer.borderColorPress,
100
+ borderColorFocus: softer.borderColorFocus,
101
+ }
102
+ }),
103
+ soften2Border1: createMask((template, options) => {
104
+ const softer2 = createSoftenMask({ strength: 2 }).mask(template, options)
105
+ const softer1 = createSoftenMask({ strength: 1 }).mask(template, options)
106
+ return {
107
+ ...softer2,
108
+ borderColor: softer1.borderColor,
109
+ borderColorHover: softer1.borderColorHover,
110
+ borderColorPress: softer1.borderColorPress,
111
+ borderColorFocus: softer1.borderColorFocus,
112
+ }
113
+ }),
114
+ soften3FlatBorder: createMask((template, options) => {
115
+ const borderMask = createSoftenMask({ strength: 2 }).mask(template, options)
116
+ const softer3 = createSoftenMask({ strength: 3 }).mask(template, options)
117
+ return {
118
+ ...softer3,
119
+ borderColor: borderMask.borderColor,
120
+ borderColorHover: borderMask.borderColorHover,
121
+ borderColorPress: borderMask.borderColorPress,
122
+ borderColorFocus: borderMask.borderColorFocus,
123
+ }
124
+ }),
125
+ softenBorder: createMask((template, options) => {
126
+ const plain = skipMask.mask(template, options)
127
+ const softer = createSoftenMask().mask(template, options)
128
+ return {
129
+ ...plain,
130
+ borderColor: softer.borderColor,
131
+ borderColorHover: softer.borderColorHover,
132
+ borderColorPress: softer.borderColorPress,
133
+ borderColorFocus: softer.borderColorFocus,
134
+ }
135
+ }),
136
+ softenBorder2: createMask((template, options) => {
137
+ const plain = skipMask.mask(template, options)
138
+ const softer = createSoftenMask({ strength: 2 }).mask(template, options)
139
+ return {
140
+ ...plain,
141
+ borderColor: softer.borderColor,
142
+ borderColorHover: softer.borderColorHover,
143
+ borderColorPress: softer.borderColorPress,
144
+ borderColorFocus: softer.borderColorFocus,
145
+ }
146
+ }),
147
+ } satisfies MaskDefinitions
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,32 @@ export type BuildThemeBase = {
39
39
  errors?: string[]
40
40
  }
41
41
 
42
+ export type BuildThemeAnchor = {
43
+ index: number
44
+ hue: {
45
+ light: number
46
+ dark: number
47
+ }
48
+ sat: {
49
+ light: number
50
+ dark: number
51
+ }
52
+ lum: {
53
+ light: number
54
+ dark: number
55
+ }
56
+ }
57
+
42
58
  export type BuildTheme = BuildThemeBase & {
43
59
  type: 'theme'
44
- color: string
60
+
45
61
  scale: ScaleTypeName
62
+
63
+ anchors: BuildThemeAnchor[]
64
+
46
65
  template?: Template
47
- accent?: string
48
- accentScale?: ScaleTypeName
66
+
67
+ accent?: BuildTheme
49
68
  }
50
69
 
51
70
  // 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,EAAoB,uBAAuB,EAAE,MAAM,SAAS,CAAA;AA0J/E,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"}
@@ -0,0 +1,110 @@
1
+ export declare const maskOptions: {
2
+ component: {
3
+ override: {
4
+ color: number;
5
+ colorHover: number;
6
+ colorFocus: number;
7
+ colorPress: number;
8
+ shadowColor: number;
9
+ shadowColorHover: number;
10
+ shadowColorPress: number;
11
+ shadowColorFocus: number;
12
+ };
13
+ skip: {
14
+ color1: number;
15
+ color2: number;
16
+ color3: number;
17
+ color4: number;
18
+ color5: number;
19
+ color6: number;
20
+ color7: number;
21
+ color8: number;
22
+ color9: number;
23
+ color10: number;
24
+ color11: number;
25
+ color12: number;
26
+ shadowColor: number;
27
+ shadowColorHover: number;
28
+ shadowColorPress: number;
29
+ shadowColorFocus: number;
30
+ };
31
+ palette?: import("@tamagui/create-theme").CreateThemePalette | undefined;
32
+ overrideStrategy?: "shift" | "swap" | undefined;
33
+ overrideSwap?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
34
+ overrideShift?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
35
+ strength?: number | undefined;
36
+ max?: number | undefined;
37
+ min?: number | undefined;
38
+ parentName?: string | undefined;
39
+ };
40
+ alt: {
41
+ palette?: import("@tamagui/create-theme").CreateThemePalette | undefined;
42
+ override?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
43
+ overrideStrategy?: "shift" | "swap" | undefined;
44
+ overrideSwap?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
45
+ overrideShift?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
46
+ skip?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
47
+ strength?: number | undefined;
48
+ max?: number | undefined;
49
+ min?: number | undefined;
50
+ parentName?: string | undefined;
51
+ };
52
+ button: {
53
+ override: {
54
+ borderColor: string;
55
+ borderColorHover: string;
56
+ color: number;
57
+ colorHover: number;
58
+ colorFocus: number;
59
+ colorPress: number;
60
+ shadowColor: number;
61
+ shadowColorHover: number;
62
+ shadowColorPress: number;
63
+ shadowColorFocus: number;
64
+ };
65
+ skip: {
66
+ color1: number;
67
+ color2: number;
68
+ color3: number;
69
+ color4: number;
70
+ color5: number;
71
+ color6: number;
72
+ color7: number;
73
+ color8: number;
74
+ color9: number;
75
+ color10: number;
76
+ color11: number;
77
+ color12: number;
78
+ shadowColor: number;
79
+ shadowColorHover: number;
80
+ shadowColorPress: number;
81
+ shadowColorFocus: number;
82
+ };
83
+ palette?: import("@tamagui/create-theme").CreateThemePalette | undefined;
84
+ overrideStrategy?: "shift" | "swap" | undefined;
85
+ overrideSwap?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
86
+ overrideShift?: Partial<import("@tamagui/create-theme").ThemeMask> | undefined;
87
+ strength?: number | undefined;
88
+ max?: number | undefined;
89
+ min?: number | undefined;
90
+ parentName?: string | undefined;
91
+ };
92
+ };
93
+ export declare const masks: {
94
+ identity: import("@tamagui/create-theme").CreateMask;
95
+ soften: import("@tamagui/create-theme").CreateMask;
96
+ soften2: import("@tamagui/create-theme").CreateMask;
97
+ soften3: import("@tamagui/create-theme").CreateMask;
98
+ strengthen: import("@tamagui/create-theme").CreateMask;
99
+ inverse: import("@tamagui/create-theme").CreateMask;
100
+ inverseSoften: import("@tamagui/create-theme").CreateMask;
101
+ inverseSoften2: import("@tamagui/create-theme").CreateMask;
102
+ inverseSoften3: import("@tamagui/create-theme").CreateMask;
103
+ inverseStrengthen2: import("@tamagui/create-theme").CreateMask;
104
+ strengthenButSoftenBorder: import("@tamagui/create-theme").CreateMask;
105
+ soften2Border1: import("@tamagui/create-theme").CreateMask;
106
+ soften3FlatBorder: import("@tamagui/create-theme").CreateMask;
107
+ softenBorder: import("@tamagui/create-theme").CreateMask;
108
+ softenBorder2: import("@tamagui/create-theme").CreateMask;
109
+ };
110
+ //# sourceMappingURL=masks.d.ts.map