@tamagui/themes 1.121.10 → 1.121.12-1737177163952
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 +4075 -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 +183 -0
- package/dist/cjs/v4-tamagui.js +224 -0
- package/dist/cjs/v4-tamagui.js.map +6 -0
- package/dist/cjs/v4-tamagui.native.js +228 -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 +4059 -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 +226 -0
- package/dist/esm/v4-tamagui.js.map +6 -0
- package/dist/esm/v4-tamagui.mjs +160 -0
- package/dist/esm/v4-tamagui.mjs.map +1 -0
- package/dist/esm/v4-tamagui.native.js +209 -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 +4500 -0
- package/src/v4-tamagui.ts +241 -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 +16247 -0
- package/types/v4.d.ts +4 -0
- package/v4.d.ts +1 -0
- package/v4.js +1 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { blue, blueDark, gray, grayDark, green, greenDark, orange, orangeDark, pink, pinkDark, purple, purpleDark, red, redDark, yellow, yellowDark } from "@tamagui/colors";
|
|
2
|
+
import { createThemeSuite } from "./v4-createTheme";
|
|
3
|
+
var colorTokens = {
|
|
4
|
+
light: {
|
|
5
|
+
blue,
|
|
6
|
+
gray,
|
|
7
|
+
green,
|
|
8
|
+
orange,
|
|
9
|
+
pink,
|
|
10
|
+
purple,
|
|
11
|
+
red,
|
|
12
|
+
yellow
|
|
13
|
+
},
|
|
14
|
+
dark: {
|
|
15
|
+
blue: blueDark,
|
|
16
|
+
gray: grayDark,
|
|
17
|
+
green: greenDark,
|
|
18
|
+
orange: orangeDark,
|
|
19
|
+
pink: pinkDark,
|
|
20
|
+
purple: purpleDark,
|
|
21
|
+
red: redDark,
|
|
22
|
+
yellow: yellowDark
|
|
23
|
+
}
|
|
24
|
+
}, darkPalette = [
|
|
25
|
+
"#050505",
|
|
26
|
+
"#151515",
|
|
27
|
+
"#191919",
|
|
28
|
+
"#232323",
|
|
29
|
+
"#282828",
|
|
30
|
+
"#323232",
|
|
31
|
+
"#424242",
|
|
32
|
+
"#494949",
|
|
33
|
+
"#545454",
|
|
34
|
+
"#626262",
|
|
35
|
+
"#a5a5a5",
|
|
36
|
+
"#fff"
|
|
37
|
+
], lightPalette = [
|
|
38
|
+
"#fff",
|
|
39
|
+
"#f8f8f8",
|
|
40
|
+
"hsl(0, 0%, 96.3%)",
|
|
41
|
+
"hsl(0, 0%, 94.1%)",
|
|
42
|
+
"hsl(0, 0%, 92.0%)",
|
|
43
|
+
"hsl(0, 0%, 90.0%)",
|
|
44
|
+
"hsl(0, 0%, 88.5%)",
|
|
45
|
+
"hsl(0, 0%, 81.0%)",
|
|
46
|
+
"hsl(0, 0%, 56.1%)",
|
|
47
|
+
"hsl(0, 0%, 50.3%)",
|
|
48
|
+
"hsl(0, 0%, 42.5%)",
|
|
49
|
+
"hsl(0, 0%, 9.0%)"
|
|
50
|
+
], lightShadows = {
|
|
51
|
+
shadow1: "rgba(0,0,0,0.04)",
|
|
52
|
+
shadow2: "rgba(0,0,0,0.08)",
|
|
53
|
+
shadow3: "rgba(0,0,0,0.16)",
|
|
54
|
+
shadow4: "rgba(0,0,0,0.24)",
|
|
55
|
+
shadow5: "rgba(0,0,0,0.32)",
|
|
56
|
+
shadow6: "rgba(0,0,0,0.4)"
|
|
57
|
+
}, darkShadows = {
|
|
58
|
+
shadow1: "rgba(0,0,0,0.2)",
|
|
59
|
+
shadow2: "rgba(0,0,0,0.3)",
|
|
60
|
+
shadow3: "rgba(0,0,0,0.4)",
|
|
61
|
+
shadow4: "rgba(0,0,0,0.5)",
|
|
62
|
+
shadow5: "rgba(0,0,0,0.6)",
|
|
63
|
+
shadow6: "rgba(0,0,0,0.7)"
|
|
64
|
+
}, tamaguiThemes = createThemeSuite({
|
|
65
|
+
base: {
|
|
66
|
+
palette: {
|
|
67
|
+
dark: darkPalette,
|
|
68
|
+
light: lightPalette
|
|
69
|
+
},
|
|
70
|
+
// we set a bunch of colors like $red1 => $red1
|
|
71
|
+
// we only want to set it on the base light/dark theme
|
|
72
|
+
extra: {
|
|
73
|
+
light: {
|
|
74
|
+
...colorTokens.light.blue,
|
|
75
|
+
...colorTokens.light.gray,
|
|
76
|
+
...colorTokens.light.green,
|
|
77
|
+
...colorTokens.light.orange,
|
|
78
|
+
...colorTokens.light.pink,
|
|
79
|
+
...colorTokens.light.purple,
|
|
80
|
+
...colorTokens.light.red,
|
|
81
|
+
...colorTokens.light.yellow,
|
|
82
|
+
...lightShadows,
|
|
83
|
+
shadowColor: lightShadows.shadow1
|
|
84
|
+
},
|
|
85
|
+
dark: {
|
|
86
|
+
...colorTokens.dark.blue,
|
|
87
|
+
...colorTokens.dark.gray,
|
|
88
|
+
...colorTokens.dark.green,
|
|
89
|
+
...colorTokens.dark.orange,
|
|
90
|
+
...colorTokens.dark.pink,
|
|
91
|
+
...colorTokens.dark.purple,
|
|
92
|
+
...colorTokens.dark.red,
|
|
93
|
+
...colorTokens.dark.yellow,
|
|
94
|
+
...darkShadows,
|
|
95
|
+
shadowColor: darkShadows.shadow1
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
accent: {
|
|
100
|
+
palette: {
|
|
101
|
+
dark: lightPalette,
|
|
102
|
+
light: darkPalette
|
|
103
|
+
},
|
|
104
|
+
template: "inverse"
|
|
105
|
+
},
|
|
106
|
+
childrenThemes: {
|
|
107
|
+
gray: {
|
|
108
|
+
palette: {
|
|
109
|
+
dark: Object.values(colorTokens.dark.gray),
|
|
110
|
+
light: Object.values(colorTokens.light.gray)
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
blue: {
|
|
114
|
+
palette: {
|
|
115
|
+
dark: Object.values(colorTokens.dark.blue),
|
|
116
|
+
light: Object.values(colorTokens.light.blue)
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
orange: {
|
|
120
|
+
palette: {
|
|
121
|
+
dark: Object.values(colorTokens.dark.orange),
|
|
122
|
+
light: Object.values(colorTokens.light.orange)
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
red: {
|
|
126
|
+
palette: {
|
|
127
|
+
dark: Object.values(colorTokens.dark.red),
|
|
128
|
+
light: Object.values(colorTokens.light.red)
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
yellow: {
|
|
132
|
+
palette: {
|
|
133
|
+
dark: Object.values(colorTokens.dark.yellow),
|
|
134
|
+
light: Object.values(colorTokens.light.yellow)
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
green: {
|
|
138
|
+
palette: {
|
|
139
|
+
dark: Object.values(colorTokens.dark.green),
|
|
140
|
+
light: Object.values(colorTokens.light.green)
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
purple: {
|
|
144
|
+
palette: {
|
|
145
|
+
dark: Object.values(colorTokens.dark.purple),
|
|
146
|
+
light: Object.values(colorTokens.light.purple)
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
pink: {
|
|
150
|
+
palette: {
|
|
151
|
+
dark: Object.values(colorTokens.dark.pink),
|
|
152
|
+
light: Object.values(colorTokens.light.pink)
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
tan: {
|
|
156
|
+
palette: {
|
|
157
|
+
light: [
|
|
158
|
+
"hsla(40, 30%, 98%, 1)",
|
|
159
|
+
"hsla(40, 24%, 94%, 1)",
|
|
160
|
+
"hsla(38, 23%, 91%, 1)",
|
|
161
|
+
"hsla(36, 20%, 90%, 1)",
|
|
162
|
+
"hsla(36, 20%, 88%, 1)",
|
|
163
|
+
"hsla(35, 20%, 85%, 1)",
|
|
164
|
+
"hsla(35, 21%, 74%, 1)",
|
|
165
|
+
"hsla(34, 20%, 70%, 1)",
|
|
166
|
+
"hsla(35, 20%, 67%, 1)",
|
|
167
|
+
"hsla(34, 19%, 47%, 1)",
|
|
168
|
+
"hsla(35, 18%, 37%, 1)",
|
|
169
|
+
"hsla(35, 17%, 20%, 1)"
|
|
170
|
+
],
|
|
171
|
+
dark: [
|
|
172
|
+
"hsla(30, 9%, 10%, 1)",
|
|
173
|
+
"hsla(30, 10%, 12%, 1)",
|
|
174
|
+
"hsla(31, 11%, 18%, 1)",
|
|
175
|
+
"hsla(30, 12%, 23%, 1)",
|
|
176
|
+
"hsla(30, 14%, 28%, 1)",
|
|
177
|
+
"hsla(30, 16%, 33%, 1)",
|
|
178
|
+
"hsla(30, 18%, 38%, 1)",
|
|
179
|
+
"hsla(30, 20%, 45%, 1)",
|
|
180
|
+
"hsla(30, 21%, 50%, 1)",
|
|
181
|
+
"hsla(29, 22%, 58%, 1)",
|
|
182
|
+
"hsla(34, 24%, 70%, 1)",
|
|
183
|
+
"hsla(11, 12%, 79%, 1)"
|
|
184
|
+
]
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
grandChildrenThemes: {
|
|
189
|
+
alt1: {
|
|
190
|
+
template: "alt1"
|
|
191
|
+
},
|
|
192
|
+
alt2: {
|
|
193
|
+
template: "alt2"
|
|
194
|
+
},
|
|
195
|
+
surface1: {
|
|
196
|
+
template: "surface1"
|
|
197
|
+
},
|
|
198
|
+
surface2: {
|
|
199
|
+
template: "surface2"
|
|
200
|
+
},
|
|
201
|
+
surface3: {
|
|
202
|
+
template: "surface3"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
export {
|
|
207
|
+
tamaguiThemes
|
|
208
|
+
};
|
|
209
|
+
//# sourceMappingURL=v4-tamagui.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/Users/n8/tamagui/code/core/themes/src/v4-tamagui.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["blue", "blueDark", "gray", "grayDark", "green", "greenDark", "orange", "orangeDark", "pink", "pinkDark", "purple", "purpleDark", "red", "redDark", "yellow", "yellowDark", "createThemeSuite", "colorTokens", "light", "dark", "darkPalette", "lightPalette", "lightShadows", "shadow1", "shadow2", "shadow3", "shadow4", "shadow5", "shadow6", "darkShadows", "tamaguiThemes", "base", "palette", "extra", "shadowColor", "accent", "template", "childrenThemes", "Object", "values", "tan", "grandChildrenThemes", "alt1", "alt2", "surface1", "surface2", "surface3"]
|
|
6
|
+
}
|
package/dist/esm/v4.js
ADDED
package/dist/esm/v4.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["tokens","tamaguiThemes"],"sources":["../../src/v4.tsx"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,SAASA,MAAA,QAAc;AAEvB,YAAYC,aAAA,MAAmB","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/themes",
|
|
3
|
-
"version": "1.121.
|
|
3
|
+
"version": "1.121.12-1737177163952",
|
|
4
4
|
"types": "./types/index.d.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -65,17 +65,27 @@
|
|
|
65
65
|
"types": "./types/v3-themes.d.ts",
|
|
66
66
|
"import": "./dist/esm/v3-themes.mjs",
|
|
67
67
|
"require": "./dist/cjs/v3-themes.cjs"
|
|
68
|
+
},
|
|
69
|
+
"./v4": {
|
|
70
|
+
"react-native": {
|
|
71
|
+
"import": "./dist/esm/v4.native.js",
|
|
72
|
+
"require": "./dist/cjs/v4.native.js"
|
|
73
|
+
},
|
|
74
|
+
"types": "./types/v4.d.ts",
|
|
75
|
+
"import": "./dist/esm/v4.mjs",
|
|
76
|
+
"require": "./dist/cjs/v4.cjs"
|
|
68
77
|
}
|
|
69
78
|
},
|
|
70
79
|
"dependencies": {
|
|
71
|
-
"@tamagui/colors": "1.121.
|
|
72
|
-
"@tamagui/create-theme": "1.121.
|
|
73
|
-
"@tamagui/theme-builder": "1.121.
|
|
74
|
-
"@tamagui/web": "1.121.
|
|
80
|
+
"@tamagui/colors": "1.121.12-1737177163952",
|
|
81
|
+
"@tamagui/create-theme": "1.121.12-1737177163952",
|
|
82
|
+
"@tamagui/theme-builder": "1.121.12-1737177163952",
|
|
83
|
+
"@tamagui/web": "1.121.12-1737177163952",
|
|
84
|
+
"color2k": "^2.0.2"
|
|
75
85
|
},
|
|
76
86
|
"devDependencies": {
|
|
77
|
-
"@tamagui/build": "1.121.
|
|
78
|
-
"@tamagui/cli": "1.121.
|
|
87
|
+
"@tamagui/build": "1.121.12-1737177163952",
|
|
88
|
+
"@tamagui/cli": "1.121.12-1737177163952",
|
|
79
89
|
"vitest": "^2.1.8"
|
|
80
90
|
},
|
|
81
91
|
"publishConfig": {
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { hsla, parseToHsla } from 'color2k'
|
|
2
|
+
import type { BuildPalette } from './types'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* palette generally is:
|
|
6
|
+
*
|
|
7
|
+
* [constrastBackground, backgroundTransparent, ...background, ...foreground, foregroundTransparent, accentForeground]
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
const paletteSize = 12
|
|
11
|
+
|
|
12
|
+
// how many things come before the actual bg color (transparencies etc)
|
|
13
|
+
export const PALETTE_BACKGROUND_OFFSET = 4
|
|
14
|
+
|
|
15
|
+
const generateColorPalette = ({
|
|
16
|
+
palette: buildPalette,
|
|
17
|
+
scheme,
|
|
18
|
+
}: {
|
|
19
|
+
palette: BuildPalette
|
|
20
|
+
scheme: 'light' | 'dark'
|
|
21
|
+
}) => {
|
|
22
|
+
if (!buildPalette) {
|
|
23
|
+
return [] as string[]
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const { anchors } = buildPalette
|
|
27
|
+
|
|
28
|
+
let palette: string[] = []
|
|
29
|
+
|
|
30
|
+
const add = (h: number, s: number, l: number) => {
|
|
31
|
+
palette.push(hsla(h, s, l, 1))
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const numAnchors = Object.keys(anchors).length
|
|
35
|
+
|
|
36
|
+
for (const [anchorIndex, anchor] of anchors.entries()) {
|
|
37
|
+
const [h, s, l] = [anchor.hue[scheme], anchor.sat[scheme], anchor.lum[scheme]]
|
|
38
|
+
|
|
39
|
+
if (anchorIndex !== 0) {
|
|
40
|
+
const lastAnchor = anchors[anchorIndex - 1]
|
|
41
|
+
const steps = anchor.index - lastAnchor.index
|
|
42
|
+
|
|
43
|
+
const lastHue = lastAnchor.hue[scheme]
|
|
44
|
+
const lastSat = lastAnchor.sat[scheme]
|
|
45
|
+
const lastLum = lastAnchor.lum[scheme]
|
|
46
|
+
|
|
47
|
+
const stepHue = (lastHue - h) / steps
|
|
48
|
+
const stepSat = (lastSat - s) / steps
|
|
49
|
+
const stepLum = (lastLum - l) / steps
|
|
50
|
+
|
|
51
|
+
// backfill:
|
|
52
|
+
for (let step = lastAnchor.index + 1; step < anchor.index; step++) {
|
|
53
|
+
const str = anchor.index - step
|
|
54
|
+
add(h + stepHue * str, s + stepSat * str, l + stepLum * str)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
add(h, s, l)
|
|
59
|
+
|
|
60
|
+
const isLastAnchor = anchorIndex === numAnchors - 1
|
|
61
|
+
if (isLastAnchor && palette.length < paletteSize) {
|
|
62
|
+
// forwardfill:
|
|
63
|
+
for (let step = anchor.index + 1; step < paletteSize; step++) {
|
|
64
|
+
add(h, s, l)
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// add transparent values
|
|
70
|
+
const [background] = palette
|
|
71
|
+
const foreground = palette[palette.length - 1]
|
|
72
|
+
|
|
73
|
+
const transparentValues = [background, foreground].map((color) => {
|
|
74
|
+
const [h, s, l] = parseToHsla(color)
|
|
75
|
+
// fully transparent to partially
|
|
76
|
+
return [
|
|
77
|
+
hsla(h, s, l, 0),
|
|
78
|
+
hsla(h, s, l, 0.25),
|
|
79
|
+
hsla(h, s, l, 0.5),
|
|
80
|
+
hsla(h, s, l, 0.75),
|
|
81
|
+
] as const
|
|
82
|
+
})
|
|
83
|
+
const reverseForeground = [...transparentValues[1]].reverse()
|
|
84
|
+
palette = [...transparentValues[0], ...palette, ...reverseForeground]
|
|
85
|
+
|
|
86
|
+
return palette
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export function getThemeSuitePalettes(palette: BuildPalette) {
|
|
90
|
+
return {
|
|
91
|
+
light: generateColorPalette({ palette, scheme: 'light' }),
|
|
92
|
+
dark: generateColorPalette({ palette, scheme: 'dark' }),
|
|
93
|
+
}
|
|
94
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { Template, ThemeDefinitions } from '@tamagui/create-theme'
|
|
2
|
+
|
|
3
|
+
type ThemeSuiteItem = {
|
|
4
|
+
id: string
|
|
5
|
+
name: string
|
|
6
|
+
createdAt: number
|
|
7
|
+
updatedAt: number
|
|
8
|
+
|
|
9
|
+
schemes: { light: boolean; dark: boolean }
|
|
10
|
+
palettes: Record<string, BuildPalette>
|
|
11
|
+
templates: BuildTemplates
|
|
12
|
+
|
|
13
|
+
baseTheme: BuildTheme
|
|
14
|
+
subThemes: BuildSubTheme[]
|
|
15
|
+
componentThemes: ThemeDefinitions
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type ThemeSuiteItemData = Omit<ThemeSuiteItem, 'id' | 'createdAt' | 'updatedAt'>
|
|
19
|
+
|
|
20
|
+
export type BuildTemplates = Record<string, Template>
|
|
21
|
+
|
|
22
|
+
export type BuildSubTheme = BuildTheme
|
|
23
|
+
|
|
24
|
+
export type BuildPalettes = Record<string, BuildPalette>
|
|
25
|
+
|
|
26
|
+
export type BuildPalette = {
|
|
27
|
+
name: string
|
|
28
|
+
scale?: ScaleTypeName
|
|
29
|
+
anchors: BuildThemeAnchor[]
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export type BuildThemeSuiteProps = Omit<ThemeSuiteItemData, 'name'>
|
|
33
|
+
|
|
34
|
+
export type BuildThemeSuitePalettes = {
|
|
35
|
+
light: string[]
|
|
36
|
+
dark: string[]
|
|
37
|
+
lightAccent?: string[]
|
|
38
|
+
darkAccent?: string[]
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type ScaleTypeName =
|
|
42
|
+
| 'custom'
|
|
43
|
+
| 'radix'
|
|
44
|
+
| 'radix-b'
|
|
45
|
+
| 'radius-bold'
|
|
46
|
+
| 'radius-bright'
|
|
47
|
+
| 'linear'
|
|
48
|
+
| 'pastel'
|
|
49
|
+
| 'pastel-desaturating'
|
|
50
|
+
| 'neon'
|
|
51
|
+
| 'neon-bright'
|
|
52
|
+
| 'neon-c'
|
|
53
|
+
|
|
54
|
+
export type BuildThemeBase = {
|
|
55
|
+
id: string
|
|
56
|
+
name: string
|
|
57
|
+
errors?: string[]
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export type BuildThemeAnchor = {
|
|
61
|
+
index: number
|
|
62
|
+
hue: {
|
|
63
|
+
light: number
|
|
64
|
+
dark: number
|
|
65
|
+
sync?: boolean
|
|
66
|
+
syncLeft?: boolean
|
|
67
|
+
}
|
|
68
|
+
sat: {
|
|
69
|
+
light: number
|
|
70
|
+
dark: number
|
|
71
|
+
sync?: boolean
|
|
72
|
+
syncLeft?: boolean
|
|
73
|
+
}
|
|
74
|
+
lum: {
|
|
75
|
+
light: number
|
|
76
|
+
dark: number
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export type BuildPaletteAnchors = BuildThemeAnchor[]
|
|
81
|
+
|
|
82
|
+
export type BuildTheme = BuildThemeBase & {
|
|
83
|
+
type: 'theme'
|
|
84
|
+
template: string
|
|
85
|
+
palette: string
|
|
86
|
+
accent?: BuildTheme
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export type ThemeStepProps = {
|
|
90
|
+
theme: BuildTheme
|
|
91
|
+
isAccent?: boolean
|
|
92
|
+
vertical?: boolean
|
|
93
|
+
onUpdate: (val: Partial<BuildTheme>) => void
|
|
94
|
+
}
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export function postfixObjKeys<A extends { [key: string]: string }, B extends string>(
|
|
2
|
+
obj: A,
|
|
3
|
+
postfix: B
|
|
4
|
+
): {
|
|
5
|
+
[Key in `${keyof A extends string ? keyof A : never}${B}`]: string
|
|
6
|
+
} {
|
|
7
|
+
return Object.fromEntries(
|
|
8
|
+
Object.entries(obj).map(([k, v]) => [`${k}${postfix}`, v])
|
|
9
|
+
) as any
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// a bit odd but keeping backward compat for values >8 while fixing below
|
|
13
|
+
export function sizeToSpace(v: number) {
|
|
14
|
+
if (v === 0) return 0
|
|
15
|
+
if (v === 2) return 0.5
|
|
16
|
+
if (v === 4) return 1
|
|
17
|
+
if (v === 8) return 1.5
|
|
18
|
+
if (v <= 16) return Math.round(v * 0.333)
|
|
19
|
+
return Math.floor(v * 0.7 - 12)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function objectFromEntries<ARR_T extends EntriesType>(
|
|
23
|
+
arr: ARR_T
|
|
24
|
+
): EntriesToObject<ARR_T> {
|
|
25
|
+
return Object.fromEntries(arr) as EntriesToObject<ARR_T>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export type EntriesType =
|
|
29
|
+
| [PropertyKey, unknown][]
|
|
30
|
+
| ReadonlyArray<readonly [PropertyKey, unknown]>
|
|
31
|
+
|
|
32
|
+
export type DeepWritable<OBJ_T> = { -readonly [P in keyof OBJ_T]: DeepWritable<OBJ_T[P]> }
|
|
33
|
+
export type UnionToIntersection<UNION_T> = // From https://stackoverflow.com/a/50375286
|
|
34
|
+
(UNION_T extends any ? (k: UNION_T) => void : never) extends (k: infer I) => void
|
|
35
|
+
? I
|
|
36
|
+
: never
|
|
37
|
+
|
|
38
|
+
export type UnionObjectFromArrayOfPairs<ARR_T extends EntriesType> =
|
|
39
|
+
DeepWritable<ARR_T> extends (infer R)[]
|
|
40
|
+
? R extends [infer key, infer val]
|
|
41
|
+
? { [prop in key & PropertyKey]: val }
|
|
42
|
+
: never
|
|
43
|
+
: never
|
|
44
|
+
export type MergeIntersectingObjects<ObjT> = { [key in keyof ObjT]: ObjT[key] }
|
|
45
|
+
export type EntriesToObject<ARR_T extends EntriesType> = MergeIntersectingObjects<
|
|
46
|
+
UnionToIntersection<UnionObjectFromArrayOfPairs<ARR_T>>
|
|
47
|
+
>
|
|
48
|
+
|
|
49
|
+
export function objectKeys<O extends Object>(obj: O) {
|
|
50
|
+
return Object.keys(obj) as Array<keyof O>
|
|
51
|
+
}
|
package/src/v3-themes.ts
CHANGED
|
@@ -16,8 +16,9 @@ import {
|
|
|
16
16
|
yellow,
|
|
17
17
|
yellowDark,
|
|
18
18
|
} from '@tamagui/colors'
|
|
19
|
-
import { createThemeBuilder } from '@tamagui/theme-builder'
|
|
19
|
+
import { createThemeBuilder, objectFromEntries } from '@tamagui/theme-builder'
|
|
20
20
|
import { createTokens } from '@tamagui/web'
|
|
21
|
+
import { objectKeys, postfixObjKeys, sizeToSpace } from './utils'
|
|
21
22
|
|
|
22
23
|
const colorTokens = {
|
|
23
24
|
light: {
|
|
@@ -744,55 +745,3 @@ export const tokens = createTokens({
|
|
|
744
745
|
})
|
|
745
746
|
|
|
746
747
|
// --- utils ---
|
|
747
|
-
|
|
748
|
-
export function postfixObjKeys<A extends { [key: string]: string }, B extends string>(
|
|
749
|
-
obj: A,
|
|
750
|
-
postfix: B
|
|
751
|
-
): {
|
|
752
|
-
[Key in `${keyof A extends string ? keyof A : never}${B}`]: string
|
|
753
|
-
} {
|
|
754
|
-
return Object.fromEntries(
|
|
755
|
-
Object.entries(obj).map(([k, v]) => [`${k}${postfix}`, v])
|
|
756
|
-
) as any
|
|
757
|
-
}
|
|
758
|
-
|
|
759
|
-
// a bit odd but keeping backward compat for values >8 while fixing below
|
|
760
|
-
export function sizeToSpace(v: number) {
|
|
761
|
-
if (v === 0) return 0
|
|
762
|
-
if (v === 2) return 0.5
|
|
763
|
-
if (v === 4) return 1
|
|
764
|
-
if (v === 8) return 1.5
|
|
765
|
-
if (v <= 16) return Math.round(v * 0.333)
|
|
766
|
-
return Math.floor(v * 0.7 - 12)
|
|
767
|
-
}
|
|
768
|
-
|
|
769
|
-
export function objectFromEntries<ARR_T extends EntriesType>(
|
|
770
|
-
arr: ARR_T
|
|
771
|
-
): EntriesToObject<ARR_T> {
|
|
772
|
-
return Object.fromEntries(arr) as EntriesToObject<ARR_T>
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
export type EntriesType =
|
|
776
|
-
| [PropertyKey, unknown][]
|
|
777
|
-
| ReadonlyArray<readonly [PropertyKey, unknown]>
|
|
778
|
-
|
|
779
|
-
export type DeepWritable<OBJ_T> = { -readonly [P in keyof OBJ_T]: DeepWritable<OBJ_T[P]> }
|
|
780
|
-
export type UnionToIntersection<UNION_T> = // From https://stackoverflow.com/a/50375286
|
|
781
|
-
(UNION_T extends any ? (k: UNION_T) => void : never) extends (k: infer I) => void
|
|
782
|
-
? I
|
|
783
|
-
: never
|
|
784
|
-
|
|
785
|
-
export type UnionObjectFromArrayOfPairs<ARR_T extends EntriesType> =
|
|
786
|
-
DeepWritable<ARR_T> extends (infer R)[]
|
|
787
|
-
? R extends [infer key, infer val]
|
|
788
|
-
? { [prop in key & PropertyKey]: val }
|
|
789
|
-
: never
|
|
790
|
-
: never
|
|
791
|
-
export type MergeIntersectingObjects<ObjT> = { [key in keyof ObjT]: ObjT[key] }
|
|
792
|
-
export type EntriesToObject<ARR_T extends EntriesType> = MergeIntersectingObjects<
|
|
793
|
-
UnionToIntersection<UnionObjectFromArrayOfPairs<ARR_T>>
|
|
794
|
-
>
|
|
795
|
-
|
|
796
|
-
export function objectKeys<O extends Object>(obj: O) {
|
|
797
|
-
return Object.keys(obj) as Array<keyof O>
|
|
798
|
-
}
|