@tamagui/theme-builder 1.121.12 → 1.122.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/cjs/ThemeBuilder.cjs +3 -1
  2. package/dist/cjs/ThemeBuilder.js +5 -1
  3. package/dist/cjs/ThemeBuilder.js.map +1 -1
  4. package/dist/cjs/ThemeBuilder.native.js +3 -1
  5. package/dist/cjs/ThemeBuilder.native.js.map +1 -1
  6. package/dist/cjs/createThemes.cjs +240 -0
  7. package/dist/cjs/createThemes.js +251 -0
  8. package/dist/cjs/createThemes.js.map +6 -0
  9. package/dist/cjs/createThemes.native.js +270 -0
  10. package/dist/cjs/createThemes.native.js.map +6 -0
  11. package/dist/cjs/defaultComponentThemes.cjs +81 -0
  12. package/dist/cjs/defaultComponentThemes.js +40 -0
  13. package/dist/cjs/defaultComponentThemes.js.map +6 -0
  14. package/dist/cjs/defaultComponentThemes.native.js +81 -0
  15. package/dist/cjs/defaultComponentThemes.native.js.map +6 -0
  16. package/dist/cjs/defaultTemplates.cjs +141 -0
  17. package/dist/cjs/defaultTemplates.js +132 -0
  18. package/dist/cjs/defaultTemplates.js.map +6 -0
  19. package/dist/cjs/defaultTemplates.native.js +142 -0
  20. package/dist/cjs/defaultTemplates.native.js.map +6 -0
  21. package/dist/cjs/getThemeSuitePalettes.cjs +81 -0
  22. package/dist/cjs/getThemeSuitePalettes.js +64 -0
  23. package/dist/cjs/getThemeSuitePalettes.js.map +6 -0
  24. package/dist/cjs/getThemeSuitePalettes.native.js +95 -0
  25. package/dist/cjs/getThemeSuitePalettes.native.js.map +6 -0
  26. package/dist/cjs/index.cjs +12 -1
  27. package/dist/cjs/index.js +8 -1
  28. package/dist/cjs/index.js.map +1 -1
  29. package/dist/cjs/index.native.js +15 -1
  30. package/dist/cjs/index.native.js.map +1 -1
  31. package/dist/esm/ThemeBuilder.js +5 -1
  32. package/dist/esm/ThemeBuilder.js.map +1 -1
  33. package/dist/esm/ThemeBuilder.mjs +3 -1
  34. package/dist/esm/ThemeBuilder.mjs.map +1 -1
  35. package/dist/esm/ThemeBuilder.native.js +3 -1
  36. package/dist/esm/ThemeBuilder.native.js.map +1 -1
  37. package/dist/esm/createThemes.js +244 -0
  38. package/dist/esm/createThemes.js.map +6 -0
  39. package/dist/esm/createThemes.mjs +209 -0
  40. package/dist/esm/createThemes.mjs.map +1 -0
  41. package/dist/esm/createThemes.native.js +247 -0
  42. package/dist/esm/createThemes.native.js.map +6 -0
  43. package/dist/esm/defaultComponentThemes.js +24 -0
  44. package/dist/esm/defaultComponentThemes.js.map +6 -0
  45. package/dist/esm/defaultComponentThemes.mjs +58 -0
  46. package/dist/esm/defaultComponentThemes.mjs.map +1 -0
  47. package/dist/esm/defaultComponentThemes.native.js +60 -0
  48. package/dist/esm/defaultComponentThemes.native.js.map +6 -0
  49. package/dist/esm/defaultTemplates.js +116 -0
  50. package/dist/esm/defaultTemplates.js.map +6 -0
  51. package/dist/esm/defaultTemplates.mjs +118 -0
  52. package/dist/esm/defaultTemplates.mjs.map +1 -0
  53. package/dist/esm/defaultTemplates.native.js +122 -0
  54. package/dist/esm/defaultTemplates.native.js.map +6 -0
  55. package/dist/esm/getThemeSuitePalettes.js +48 -0
  56. package/dist/esm/getThemeSuitePalettes.js.map +6 -0
  57. package/dist/esm/getThemeSuitePalettes.mjs +57 -0
  58. package/dist/esm/getThemeSuitePalettes.mjs.map +1 -0
  59. package/dist/esm/getThemeSuitePalettes.native.js +74 -0
  60. package/dist/esm/getThemeSuitePalettes.native.js.map +6 -0
  61. package/dist/esm/index.js +16 -0
  62. package/dist/esm/index.js.map +1 -1
  63. package/dist/esm/index.mjs +5 -1
  64. package/dist/esm/index.mjs.map +1 -1
  65. package/dist/esm/index.native.js +11 -0
  66. package/dist/esm/index.native.js.map +2 -2
  67. package/package.json +3 -3
  68. package/src/ThemeBuilder.ts +3 -1
  69. package/src/createThemes.ts +438 -0
  70. package/src/defaultComponentThemes.ts +22 -0
  71. package/src/defaultTemplates.ts +144 -0
  72. package/src/getThemeSuitePalettes.ts +95 -0
  73. package/src/index.ts +13 -0
  74. package/types/ThemeBuilder.d.ts.map +1 -1
  75. package/types/createThemes.d.ts +86 -0
  76. package/types/createThemes.d.ts.map +1 -0
  77. package/types/defaultComponentThemes.d.ts +57 -0
  78. package/types/defaultComponentThemes.d.ts.map +1 -0
  79. package/types/defaultTemplates.d.ts +2 -0
  80. package/types/defaultTemplates.d.ts.map +1 -0
  81. package/types/getThemeSuitePalettes.d.ts +7 -0
  82. package/types/getThemeSuitePalettes.d.ts.map +1 -0
  83. package/types/index.d.ts +4 -0
  84. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,247 @@
1
+ import { createThemeBuilder, PALETTE_BACKGROUND_OFFSET } from "@tamagui/theme-builder";
2
+ import { parseToHsla } from "color2k";
3
+ import { defaultTemplates } from "./defaultTemplates";
4
+ import { getThemeSuitePalettes } from "./getThemeSuitePalettes";
5
+ import { defaultComponentThemes } from "./defaultComponentThemes";
6
+ import { defaultTemplates as defaultTemplates2 } from "./defaultTemplates";
7
+ import { getThemeSuitePalettes as getThemeSuitePalettes2, PALETTE_BACKGROUND_OFFSET as PALETTE_BACKGROUND_OFFSET2 } from "./getThemeSuitePalettes";
8
+ function createStudioThemes(props) {
9
+ var palettes = createPalettes(props.palettes);
10
+ return createSimpleThemeBuilder({
11
+ palettes,
12
+ templates: defaultTemplates,
13
+ componentThemes: defaultComponentThemes,
14
+ accentTheme: !!props.palettes.accent
15
+ });
16
+ }
17
+ function createThemes(props) {
18
+ var { accent, childrenThemes, grandChildrenThemes, templates = defaultTemplates, componentThemes } = props, builder = createSimpleThemeBuilder({
19
+ extra: props.base.extra,
20
+ componentThemes,
21
+ palettes: createPalettes(getThemesPalettes(props)),
22
+ templates,
23
+ accentTheme: !!accent,
24
+ childrenThemes: normalizeSubThemes(childrenThemes),
25
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0
26
+ });
27
+ return lastBuilder = builder.themeBuilder, builder.themes;
28
+ }
29
+ var lastBuilder = null, getLastBuilder = function() {
30
+ return lastBuilder;
31
+ };
32
+ function normalizeSubThemes(defs) {
33
+ return Object.fromEntries(Object.entries(defs || {}).map(function(param) {
34
+ var [name, value] = param;
35
+ return [
36
+ name,
37
+ {
38
+ palette: name,
39
+ template: value.template || "base"
40
+ }
41
+ ];
42
+ }));
43
+ }
44
+ var defaultPalettes = createPalettes(getThemesPalettes({
45
+ base: {
46
+ palette: [
47
+ "#fff",
48
+ "#000"
49
+ ]
50
+ },
51
+ accent: {
52
+ palette: [
53
+ "#ff0000",
54
+ "#ff9999"
55
+ ]
56
+ }
57
+ }));
58
+ function createSimpleThemeBuilder(props) {
59
+ var { extra, childrenThemes = null, grandChildrenThemes = null, templates = defaultTemplates, palettes = defaultPalettes, accentTheme, componentThemes = templates === defaultTemplates ? defaultComponentThemes : void 0 } = props, themeBuilder = createThemeBuilder().addPalettes(palettes).addTemplates(templates).addThemes({
60
+ light: {
61
+ template: "base",
62
+ palette: "light",
63
+ nonInheritedValues: {
64
+ ...extra?.light,
65
+ ...accentTheme && palettes.light_accent && {
66
+ accent1: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 0],
67
+ accent2: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 1],
68
+ accent3: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 2],
69
+ accent4: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 3],
70
+ accent5: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 4],
71
+ accent6: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 5],
72
+ accent7: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 6],
73
+ accent8: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 7],
74
+ accent9: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 8],
75
+ accent10: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 9],
76
+ accent11: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 10],
77
+ accent12: palettes.light_accent[PALETTE_BACKGROUND_OFFSET + 11]
78
+ }
79
+ }
80
+ },
81
+ dark: {
82
+ template: "base",
83
+ palette: "dark",
84
+ nonInheritedValues: {
85
+ ...extra?.dark,
86
+ ...accentTheme && palettes.dark_accent && {
87
+ accent1: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 0],
88
+ accent2: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 1],
89
+ accent3: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 2],
90
+ accent4: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 3],
91
+ accent5: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 4],
92
+ accent6: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 5],
93
+ accent7: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 6],
94
+ accent8: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 7],
95
+ accent9: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 8],
96
+ accent10: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 9],
97
+ accent11: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 10],
98
+ accent12: palettes.dark_accent[PALETTE_BACKGROUND_OFFSET + 11]
99
+ }
100
+ }
101
+ }
102
+ });
103
+ return palettes.light_accent && (themeBuilder = themeBuilder.addChildThemes({
104
+ accent: [
105
+ {
106
+ parent: "light",
107
+ template: "base",
108
+ palette: "light_accent"
109
+ },
110
+ {
111
+ parent: "dark",
112
+ template: "base",
113
+ palette: "dark_accent"
114
+ }
115
+ ]
116
+ })), childrenThemes && (themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
117
+ avoidNestingWithin: [
118
+ "accent"
119
+ ]
120
+ })), grandChildrenThemes && (themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
121
+ avoidNestingWithin: [
122
+ "accent"
123
+ ]
124
+ })), componentThemes && (themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
125
+ avoidNestingWithin: [
126
+ "accent",
127
+ // ...Object.keys(childrenThemes || {}),
128
+ ...Object.keys(grandChildrenThemes || {})
129
+ ]
130
+ })), {
131
+ themeBuilder,
132
+ themes: themeBuilder.build()
133
+ };
134
+ }
135
+ function getSchemePalette(colors) {
136
+ return {
137
+ light: colors,
138
+ dark: colors.toReversed()
139
+ };
140
+ }
141
+ function getAnchors(palette) {
142
+ var maxIndex = 11, numItems = palette.light.length, anchors = palette.light.map(function(lcolor, index) {
143
+ var dcolor = palette.dark[index], [lhue, lsat, llum] = parseToHsla(lcolor), [dhue, dsat, dlum] = parseToHsla(dcolor);
144
+ return {
145
+ index: spreadIndex(maxIndex, numItems, index),
146
+ hue: {
147
+ light: lhue,
148
+ dark: dhue
149
+ },
150
+ sat: {
151
+ light: lsat,
152
+ dark: dsat
153
+ },
154
+ lum: {
155
+ light: llum,
156
+ dark: dlum
157
+ }
158
+ };
159
+ });
160
+ return anchors;
161
+ }
162
+ function spreadIndex(maxIndex, numItems, index) {
163
+ return Math.round(index / (numItems - 1) * maxIndex);
164
+ }
165
+ function coerceSimplePaletteToSchemePalette(def) {
166
+ return Array.isArray(def) ? getSchemePalette(def) : def;
167
+ }
168
+ function getThemesPalettes(props) {
169
+ var base = coerceSimplePaletteToSchemePalette(props.base.palette), accent = props.accent ? coerceSimplePaletteToSchemePalette(props.accent.palette) : null, baseAnchors = getAnchors(base);
170
+ function getSubThemesPalettes(defs) {
171
+ return Object.fromEntries(Object.entries(defs).map(function(param) {
172
+ var [key, value] = param;
173
+ return [
174
+ key,
175
+ {
176
+ name: key,
177
+ anchors: value.palette ? getAnchors(coerceSimplePaletteToSchemePalette(value.palette)) : baseAnchors
178
+ }
179
+ ];
180
+ }));
181
+ }
182
+ return {
183
+ base: {
184
+ name: "base",
185
+ anchors: baseAnchors
186
+ },
187
+ ...accent && {
188
+ accent: {
189
+ name: "accent",
190
+ anchors: getAnchors(accent)
191
+ }
192
+ },
193
+ ...props.childrenThemes && getSubThemesPalettes(props.childrenThemes),
194
+ ...props.grandChildrenThemes && getSubThemesPalettes(props.grandChildrenThemes)
195
+ };
196
+ }
197
+ var getComponentThemes = function(components) {
198
+ return Object.fromEntries(Object.entries(components).map(function(param) {
199
+ var [componentName, { template }] = param;
200
+ return [
201
+ componentName,
202
+ {
203
+ parent: "",
204
+ template: template || "base"
205
+ }
206
+ ];
207
+ }));
208
+ };
209
+ function createPalettes(palettes) {
210
+ var accentPalettes = palettes.accent ? getThemeSuitePalettes(palettes.accent) : null, basePalettes = getThemeSuitePalettes(palettes.base), next = Object.fromEntries(Object.entries(palettes).flatMap(function(param) {
211
+ var [name, palette] = param, _$palettes = getThemeSuitePalettes(palette), isAccent = name.startsWith("accent"), oppositePalettes = isAccent ? basePalettes : accentPalettes || basePalettes;
212
+ if (!oppositePalettes)
213
+ return [];
214
+ var oppositeLight = oppositePalettes.light, oppositeDark = oppositePalettes.dark, bgOffset = 7, out = [
215
+ [
216
+ name === "base" ? "light" : `light_${name}`,
217
+ [
218
+ oppositeLight[bgOffset],
219
+ ..._$palettes.light,
220
+ oppositeLight[oppositeLight.length - bgOffset - 1]
221
+ ]
222
+ ],
223
+ [
224
+ name === "base" ? "dark" : `dark_${name}`,
225
+ [
226
+ oppositeDark[oppositeDark.length - bgOffset - 1],
227
+ ..._$palettes.dark,
228
+ oppositeDark[bgOffset]
229
+ ]
230
+ ]
231
+ ];
232
+ return out;
233
+ }));
234
+ return next;
235
+ }
236
+ export {
237
+ PALETTE_BACKGROUND_OFFSET2 as PALETTE_BACKGROUND_OFFSET,
238
+ createPalettes,
239
+ createSimpleThemeBuilder,
240
+ createStudioThemes,
241
+ createThemes,
242
+ defaultTemplates2 as defaultTemplates,
243
+ getComponentThemes,
244
+ getLastBuilder,
245
+ getThemeSuitePalettes2 as getThemeSuitePalettes
246
+ };
247
+ //# sourceMappingURL=createThemes.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Users/n8/tamagui/code/core/theme-builder/src/createThemes.ts"],
4
+ "mappings": "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",
5
+ "names": ["createThemeBuilder", "PALETTE_BACKGROUND_OFFSET", "parseToHsla", "defaultTemplates", "getThemeSuitePalettes", "defaultComponentThemes", "createStudioThemes", "props", "palettes", "createPalettes", "createSimpleThemeBuilder", "templates", "componentThemes", "accentTheme", "accent", "createThemes", "childrenThemes", "grandChildrenThemes", "builder", "extra", "base", "getThemesPalettes", "normalizeSubThemes", "undefined", "lastBuilder", "themeBuilder", "themes", "getLastBuilder", "defs", "Object", "fromEntries", "entries", "map", "name", "value", "palette", "template", "defaultPalettes", "addPalettes", "addTemplates", "addThemes", "light", "nonInheritedValues", "light_accent", "accent1", "accent2", "accent3", "accent4", "accent5", "accent6", "accent7", "accent8", "accent9", "accent10", "accent11", "accent12", "dark", "dark_accent", "addChildThemes", "parent", "avoidNestingWithin", "addComponentThemes", "getComponentThemes", "keys", "build", "getSchemePalette", "colors", "toReversed", "getAnchors", "maxIndex", "numItems", "length", "anchors", "lcolor", "index", "dcolor", "lhue", "lsat", "llum", "dhue", "dsat", "dlum", "spreadIndex", "hue", "sat", "lum", "Math", "round", "coerceSimplePaletteToSchemePalette", "def", "Array", "isArray", "baseAnchors", "getSubThemesPalettes", "key", "components", "componentName", "accentPalettes", "basePalettes", "next", "flatMap", "isAccent", "startsWith", "oppositePalettes", "oppositeLight", "oppositeDark", "bgOffset", "out"]
6
+ }
@@ -0,0 +1,24 @@
1
+ const defaultComponentThemes = {
2
+ ListItem: { template: "surface1" },
3
+ SelectTrigger: { template: "surface1" },
4
+ Card: { template: "surface1" },
5
+ Button: { template: "surface3" },
6
+ Checkbox: { template: "surface2" },
7
+ Switch: { template: "surface2" },
8
+ SwitchThumb: { template: "inverse" },
9
+ TooltipContent: { template: "surface2" },
10
+ Progress: { template: "surface1" },
11
+ RadioGroupItem: { template: "surface2" },
12
+ TooltipArrow: { template: "surface1" },
13
+ SliderTrackActive: { template: "surface3" },
14
+ SliderTrack: { template: "surface1" },
15
+ SliderThumb: { template: "inverse" },
16
+ Tooltip: { template: "inverse" },
17
+ ProgressIndicator: { template: "inverse" },
18
+ Input: { template: "surface1" },
19
+ TextArea: { template: "surface1" }
20
+ };
21
+ export {
22
+ defaultComponentThemes
23
+ };
24
+ //# sourceMappingURL=defaultComponentThemes.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/defaultComponentThemes.ts"],
4
+ "mappings": "AAEO,MAAM,yBAAyB;AAAA,EACpC,UAAU,EAAE,UAAU,WAAW;AAAA,EACjC,eAAe,EAAE,UAAU,WAAW;AAAA,EACtC,MAAM,EAAE,UAAU,WAAW;AAAA,EAC7B,QAAQ,EAAE,UAAU,WAAW;AAAA,EAC/B,UAAU,EAAE,UAAU,WAAW;AAAA,EACjC,QAAQ,EAAE,UAAU,WAAW;AAAA,EAC/B,aAAa,EAAE,UAAU,UAAU;AAAA,EACnC,gBAAgB,EAAE,UAAU,WAAW;AAAA,EACvC,UAAU,EAAE,UAAU,WAAW;AAAA,EACjC,gBAAgB,EAAE,UAAU,WAAW;AAAA,EACvC,cAAc,EAAE,UAAU,WAAW;AAAA,EACrC,mBAAmB,EAAE,UAAU,WAAW;AAAA,EAC1C,aAAa,EAAE,UAAU,WAAW;AAAA,EACpC,aAAa,EAAE,UAAU,UAAU;AAAA,EACnC,SAAS,EAAE,UAAU,UAAU;AAAA,EAC/B,mBAAmB,EAAE,UAAU,UAAU;AAAA,EACzC,OAAO,EAAE,UAAU,WAAW;AAAA,EAC9B,UAAU,EAAE,UAAU,WAAW;AACnC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,58 @@
1
+ const defaultComponentThemes = {
2
+ ListItem: {
3
+ template: "surface1"
4
+ },
5
+ SelectTrigger: {
6
+ template: "surface1"
7
+ },
8
+ Card: {
9
+ template: "surface1"
10
+ },
11
+ Button: {
12
+ template: "surface3"
13
+ },
14
+ Checkbox: {
15
+ template: "surface2"
16
+ },
17
+ Switch: {
18
+ template: "surface2"
19
+ },
20
+ SwitchThumb: {
21
+ template: "inverse"
22
+ },
23
+ TooltipContent: {
24
+ template: "surface2"
25
+ },
26
+ Progress: {
27
+ template: "surface1"
28
+ },
29
+ RadioGroupItem: {
30
+ template: "surface2"
31
+ },
32
+ TooltipArrow: {
33
+ template: "surface1"
34
+ },
35
+ SliderTrackActive: {
36
+ template: "surface3"
37
+ },
38
+ SliderTrack: {
39
+ template: "surface1"
40
+ },
41
+ SliderThumb: {
42
+ template: "inverse"
43
+ },
44
+ Tooltip: {
45
+ template: "inverse"
46
+ },
47
+ ProgressIndicator: {
48
+ template: "inverse"
49
+ },
50
+ Input: {
51
+ template: "surface1"
52
+ },
53
+ TextArea: {
54
+ template: "surface1"
55
+ }
56
+ };
57
+ export { defaultComponentThemes };
58
+ //# sourceMappingURL=defaultComponentThemes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["defaultComponentThemes","ListItem","template","SelectTrigger","Card","Button","Checkbox","Switch","SwitchThumb","TooltipContent","Progress","RadioGroupItem","TooltipArrow","SliderTrackActive","SliderTrack","SliderThumb","Tooltip","ProgressIndicator","Input","TextArea"],"sources":["../../src/defaultComponentThemes.ts"],"sourcesContent":[null],"mappings":"AAEO,MAAMA,sBAAA,GAAyB;EACpCC,QAAA,EAAU;IAAEC,QAAA,EAAU;EAAW;EACjCC,aAAA,EAAe;IAAED,QAAA,EAAU;EAAW;EACtCE,IAAA,EAAM;IAAEF,QAAA,EAAU;EAAW;EAC7BG,MAAA,EAAQ;IAAEH,QAAA,EAAU;EAAW;EAC/BI,QAAA,EAAU;IAAEJ,QAAA,EAAU;EAAW;EACjCK,MAAA,EAAQ;IAAEL,QAAA,EAAU;EAAW;EAC/BM,WAAA,EAAa;IAAEN,QAAA,EAAU;EAAU;EACnCO,cAAA,EAAgB;IAAEP,QAAA,EAAU;EAAW;EACvCQ,QAAA,EAAU;IAAER,QAAA,EAAU;EAAW;EACjCS,cAAA,EAAgB;IAAET,QAAA,EAAU;EAAW;EACvCU,YAAA,EAAc;IAAEV,QAAA,EAAU;EAAW;EACrCW,iBAAA,EAAmB;IAAEX,QAAA,EAAU;EAAW;EAC1CY,WAAA,EAAa;IAAEZ,QAAA,EAAU;EAAW;EACpCa,WAAA,EAAa;IAAEb,QAAA,EAAU;EAAU;EACnCc,OAAA,EAAS;IAAEd,QAAA,EAAU;EAAU;EAC/Be,iBAAA,EAAmB;IAAEf,QAAA,EAAU;EAAU;EACzCgB,KAAA,EAAO;IAAEhB,QAAA,EAAU;EAAW;EAC9BiB,QAAA,EAAU;IAAEjB,QAAA,EAAU;EAAW;AACnC","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ var defaultComponentThemes = {
2
+ ListItem: {
3
+ template: "surface1"
4
+ },
5
+ SelectTrigger: {
6
+ template: "surface1"
7
+ },
8
+ Card: {
9
+ template: "surface1"
10
+ },
11
+ Button: {
12
+ template: "surface3"
13
+ },
14
+ Checkbox: {
15
+ template: "surface2"
16
+ },
17
+ Switch: {
18
+ template: "surface2"
19
+ },
20
+ SwitchThumb: {
21
+ template: "inverse"
22
+ },
23
+ TooltipContent: {
24
+ template: "surface2"
25
+ },
26
+ Progress: {
27
+ template: "surface1"
28
+ },
29
+ RadioGroupItem: {
30
+ template: "surface2"
31
+ },
32
+ TooltipArrow: {
33
+ template: "surface1"
34
+ },
35
+ SliderTrackActive: {
36
+ template: "surface3"
37
+ },
38
+ SliderTrack: {
39
+ template: "surface1"
40
+ },
41
+ SliderThumb: {
42
+ template: "inverse"
43
+ },
44
+ Tooltip: {
45
+ template: "inverse"
46
+ },
47
+ ProgressIndicator: {
48
+ template: "inverse"
49
+ },
50
+ Input: {
51
+ template: "surface1"
52
+ },
53
+ TextArea: {
54
+ template: "surface1"
55
+ }
56
+ };
57
+ export {
58
+ defaultComponentThemes
59
+ };
60
+ //# sourceMappingURL=defaultComponentThemes.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Users/n8/tamagui/code/core/theme-builder/src/defaultComponentThemes.ts"],
4
+ "mappings": "AAEO,IAAMA,yBAAyB;EACpCC,UAAU;IAAEC,UAAU;EAAW;EACjCC,eAAe;IAAED,UAAU;EAAW;EACtCE,MAAM;IAAEF,UAAU;EAAW;EAC7BG,QAAQ;IAAEH,UAAU;EAAW;EAC/BI,UAAU;IAAEJ,UAAU;EAAW;EACjCK,QAAQ;IAAEL,UAAU;EAAW;EAC/BM,aAAa;IAAEN,UAAU;EAAU;EACnCO,gBAAgB;IAAEP,UAAU;EAAW;EACvCQ,UAAU;IAAER,UAAU;EAAW;EACjCS,gBAAgB;IAAET,UAAU;EAAW;EACvCU,cAAc;IAAEV,UAAU;EAAW;EACrCW,mBAAmB;IAAEX,UAAU;EAAW;EAC1CY,aAAa;IAAEZ,UAAU;EAAW;EACpCa,aAAa;IAAEb,UAAU;EAAU;EACnCc,SAAS;IAAEd,UAAU;EAAU;EAC/Be,mBAAmB;IAAEf,UAAU;EAAU;EACzCgB,OAAO;IAAEhB,UAAU;EAAW;EAC9BiB,UAAU;IAAEjB,UAAU;EAAW;AACnC;",
5
+ "names": ["defaultComponentThemes", "ListItem", "template", "SelectTrigger", "Card", "Button", "Checkbox", "Switch", "SwitchThumb", "TooltipContent", "Progress", "RadioGroupItem", "TooltipArrow", "SliderTrackActive", "SliderTrack", "SliderThumb", "Tooltip", "ProgressIndicator", "Input", "TextArea"]
6
+ }
@@ -0,0 +1,116 @@
1
+ import { objectFromEntries, objectKeys } from "@tamagui/themes";
2
+ const getTemplates = () => {
3
+ const lightTemplates = getBaseTemplates("light"), darkTemplates = getBaseTemplates("dark");
4
+ return {
5
+ ...objectFromEntries(
6
+ objectKeys(lightTemplates).map(
7
+ (name) => [`light_${name}`, lightTemplates[name]]
8
+ )
9
+ ),
10
+ ...objectFromEntries(
11
+ objectKeys(darkTemplates).map(
12
+ (name) => [`dark_${name}`, darkTemplates[name]]
13
+ )
14
+ )
15
+ };
16
+ }, getBaseTemplates = (scheme) => {
17
+ const isLight = scheme === "light", bgIndex = 6, lighten = isLight ? -1 : 1, darken = -lighten, borderColor = bgIndex + 3, base = {
18
+ accentBackground: 0,
19
+ accentColor: -0,
20
+ background0: 1,
21
+ background02: 2,
22
+ background04: 3,
23
+ background06: 4,
24
+ background08: 5,
25
+ color1: bgIndex,
26
+ color2: bgIndex + 1,
27
+ color3: bgIndex + 2,
28
+ color4: bgIndex + 3,
29
+ color5: bgIndex + 4,
30
+ color6: bgIndex + 5,
31
+ color7: bgIndex + 6,
32
+ color8: bgIndex + 7,
33
+ color9: bgIndex + 8,
34
+ color10: bgIndex + 9,
35
+ color11: bgIndex + 10,
36
+ color12: bgIndex + 11,
37
+ color0: -1,
38
+ color02: -2,
39
+ color04: -3,
40
+ color06: -4,
41
+ color08: -5,
42
+ // the background, color, etc keys here work like generics - they make it so you
43
+ // can publish components for others to use without mandating a specific color scale
44
+ // the @tamagui/button Button component looks for `$background`, so you set the
45
+ // dark_red_Button theme to have a stronger background than the dark_red theme.
46
+ background: bgIndex,
47
+ backgroundHover: bgIndex + lighten,
48
+ // always lighten on hover no matter the scheme
49
+ backgroundPress: bgIndex + darken,
50
+ // always darken on press no matter the theme
51
+ backgroundFocus: bgIndex + darken,
52
+ borderColor,
53
+ borderColorHover: borderColor + lighten,
54
+ borderColorPress: borderColor + darken,
55
+ borderColorFocus: borderColor,
56
+ color: -bgIndex,
57
+ colorHover: -bgIndex - 1,
58
+ colorPress: -bgIndex,
59
+ colorFocus: -bgIndex - 1,
60
+ colorTransparent: -1,
61
+ placeholderColor: -bgIndex - 3,
62
+ outlineColor: -2
63
+ }, surface1 = {
64
+ background: base.background + 1,
65
+ backgroundHover: base.backgroundHover + 1,
66
+ backgroundPress: base.backgroundPress + 1,
67
+ backgroundFocus: base.backgroundFocus + 1,
68
+ borderColor: base.borderColor + 1,
69
+ borderColorHover: base.borderColorHover + 1,
70
+ borderColorFocus: base.borderColorFocus + 1,
71
+ borderColorPress: base.borderColorPress + 1
72
+ }, surface2 = {
73
+ background: base.background + 2,
74
+ backgroundHover: base.backgroundHover + 2,
75
+ backgroundPress: base.backgroundPress + 2,
76
+ backgroundFocus: base.backgroundFocus + 2,
77
+ borderColor: base.borderColor + 2,
78
+ borderColorHover: base.borderColorHover + 2,
79
+ borderColorFocus: base.borderColorFocus + 2,
80
+ borderColorPress: base.borderColorPress + 2
81
+ }, surface3 = {
82
+ background: base.background + 3,
83
+ backgroundHover: base.backgroundHover + 3,
84
+ backgroundPress: base.backgroundPress + 3,
85
+ backgroundFocus: base.backgroundFocus + 3,
86
+ borderColor: base.borderColor + 3,
87
+ borderColorHover: base.borderColorHover + 3,
88
+ borderColorFocus: base.borderColorFocus + 3,
89
+ borderColorPress: base.borderColorPress + 3
90
+ }, alt1 = {
91
+ color: base.color - 1,
92
+ colorHover: base.colorHover - 1,
93
+ colorPress: base.colorPress - 1,
94
+ colorFocus: base.colorFocus - 1
95
+ }, alt2 = {
96
+ color: base.color - 2,
97
+ colorHover: base.colorHover - 2,
98
+ colorPress: base.colorPress - 2,
99
+ colorFocus: base.colorFocus - 2
100
+ }, inverse = Object.fromEntries(
101
+ Object.entries(base).map(([key, index]) => [key, -index])
102
+ );
103
+ return {
104
+ base,
105
+ surface1,
106
+ surface2,
107
+ surface3,
108
+ alt1,
109
+ alt2,
110
+ inverse
111
+ };
112
+ }, defaultTemplates = getTemplates();
113
+ export {
114
+ defaultTemplates
115
+ };
116
+ //# sourceMappingURL=defaultTemplates.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/defaultTemplates.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,118 @@
1
+ import { objectFromEntries, objectKeys } from "@tamagui/themes";
2
+ const getTemplates = () => {
3
+ const lightTemplates = getBaseTemplates("light"),
4
+ darkTemplates = getBaseTemplates("dark");
5
+ return {
6
+ ...objectFromEntries(objectKeys(lightTemplates).map(name => [`light_${name}`, lightTemplates[name]])),
7
+ ...objectFromEntries(objectKeys(darkTemplates).map(name => [`dark_${name}`, darkTemplates[name]]))
8
+ };
9
+ },
10
+ getBaseTemplates = scheme => {
11
+ const isLight = scheme === "light",
12
+ bgIndex = 6,
13
+ lighten = isLight ? -1 : 1,
14
+ darken = -lighten,
15
+ borderColor = bgIndex + 3,
16
+ base = {
17
+ accentBackground: 0,
18
+ accentColor: -0,
19
+ background0: 1,
20
+ background02: 2,
21
+ background04: 3,
22
+ background06: 4,
23
+ background08: 5,
24
+ color1: bgIndex,
25
+ color2: bgIndex + 1,
26
+ color3: bgIndex + 2,
27
+ color4: bgIndex + 3,
28
+ color5: bgIndex + 4,
29
+ color6: bgIndex + 5,
30
+ color7: bgIndex + 6,
31
+ color8: bgIndex + 7,
32
+ color9: bgIndex + 8,
33
+ color10: bgIndex + 9,
34
+ color11: bgIndex + 10,
35
+ color12: bgIndex + 11,
36
+ color0: -1,
37
+ color02: -2,
38
+ color04: -3,
39
+ color06: -4,
40
+ color08: -5,
41
+ // the background, color, etc keys here work like generics - they make it so you
42
+ // can publish components for others to use without mandating a specific color scale
43
+ // the @tamagui/button Button component looks for `$background`, so you set the
44
+ // dark_red_Button theme to have a stronger background than the dark_red theme.
45
+ background: bgIndex,
46
+ backgroundHover: bgIndex + lighten,
47
+ // always lighten on hover no matter the scheme
48
+ backgroundPress: bgIndex + darken,
49
+ // always darken on press no matter the theme
50
+ backgroundFocus: bgIndex + darken,
51
+ borderColor,
52
+ borderColorHover: borderColor + lighten,
53
+ borderColorPress: borderColor + darken,
54
+ borderColorFocus: borderColor,
55
+ color: -bgIndex,
56
+ colorHover: -bgIndex - 1,
57
+ colorPress: -bgIndex,
58
+ colorFocus: -bgIndex - 1,
59
+ colorTransparent: -1,
60
+ placeholderColor: -bgIndex - 3,
61
+ outlineColor: -2
62
+ },
63
+ surface1 = {
64
+ background: base.background + 1,
65
+ backgroundHover: base.backgroundHover + 1,
66
+ backgroundPress: base.backgroundPress + 1,
67
+ backgroundFocus: base.backgroundFocus + 1,
68
+ borderColor: base.borderColor + 1,
69
+ borderColorHover: base.borderColorHover + 1,
70
+ borderColorFocus: base.borderColorFocus + 1,
71
+ borderColorPress: base.borderColorPress + 1
72
+ },
73
+ surface2 = {
74
+ background: base.background + 2,
75
+ backgroundHover: base.backgroundHover + 2,
76
+ backgroundPress: base.backgroundPress + 2,
77
+ backgroundFocus: base.backgroundFocus + 2,
78
+ borderColor: base.borderColor + 2,
79
+ borderColorHover: base.borderColorHover + 2,
80
+ borderColorFocus: base.borderColorFocus + 2,
81
+ borderColorPress: base.borderColorPress + 2
82
+ },
83
+ surface3 = {
84
+ background: base.background + 3,
85
+ backgroundHover: base.backgroundHover + 3,
86
+ backgroundPress: base.backgroundPress + 3,
87
+ backgroundFocus: base.backgroundFocus + 3,
88
+ borderColor: base.borderColor + 3,
89
+ borderColorHover: base.borderColorHover + 3,
90
+ borderColorFocus: base.borderColorFocus + 3,
91
+ borderColorPress: base.borderColorPress + 3
92
+ },
93
+ alt1 = {
94
+ color: base.color - 1,
95
+ colorHover: base.colorHover - 1,
96
+ colorPress: base.colorPress - 1,
97
+ colorFocus: base.colorFocus - 1
98
+ },
99
+ alt2 = {
100
+ color: base.color - 2,
101
+ colorHover: base.colorHover - 2,
102
+ colorPress: base.colorPress - 2,
103
+ colorFocus: base.colorFocus - 2
104
+ },
105
+ inverse = Object.fromEntries(Object.entries(base).map(([key, index]) => [key, -index]));
106
+ return {
107
+ base,
108
+ surface1,
109
+ surface2,
110
+ surface3,
111
+ alt1,
112
+ alt2,
113
+ inverse
114
+ };
115
+ },
116
+ defaultTemplates = getTemplates();
117
+ export { defaultTemplates };
118
+ //# sourceMappingURL=defaultTemplates.mjs.map