@tamagui/themes 1.31.3 → 1.32.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 (67) hide show
  1. package/dist/cjs/componentThemeDefinitions.js +7 -6
  2. package/dist/cjs/componentThemeDefinitions.js.map +1 -1
  3. package/dist/cjs/generated-new.js +171 -460
  4. package/dist/cjs/generated-new.js.map +1 -1
  5. package/dist/cjs/index.js +6 -0
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/masks.js +4 -1
  8. package/dist/cjs/masks.js.map +1 -1
  9. package/dist/cjs/shadows.js +46 -0
  10. package/dist/cjs/shadows.js.map +6 -0
  11. package/dist/cjs/themes-new.js +3 -19
  12. package/dist/cjs/themes-new.js.map +1 -1
  13. package/dist/cjs/themes.js +11 -301
  14. package/dist/cjs/themes.js.map +1 -1
  15. package/dist/esm/componentThemeDefinitions.js +7 -6
  16. package/dist/esm/componentThemeDefinitions.js.map +1 -1
  17. package/dist/esm/generated-new.js +171 -460
  18. package/dist/esm/generated-new.js.map +1 -1
  19. package/dist/esm/index.js +3 -0
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/masks.js +4 -1
  22. package/dist/esm/masks.js.map +1 -1
  23. package/dist/esm/shadows.js +22 -0
  24. package/dist/esm/shadows.js.map +6 -0
  25. package/dist/esm/themes-new.js +3 -19
  26. package/dist/esm/themes-new.js.map +1 -1
  27. package/dist/esm/themes.js +1 -308
  28. package/dist/esm/themes.js.map +1 -1
  29. package/package.json +10 -8
  30. package/src/componentThemeDefinitions.tsx +137 -0
  31. package/src/generated-new.ts +4313 -0
  32. package/src/helpers.ts +44 -0
  33. package/src/index.tsx +3 -9
  34. package/src/masks.tsx +45 -0
  35. package/src/palettes.tsx +91 -0
  36. package/src/shadows.tsx +19 -0
  37. package/src/templates.tsx +111 -0
  38. package/src/themes-new.tsx +74 -0
  39. package/src/{themes.outlined.tsx → themes-old.tsx} +108 -17
  40. package/src/themes.tsx +4 -378
  41. package/types/componentThemeDefinitions.d.ts +628 -0
  42. package/types/componentThemeDefinitions.d.ts.map +1 -1
  43. package/types/generated-new.d.ts +516 -0
  44. package/types/generated-new.d.ts.map +1 -1
  45. package/types/helpers.d.ts +24 -0
  46. package/types/index.d.ts +3 -0
  47. package/types/index.d.ts.map +1 -1
  48. package/types/masks.d.ts +13 -0
  49. package/types/masks.d.ts.map +1 -1
  50. package/types/palettes.d.ts +21 -0
  51. package/types/shadows.d.ts +15 -0
  52. package/types/shadows.d.ts.map +1 -0
  53. package/types/templates.d.ts +142 -0
  54. package/types/themes-new.d.ts +40323 -0
  55. package/types/themes-new.d.ts.map +1 -1
  56. package/types/themes-old.d.ts +51411 -0
  57. package/types/themes.d.ts +2 -51602
  58. package/types/themes.d.ts.map +1 -1
  59. package/types/tokens.d.ts +2 -2
  60. package/dist/cjs/generated-old.js +0 -13599
  61. package/dist/cjs/generated-old.js.map +0 -6
  62. package/dist/esm/generated-old.js +0 -12064
  63. package/dist/esm/generated-old.js.map +0 -6
  64. package/src/generate.ts +0 -25
  65. package/src/generated.js +0 -23954
  66. package/types/generate.d.ts +0 -2
  67. package/types/themes.outlined.d.ts +0 -2643
@@ -1,311 +1,4 @@
1
- import {
2
- addChildren,
3
- applyMask,
4
- createStrengthenMask,
5
- createTheme,
6
- createWeakenMask,
7
- skipMask
8
- } from "@tamagui/create-theme";
9
- import { colorTokens, darkColors, lightColors } from "./tokens";
10
- const lightTransparent = "rgba(255,255,255,0)";
11
- const darkTransparent = "rgba(10,10,10,0)";
12
- const palettes = {
13
- dark: [
14
- darkTransparent,
15
- "#050505",
16
- "#151515",
17
- "#191919",
18
- "#232323",
19
- "#282828",
20
- "#323232",
21
- "#424242",
22
- "#494949",
23
- "#545454",
24
- "#626262",
25
- "#a5a5a5",
26
- "#fff",
27
- lightTransparent
28
- ],
29
- light: [
30
- lightTransparent,
31
- "#fff",
32
- "#f9f9f9",
33
- "hsl(0, 0%, 97.3%)",
34
- "hsl(0, 0%, 95.1%)",
35
- "hsl(0, 0%, 94.0%)",
36
- "hsl(0, 0%, 92.0%)",
37
- "hsl(0, 0%, 89.5%)",
38
- "hsl(0, 0%, 81.0%)",
39
- "hsl(0, 0%, 56.1%)",
40
- "hsl(0, 0%, 50.3%)",
41
- "hsl(0, 0%, 42.5%)",
42
- "hsl(0, 0%, 9.0%)",
43
- darkTransparent
44
- ]
45
- };
46
- const templateColors = {
47
- color1: 1,
48
- color2: 2,
49
- color3: 3,
50
- color4: 4,
51
- color5: 5,
52
- color6: 6,
53
- color7: 7,
54
- color8: 8,
55
- color9: 9,
56
- color10: 10,
57
- color11: 11,
58
- color12: 12
59
- };
60
- const templateShadows = {
61
- shadowColor: 1,
62
- shadowColorHover: 1,
63
- shadowColorPress: 2,
64
- shadowColorFocus: 2
65
- };
66
- const toSkip = {
67
- ...templateShadows
68
- };
69
- const override = Object.fromEntries(Object.entries(toSkip).map(([k]) => [k, 0]));
70
- const overrideShadows = Object.fromEntries(
71
- Object.entries(templateShadows).map(([k]) => [k, 0])
72
- );
73
- const overrideWithColors = {
74
- ...override,
75
- color: 0,
76
- colorHover: 0,
77
- colorFocus: 0,
78
- colorPress: 0
79
- };
80
- const template = {
81
- ...templateColors,
82
- ...toSkip,
83
- // the background, color, etc keys here work like generics - they make it so you
84
- // can publish components for others to use without mandating a specific color scale
85
- // the @tamagui/button Button component looks for `$background`, so you set the
86
- // dark_red_Button theme to have a stronger background than the dark_red theme.
87
- background: 2,
88
- backgroundHover: 3,
89
- backgroundPress: 4,
90
- backgroundFocus: 5,
91
- backgroundStrong: 1,
92
- backgroundTransparent: 0,
93
- color: -1,
94
- colorHover: -2,
95
- colorPress: -1,
96
- colorFocus: -2,
97
- colorTransparent: -0,
98
- borderColor: 4,
99
- borderColorHover: 5,
100
- borderColorPress: 3,
101
- borderColorFocus: 4,
102
- placeholderColor: -4
103
- };
104
- const lightShadowColor = "rgba(0,0,0,0.02)";
105
- const lightShadowColorStrong = "rgba(0,0,0,0.066)";
106
- const darkShadowColor = "rgba(0,0,0,0.2)";
107
- const darkShadowColorStrong = "rgba(0,0,0,0.3)";
108
- const lightShadows = {
109
- shadowColor: lightShadowColorStrong,
110
- shadowColorHover: lightShadowColorStrong,
111
- shadowColorPress: lightShadowColor,
112
- shadowColorFocus: lightShadowColor
113
- };
114
- const darkShadows = {
115
- shadowColor: darkShadowColorStrong,
116
- shadowColorHover: darkShadowColorStrong,
117
- shadowColorPress: darkShadowColor,
118
- shadowColorFocus: darkShadowColor
119
- };
120
- const lightTemplate = {
121
- ...template,
122
- background: 2,
123
- backgroundHover: 3,
124
- backgroundPress: 4,
125
- // our light color palette is... a bit unique
126
- borderColor: 6,
127
- borderColorHover: 7,
128
- borderColorFocus: 5,
129
- borderColorPress: 6,
130
- ...lightShadows
131
- };
132
- const darkTemplate = { ...template, ...darkShadows };
133
- const light = createTheme(palettes.light, lightTemplate);
134
- const dark = createTheme(palettes.dark, darkTemplate);
135
- const baseThemes = {
136
- light,
137
- dark
138
- };
139
- const masks = {
140
- skip: skipMask,
141
- weaker: createWeakenMask(),
142
- stronger: createStrengthenMask()
143
- };
144
- const maskOptions = {
145
- override,
146
- skip: toSkip,
147
- // avoids the transparent ends
148
- max: palettes.light.length - 2,
149
- min: 1
150
- };
151
- const transparent = (hsl, opacity = 0) => hsl.replace(`%)`, `%, ${opacity})`).replace(`hsl(`, `hsla(`);
152
- const [lightColorThemes, darkColorThemes] = [colorTokens.light, colorTokens.dark].map(
153
- (colorSet, i) => {
154
- const isLight = i === 0;
155
- const theme = baseThemes[isLight ? "light" : "dark"];
156
- return Object.fromEntries(
157
- Object.keys(colorSet).map((color) => {
158
- const colorPalette = Object.values(colorSet[color]);
159
- const [head, tail] = [
160
- colorPalette.slice(0, 6),
161
- colorPalette.slice(colorPalette.length - 5)
162
- ];
163
- const palette = [
164
- transparent(colorPalette[0]),
165
- ...head,
166
- ...tail,
167
- theme.color,
168
- transparent(colorPalette[colorPalette.length - 1])
169
- ];
170
- const colorTheme = createTheme(
171
- palette,
172
- isLight ? {
173
- ...lightTemplate,
174
- // light color themes are a bit less sensitive
175
- borderColor: 4,
176
- borderColorHover: 5,
177
- borderColorFocus: 4,
178
- borderColorPress: 4
179
- } : darkTemplate
180
- );
181
- return [color, colorTheme];
182
- })
183
- );
184
- }
185
- );
186
- const allThemes = addChildren(baseThemes, (name, theme) => {
187
- const isLight = name === "light";
188
- const inverseName = isLight ? "dark" : "light";
189
- const inverseTheme = baseThemes[inverseName];
190
- const colorThemes = isLight ? lightColorThemes : darkColorThemes;
191
- const inverseColorThemes = isLight ? darkColorThemes : lightColorThemes;
192
- const allColorThemes = addChildren(colorThemes, (colorName, colorTheme) => {
193
- const inverse = inverseColorThemes[colorName];
194
- return {
195
- ...getAltThemes({
196
- theme: colorTheme,
197
- inverse,
198
- isLight
199
- }),
200
- ...getComponentThemes(colorTheme, inverse, isLight)
201
- };
202
- });
203
- const baseSubThemes = {
204
- ...getAltThemes({ theme, inverse: inverseTheme, isLight }),
205
- ...getComponentThemes(theme, inverseTheme, isLight)
206
- };
207
- return {
208
- ...baseSubThemes,
209
- ...allColorThemes
210
- };
211
- });
212
- function getAltThemes({
213
- theme,
214
- inverse,
215
- isLight,
216
- activeTheme
217
- }) {
218
- const maskOptionsAlt = {
219
- ...maskOptions,
220
- override: overrideShadows
221
- };
222
- const alt1 = applyMask(theme, masks.weaker, maskOptionsAlt);
223
- const alt2 = applyMask(alt1, masks.weaker, maskOptionsAlt);
224
- const active = activeTheme ?? (process.env.ACTIVE_THEME_INVERSE ? inverse : (() => {
225
- return applyMask(theme, masks.weaker, {
226
- ...maskOptions,
227
- strength: 3,
228
- skip: {
229
- ...maskOptions.skip,
230
- color: 1
231
- }
232
- });
233
- })());
234
- return addChildren({ alt1, alt2, active }, (_, subTheme) => {
235
- return getComponentThemes(subTheme, subTheme === inverse ? theme : inverse, isLight);
236
- });
237
- }
238
- function getComponentThemes(theme, inverse, isLight) {
239
- const componentMaskOptions = {
240
- ...maskOptions,
241
- override: overrideWithColors,
242
- skip: {
243
- ...maskOptions.skip,
244
- // skip colors too just for component sub themes
245
- ...templateColors
246
- }
247
- };
248
- const weaker1 = applyMask(theme, masks.weaker, componentMaskOptions);
249
- const base = applyMask(weaker1, masks.stronger, componentMaskOptions);
250
- const weaker2 = applyMask(weaker1, masks.weaker, {
251
- ...componentMaskOptions,
252
- override: overrideWithColors
253
- });
254
- const stronger1 = applyMask(theme, masks.stronger, componentMaskOptions);
255
- const inverse1 = applyMask(inverse, masks.weaker, componentMaskOptions);
256
- const inverse2 = applyMask(inverse1, masks.weaker, componentMaskOptions);
257
- const strongerBorderLighterBackground = isLight ? {
258
- ...stronger1,
259
- borderColor: weaker1.borderColor,
260
- borderColorHover: weaker1.borderColorHover,
261
- borderColorPress: weaker1.borderColorPress,
262
- borderColorFocus: weaker1.borderColorFocus
263
- } : {
264
- ...applyMask(theme, masks.skip, componentMaskOptions),
265
- borderColor: weaker1.borderColor,
266
- borderColorHover: weaker1.borderColorHover,
267
- borderColorPress: weaker1.borderColorPress,
268
- borderColorFocus: weaker1.borderColorFocus
269
- };
270
- const overlayTheme = {
271
- background: isLight ? "rgba(0,0,0,0.5)" : "rgba(0,0,0,0.9)"
272
- };
273
- const weaker2WithoutBorder = {
274
- ...weaker2,
275
- borderColor: "transparent",
276
- borderColorHover: "transparent"
277
- };
278
- return {
279
- ListItem: isLight ? stronger1 : base,
280
- Card: weaker1,
281
- Button: weaker2WithoutBorder,
282
- Checkbox: weaker2,
283
- DrawerFrame: weaker1,
284
- SliderTrack: stronger1,
285
- SliderTrackActive: weaker2,
286
- SliderThumb: inverse1,
287
- Progress: weaker1,
288
- ProgressIndicator: inverse,
289
- Switch: weaker2,
290
- SwitchThumb: inverse2,
291
- TooltipArrow: weaker1,
292
- TooltipContent: weaker2,
293
- Input: strongerBorderLighterBackground,
294
- TextArea: strongerBorderLighterBackground,
295
- Tooltip: inverse1,
296
- // make overlays always dark
297
- SheetOverlay: overlayTheme,
298
- DialogOverlay: overlayTheme,
299
- ModalOverlay: overlayTheme
300
- };
301
- }
302
- const themes = {
303
- ...allThemes,
304
- // bring back the full type, the rest use a subset to avoid clogging up ts,
305
- // tamagui will be smart and use the top level themes as the type for useTheme() etc
306
- light: createTheme(palettes.light, lightTemplate, { nonInheritedValues: lightColors }),
307
- dark: createTheme(palettes.dark, darkTemplate, { nonInheritedValues: darkColors })
308
- };
1
+ import * as themes from "./generated-new";
309
2
  export {
310
3
  themes
311
4
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/themes.tsx"],
4
- "mappings": "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",
4
+ "mappings": "AAEA,YAAY,YAAY;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/themes",
3
- "version": "1.31.3",
3
+ "version": "1.32.0",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -11,9 +11,9 @@
11
11
  "dist"
12
12
  ],
13
13
  "scripts": {
14
- "generate": "node -r esbuild-register ./src/generate.ts",
15
- "build": "tamagui-build && yarn generate",
16
- "watch": "tamagui-build --watch",
14
+ "generate": "tamagui generate-themes ./src/themes-new.tsx ./src/generated-new.ts",
15
+ "build": "tamagui-build",
16
+ "watch": "yarn build --watch",
17
17
  "lint": "../../node_modules/.bin/rome check src",
18
18
  "lint:fix": "../../node_modules/.bin/rome check --apply src",
19
19
  "clean": "tamagui-build clean",
@@ -33,12 +33,14 @@
33
33
  }
34
34
  },
35
35
  "dependencies": {
36
- "@tamagui/colors": "1.31.3",
37
- "@tamagui/create-theme": "1.31.3",
38
- "@tamagui/web": "1.31.3"
36
+ "@tamagui/colors": "1.32.0",
37
+ "@tamagui/create-theme": "1.32.0",
38
+ "@tamagui/web": "1.32.0"
39
39
  },
40
40
  "devDependencies": {
41
- "@tamagui/build": "1.31.3"
41
+ "@tamagui/build": "1.32.0",
42
+ "@tamagui/cli": "1.32.0",
43
+ "vitest": "^0.26.3"
42
44
  },
43
45
  "publishConfig": {
44
46
  "access": "public"
@@ -0,0 +1,137 @@
1
+ import { maskOptions } from './templates'
2
+
3
+ const overlayThemes = {
4
+ light: {
5
+ background: 'rgba(0,0,0,0.5)',
6
+ },
7
+ dark: {
8
+ background: 'rgba(0,0,0,0.9)',
9
+ },
10
+ }
11
+
12
+ export const overlayThemeDefinitions = [
13
+ {
14
+ parent: 'light',
15
+ theme: overlayThemes.light,
16
+ },
17
+ {
18
+ parent: 'dark',
19
+ theme: overlayThemes.dark,
20
+ },
21
+ ]
22
+
23
+ export const componentThemeDefinitions = {
24
+ ListItem: [
25
+ {
26
+ parent: 'light',
27
+ mask: 'strengthen',
28
+ ...maskOptions.component,
29
+ },
30
+ {
31
+ parent: 'dark',
32
+ mask: 'identity',
33
+ ...maskOptions.component,
34
+ },
35
+ ],
36
+
37
+ Card: {
38
+ mask: 'soften',
39
+ ...maskOptions.component,
40
+ },
41
+
42
+ Button: {
43
+ mask: 'soften2',
44
+ ...maskOptions.button,
45
+ },
46
+
47
+ Checkbox: {
48
+ mask: 'soften2',
49
+ ...maskOptions.component,
50
+ },
51
+
52
+ SliderTrackActive: {
53
+ mask: 'soften2',
54
+ ...maskOptions.component,
55
+ },
56
+
57
+ Switch: {
58
+ mask: 'soften2',
59
+ ...maskOptions.component,
60
+ },
61
+
62
+ SwitchThumb: {
63
+ mask: 'inverseStrengthen2',
64
+ ...maskOptions.component,
65
+ debug: true,
66
+ },
67
+
68
+ TooltipContent: {
69
+ mask: 'soften2',
70
+ ...maskOptions.component,
71
+ },
72
+
73
+ DrawerFrame: {
74
+ mask: 'soften',
75
+ ...maskOptions.component,
76
+ },
77
+
78
+ Progress: {
79
+ mask: 'soften',
80
+ ...maskOptions.component,
81
+ },
82
+
83
+ TooltipArrow: {
84
+ mask: 'soften',
85
+ ...maskOptions.component,
86
+ },
87
+
88
+ SliderTrack: {
89
+ mask: 'soften',
90
+ ...maskOptions.component,
91
+ },
92
+
93
+ SliderThumb: {
94
+ mask: 'inverse',
95
+ ...maskOptions.component,
96
+ },
97
+
98
+ Tooltip: {
99
+ mask: 'inverse',
100
+ ...maskOptions.component,
101
+ },
102
+
103
+ ProgressIndicator: {
104
+ mask: 'inverse',
105
+ ...maskOptions.component,
106
+ },
107
+
108
+ SheetOverlay: overlayThemeDefinitions,
109
+ DialogOverlay: overlayThemeDefinitions,
110
+ ModalOverlay: overlayThemeDefinitions,
111
+
112
+ Input: [
113
+ {
114
+ parent: 'light',
115
+ mask: 'strengthenButSoftenBorder',
116
+ ...maskOptions.component,
117
+ },
118
+ {
119
+ parent: 'dark',
120
+ mask: 'softenBorder',
121
+ ...maskOptions.component,
122
+ },
123
+ ],
124
+
125
+ TextArea: [
126
+ {
127
+ parent: 'light',
128
+ mask: 'strengthenButSoftenBorder',
129
+ ...maskOptions.component,
130
+ },
131
+ {
132
+ parent: 'dark',
133
+ mask: 'softenBorder',
134
+ ...maskOptions.component,
135
+ },
136
+ ],
137
+ }