@tamagui/themes 1.121.11 → 1.121.12
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/dist/cjs/getThemeSuitePalettes.cjs +81 -0
- package/dist/cjs/getThemeSuitePalettes.js +63 -0
- package/dist/cjs/getThemeSuitePalettes.js.map +6 -0
- package/dist/cjs/getThemeSuitePalettes.native.js +94 -0
- package/dist/cjs/getThemeSuitePalettes.native.js.map +6 -0
- package/dist/cjs/index.cjs +10 -10
- package/dist/cjs/index.js +10 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +10 -10
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/types.cjs +16 -0
- package/dist/cjs/types.js +14 -0
- package/dist/cjs/types.js.map +6 -0
- package/dist/cjs/types.native.js +15 -0
- package/dist/cjs/types.native.js.map +6 -0
- package/dist/cjs/utils.cjs +40 -0
- package/dist/cjs/utils.js +37 -0
- package/dist/cjs/utils.js.map +6 -0
- package/dist/cjs/utils.native.js +49 -0
- package/dist/cjs/utils.native.js.map +6 -0
- package/dist/cjs/v3-themes.cjs +12 -27
- package/dist/cjs/v3-themes.js +10 -28
- package/dist/cjs/v3-themes.js.map +1 -1
- package/dist/cjs/v3-themes.native.js +8 -34
- package/dist/cjs/v3-themes.native.js.map +2 -2
- package/dist/cjs/v4-createTheme.cjs +257 -0
- package/dist/cjs/v4-createTheme.js +232 -0
- package/dist/cjs/v4-createTheme.js.map +6 -0
- package/dist/cjs/v4-createTheme.native.js +284 -0
- package/dist/cjs/v4-createTheme.native.js.map +6 -0
- package/dist/cjs/v4-default.cjs +102 -0
- package/dist/cjs/v4-default.js +89 -0
- package/dist/cjs/v4-default.js.map +6 -0
- package/dist/cjs/v4-default.native.js +99 -0
- package/dist/cjs/v4-default.native.js.map +6 -0
- package/dist/cjs/v4-defaultTemplates.cjs +158 -0
- package/dist/cjs/v4-defaultTemplates.js +144 -0
- package/dist/cjs/v4-defaultTemplates.js.map +6 -0
- package/dist/cjs/v4-defaultTemplates.native.js +154 -0
- package/dist/cjs/v4-defaultTemplates.native.js.map +6 -0
- package/dist/cjs/v4-tamagui-out.cjs +1217 -0
- package/dist/cjs/v4-tamagui-out.js +1241 -0
- package/dist/cjs/v4-tamagui-out.js.map +6 -0
- package/dist/cjs/v4-tamagui-out.native.js +12662 -0
- package/dist/cjs/v4-tamagui-out.native.js.map +6 -0
- package/dist/cjs/v4-tamagui.cjs +175 -0
- package/dist/cjs/v4-tamagui.js +214 -0
- package/dist/cjs/v4-tamagui.js.map +6 -0
- package/dist/cjs/v4-tamagui.native.js +218 -0
- package/dist/cjs/v4-tamagui.native.js.map +6 -0
- package/dist/cjs/v4.cjs +41 -0
- package/dist/cjs/v4.js +30 -0
- package/dist/cjs/v4.js.map +6 -0
- package/dist/cjs/v4.native.js +37 -0
- package/dist/cjs/v4.native.js.map +6 -0
- package/dist/esm/getThemeSuitePalettes.js +47 -0
- package/dist/esm/getThemeSuitePalettes.js.map +6 -0
- package/dist/esm/getThemeSuitePalettes.mjs +57 -0
- package/dist/esm/getThemeSuitePalettes.mjs.map +1 -0
- package/dist/esm/getThemeSuitePalettes.native.js +73 -0
- package/dist/esm/getThemeSuitePalettes.native.js.map +6 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +6 -0
- package/dist/esm/types.mjs +2 -0
- package/dist/esm/types.mjs.map +1 -0
- package/dist/esm/types.native.js +1 -0
- package/dist/esm/types.native.js.map +6 -0
- package/dist/esm/utils.js +21 -0
- package/dist/esm/utils.js.map +6 -0
- package/dist/esm/utils.mjs +14 -0
- package/dist/esm/utils.mjs.map +1 -0
- package/dist/esm/utils.native.js +25 -0
- package/dist/esm/utils.native.js.map +6 -0
- package/dist/esm/v3-themes.js +2 -19
- package/dist/esm/v3-themes.js.map +1 -1
- package/dist/esm/v3-themes.mjs +3 -14
- package/dist/esm/v3-themes.mjs.map +1 -1
- package/dist/esm/v3-themes.native.js +2 -23
- package/dist/esm/v3-themes.native.js.map +2 -2
- package/dist/esm/v4-createTheme.js +221 -0
- package/dist/esm/v4-createTheme.js.map +6 -0
- package/dist/esm/v4-createTheme.mjs +226 -0
- package/dist/esm/v4-createTheme.mjs.map +1 -0
- package/dist/esm/v4-createTheme.native.js +261 -0
- package/dist/esm/v4-createTheme.native.js.map +6 -0
- package/dist/esm/v4-default.js +74 -0
- package/dist/esm/v4-default.js.map +6 -0
- package/dist/esm/v4-default.mjs +79 -0
- package/dist/esm/v4-default.mjs.map +1 -0
- package/dist/esm/v4-default.native.js +80 -0
- package/dist/esm/v4-default.native.js.map +6 -0
- package/dist/esm/v4-defaultTemplates.js +128 -0
- package/dist/esm/v4-defaultTemplates.js.map +6 -0
- package/dist/esm/v4-defaultTemplates.mjs +135 -0
- package/dist/esm/v4-defaultTemplates.mjs.map +1 -0
- package/dist/esm/v4-defaultTemplates.native.js +134 -0
- package/dist/esm/v4-defaultTemplates.native.js.map +6 -0
- package/dist/esm/v4-tamagui-out.js +1225 -0
- package/dist/esm/v4-tamagui-out.js.map +6 -0
- package/dist/esm/v4-tamagui-out.mjs +677 -0
- package/dist/esm/v4-tamagui-out.mjs.map +1 -0
- package/dist/esm/v4-tamagui-out.native.js +12124 -0
- package/dist/esm/v4-tamagui-out.native.js.map +6 -0
- package/dist/esm/v4-tamagui.js +216 -0
- package/dist/esm/v4-tamagui.js.map +6 -0
- package/dist/esm/v4-tamagui.mjs +152 -0
- package/dist/esm/v4-tamagui.mjs.map +1 -0
- package/dist/esm/v4-tamagui.native.js +199 -0
- package/dist/esm/v4-tamagui.native.js.map +6 -0
- package/dist/esm/v4.js +8 -0
- package/dist/esm/v4.js.map +6 -0
- package/dist/esm/v4.mjs +5 -0
- package/dist/esm/v4.mjs.map +1 -0
- package/dist/esm/v4.native.js +8 -0
- package/dist/esm/v4.native.js.map +6 -0
- package/package.json +17 -7
- package/src/getThemeSuitePalettes.ts +94 -0
- package/src/types.ts +94 -0
- package/src/utils.ts +51 -0
- package/src/v3-themes.ts +2 -53
- package/src/v4-createTheme.ts +403 -0
- package/src/v4-default.ts +88 -0
- package/src/v4-defaultTemplates.ts +165 -0
- package/src/v4-tamagui-out.ts +1667 -0
- package/src/v4-tamagui.ts +232 -0
- package/src/v4.tsx +4 -0
- package/tsconfig.json +2 -1
- package/types/getThemeSuitePalettes.d.ts +7 -0
- package/types/types.d.ts +72 -0
- package/types/utils.d.ts +21 -0
- package/types/v3-themes.d.ts +0 -20
- package/types/v4-createTheme.d.ts +157 -0
- package/types/v4-default.d.ts +797 -0
- package/types/v4-defaultTemplates.d.ts +44 -0
- package/types/v4-tamagui-out.d.ts +659 -0
- package/types/v4-tamagui.d.ts +15575 -0
- package/types/v4.d.ts +4 -0
- package/v4.d.ts +1 -0
- package/v4.js +1 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import {
|
|
2
|
+
blue,
|
|
3
|
+
blueDark,
|
|
4
|
+
gray,
|
|
5
|
+
grayDark,
|
|
6
|
+
green,
|
|
7
|
+
greenDark,
|
|
8
|
+
orange,
|
|
9
|
+
orangeDark,
|
|
10
|
+
pink,
|
|
11
|
+
pinkDark,
|
|
12
|
+
purple,
|
|
13
|
+
purpleDark,
|
|
14
|
+
red,
|
|
15
|
+
redDark,
|
|
16
|
+
yellow,
|
|
17
|
+
yellowDark,
|
|
18
|
+
} from '@tamagui/colors'
|
|
19
|
+
import { createThemeSuite } from './v4-createTheme'
|
|
20
|
+
|
|
21
|
+
const colorTokens = {
|
|
22
|
+
light: {
|
|
23
|
+
blue,
|
|
24
|
+
gray,
|
|
25
|
+
green,
|
|
26
|
+
orange,
|
|
27
|
+
pink,
|
|
28
|
+
purple,
|
|
29
|
+
red,
|
|
30
|
+
yellow,
|
|
31
|
+
},
|
|
32
|
+
dark: {
|
|
33
|
+
blue: blueDark,
|
|
34
|
+
gray: grayDark,
|
|
35
|
+
green: greenDark,
|
|
36
|
+
orange: orangeDark,
|
|
37
|
+
pink: pinkDark,
|
|
38
|
+
purple: purpleDark,
|
|
39
|
+
red: redDark,
|
|
40
|
+
yellow: yellowDark,
|
|
41
|
+
},
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const lightShadowColor = 'rgba(0,0,0,0.04)'
|
|
45
|
+
const lightShadowColorStrong = 'rgba(0,0,0,0.085)'
|
|
46
|
+
const darkShadowColor = 'rgba(0,0,0,0.2)'
|
|
47
|
+
const darkShadowColorStrong = 'rgba(0,0,0,0.3)'
|
|
48
|
+
|
|
49
|
+
const darkPalette = [
|
|
50
|
+
'#050505',
|
|
51
|
+
'#151515',
|
|
52
|
+
'#191919',
|
|
53
|
+
'#232323',
|
|
54
|
+
'#282828',
|
|
55
|
+
'#323232',
|
|
56
|
+
'#424242',
|
|
57
|
+
'#494949',
|
|
58
|
+
'#545454',
|
|
59
|
+
'#626262',
|
|
60
|
+
'#a5a5a5',
|
|
61
|
+
'#fff',
|
|
62
|
+
]
|
|
63
|
+
|
|
64
|
+
const lightPalette = [
|
|
65
|
+
'#fff',
|
|
66
|
+
'#f8f8f8',
|
|
67
|
+
'hsl(0, 0%, 96.3%)',
|
|
68
|
+
'hsl(0, 0%, 94.1%)',
|
|
69
|
+
'hsl(0, 0%, 92.0%)',
|
|
70
|
+
'hsl(0, 0%, 90.0%)',
|
|
71
|
+
'hsl(0, 0%, 88.5%)',
|
|
72
|
+
'hsl(0, 0%, 81.0%)',
|
|
73
|
+
'hsl(0, 0%, 56.1%)',
|
|
74
|
+
'hsl(0, 0%, 50.3%)',
|
|
75
|
+
'hsl(0, 0%, 42.5%)',
|
|
76
|
+
'hsl(0, 0%, 9.0%)',
|
|
77
|
+
]
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Default themes for the tamagui.dev site
|
|
81
|
+
* If you'd like to create your own themes, use `createThemeSuite`
|
|
82
|
+
*/
|
|
83
|
+
export const tamaguiThemes = createThemeSuite({
|
|
84
|
+
base: {
|
|
85
|
+
palette: {
|
|
86
|
+
dark: darkPalette,
|
|
87
|
+
light: lightPalette,
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
// we set a bunch of colors like $red1 => $red1
|
|
91
|
+
// we only want to set it on the base light/dark theme
|
|
92
|
+
extra: {
|
|
93
|
+
light: {
|
|
94
|
+
...colorTokens.light.blue,
|
|
95
|
+
...colorTokens.light.gray,
|
|
96
|
+
...colorTokens.light.green,
|
|
97
|
+
...colorTokens.light.orange,
|
|
98
|
+
...colorTokens.light.pink,
|
|
99
|
+
...colorTokens.light.purple,
|
|
100
|
+
...colorTokens.light.red,
|
|
101
|
+
...colorTokens.light.yellow,
|
|
102
|
+
shadowColor: lightShadowColorStrong,
|
|
103
|
+
shadowColorHover: lightShadowColorStrong,
|
|
104
|
+
shadowColorPress: lightShadowColor,
|
|
105
|
+
shadowColorFocus: lightShadowColor,
|
|
106
|
+
},
|
|
107
|
+
dark: {
|
|
108
|
+
...colorTokens.dark.blue,
|
|
109
|
+
...colorTokens.dark.gray,
|
|
110
|
+
...colorTokens.dark.green,
|
|
111
|
+
...colorTokens.dark.orange,
|
|
112
|
+
...colorTokens.dark.pink,
|
|
113
|
+
...colorTokens.dark.purple,
|
|
114
|
+
...colorTokens.dark.red,
|
|
115
|
+
...colorTokens.dark.yellow,
|
|
116
|
+
shadowColor: darkShadowColorStrong,
|
|
117
|
+
shadowColorHover: darkShadowColorStrong,
|
|
118
|
+
shadowColorPress: darkShadowColor,
|
|
119
|
+
shadowColorFocus: darkShadowColor,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
accent: {
|
|
125
|
+
palette: {
|
|
126
|
+
dark: lightPalette,
|
|
127
|
+
light: darkPalette,
|
|
128
|
+
},
|
|
129
|
+
template: 'inverse',
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
childrenThemes: {
|
|
133
|
+
gray: {
|
|
134
|
+
palette: {
|
|
135
|
+
dark: Object.values(colorTokens.dark.gray),
|
|
136
|
+
light: Object.values(colorTokens.light.gray),
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
blue: {
|
|
140
|
+
palette: {
|
|
141
|
+
dark: Object.values(colorTokens.dark.blue),
|
|
142
|
+
light: Object.values(colorTokens.light.blue),
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
orange: {
|
|
146
|
+
palette: {
|
|
147
|
+
dark: Object.values(colorTokens.dark.orange),
|
|
148
|
+
light: Object.values(colorTokens.light.orange),
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
red: {
|
|
152
|
+
palette: {
|
|
153
|
+
dark: Object.values(colorTokens.dark.red),
|
|
154
|
+
light: Object.values(colorTokens.light.red),
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
yellow: {
|
|
158
|
+
palette: {
|
|
159
|
+
dark: Object.values(colorTokens.dark.yellow),
|
|
160
|
+
light: Object.values(colorTokens.light.yellow),
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
green: {
|
|
164
|
+
palette: {
|
|
165
|
+
dark: Object.values(colorTokens.dark.green),
|
|
166
|
+
light: Object.values(colorTokens.light.green),
|
|
167
|
+
},
|
|
168
|
+
},
|
|
169
|
+
purple: {
|
|
170
|
+
palette: {
|
|
171
|
+
dark: Object.values(colorTokens.dark.purple),
|
|
172
|
+
light: Object.values(colorTokens.light.purple),
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
pink: {
|
|
176
|
+
palette: {
|
|
177
|
+
dark: Object.values(colorTokens.dark.pink),
|
|
178
|
+
light: Object.values(colorTokens.light.pink),
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
tan: {
|
|
182
|
+
palette: {
|
|
183
|
+
light: [
|
|
184
|
+
'hsla(40, 30%, 98%, 1)',
|
|
185
|
+
'hsla(40, 24%, 94%, 1)',
|
|
186
|
+
'hsla(38, 23%, 91%, 1)',
|
|
187
|
+
'hsla(36, 20%, 90%, 1)',
|
|
188
|
+
'hsla(36, 20%, 88%, 1)',
|
|
189
|
+
'hsla(35, 20%, 85%, 1)',
|
|
190
|
+
'hsla(35, 21%, 74%, 1)',
|
|
191
|
+
'hsla(34, 20%, 70%, 1)',
|
|
192
|
+
'hsla(35, 20%, 67%, 1)',
|
|
193
|
+
'hsla(34, 19%, 47%, 1)',
|
|
194
|
+
'hsla(35, 18%, 37%, 1)',
|
|
195
|
+
'hsla(35, 17%, 20%, 1)',
|
|
196
|
+
],
|
|
197
|
+
dark: [
|
|
198
|
+
'hsla(30, 9%, 10%, 1)',
|
|
199
|
+
'hsla(30, 10%, 12%, 1)',
|
|
200
|
+
'hsla(31, 11%, 18%, 1)',
|
|
201
|
+
'hsla(30, 12%, 23%, 1)',
|
|
202
|
+
'hsla(30, 14%, 28%, 1)',
|
|
203
|
+
'hsla(30, 16%, 33%, 1)',
|
|
204
|
+
'hsla(30, 18%, 38%, 1)',
|
|
205
|
+
'hsla(30, 20%, 45%, 1)',
|
|
206
|
+
'hsla(30, 21%, 50%, 1)',
|
|
207
|
+
'hsla(29, 22%, 58%, 1)',
|
|
208
|
+
'hsla(34, 24%, 70%, 1)',
|
|
209
|
+
'hsla(11, 12%, 79%, 1)',
|
|
210
|
+
],
|
|
211
|
+
},
|
|
212
|
+
},
|
|
213
|
+
},
|
|
214
|
+
|
|
215
|
+
grandChildrenThemes: {
|
|
216
|
+
alt1: {
|
|
217
|
+
template: 'alt1',
|
|
218
|
+
},
|
|
219
|
+
alt2: {
|
|
220
|
+
template: 'alt2',
|
|
221
|
+
},
|
|
222
|
+
surface1: {
|
|
223
|
+
template: 'surface1',
|
|
224
|
+
},
|
|
225
|
+
surface2: {
|
|
226
|
+
template: 'surface2',
|
|
227
|
+
},
|
|
228
|
+
surface3: {
|
|
229
|
+
template: 'surface3',
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
})
|
package/src/v4.tsx
ADDED
package/tsconfig.json
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { BuildPalette } from './types';
|
|
2
|
+
export declare const PALETTE_BACKGROUND_OFFSET = 4;
|
|
3
|
+
export declare function getThemeSuitePalettes(palette: BuildPalette): {
|
|
4
|
+
light: string[];
|
|
5
|
+
dark: string[];
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=getThemeSuitePalettes.d.ts.map
|
package/types/types.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { Template, ThemeDefinitions } from '@tamagui/create-theme';
|
|
2
|
+
type ThemeSuiteItem = {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
createdAt: number;
|
|
6
|
+
updatedAt: number;
|
|
7
|
+
schemes: {
|
|
8
|
+
light: boolean;
|
|
9
|
+
dark: boolean;
|
|
10
|
+
};
|
|
11
|
+
palettes: Record<string, BuildPalette>;
|
|
12
|
+
templates: BuildTemplates;
|
|
13
|
+
baseTheme: BuildTheme;
|
|
14
|
+
subThemes: BuildSubTheme[];
|
|
15
|
+
componentThemes: ThemeDefinitions;
|
|
16
|
+
};
|
|
17
|
+
export type ThemeSuiteItemData = Omit<ThemeSuiteItem, 'id' | 'createdAt' | 'updatedAt'>;
|
|
18
|
+
export type BuildTemplates = Record<string, Template>;
|
|
19
|
+
export type BuildSubTheme = BuildTheme;
|
|
20
|
+
export type BuildPalettes = Record<string, BuildPalette>;
|
|
21
|
+
export type BuildPalette = {
|
|
22
|
+
name: string;
|
|
23
|
+
scale?: ScaleTypeName;
|
|
24
|
+
anchors: BuildThemeAnchor[];
|
|
25
|
+
};
|
|
26
|
+
export type BuildThemeSuiteProps = Omit<ThemeSuiteItemData, 'name'>;
|
|
27
|
+
export type BuildThemeSuitePalettes = {
|
|
28
|
+
light: string[];
|
|
29
|
+
dark: string[];
|
|
30
|
+
lightAccent?: string[];
|
|
31
|
+
darkAccent?: string[];
|
|
32
|
+
};
|
|
33
|
+
export type ScaleTypeName = 'custom' | 'radix' | 'radix-b' | 'radius-bold' | 'radius-bright' | 'linear' | 'pastel' | 'pastel-desaturating' | 'neon' | 'neon-bright' | 'neon-c';
|
|
34
|
+
export type BuildThemeBase = {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
errors?: string[];
|
|
38
|
+
};
|
|
39
|
+
export type BuildThemeAnchor = {
|
|
40
|
+
index: number;
|
|
41
|
+
hue: {
|
|
42
|
+
light: number;
|
|
43
|
+
dark: number;
|
|
44
|
+
sync?: boolean;
|
|
45
|
+
syncLeft?: boolean;
|
|
46
|
+
};
|
|
47
|
+
sat: {
|
|
48
|
+
light: number;
|
|
49
|
+
dark: number;
|
|
50
|
+
sync?: boolean;
|
|
51
|
+
syncLeft?: boolean;
|
|
52
|
+
};
|
|
53
|
+
lum: {
|
|
54
|
+
light: number;
|
|
55
|
+
dark: number;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
export type BuildPaletteAnchors = BuildThemeAnchor[];
|
|
59
|
+
export type BuildTheme = BuildThemeBase & {
|
|
60
|
+
type: 'theme';
|
|
61
|
+
template: string;
|
|
62
|
+
palette: string;
|
|
63
|
+
accent?: BuildTheme;
|
|
64
|
+
};
|
|
65
|
+
export type ThemeStepProps = {
|
|
66
|
+
theme: BuildTheme;
|
|
67
|
+
isAccent?: boolean;
|
|
68
|
+
vertical?: boolean;
|
|
69
|
+
onUpdate: (val: Partial<BuildTheme>) => void;
|
|
70
|
+
};
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=types.d.ts.map
|
package/types/utils.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare function postfixObjKeys<A extends {
|
|
2
|
+
[key: string]: string;
|
|
3
|
+
}, B extends string>(obj: A, postfix: B): {
|
|
4
|
+
[Key in `${keyof A extends string ? keyof A : never}${B}`]: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function sizeToSpace(v: number): number;
|
|
7
|
+
export declare function objectFromEntries<ARR_T extends EntriesType>(arr: ARR_T): EntriesToObject<ARR_T>;
|
|
8
|
+
export type EntriesType = [PropertyKey, unknown][] | ReadonlyArray<readonly [PropertyKey, unknown]>;
|
|
9
|
+
export type DeepWritable<OBJ_T> = {
|
|
10
|
+
-readonly [P in keyof OBJ_T]: DeepWritable<OBJ_T[P]>;
|
|
11
|
+
};
|
|
12
|
+
export type UnionToIntersection<UNION_T> = (UNION_T extends any ? (k: UNION_T) => void : never) extends (k: infer I) => void ? I : never;
|
|
13
|
+
export type UnionObjectFromArrayOfPairs<ARR_T extends EntriesType> = DeepWritable<ARR_T> extends (infer R)[] ? R extends [infer key, infer val] ? {
|
|
14
|
+
[prop in key & PropertyKey]: val;
|
|
15
|
+
} : never : never;
|
|
16
|
+
export type MergeIntersectingObjects<ObjT> = {
|
|
17
|
+
[key in keyof ObjT]: ObjT[key];
|
|
18
|
+
};
|
|
19
|
+
export type EntriesToObject<ARR_T extends EntriesType> = MergeIntersectingObjects<UnionToIntersection<UnionObjectFromArrayOfPairs<ARR_T>>>;
|
|
20
|
+
export declare function objectKeys<O extends Object>(obj: O): Array<keyof O>;
|
|
21
|
+
//# sourceMappingURL=utils.d.ts.map
|
package/types/v3-themes.d.ts
CHANGED
|
@@ -16366,25 +16366,5 @@ export declare const tokens: {
|
|
|
16366
16366
|
$20: import("@tamagui/web").Variable<number>;
|
|
16367
16367
|
};
|
|
16368
16368
|
}, "color" | "space" | "size" | "radius" | "zIndex">;
|
|
16369
|
-
export declare function postfixObjKeys<A extends {
|
|
16370
|
-
[key: string]: string;
|
|
16371
|
-
}, B extends string>(obj: A, postfix: B): {
|
|
16372
|
-
[Key in `${keyof A extends string ? keyof A : never}${B}`]: string;
|
|
16373
|
-
};
|
|
16374
|
-
export declare function sizeToSpace(v: number): number;
|
|
16375
|
-
export declare function objectFromEntries<ARR_T extends EntriesType>(arr: ARR_T): EntriesToObject<ARR_T>;
|
|
16376
|
-
export type EntriesType = [PropertyKey, unknown][] | ReadonlyArray<readonly [PropertyKey, unknown]>;
|
|
16377
|
-
export type DeepWritable<OBJ_T> = {
|
|
16378
|
-
-readonly [P in keyof OBJ_T]: DeepWritable<OBJ_T[P]>;
|
|
16379
|
-
};
|
|
16380
|
-
export type UnionToIntersection<UNION_T> = (UNION_T extends any ? (k: UNION_T) => void : never) extends (k: infer I) => void ? I : never;
|
|
16381
|
-
export type UnionObjectFromArrayOfPairs<ARR_T extends EntriesType> = DeepWritable<ARR_T> extends (infer R)[] ? R extends [infer key, infer val] ? {
|
|
16382
|
-
[prop in key & PropertyKey]: val;
|
|
16383
|
-
} : never : never;
|
|
16384
|
-
export type MergeIntersectingObjects<ObjT> = {
|
|
16385
|
-
[key in keyof ObjT]: ObjT[key];
|
|
16386
|
-
};
|
|
16387
|
-
export type EntriesToObject<ARR_T extends EntriesType> = MergeIntersectingObjects<UnionToIntersection<UnionObjectFromArrayOfPairs<ARR_T>>>;
|
|
16388
|
-
export declare function objectKeys<O extends Object>(obj: O): Array<keyof O>;
|
|
16389
16369
|
export {};
|
|
16390
16370
|
//# sourceMappingURL=v3-themes.d.ts.map
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { type ThemeBuilder } from '@tamagui/theme-builder';
|
|
2
|
+
import type { BuildPalettes, BuildTemplates, BuildThemeSuiteProps } from './types';
|
|
3
|
+
import { defaultTemplates } from './v4-defaultTemplates';
|
|
4
|
+
export { getThemeSuitePalettes, PALETTE_BACKGROUND_OFFSET } from './getThemeSuitePalettes';
|
|
5
|
+
export type * from './types';
|
|
6
|
+
export { defaultTemplates } from './v4-defaultTemplates';
|
|
7
|
+
/**
|
|
8
|
+
* TODO
|
|
9
|
+
*
|
|
10
|
+
* - we avoidNestingWithin accent, but sometimes want it eg v4-tamagui grandChildren
|
|
11
|
+
* a good default would be to IF palette is set, dont nest, IF only template, nest
|
|
12
|
+
* needs to update both runtime logic and types
|
|
13
|
+
*/
|
|
14
|
+
type ExtraThemeValues = Record<string, string>;
|
|
15
|
+
type ExtraThemeValuesByScheme<Values extends ExtraThemeValues = ExtraThemeValues> = {
|
|
16
|
+
dark: Values;
|
|
17
|
+
light: Values;
|
|
18
|
+
};
|
|
19
|
+
type SimpleThemeDefinition = {
|
|
20
|
+
palette?: Palette;
|
|
21
|
+
template?: string;
|
|
22
|
+
};
|
|
23
|
+
type BaseThemeDefinition<Extra extends ExtraThemeValuesByScheme> = {
|
|
24
|
+
palette: Palette;
|
|
25
|
+
template?: string;
|
|
26
|
+
extra?: Extra;
|
|
27
|
+
};
|
|
28
|
+
type SimpleThemesDefinition = Record<string, SimpleThemeDefinition>;
|
|
29
|
+
type SimplePaletteDefinitions = Record<string, string[]>;
|
|
30
|
+
type SinglePalette = string[];
|
|
31
|
+
type SchemePalette = {
|
|
32
|
+
light: SinglePalette;
|
|
33
|
+
dark: SinglePalette;
|
|
34
|
+
};
|
|
35
|
+
type Palette = SinglePalette | SchemePalette;
|
|
36
|
+
export type CreateThemesProps<Accent extends BaseThemeDefinition<Extra> | undefined = undefined, GrandChildrenThemes extends SimpleThemesDefinition | undefined = undefined, Extra extends ExtraThemeValuesByScheme = ExtraThemeValuesByScheme, ChildrenThemes extends SimpleThemesDefinition = SimpleThemesDefinition, ComponentThemes extends SimpleThemesDefinition = SimpleThemesDefinition, Templates extends BuildTemplates = typeof defaultTemplates> = {
|
|
37
|
+
base: BaseThemeDefinition<Extra>;
|
|
38
|
+
accent?: Accent;
|
|
39
|
+
childrenThemes?: ChildrenThemes;
|
|
40
|
+
grandChildrenThemes?: GrandChildrenThemes;
|
|
41
|
+
templates?: Templates;
|
|
42
|
+
componentThemes?: ComponentThemes;
|
|
43
|
+
colorsToTheme?: (props: {
|
|
44
|
+
colors: string[];
|
|
45
|
+
name: string;
|
|
46
|
+
scheme?: 'light' | 'dark';
|
|
47
|
+
}) => Record<string, string>;
|
|
48
|
+
};
|
|
49
|
+
export declare function createThemeSuite<Extra extends ExtraThemeValuesByScheme, SubThemes extends SimpleThemesDefinition, ComponentThemes extends SimpleThemesDefinition, GrandChildrenThemes extends SimpleThemesDefinition | undefined = undefined, Accent extends BaseThemeDefinition<Extra> | undefined = undefined>(props: CreateThemesProps<Accent, GrandChildrenThemes, Extra, SubThemes, ComponentThemes>): { [Key in "light" | "dark" | ((Accent extends undefined ? false : true) extends infer T ? T extends (Accent extends undefined ? false : true) ? T extends true ? "light_accent" | "dark_accent" : never : never : never) | (keyof SubThemes extends string ? `light_${(GrandChildrenThemes extends undefined ? undefined : Record<keyof GrandChildrenThemes, any>) extends infer T_1 ? T_1 extends (GrandChildrenThemes extends undefined ? undefined : Record<keyof GrandChildrenThemes, any>) ? T_1 extends undefined ? string & keyof SubThemes : NamesWithChildrenNames<string & keyof SubThemes, keyof T_1> : never : never}` | `dark_${(GrandChildrenThemes extends undefined ? undefined : Record<keyof GrandChildrenThemes, any>) extends infer T_2 ? T_2 extends (GrandChildrenThemes extends undefined ? undefined : Record<keyof GrandChildrenThemes, any>) ? T_2 extends undefined ? string & keyof SubThemes : NamesWithChildrenNames<string & keyof SubThemes, keyof T_2> : never : never}` : never)]: { [ThemeKey in "borderColor" | "borderColorHover" | "borderColorPress" | "borderColorFocus" | "color" | "shadowColor" | "shadowColorHover" | "shadowColorPress" | "shadowColorFocus" | "colorHover" | "colorFocus" | "colorPress" | "color1" | "color2" | "color3" | "color4" | "color5" | "color6" | "color7" | "color8" | "color9" | "color10" | "color11" | "color12" | "background" | "backgroundHover" | "backgroundPress" | "backgroundFocus" | "colorTransparent" | "placeholderColor" | "outlineColor" | "accentBackground" | "accentColor" | "background0" | "background025" | "background05" | "background075" | "color0" | "color025" | "color05" | "color075" | keyof Extra["dark"]]: string; }; };
|
|
50
|
+
type NamesWithChildrenNames<ParentNames extends string, ChildNames> = ParentNames | (ChildNames extends string ? `${ParentNames}_${ChildNames}` : never);
|
|
51
|
+
export declare function createSimpleThemeBuilder<Extra extends ExtraThemeValuesByScheme, Templates extends BuildTemplates, Palettes extends SimplePaletteDefinitions, ChildrenThemes extends Record<string, {
|
|
52
|
+
template: keyof Templates extends string ? keyof Templates : never;
|
|
53
|
+
palette?: string;
|
|
54
|
+
}>, GrandChildrenThemes extends undefined | Record<string, {
|
|
55
|
+
template: keyof Templates extends string ? keyof Templates : never;
|
|
56
|
+
palette?: string;
|
|
57
|
+
}>, HasAccent extends boolean, ComponentThemes extends SimpleThemesDefinition, FullTheme = {
|
|
58
|
+
[ThemeKey in keyof Templates['light_base'] | keyof Extra['dark']]: string;
|
|
59
|
+
}>(props: {
|
|
60
|
+
palettes?: Palettes;
|
|
61
|
+
accentTheme?: HasAccent;
|
|
62
|
+
templates?: Templates;
|
|
63
|
+
childrenThemes?: ChildrenThemes;
|
|
64
|
+
grandChildrenThemes?: GrandChildrenThemes;
|
|
65
|
+
componentThemes?: ComponentThemes;
|
|
66
|
+
extra?: Extra;
|
|
67
|
+
}): {
|
|
68
|
+
themeBuilder: ThemeBuilder<any>;
|
|
69
|
+
themes: {
|
|
70
|
+
[Key in 'light' | 'dark' | (HasAccent extends true ? 'light_accent' | 'dark_accent' : never) | (keyof ChildrenThemes extends string ? `${'light' | 'dark'}_${GrandChildrenThemes extends undefined ? keyof ChildrenThemes : NamesWithChildrenNames<keyof ChildrenThemes, keyof GrandChildrenThemes>}` : never)]: FullTheme;
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
export declare function createThemes(props: BuildThemeSuiteProps): {
|
|
74
|
+
themeBuilder: ThemeBuilder<any>;
|
|
75
|
+
themes: {
|
|
76
|
+
[x: `light_${string}`]: {
|
|
77
|
+
[x: string]: string;
|
|
78
|
+
[x: number]: string;
|
|
79
|
+
};
|
|
80
|
+
[x: `dark_${string}`]: {
|
|
81
|
+
[x: string]: string;
|
|
82
|
+
[x: number]: string;
|
|
83
|
+
};
|
|
84
|
+
light: {
|
|
85
|
+
[x: string]: string;
|
|
86
|
+
[x: number]: string;
|
|
87
|
+
};
|
|
88
|
+
dark: {
|
|
89
|
+
[x: string]: string;
|
|
90
|
+
[x: number]: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
export declare const getComponentThemes: (components: SimpleThemesDefinition) => {
|
|
95
|
+
[k: string]: {
|
|
96
|
+
parent: string;
|
|
97
|
+
template: string;
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
export declare const defaultComponentThemes: {
|
|
101
|
+
ListItem: {
|
|
102
|
+
template: string;
|
|
103
|
+
};
|
|
104
|
+
SelectTrigger: {
|
|
105
|
+
template: string;
|
|
106
|
+
};
|
|
107
|
+
Card: {
|
|
108
|
+
template: string;
|
|
109
|
+
};
|
|
110
|
+
Button: {
|
|
111
|
+
template: string;
|
|
112
|
+
};
|
|
113
|
+
Checkbox: {
|
|
114
|
+
template: string;
|
|
115
|
+
};
|
|
116
|
+
Switch: {
|
|
117
|
+
template: string;
|
|
118
|
+
};
|
|
119
|
+
SwitchThumb: {
|
|
120
|
+
template: string;
|
|
121
|
+
};
|
|
122
|
+
TooltipContent: {
|
|
123
|
+
template: string;
|
|
124
|
+
};
|
|
125
|
+
Progress: {
|
|
126
|
+
template: string;
|
|
127
|
+
};
|
|
128
|
+
RadioGroupItem: {
|
|
129
|
+
template: string;
|
|
130
|
+
};
|
|
131
|
+
TooltipArrow: {
|
|
132
|
+
template: string;
|
|
133
|
+
};
|
|
134
|
+
SliderTrackActive: {
|
|
135
|
+
template: string;
|
|
136
|
+
};
|
|
137
|
+
SliderTrack: {
|
|
138
|
+
template: string;
|
|
139
|
+
};
|
|
140
|
+
SliderThumb: {
|
|
141
|
+
template: string;
|
|
142
|
+
};
|
|
143
|
+
Tooltip: {
|
|
144
|
+
template: string;
|
|
145
|
+
};
|
|
146
|
+
ProgressIndicator: {
|
|
147
|
+
template: string;
|
|
148
|
+
};
|
|
149
|
+
Input: {
|
|
150
|
+
template: string;
|
|
151
|
+
};
|
|
152
|
+
TextArea: {
|
|
153
|
+
template: string;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
export declare function createPalettes(palettes: BuildPalettes): SimplePaletteDefinitions;
|
|
157
|
+
//# sourceMappingURL=v4-createTheme.d.ts.map
|