@tamagui/theme-base 1.0.1-beta.48 → 1.0.1-beta.49
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/themes.js +83 -71
- package/dist/cjs/themes.js.map +2 -2
- package/dist/cjs/tokens.js +51 -15
- package/dist/cjs/tokens.js.map +2 -2
- package/dist/esm/themes.js +82 -66
- package/dist/esm/themes.js.map +2 -2
- package/dist/esm/tokens.js +96 -10
- package/dist/esm/tokens.js.map +2 -2
- package/dist/jsx/themes.js +82 -66
- package/dist/jsx/tokens.js +96 -10
- package/package.json +4 -4
- package/types/themes.d.ts +2078 -3390
- package/types/themes.d.ts.map +1 -1
- package/types/tokens.d.ts +955 -320
- package/types/tokens.d.ts.map +1 -1
package/dist/esm/themes.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import
|
|
4
|
-
import { allDarkColors, allLightColors } from "@tamagui/colors";
|
|
5
|
-
import { getVariableValue } from "@tamagui/core";
|
|
3
|
+
import { createVariable, getVariableValue } from "@tamagui/core";
|
|
6
4
|
import { setColorAlpha } from "./colorUtils";
|
|
7
|
-
import {
|
|
5
|
+
import { colorTokens, darkColors, lightColors, tokens } from "./tokens";
|
|
6
|
+
const { color } = tokens;
|
|
8
7
|
const alternates = [1, 2, 3, 4];
|
|
8
|
+
const alts = [1, 2, 3];
|
|
9
9
|
function createThemesFrom(name, getTheme, props) {
|
|
10
10
|
const { shift = 0 } = props;
|
|
11
11
|
const theme = getTheme(0 + shift, props);
|
|
@@ -39,8 +39,8 @@ function createThemesFrom(name, getTheme, props) {
|
|
|
39
39
|
});
|
|
40
40
|
themeEntries = [
|
|
41
41
|
...themeEntries,
|
|
42
|
-
...altThemes,
|
|
43
|
-
...altButtonThemes,
|
|
42
|
+
...altThemes.slice(0, alts.length),
|
|
43
|
+
...altButtonThemes.slice(0, alts.length),
|
|
44
44
|
[`${name}_Button`, altThemes2[1][1]],
|
|
45
45
|
[`${name}_DrawerFrame`, altThemes2[1][1]],
|
|
46
46
|
[`${name}_SliderTrack`, altThemes[1][1]],
|
|
@@ -74,7 +74,7 @@ const createTheme = /* @__PURE__ */ __name((str = 1, {
|
|
|
74
74
|
background: (_c = offsetsProp == null ? void 0 : offsetsProp.background) != null ? _c : [0, 0, 0, 0],
|
|
75
75
|
color: (_d = offsetsProp == null ? void 0 : offsetsProp.color) != null ? _d : [0, 0, 0, 0]
|
|
76
76
|
};
|
|
77
|
-
const
|
|
77
|
+
const darkColors2 = isLight ? colors : backgrounds;
|
|
78
78
|
const lighterDir = isLight ? -1 : 1;
|
|
79
79
|
const darkerDir = -lighterDir;
|
|
80
80
|
const strongerDir = isLight ? darkerDir : lighterDir;
|
|
@@ -98,9 +98,9 @@ const createTheme = /* @__PURE__ */ __name((str = 1, {
|
|
|
98
98
|
colorTranslucent,
|
|
99
99
|
colorMid: (isLight ? colors : backgrounds)[Math.floor(colors.length / 2)],
|
|
100
100
|
shadowColor: isLight ? color.grayA2 : color.grayA8,
|
|
101
|
-
shadowColorHover:
|
|
102
|
-
shadowColorPress:
|
|
103
|
-
shadowColorFocus:
|
|
101
|
+
shadowColorHover: darkColors2[!isLight ? 1 : 8],
|
|
102
|
+
shadowColorPress: darkColors2[!isLight ? 1 : 8],
|
|
103
|
+
shadowColorFocus: darkColors2[!isLight ? 1 : 8],
|
|
104
104
|
borderColor: null,
|
|
105
105
|
borderColorHover: null,
|
|
106
106
|
borderColorPress: null,
|
|
@@ -124,59 +124,58 @@ const createTheme = /* @__PURE__ */ __name((str = 1, {
|
|
|
124
124
|
return theme;
|
|
125
125
|
}, "createTheme");
|
|
126
126
|
const colorSchemes = [
|
|
127
|
-
{ name: "blue", colors:
|
|
128
|
-
{ name: "gray", colors:
|
|
129
|
-
{ name: "green", colors:
|
|
130
|
-
{ name: "
|
|
131
|
-
{ name: "
|
|
132
|
-
{ name: "
|
|
133
|
-
{ name: "
|
|
134
|
-
{ name: "
|
|
135
|
-
{ name: "
|
|
136
|
-
{ name: "
|
|
137
|
-
{ name: "teal", colors: Colors.teal, darkColors: Colors.tealDark },
|
|
138
|
-
{ name: "lime", colors: Colors.lime, darkColors: Colors.limeDark },
|
|
139
|
-
{ name: "brown", colors: Colors.brown, darkColors: Colors.brownDark }
|
|
140
|
-
];
|
|
141
|
-
const lightGradient = [
|
|
142
|
-
"#fff",
|
|
143
|
-
"#f4f4f4",
|
|
144
|
-
color.gray1,
|
|
145
|
-
color.gray2,
|
|
146
|
-
color.gray3,
|
|
147
|
-
color.gray4,
|
|
148
|
-
color.gray5,
|
|
149
|
-
color.gray6,
|
|
150
|
-
color.gray7,
|
|
151
|
-
color.gray8,
|
|
152
|
-
color.gray9,
|
|
153
|
-
color.gray10,
|
|
154
|
-
color.gray11,
|
|
155
|
-
color.gray12
|
|
156
|
-
];
|
|
157
|
-
const darkGradient = [
|
|
158
|
-
"#111111",
|
|
159
|
-
"#151515",
|
|
160
|
-
"#191919",
|
|
161
|
-
"#232323",
|
|
162
|
-
"#282828",
|
|
163
|
-
"#323232",
|
|
164
|
-
"#383838",
|
|
165
|
-
"#424242",
|
|
166
|
-
"#494949",
|
|
167
|
-
"#545454",
|
|
168
|
-
"#626262",
|
|
169
|
-
"#777777"
|
|
127
|
+
{ name: "blue", colors: colorTokens.light.blue, darkColors: colorTokens.dark.blue },
|
|
128
|
+
{ name: "gray", colors: colorTokens.light.gray, darkColors: colorTokens.dark.gray },
|
|
129
|
+
{ name: "green", colors: colorTokens.light.green, darkColors: colorTokens.dark.green },
|
|
130
|
+
{ name: "orange", colors: colorTokens.light.orange, darkColors: colorTokens.dark.orange },
|
|
131
|
+
{ name: "pink", colors: colorTokens.light.pink, darkColors: colorTokens.dark.pink },
|
|
132
|
+
{ name: "purple", colors: colorTokens.light.purple, darkColors: colorTokens.dark.purple },
|
|
133
|
+
{ name: "red", colors: colorTokens.light.red, darkColors: colorTokens.dark.red },
|
|
134
|
+
{ name: "violet", colors: colorTokens.light.violet, darkColors: colorTokens.dark.violet },
|
|
135
|
+
{ name: "yellow", colors: colorTokens.light.yellow, darkColors: colorTokens.dark.yellow },
|
|
136
|
+
{ name: "teal", colors: colorTokens.light.teal, darkColors: colorTokens.dark.teal }
|
|
170
137
|
];
|
|
138
|
+
const themeColors = {
|
|
139
|
+
light: [
|
|
140
|
+
"#fff",
|
|
141
|
+
"#f4f4f4",
|
|
142
|
+
color.gray1,
|
|
143
|
+
color.gray2,
|
|
144
|
+
color.gray3,
|
|
145
|
+
color.gray4,
|
|
146
|
+
color.gray5,
|
|
147
|
+
color.gray6,
|
|
148
|
+
color.gray7,
|
|
149
|
+
color.gray8,
|
|
150
|
+
color.gray9,
|
|
151
|
+
color.gray10,
|
|
152
|
+
color.gray11,
|
|
153
|
+
color.gray12
|
|
154
|
+
],
|
|
155
|
+
dark: [
|
|
156
|
+
"#111111",
|
|
157
|
+
"#151515",
|
|
158
|
+
"#191919",
|
|
159
|
+
"#232323",
|
|
160
|
+
"#282828",
|
|
161
|
+
"#323232",
|
|
162
|
+
"#383838",
|
|
163
|
+
"#424242",
|
|
164
|
+
"#494949",
|
|
165
|
+
"#545454",
|
|
166
|
+
"#626262",
|
|
167
|
+
"#777777"
|
|
168
|
+
]
|
|
169
|
+
};
|
|
171
170
|
const lightThemes = createThemesFrom("light", createTheme, {
|
|
172
|
-
backgrounds:
|
|
171
|
+
backgrounds: themeColors.light,
|
|
173
172
|
backgroundStrong: "#fafafa",
|
|
174
|
-
borderColors:
|
|
173
|
+
borderColors: themeColors.light.slice(2),
|
|
175
174
|
isLight: true
|
|
176
175
|
});
|
|
177
176
|
const darkThemes = createThemesFrom("dark", createTheme, {
|
|
178
|
-
backgrounds:
|
|
179
|
-
colors:
|
|
177
|
+
backgrounds: themeColors.dark,
|
|
178
|
+
colors: themeColors.light.slice(2),
|
|
180
179
|
backgroundStrong: "#111",
|
|
181
180
|
isBase: true,
|
|
182
181
|
isLight: false,
|
|
@@ -185,10 +184,23 @@ const darkThemes = createThemesFrom("dark", createTheme, {
|
|
|
185
184
|
color: [0, 4, 5, 5, 5, 5]
|
|
186
185
|
}
|
|
187
186
|
});
|
|
187
|
+
const colorNames = [
|
|
188
|
+
"blue",
|
|
189
|
+
"gray",
|
|
190
|
+
"green",
|
|
191
|
+
"indigo",
|
|
192
|
+
"orange",
|
|
193
|
+
"pink",
|
|
194
|
+
"purple",
|
|
195
|
+
"red",
|
|
196
|
+
"violet",
|
|
197
|
+
"yellow",
|
|
198
|
+
"teal"
|
|
199
|
+
];
|
|
188
200
|
const baseThemes = {
|
|
189
201
|
...lightThemes,
|
|
190
202
|
light: {
|
|
191
|
-
...
|
|
203
|
+
...lightColors,
|
|
192
204
|
...lightThemes.light
|
|
193
205
|
},
|
|
194
206
|
light_active: makeActiveTheme(lightThemes.light),
|
|
@@ -201,7 +213,7 @@ const baseThemes = {
|
|
|
201
213
|
light_DrawerFrame: lightThemes.light_alt1,
|
|
202
214
|
...darkThemes,
|
|
203
215
|
dark: {
|
|
204
|
-
...
|
|
216
|
+
...darkColors,
|
|
205
217
|
...darkThemes.dark
|
|
206
218
|
},
|
|
207
219
|
dark_active: makeActiveTheme(darkThemes.dark),
|
|
@@ -222,10 +234,10 @@ function makeActiveTheme(theme) {
|
|
|
222
234
|
return res;
|
|
223
235
|
}
|
|
224
236
|
__name(makeActiveTheme, "makeActiveTheme");
|
|
225
|
-
const colorThemeEntries = colorSchemes.flatMap(({ name, colors, darkColors }) => {
|
|
237
|
+
const colorThemeEntries = colorSchemes.flatMap(({ name, colors, darkColors: darkColors2 }) => {
|
|
226
238
|
const [altLightThemes, altDarkThemes] = [
|
|
227
|
-
{ colors:
|
|
228
|
-
{ colors, backgrounds:
|
|
239
|
+
{ colors: darkColors2, backgrounds: colors },
|
|
240
|
+
{ colors, backgrounds: darkColors2 }
|
|
229
241
|
].map((props, i) => {
|
|
230
242
|
const isLight = i === 0;
|
|
231
243
|
const [backgrounds, colors2] = [
|
|
@@ -235,8 +247,13 @@ const colorThemeEntries = colorSchemes.flatMap(({ name, colors, darkColors }) =>
|
|
|
235
247
|
const scheme = isLight ? "light" : "dark";
|
|
236
248
|
const shift = isLight ? 0 : 1;
|
|
237
249
|
if (!isLight) {
|
|
238
|
-
const [_, h, sp, lp] = backgrounds[0].match(/hsl\(([0-9\.]+), ([0-9\.]+)\%, ([0-9\.]+)\%\)/);
|
|
239
|
-
backgrounds.
|
|
250
|
+
const [_, h, sp, lp] = backgrounds[0].val.match(/hsl\(([0-9\.]+), ([0-9\.]+)\%, ([0-9\.]+)\%\)/);
|
|
251
|
+
const key = backgrounds[0].key.replace("1", "0");
|
|
252
|
+
backgrounds.unshift(createVariable({
|
|
253
|
+
key,
|
|
254
|
+
name: key,
|
|
255
|
+
val: `hsl(${h}, ${sp}%, ${parseFloat(lp) / 2}%)`
|
|
256
|
+
}));
|
|
240
257
|
}
|
|
241
258
|
const themeWithAlts = createThemesFrom(name, createTheme, {
|
|
242
259
|
colors: colors2,
|
|
@@ -262,9 +279,8 @@ const allThemes = {
|
|
|
262
279
|
};
|
|
263
280
|
const themes = allThemes;
|
|
264
281
|
export {
|
|
282
|
+
colorNames,
|
|
265
283
|
colorSchemes,
|
|
266
|
-
darkGradient,
|
|
267
|
-
lightGradient,
|
|
268
284
|
themes
|
|
269
285
|
};
|
|
270
286
|
//# sourceMappingURL=themes.js.map
|
package/dist/esm/themes.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/themes.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as Colors from '@tamagui/colors'\nimport { allDarkColors, allLightColors } from '@tamagui/colors'\nimport { Variable, getVariableValue } from '@tamagui/core'\n\nimport { setColorAlpha } from './colorUtils'\nimport { color } from './tokens'\n\n// spaghetti ahead\n\ntype ThemeCreatorProps = {\n shift?: number\n backgrounds: (string | Variable)[]\n backgroundStrong?: string | Variable\n borderColors?: (string | Variable)[]\n colors?: (string | Variable)[]\n offsets?: {\n color?: number[] | null\n background?: number[] | null\n borderColor?: number[] | null\n }\n isLight?: boolean\n isBase?: boolean\n}\n\n// helpers\n\nconst alternates = [1, 2, 3, 4] as const\ntype AltKeys = 1 | 2 | 3 | 4 // one less for dark_darker\ntype AltName<Name extends string, Keys extends string | number> = `${Name}_alt${Keys}`\ntype ThemeCreator<A = any> = (str: number, props: ThemeCreatorProps) => A\n\nfunction createThemesFrom<Name extends string, GetTheme extends ThemeCreator = ThemeCreator>(\n name: Name,\n getTheme: GetTheme,\n props: ThemeCreatorProps\n): {\n [key in `${Name}_alt${AltKeys}` | `${Name}` | `${Name}_darker`]: GetTheme extends ThemeCreator<\n infer Theme\n >\n ? Theme\n : never\n} {\n const { shift = 0 } = props\n const theme = getTheme(0 + shift, props)\n let themeEntries: any[] = [[name, theme]]\n const altThemes: any[] = alternates.map((alt) => [\n `${name}_alt${alt}`,\n getTheme(alt + (props.isLight ? 1 : 0) + shift, props),\n ])\n const altThemes2: any[] = alternates.map((alt) => [\n `${name}_alt${alt}`,\n getTheme(alt + shift, props),\n ])\n const altButtonThemes: any[] = alternates.map((_, i) => {\n const [bName, bTheme] = [altThemes2[i][0], (altThemes2[i + 1] || altThemes2[i])[1]]\n return [`${bName}_Button` as any, bTheme]\n })\n // add these after alts since we rely on positioning\n const darkerTheme = getTheme(Math.max(0, shift + (props.isLight ? 1 : -1)), props)\n const activeTheme = makeActiveTheme(theme)\n\n const inverted = altThemes.map(([_name, theme]) => {\n return {\n ...theme,\n background: theme.color,\n backgroundHover: theme.colorHover,\n backgroundFocus: theme.colorFocus,\n backgroundPress: theme.colorPress,\n color: theme.background,\n colorHover: theme.backgroundHover,\n colorFocus: theme.backgroundFocus,\n colorPress: theme.backgroundPress,\n }\n })\n\n themeEntries = [\n ...themeEntries,\n ...altThemes,\n ...altButtonThemes,\n [`${name}_Button`, altThemes2[1][1]],\n [`${name}_DrawerFrame`, altThemes2[1][1]],\n [`${name}_SliderTrack`, altThemes[1][1]],\n [`${name}_SliderTrackActive`, altThemes[3][1]],\n [`${name}_SliderThumb`, inverted[2]],\n [`${name}_Progress`, altThemes[2][1]],\n [`${name}_ProgressIndicator`, inverted[2]],\n [`${name}_Switch`, altThemes[0][1]],\n [`${name}_SwitchThumb`, inverted[2]],\n [`${name}_TooltipArrow`, altThemes[1][1]],\n [`${name}_TooltipContent`, altThemes[1][1]],\n [`${name}_darker`, darkerTheme],\n [`${name}_active`, activeTheme],\n ]\n const themes = Object.fromEntries(themeEntries)\n // if (props.isLight) {\n // console.log('themes', themes)\n // }\n return themes as any\n}\n\nconst createTheme = (\n str = 1,\n {\n backgrounds,\n isLight = true,\n isBase = false,\n colors = [...backgrounds].reverse(),\n borderColors = isLight ? colors : backgrounds,\n backgroundStrong,\n offsets: offsetsProp,\n }: ThemeCreatorProps\n) => {\n const offsets = {\n borderColor: offsetsProp?.borderColor ?? offsetsProp?.background ?? [0, 0, 0, 0],\n background: offsetsProp?.background ?? [0, 0, 0, 0],\n color: offsetsProp?.color ?? [0, 0, 0, 0],\n }\n const darkColors = isLight ? colors : backgrounds\n const lighterDir = isLight ? -1 : 1\n const darkerDir = -lighterDir\n const strongerDir = isLight ? darkerDir : lighterDir\n const softerDir = -strongerDir\n const get = (arr: any[], index: number, name = 'background') => {\n return arr[Math.max(0, Math.min(index + (offsets[name][str] || 0), arr.length - 1))]\n }\n\n const colorTranslucent = setColorAlpha(getVariableValue(get(colors, 0 + str, 'color')), 0.5)\n\n let theme = {\n background: get(backgrounds, str),\n backgroundStrong: backgroundStrong || get(backgrounds, str + strongerDir * 2),\n backgroundSoft: get(backgrounds, str + softerDir * 2),\n backgroundHover: get(backgrounds, str + lighterDir),\n backgroundPress: get(backgrounds, str + darkerDir),\n backgroundFocus: get(backgrounds, str + darkerDir * 2),\n backgroundTransparent: color.grayA1,\n color: get(colors, 0 + str, 'color'),\n colorHover: get(colors, 1 + str, 'color'),\n colorPress: get(colors, 2 + str, 'color'),\n colorFocus: get(colors, 3 + str, 'color'),\n colorTranslucent,\n colorMid: (isLight ? colors : backgrounds)[Math.floor(colors.length / 2)],\n shadowColor: isLight ? color.grayA2 : color.grayA8,\n shadowColorHover: darkColors[!isLight ? 1 : 8],\n shadowColorPress: darkColors[!isLight ? 1 : 8],\n shadowColorFocus: darkColors[!isLight ? 1 : 8],\n borderColor: null as any as string | Variable,\n borderColorHover: null as any as string | Variable,\n borderColorPress: null as any as string | Variable,\n borderColorFocus: null as any as string | Variable,\n }\n\n if (isBase) {\n Object.assign(theme, {\n borderColor: isLight\n ? get(colors, 8 - str, 'borderColor')\n : get(backgrounds, 2 + str, 'borderColor'),\n borderColorHover: isLight\n ? get(colors, 6 - str, 'borderColor')\n : get(backgrounds, 3 + str, 'borderColor'),\n borderColorPress: isLight\n ? get(colors, 5 - str, 'borderColor')\n : get(backgrounds, 1 + str, 'borderColor'),\n borderColorFocus: isLight\n ? get(colors, 4 - str, 'borderColor')\n : get(backgrounds, 3 + str, 'borderColor'),\n })\n } else {\n Object.assign(theme, {\n borderColor: get(borderColors, 1 + strongerDir, 'borderColor'),\n borderColorHover: get(borderColors, 2 + strongerDir, 'borderColor'),\n borderColorPress: get(borderColors, 3 + strongerDir, 'borderColor'),\n borderColorFocus: get(borderColors, 4 + strongerDir, 'borderColor'),\n })\n }\n\n return theme\n}\n\nexport const colorSchemes = [\n { name: 'blue', colors: Colors.blue, darkColors: Colors.blueDark },\n { name: 'gray', colors: Colors.gray, darkColors: Colors.grayDark },\n { name: 'green', colors: Colors.green, darkColors: Colors.greenDark },\n { name: 'indigo', colors: Colors.indigo, darkColors: Colors.indigoDark },\n { name: 'orange', colors: Colors.orange, darkColors: Colors.orangeDark },\n { name: 'pink', colors: Colors.pink, darkColors: Colors.pinkDark },\n { name: 'purple', colors: Colors.purple, darkColors: Colors.purpleDark },\n { name: 'red', colors: Colors.red, darkColors: Colors.redDark },\n { name: 'violet', colors: Colors.violet, darkColors: Colors.violetDark },\n { name: 'yellow', colors: Colors.yellow, darkColors: Colors.yellowDark },\n { name: 'teal', colors: Colors.teal, darkColors: Colors.tealDark },\n { name: 'lime', colors: Colors.lime, darkColors: Colors.limeDark },\n { name: 'brown', colors: Colors.brown, darkColors: Colors.brownDark },\n] as const\n\nexport type ColorNames = typeof colorSchemes[number]['name']\n\nexport const lightGradient = [\n '#fff',\n '#f4f4f4',\n color.gray1,\n color.gray2,\n color.gray3,\n color.gray4,\n color.gray5,\n color.gray6,\n color.gray7,\n color.gray8,\n color.gray9,\n color.gray10,\n color.gray11,\n color.gray12,\n]\n\nexport const darkGradient = [\n '#111111',\n '#151515',\n '#191919',\n '#232323',\n '#282828',\n '#323232',\n '#383838',\n '#424242',\n '#494949',\n '#545454',\n '#626262',\n '#777777',\n]\n\nconst lightThemes = createThemesFrom('light', createTheme, {\n backgrounds: lightGradient,\n // isBase: true,\n backgroundStrong: '#fafafa',\n borderColors: lightGradient.slice(2),\n isLight: true,\n})\n\nconst darkThemes = createThemesFrom('dark', createTheme, {\n backgrounds: darkGradient,\n colors: lightGradient.slice(2),\n backgroundStrong: '#111',\n isBase: true,\n isLight: false,\n shift: 1,\n offsets: {\n color: [0, 4, 5, 5, 5, 5],\n },\n})\n\nconst baseThemes = {\n // light\n ...lightThemes,\n light: {\n ...allLightColors,\n ...lightThemes.light,\n },\n light_active: makeActiveTheme(lightThemes.light),\n light_Card: lightThemes.light,\n light_Button: lightThemes.light,\n light_SliderTrack: lightThemes.light_alt1,\n light_SliderTrackActive: lightThemes.light_alt2,\n light_Switch: lightThemes.light,\n light_SwitchThumb: lightThemes.light_alt1,\n light_DrawerFrame: lightThemes.light_alt1,\n\n // dark\n ...darkThemes,\n dark: {\n ...allDarkColors,\n ...darkThemes.dark,\n },\n dark_active: makeActiveTheme(darkThemes.dark),\n dark_Card: darkThemes.dark,\n dark_DrawerFrame: darkThemes.dark_alt1,\n dark_SliderTrack: darkThemes.dark_darker,\n dark_SliderTrackActive: darkThemes.dark_alt1,\n dark_Switch: darkThemes.dark_darker,\n dark_SwitchThumb: darkThemes.dark_alt1,\n dark_Button: darkThemes.dark_alt1,\n}\n\nfunction makeActiveTheme(theme: any) {\n const res = { ...theme }\n res.backgroundHover = res.background\n res.colorHover = res.color\n res.backgroundPress = res.background\n res.colorPress = res.color\n return res\n}\n\ntype ColorThemeNames =\n | ColorNames\n | AltName<`light_${ColorNames}`, AltKeys>\n | AltName<`dark_${ColorNames}`, AltKeys>\n\nconst colorThemeEntries = colorSchemes.flatMap(({ name, colors, darkColors }) => {\n const [altLightThemes, altDarkThemes] = [\n { colors: darkColors, backgrounds: colors },\n { colors, backgrounds: darkColors },\n ].map((props, i) => {\n const isLight = i === 0\n const [backgrounds, colors] = [\n Object.values(props.backgrounds),\n Object.values(props.colors).slice(isLight ? 2 : 2),\n ] as const\n\n const scheme = isLight ? 'light' : 'dark'\n const shift = isLight ? 0 : 1\n\n if (!isLight) {\n const [_, h, sp, lp] = backgrounds[0].match(/hsl\\(([0-9\\.]+), ([0-9\\.]+)\\%, ([0-9\\.]+)\\%\\)/)!\n backgrounds.unshift(`hsl(${h}, ${sp}%, ${parseFloat(lp) / 2}%)`)\n }\n\n const themeWithAlts = createThemesFrom(name, createTheme, {\n colors,\n backgrounds,\n borderColors: backgrounds,\n isLight,\n shift,\n isBase: false,\n offsets: {\n background: isLight ? [1, 1, 1, 1, 1, 1] : null,\n borderColor: isLight ? [2, 2, 2, 3, 2] : null,\n color: isLight ? [0, 0, -1, -2, -3, -3, -4] : [-1, -1, -1, -1, -1, -1],\n },\n })\n\n return Object.entries(themeWithAlts).map(([k, v]) => [`${scheme}_${k}`, v])\n })\n return [...altLightThemes, ...altDarkThemes]\n})\n\ntype MyThemeBase = typeof baseThemes['light_alt1']\n\nconst colorThemes: {\n [key in ColorThemeNames]: MyThemeBase\n} = Object.fromEntries(colorThemeEntries) as any\n\nconst allThemes = {\n ...baseThemes,\n ...colorThemes,\n} as const\n\nexport const themes: {\n [key in keyof typeof allThemes]: typeof baseThemes['light']\n} = allThemes as any\n\n// TODO\n// export function createThemes(props: {\n// colors?:\n// | 'amber'\n// | 'blue'\n// | 'bronze'\n// | 'brown'\n// | 'crimson'\n// | 'cyan'\n// | 'gold'\n// | 'grass'\n// | 'gray'\n// | 'green'\n// | 'indigo'\n// | 'lime'\n// | 'mint'\n// | 'olive'\n// | 'orange'\n// | 'pink'\n// | 'plum'\n// | 'purple'\n// | 'mauve'\n// | 'red'\n// | 'sage'\n// | 'sand'\n// | 'sky'\n// | 'slate'\n// | 'teal'\n// | 'tomato'\n// | 'violet'\n// | 'yellow'\n// alternates?: number\n// }) {}\n"],
|
|
5
|
-
"mappings": ";;AAAA;
|
|
4
|
+
"sourcesContent": ["import { Variable, createVariable, getVariableValue } from '@tamagui/core'\n\nimport { setColorAlpha } from './colorUtils'\nimport { colorTokens, darkColors, lightColors, tokens } from './tokens'\n\nconst { color } = tokens\n\n// spaghetti ahead\n\ntype ThemeCreatorProps = {\n shift?: number\n backgrounds: (string | Variable)[]\n backgroundStrong?: string | Variable\n borderColors?: (string | Variable)[]\n colors?: (string | Variable)[]\n offsets?: {\n color?: number[] | null\n background?: number[] | null\n borderColor?: number[] | null\n }\n isLight?: boolean\n isBase?: boolean\n}\n\n// helpers\n\nconst alternates = [1, 2, 3, 4] as const\nconst alts = [1, 2, 3] as const\ntype AltKeys = 1 | 2 | 3\ntype AltName<Name extends string, Keys extends string | number> = `${Name}_alt${Keys}`\ntype ThemeCreator<A = any> = (str: number, props: ThemeCreatorProps) => A\n\nfunction createThemesFrom<Name extends string, GetTheme extends ThemeCreator = ThemeCreator>(\n name: Name,\n getTheme: GetTheme,\n props: ThemeCreatorProps\n): {\n [key in `${Name}_alt${AltKeys}` | `${Name}` | `${Name}_darker`]: GetTheme extends ThemeCreator<\n infer Theme\n >\n ? Theme\n : never\n} {\n const { shift = 0 } = props\n const theme = getTheme(0 + shift, props)\n let themeEntries: any[] = [[name, theme]]\n\n // generate alternates (for use in other themes), but keep just alts\n const altThemes: any[] = alternates.map((alt) => [\n `${name}_alt${alt}`,\n getTheme(alt + (props.isLight ? 1 : 0) + shift, props),\n ])\n const altThemes2: any[] = alternates.map((alt) => [\n `${name}_alt${alt}`,\n getTheme(alt + shift, props),\n ])\n const altButtonThemes: any[] = alternates.map((_, i) => {\n const [bName, bTheme] = [altThemes2[i][0], (altThemes2[i + 1] || altThemes2[i])[1]]\n return [`${bName}_Button` as any, bTheme]\n })\n // add these after alts since we rely on positioning\n const darkerTheme = getTheme(Math.max(0, shift + (props.isLight ? 1 : -1)), props)\n const activeTheme = makeActiveTheme(theme)\n\n const inverted = altThemes.map(([_name, theme]) => {\n return {\n ...theme,\n background: theme.color,\n backgroundHover: theme.colorHover,\n backgroundFocus: theme.colorFocus,\n backgroundPress: theme.colorPress,\n color: theme.background,\n colorHover: theme.backgroundHover,\n colorFocus: theme.backgroundFocus,\n colorPress: theme.backgroundPress,\n }\n })\n\n themeEntries = [\n ...themeEntries,\n // keep just alts\n ...altThemes.slice(0, alts.length),\n ...altButtonThemes.slice(0, alts.length),\n [`${name}_Button`, altThemes2[1][1]],\n [`${name}_DrawerFrame`, altThemes2[1][1]],\n [`${name}_SliderTrack`, altThemes[1][1]],\n [`${name}_SliderTrackActive`, altThemes[3][1]],\n [`${name}_SliderThumb`, inverted[2]],\n [`${name}_Progress`, altThemes[2][1]],\n [`${name}_ProgressIndicator`, inverted[2]],\n [`${name}_Switch`, altThemes[0][1]],\n [`${name}_SwitchThumb`, inverted[2]],\n [`${name}_TooltipArrow`, altThemes[1][1]],\n [`${name}_TooltipContent`, altThemes[1][1]],\n [`${name}_darker`, darkerTheme],\n [`${name}_active`, activeTheme],\n ]\n const themes = Object.fromEntries(themeEntries)\n // if (props.isLight) {\n // console.log('themes', themes)\n // }\n return themes as any\n}\n\nconst createTheme = (\n str = 1,\n {\n backgrounds,\n isLight = true,\n isBase = false,\n colors = [...backgrounds].reverse(),\n borderColors = isLight ? colors : backgrounds,\n backgroundStrong,\n offsets: offsetsProp,\n }: ThemeCreatorProps\n) => {\n const offsets = {\n borderColor: offsetsProp?.borderColor ?? offsetsProp?.background ?? [0, 0, 0, 0],\n background: offsetsProp?.background ?? [0, 0, 0, 0],\n color: offsetsProp?.color ?? [0, 0, 0, 0],\n }\n const darkColors = isLight ? colors : backgrounds\n const lighterDir = isLight ? -1 : 1\n const darkerDir = -lighterDir\n const strongerDir = isLight ? darkerDir : lighterDir\n const softerDir = -strongerDir\n const get = (arr: any[], index: number, name = 'background') => {\n return arr[Math.max(0, Math.min(index + (offsets[name][str] || 0), arr.length - 1))]\n }\n\n const colorTranslucent = setColorAlpha(getVariableValue(get(colors, 0 + str, 'color')), 0.5)\n\n let theme = {\n background: get(backgrounds, str),\n backgroundStrong: backgroundStrong || get(backgrounds, str + strongerDir * 2),\n backgroundSoft: get(backgrounds, str + softerDir * 2),\n backgroundHover: get(backgrounds, str + lighterDir),\n backgroundPress: get(backgrounds, str + darkerDir),\n backgroundFocus: get(backgrounds, str + darkerDir * 2),\n backgroundTransparent: color.grayA1,\n color: get(colors, 0 + str, 'color'),\n colorHover: get(colors, 1 + str, 'color'),\n colorPress: get(colors, 2 + str, 'color'),\n colorFocus: get(colors, 3 + str, 'color'),\n colorTranslucent,\n colorMid: (isLight ? colors : backgrounds)[Math.floor(colors.length / 2)],\n shadowColor: isLight ? color.grayA2 : color.grayA8,\n shadowColorHover: darkColors[!isLight ? 1 : 8],\n shadowColorPress: darkColors[!isLight ? 1 : 8],\n shadowColorFocus: darkColors[!isLight ? 1 : 8],\n borderColor: null as any as string | Variable,\n borderColorHover: null as any as string | Variable,\n borderColorPress: null as any as string | Variable,\n borderColorFocus: null as any as string | Variable,\n }\n\n if (isBase) {\n Object.assign(theme, {\n borderColor: isLight\n ? get(colors, 8 - str, 'borderColor')\n : get(backgrounds, 2 + str, 'borderColor'),\n borderColorHover: isLight\n ? get(colors, 6 - str, 'borderColor')\n : get(backgrounds, 3 + str, 'borderColor'),\n borderColorPress: isLight\n ? get(colors, 5 - str, 'borderColor')\n : get(backgrounds, 1 + str, 'borderColor'),\n borderColorFocus: isLight\n ? get(colors, 4 - str, 'borderColor')\n : get(backgrounds, 3 + str, 'borderColor'),\n })\n } else {\n Object.assign(theme, {\n borderColor: get(borderColors, 1 + strongerDir, 'borderColor'),\n borderColorHover: get(borderColors, 2 + strongerDir, 'borderColor'),\n borderColorPress: get(borderColors, 3 + strongerDir, 'borderColor'),\n borderColorFocus: get(borderColors, 4 + strongerDir, 'borderColor'),\n })\n }\n\n return theme\n}\n\nexport const colorSchemes = [\n { name: 'blue', colors: colorTokens.light.blue, darkColors: colorTokens.dark.blue },\n { name: 'gray', colors: colorTokens.light.gray, darkColors: colorTokens.dark.gray },\n { name: 'green', colors: colorTokens.light.green, darkColors: colorTokens.dark.green },\n { name: 'orange', colors: colorTokens.light.orange, darkColors: colorTokens.dark.orange },\n { name: 'pink', colors: colorTokens.light.pink, darkColors: colorTokens.dark.pink },\n { name: 'purple', colors: colorTokens.light.purple, darkColors: colorTokens.dark.purple },\n { name: 'red', colors: colorTokens.light.red, darkColors: colorTokens.dark.red },\n { name: 'violet', colors: colorTokens.light.violet, darkColors: colorTokens.dark.violet },\n { name: 'yellow', colors: colorTokens.light.yellow, darkColors: colorTokens.dark.yellow },\n { name: 'teal', colors: colorTokens.light.teal, darkColors: colorTokens.dark.teal },\n] as const\n\nexport type ColorNames = typeof colorSchemes[number]['name']\n\nconst themeColors = {\n light: [\n '#fff',\n '#f4f4f4',\n color.gray1,\n color.gray2,\n color.gray3,\n color.gray4,\n color.gray5,\n color.gray6,\n color.gray7,\n color.gray8,\n color.gray9,\n color.gray10,\n color.gray11,\n color.gray12,\n ],\n dark: [\n '#111111',\n '#151515',\n '#191919',\n '#232323',\n '#282828',\n '#323232',\n '#383838',\n '#424242',\n '#494949',\n '#545454',\n '#626262',\n '#777777',\n ],\n}\n\nconst lightThemes = createThemesFrom('light', createTheme, {\n backgrounds: themeColors.light,\n // isBase: true,\n backgroundStrong: '#fafafa',\n borderColors: themeColors.light.slice(2),\n isLight: true,\n})\n\nconst darkThemes = createThemesFrom('dark', createTheme, {\n backgrounds: themeColors.dark,\n colors: themeColors.light.slice(2),\n backgroundStrong: '#111',\n isBase: true,\n isLight: false,\n shift: 1,\n offsets: {\n color: [0, 4, 5, 5, 5, 5],\n },\n})\n\n// nice and flat\nexport const colorNames = [\n 'blue',\n 'gray',\n 'green',\n 'indigo',\n 'orange',\n 'pink',\n 'purple',\n 'red',\n 'violet',\n 'yellow',\n 'teal',\n] as const\n\nconst baseThemes = {\n // light\n ...lightThemes,\n light: {\n ...lightColors,\n ...lightThemes.light,\n },\n light_active: makeActiveTheme(lightThemes.light),\n light_Card: lightThemes.light,\n light_Button: lightThemes.light,\n light_SliderTrack: lightThemes.light_alt1,\n light_SliderTrackActive: lightThemes.light_alt2,\n light_Switch: lightThemes.light,\n light_SwitchThumb: lightThemes.light_alt1,\n light_DrawerFrame: lightThemes.light_alt1,\n\n // dark\n ...darkThemes,\n dark: {\n ...darkColors,\n ...darkThemes.dark,\n },\n dark_active: makeActiveTheme(darkThemes.dark),\n dark_Card: darkThemes.dark,\n dark_DrawerFrame: darkThemes.dark_alt1,\n dark_SliderTrack: darkThemes.dark_darker,\n dark_SliderTrackActive: darkThemes.dark_alt1,\n dark_Switch: darkThemes.dark_darker,\n dark_SwitchThumb: darkThemes.dark_alt1,\n dark_Button: darkThemes.dark_alt1,\n}\n\nfunction makeActiveTheme(theme: any) {\n const res = { ...theme }\n res.backgroundHover = res.background\n res.colorHover = res.color\n res.backgroundPress = res.background\n res.colorPress = res.color\n return res\n}\n\ntype ColorThemeNames =\n | ColorNames\n | AltName<`light_${ColorNames}`, AltKeys>\n | AltName<`dark_${ColorNames}`, AltKeys>\n\nconst colorThemeEntries = colorSchemes.flatMap(({ name, colors, darkColors }) => {\n const [altLightThemes, altDarkThemes] = [\n { colors: darkColors, backgrounds: colors },\n { colors, backgrounds: darkColors },\n ].map((props, i) => {\n const isLight = i === 0\n const [backgrounds, colors] = [\n Object.values(props.backgrounds),\n Object.values(props.colors).slice(isLight ? 2 : 2),\n ] as const\n\n const scheme = isLight ? 'light' : 'dark'\n const shift = isLight ? 0 : 1\n\n if (!isLight) {\n const [_, h, sp, lp] = backgrounds[0].val.match(\n /hsl\\(([0-9\\.]+), ([0-9\\.]+)\\%, ([0-9\\.]+)\\%\\)/\n )!\n const key = backgrounds[0].key.replace('1', '0')\n backgrounds.unshift(\n createVariable({\n key,\n name: key,\n val: `hsl(${h}, ${sp}%, ${parseFloat(lp) / 2}%)`,\n })\n )\n }\n\n const themeWithAlts = createThemesFrom(name, createTheme, {\n colors,\n backgrounds,\n borderColors: backgrounds,\n isLight,\n shift,\n isBase: false,\n offsets: {\n background: isLight ? [1, 1, 1, 1, 1, 1] : null,\n borderColor: isLight ? [2, 2, 2, 3, 2] : null,\n color: isLight ? [0, 0, -1, -2, -3, -3, -4] : [-1, -1, -1, -1, -1, -1],\n },\n })\n\n return Object.entries(themeWithAlts).map(([k, v]) => [`${scheme}_${k}`, v])\n })\n return [...altLightThemes, ...altDarkThemes]\n})\n\ntype MyThemeBase = typeof baseThemes['light_alt1']\n\nconst colorThemes: {\n [key in ColorThemeNames]: MyThemeBase\n} = Object.fromEntries(colorThemeEntries) as any\n\nconst allThemes = {\n ...baseThemes,\n ...colorThemes,\n} as const\n\nexport const themes: {\n [key in keyof typeof allThemes]: typeof baseThemes['light']\n} = allThemes as any\n\n// TODO\n// export function createThemes(props: {\n// colors?:\n// | 'amber'\n// | 'blue'\n// | 'bronze'\n// | 'brown'\n// | 'crimson'\n// | 'cyan'\n// | 'gold'\n// | 'grass'\n// | 'gray'\n// | 'green'\n// | 'indigo'\n// | 'lime'\n// | 'mint'\n// | 'olive'\n// | 'orange'\n// | 'pink'\n// | 'plum'\n// | 'purple'\n// | 'mauve'\n// | 'red'\n// | 'sage'\n// | 'sand'\n// | 'sky'\n// | 'slate'\n// | 'teal'\n// | 'tomato'\n// | 'violet'\n// | 'yellow'\n// alternates?: number\n// }) {}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/tokens.js
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
blue,
|
|
5
|
+
blueDark,
|
|
6
|
+
gray,
|
|
7
|
+
grayA,
|
|
8
|
+
grayDark,
|
|
9
|
+
grayDarkA,
|
|
10
|
+
green,
|
|
11
|
+
greenDark,
|
|
12
|
+
orange,
|
|
13
|
+
orangeDark,
|
|
14
|
+
pink,
|
|
15
|
+
pinkDark,
|
|
16
|
+
purple,
|
|
17
|
+
purpleDark,
|
|
18
|
+
red,
|
|
19
|
+
redDark,
|
|
20
|
+
teal,
|
|
21
|
+
tealDark,
|
|
22
|
+
violet,
|
|
23
|
+
violetDark,
|
|
24
|
+
yellow,
|
|
25
|
+
yellowDark
|
|
26
|
+
} from "@tamagui/colors";
|
|
27
|
+
import { createTokens, createVariables } from "@tamagui/core";
|
|
4
28
|
const sizeKeys = [
|
|
5
29
|
"true",
|
|
6
30
|
"0",
|
|
@@ -48,10 +72,68 @@ const zIndex = {
|
|
|
48
72
|
4: 400,
|
|
49
73
|
5: 500
|
|
50
74
|
};
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
|
|
75
|
+
const colorTokens = createVariables({
|
|
76
|
+
light: {
|
|
77
|
+
blue,
|
|
78
|
+
gray,
|
|
79
|
+
grayA,
|
|
80
|
+
green,
|
|
81
|
+
orange,
|
|
82
|
+
pink,
|
|
83
|
+
purple,
|
|
84
|
+
red,
|
|
85
|
+
violet,
|
|
86
|
+
yellow,
|
|
87
|
+
teal
|
|
88
|
+
},
|
|
89
|
+
dark: {
|
|
90
|
+
blue: blueDark,
|
|
91
|
+
gray: grayDark,
|
|
92
|
+
grayA: grayDarkA,
|
|
93
|
+
green: greenDark,
|
|
94
|
+
orange: orangeDark,
|
|
95
|
+
pink: pinkDark,
|
|
96
|
+
purple: purpleDark,
|
|
97
|
+
red: redDark,
|
|
98
|
+
violet: violetDark,
|
|
99
|
+
yellow: yellowDark,
|
|
100
|
+
teal: tealDark
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
const darkColors = {
|
|
104
|
+
...colorTokens.dark.blue,
|
|
105
|
+
...colorTokens.dark.gray,
|
|
106
|
+
...colorTokens.dark.grayA,
|
|
107
|
+
...colorTokens.dark.green,
|
|
108
|
+
...colorTokens.dark.orange,
|
|
109
|
+
...colorTokens.dark.pink,
|
|
110
|
+
...colorTokens.dark.purple,
|
|
111
|
+
...colorTokens.dark.red,
|
|
112
|
+
...colorTokens.dark.violet,
|
|
113
|
+
...colorTokens.dark.yellow,
|
|
114
|
+
...colorTokens.dark.teal
|
|
54
115
|
};
|
|
116
|
+
const lightColors = {
|
|
117
|
+
...colorTokens.light.blue,
|
|
118
|
+
...colorTokens.light.gray,
|
|
119
|
+
...colorTokens.light.grayA,
|
|
120
|
+
...colorTokens.light.green,
|
|
121
|
+
...colorTokens.light.orange,
|
|
122
|
+
...colorTokens.light.pink,
|
|
123
|
+
...colorTokens.light.purple,
|
|
124
|
+
...colorTokens.light.red,
|
|
125
|
+
...colorTokens.light.violet,
|
|
126
|
+
...colorTokens.light.yellow,
|
|
127
|
+
...colorTokens.light.teal
|
|
128
|
+
};
|
|
129
|
+
const allColors = {
|
|
130
|
+
...lightColors,
|
|
131
|
+
...darkPostfix(darkColors)
|
|
132
|
+
};
|
|
133
|
+
function darkPostfix(obj) {
|
|
134
|
+
return Object.fromEntries(Object.entries(obj).map(([k, v]) => [`${k}Dark`, v]));
|
|
135
|
+
}
|
|
136
|
+
__name(darkPostfix, "darkPostfix");
|
|
55
137
|
const radius = {
|
|
56
138
|
0: 0,
|
|
57
139
|
1: 3,
|
|
@@ -67,13 +149,17 @@ const radius = {
|
|
|
67
149
|
11: 42,
|
|
68
150
|
12: 50
|
|
69
151
|
};
|
|
70
|
-
|
|
71
|
-
color,
|
|
72
|
-
getSizeAt,
|
|
152
|
+
const tokens = createTokens({
|
|
153
|
+
color: allColors,
|
|
73
154
|
radius,
|
|
74
|
-
|
|
75
|
-
sizeKeys,
|
|
155
|
+
zIndex,
|
|
76
156
|
space,
|
|
77
|
-
|
|
157
|
+
size
|
|
158
|
+
});
|
|
159
|
+
export {
|
|
160
|
+
colorTokens,
|
|
161
|
+
darkColors,
|
|
162
|
+
lightColors,
|
|
163
|
+
tokens
|
|
78
164
|
};
|
|
79
165
|
//# sourceMappingURL=tokens.js.map
|
package/dist/esm/tokens.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tokens.tsx"],
|
|
4
|
-
"sourcesContent": ["import {
|
|
5
|
-
"mappings": ";;AAAA;
|
|
4
|
+
"sourcesContent": ["import {\n blue,\n blueDark,\n gray,\n grayA,\n grayDark,\n grayDarkA,\n green,\n greenDark,\n orange,\n orangeDark,\n pink,\n pinkDark,\n purple,\n purpleDark,\n red,\n redDark,\n teal,\n tealDark,\n violet,\n violetDark,\n yellow,\n yellowDark,\n} from '@tamagui/colors'\nimport { Variable, createTokens, createVariables } from '@tamagui/core'\n\n// acknowledge you need more granularity with .5s\nconst sizeKeys = [\n 'true',\n '0',\n '0.25',\n '0.5',\n '1',\n '1.5',\n '2',\n '2.5',\n '3',\n '3.5',\n '4',\n '4.5',\n '5',\n '5.5',\n '6',\n '6.5',\n '7',\n '7.5',\n '8',\n '8.5',\n '9',\n '9.5',\n '10',\n '11',\n '12',\n '13',\n '14',\n] as const\n\n// slightly more than double every 2 indices apart\nconst getSizeAt = (index: number) =>\n index === 0 ? 0 : Math.round(Math.pow(1.6, index)) + Math.floor(3 * index)\n\nconst size: {\n [key in typeof sizeKeys[any]]: number\n} = Object.fromEntries(\n sizeKeys.map((key) => {\n return [key, getSizeAt(key === 'true' ? 4 : +key)]\n })\n) as any\n\ntype Sizes = typeof size\ntype SizeKeys = keyof Sizes\n\nconst spaces = Object.entries(size).map(([k, v]) => [k, Math.round(v * 0.75)])\nconst spacesNegative = spaces.map(([k, v]) => [`-${k}`, -v])\n\nconst space: {\n [Key in `-${SizeKeys}` | SizeKeys]: Key extends keyof Sizes ? Sizes[Key] : number\n} = {\n ...Object.fromEntries(spaces),\n ...Object.fromEntries(spacesNegative),\n} as any\n\nconst zIndex = {\n 0: 0,\n 1: 100,\n 2: 200,\n 3: 300,\n 4: 400,\n 5: 500,\n}\n\nexport const colorTokens = createVariables({\n light: {\n blue,\n gray,\n grayA,\n green,\n orange,\n pink,\n purple,\n red,\n violet,\n yellow,\n teal,\n },\n dark: {\n blue: blueDark,\n gray: grayDark,\n grayA: grayDarkA,\n green: greenDark,\n orange: orangeDark,\n pink: pinkDark,\n purple: purpleDark,\n red: redDark,\n violet: violetDark,\n yellow: yellowDark,\n teal: tealDark,\n },\n})\n\nexport const darkColors = {\n ...colorTokens.dark.blue,\n ...colorTokens.dark.gray,\n ...colorTokens.dark.grayA,\n ...colorTokens.dark.green,\n ...colorTokens.dark.orange,\n ...colorTokens.dark.pink,\n ...colorTokens.dark.purple,\n ...colorTokens.dark.red,\n ...colorTokens.dark.violet,\n ...colorTokens.dark.yellow,\n ...colorTokens.dark.teal,\n}\n\nexport const lightColors = {\n ...colorTokens.light.blue,\n ...colorTokens.light.gray,\n ...colorTokens.light.grayA,\n ...colorTokens.light.green,\n ...colorTokens.light.orange,\n ...colorTokens.light.pink,\n ...colorTokens.light.purple,\n ...colorTokens.light.red,\n ...colorTokens.light.violet,\n ...colorTokens.light.yellow,\n ...colorTokens.light.teal,\n}\n\nconst allColors = {\n ...lightColors,\n ...darkPostfix(darkColors),\n}\n\nfunction darkPostfix<A extends { [key: string]: Variable<string> }>(\n obj: A\n): {\n [Key in `${keyof A extends string ? keyof A : never}Dark`]: Variable<string>\n} {\n return Object.fromEntries(Object.entries(obj).map(([k, v]) => [`${k}Dark`, v])) as any\n}\n\nconst radius = {\n 0: 0,\n 1: 3,\n 2: 5,\n 3: 7,\n 4: 9,\n 5: 10,\n 6: 16,\n 7: 19,\n 8: 22,\n 9: 26,\n 10: 34,\n 11: 42,\n 12: 50,\n}\n\nexport const tokens = createTokens({\n color: allColors,\n radius,\n zIndex,\n space,\n size,\n})\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|