@tamagui/themes 1.50.3 → 1.52.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.
package/src/masks.tsx CHANGED
@@ -32,6 +32,28 @@ export const masks = {
32
32
  borderColorFocus: softer.borderColorFocus,
33
33
  }
34
34
  }),
35
+ soften2Border1: createMask((template, options) => {
36
+ const softer2 = createSoftenMask({ strength: 2 }).mask(template, options)
37
+ const softer1 = createSoftenMask({ strength: 1 }).mask(template, options)
38
+ return {
39
+ ...softer2,
40
+ borderColor: softer1.borderColor,
41
+ borderColorHover: softer1.borderColorHover,
42
+ borderColorPress: softer1.borderColorPress,
43
+ borderColorFocus: softer1.borderColorFocus,
44
+ }
45
+ }),
46
+ soften3FlatBorder: createMask((template, options) => {
47
+ const borderMask = createSoftenMask({ strength: 2 }).mask(template, options)
48
+ const softer3 = createSoftenMask({ strength: 3 }).mask(template, options)
49
+ return {
50
+ ...softer3,
51
+ borderColor: borderMask.borderColor,
52
+ borderColorHover: borderMask.borderColorHover,
53
+ borderColorPress: borderMask.borderColorPress,
54
+ borderColorFocus: borderMask.borderColorFocus,
55
+ }
56
+ }),
35
57
  softenBorder: createMask((template, options) => {
36
58
  const plain = skipMask.mask(template, options)
37
59
  const softer = createSoftenMask().mask(template, options)
@@ -0,0 +1,180 @@
1
+ import { createThemeBuilder } from '@tamagui/theme-builder'
2
+
3
+ import { overlayThemeDefinitions } from './componentThemeDefinitions'
4
+ import { masks } from './masks'
5
+ import { palettes } from './palettes'
6
+ import { shadows } from './shadows'
7
+ import { maskOptions, templates } from './templates'
8
+ import { darkColors, lightColors } from './tokens'
9
+
10
+ const colorThemeDefinition = (colorName: string) => [
11
+ {
12
+ parent: 'light',
13
+ palette: colorName,
14
+ template: 'colorLight',
15
+ },
16
+ {
17
+ parent: 'dark',
18
+ palette: colorName,
19
+ template: 'base',
20
+ },
21
+ ]
22
+
23
+ const themesBuilder = createThemeBuilder()
24
+ .addPalettes(palettes)
25
+ .addTemplates(templates)
26
+ .addMasks(masks)
27
+ .addThemes({
28
+ light: {
29
+ template: 'base',
30
+ palette: 'light',
31
+ nonInheritedValues: {
32
+ ...lightColors,
33
+ ...shadows.light,
34
+ },
35
+ },
36
+ dark: {
37
+ template: 'base',
38
+ palette: 'dark',
39
+ nonInheritedValues: {
40
+ ...darkColors,
41
+ ...shadows.dark,
42
+ },
43
+ },
44
+ })
45
+ .addChildThemes({
46
+ orange: colorThemeDefinition('orange'),
47
+ yellow: colorThemeDefinition('yellow'),
48
+ green: colorThemeDefinition('green'),
49
+ blue: colorThemeDefinition('blue'),
50
+ purple: colorThemeDefinition('purple'),
51
+ pink: colorThemeDefinition('pink'),
52
+ red: colorThemeDefinition('red'),
53
+ })
54
+ .addChildThemes({
55
+ alt1: {
56
+ mask: 'soften',
57
+ ...maskOptions.alt,
58
+ },
59
+ alt2: {
60
+ mask: 'soften2Border1',
61
+ ...maskOptions.alt,
62
+ },
63
+ active: {
64
+ mask: 'soften3FlatBorder',
65
+ skip: {
66
+ color: 1,
67
+ },
68
+ },
69
+ })
70
+ .addChildThemes(
71
+ {
72
+ ListItem: [
73
+ {
74
+ parent: 'light',
75
+ mask: 'strengthen',
76
+ ...maskOptions.component,
77
+ },
78
+ {
79
+ parent: 'dark',
80
+ mask: 'identity',
81
+ ...maskOptions.component,
82
+ },
83
+ ],
84
+
85
+ Card: {
86
+ mask: 'soften',
87
+ ...maskOptions.component,
88
+ },
89
+
90
+ Button: {
91
+ mask: 'soften2Border1',
92
+ ...maskOptions.component,
93
+ },
94
+
95
+ Checkbox: {
96
+ mask: 'softenBorder2',
97
+ ...maskOptions.component,
98
+ },
99
+
100
+ Switch: {
101
+ mask: 'soften2Border1',
102
+ ...maskOptions.component,
103
+ },
104
+
105
+ SwitchThumb: {
106
+ mask: 'inverseStrengthen2',
107
+ ...maskOptions.component,
108
+ },
109
+
110
+ TooltipContent: {
111
+ mask: 'soften2Border1',
112
+ ...maskOptions.component,
113
+ },
114
+
115
+ DrawerFrame: {
116
+ mask: 'soften',
117
+ ...maskOptions.component,
118
+ },
119
+
120
+ Progress: {
121
+ mask: 'soften',
122
+ ...maskOptions.component,
123
+ },
124
+
125
+ RadioGroupItem: {
126
+ mask: 'softenBorder2',
127
+ ...maskOptions.component,
128
+ },
129
+
130
+ TooltipArrow: {
131
+ mask: 'soften',
132
+ ...maskOptions.component,
133
+ },
134
+
135
+ SliderTrackActive: {
136
+ mask: 'inverseSoften',
137
+ ...maskOptions.component,
138
+ },
139
+
140
+ SliderTrack: {
141
+ mask: 'soften2Border1',
142
+ ...maskOptions.component,
143
+ },
144
+
145
+ SliderThumb: {
146
+ mask: 'inverse',
147
+ ...maskOptions.component,
148
+ },
149
+
150
+ Tooltip: {
151
+ mask: 'inverse',
152
+ ...maskOptions.component,
153
+ },
154
+
155
+ ProgressIndicator: {
156
+ mask: 'inverse',
157
+ ...maskOptions.component,
158
+ },
159
+
160
+ SheetOverlay: overlayThemeDefinitions,
161
+ DialogOverlay: overlayThemeDefinitions,
162
+ ModalOverlay: overlayThemeDefinitions,
163
+
164
+ Input: {
165
+ mask: 'softenBorder2',
166
+ ...maskOptions.component,
167
+ },
168
+
169
+ TextArea: {
170
+ mask: 'softenBorder2',
171
+ ...maskOptions.component,
172
+ },
173
+ },
174
+ {
175
+ // to save bundle size but make alt themes not work on components
176
+ // avoidNestingWithin: ['alt1', 'alt2'],
177
+ }
178
+ )
179
+
180
+ export const themes = themesBuilder.build()
package/src/v2.tsx ADDED
@@ -0,0 +1,21 @@
1
+ import * as themes from './generated-v2'
2
+ export { themes }
3
+
4
+ // export { themes } from './themes-new'
5
+
6
+ export * from './tokens'
7
+ export * from './masks'
8
+ export * from './componentThemeDefinitions'
9
+ export * from './palettes'
10
+ export * from './templates'
11
+ export * from './shadows'
12
+
13
+ // specific colors since we have cjs here
14
+ export { blue, blueDark } from '@tamagui/colors'
15
+ export { green, greenDark } from '@tamagui/colors'
16
+ export { red, redDark } from '@tamagui/colors'
17
+ export { orange, orangeDark } from '@tamagui/colors'
18
+ export { yellow, yellowDark } from '@tamagui/colors'
19
+ export { pink, pinkDark } from '@tamagui/colors'
20
+ export { purple, purpleDark } from '@tamagui/colors'
21
+ export { gray, grayDark } from '@tamagui/colors'