@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.
Files changed (139) hide show
  1. package/dist/cjs/getThemeSuitePalettes.cjs +81 -0
  2. package/dist/cjs/getThemeSuitePalettes.js +63 -0
  3. package/dist/cjs/getThemeSuitePalettes.js.map +6 -0
  4. package/dist/cjs/getThemeSuitePalettes.native.js +94 -0
  5. package/dist/cjs/getThemeSuitePalettes.native.js.map +6 -0
  6. package/dist/cjs/index.cjs +10 -10
  7. package/dist/cjs/index.js +10 -10
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/index.native.js +10 -10
  10. package/dist/cjs/index.native.js.map +1 -1
  11. package/dist/cjs/types.cjs +16 -0
  12. package/dist/cjs/types.js +14 -0
  13. package/dist/cjs/types.js.map +6 -0
  14. package/dist/cjs/types.native.js +15 -0
  15. package/dist/cjs/types.native.js.map +6 -0
  16. package/dist/cjs/utils.cjs +40 -0
  17. package/dist/cjs/utils.js +37 -0
  18. package/dist/cjs/utils.js.map +6 -0
  19. package/dist/cjs/utils.native.js +49 -0
  20. package/dist/cjs/utils.native.js.map +6 -0
  21. package/dist/cjs/v3-themes.cjs +12 -27
  22. package/dist/cjs/v3-themes.js +10 -28
  23. package/dist/cjs/v3-themes.js.map +1 -1
  24. package/dist/cjs/v3-themes.native.js +8 -34
  25. package/dist/cjs/v3-themes.native.js.map +2 -2
  26. package/dist/cjs/v4-createTheme.cjs +257 -0
  27. package/dist/cjs/v4-createTheme.js +232 -0
  28. package/dist/cjs/v4-createTheme.js.map +6 -0
  29. package/dist/cjs/v4-createTheme.native.js +284 -0
  30. package/dist/cjs/v4-createTheme.native.js.map +6 -0
  31. package/dist/cjs/v4-default.cjs +102 -0
  32. package/dist/cjs/v4-default.js +89 -0
  33. package/dist/cjs/v4-default.js.map +6 -0
  34. package/dist/cjs/v4-default.native.js +99 -0
  35. package/dist/cjs/v4-default.native.js.map +6 -0
  36. package/dist/cjs/v4-defaultTemplates.cjs +158 -0
  37. package/dist/cjs/v4-defaultTemplates.js +144 -0
  38. package/dist/cjs/v4-defaultTemplates.js.map +6 -0
  39. package/dist/cjs/v4-defaultTemplates.native.js +154 -0
  40. package/dist/cjs/v4-defaultTemplates.native.js.map +6 -0
  41. package/dist/cjs/v4-tamagui-out.cjs +1217 -0
  42. package/dist/cjs/v4-tamagui-out.js +4075 -0
  43. package/dist/cjs/v4-tamagui-out.js.map +6 -0
  44. package/dist/cjs/v4-tamagui-out.native.js +12662 -0
  45. package/dist/cjs/v4-tamagui-out.native.js.map +6 -0
  46. package/dist/cjs/v4-tamagui.cjs +183 -0
  47. package/dist/cjs/v4-tamagui.js +224 -0
  48. package/dist/cjs/v4-tamagui.js.map +6 -0
  49. package/dist/cjs/v4-tamagui.native.js +228 -0
  50. package/dist/cjs/v4-tamagui.native.js.map +6 -0
  51. package/dist/cjs/v4.cjs +41 -0
  52. package/dist/cjs/v4.js +30 -0
  53. package/dist/cjs/v4.js.map +6 -0
  54. package/dist/cjs/v4.native.js +37 -0
  55. package/dist/cjs/v4.native.js.map +6 -0
  56. package/dist/esm/getThemeSuitePalettes.js +47 -0
  57. package/dist/esm/getThemeSuitePalettes.js.map +6 -0
  58. package/dist/esm/getThemeSuitePalettes.mjs +57 -0
  59. package/dist/esm/getThemeSuitePalettes.mjs.map +1 -0
  60. package/dist/esm/getThemeSuitePalettes.native.js +73 -0
  61. package/dist/esm/getThemeSuitePalettes.native.js.map +6 -0
  62. package/dist/esm/types.js +1 -0
  63. package/dist/esm/types.js.map +6 -0
  64. package/dist/esm/types.mjs +2 -0
  65. package/dist/esm/types.mjs.map +1 -0
  66. package/dist/esm/types.native.js +1 -0
  67. package/dist/esm/types.native.js.map +6 -0
  68. package/dist/esm/utils.js +21 -0
  69. package/dist/esm/utils.js.map +6 -0
  70. package/dist/esm/utils.mjs +14 -0
  71. package/dist/esm/utils.mjs.map +1 -0
  72. package/dist/esm/utils.native.js +25 -0
  73. package/dist/esm/utils.native.js.map +6 -0
  74. package/dist/esm/v3-themes.js +2 -19
  75. package/dist/esm/v3-themes.js.map +1 -1
  76. package/dist/esm/v3-themes.mjs +3 -14
  77. package/dist/esm/v3-themes.mjs.map +1 -1
  78. package/dist/esm/v3-themes.native.js +2 -23
  79. package/dist/esm/v3-themes.native.js.map +2 -2
  80. package/dist/esm/v4-createTheme.js +221 -0
  81. package/dist/esm/v4-createTheme.js.map +6 -0
  82. package/dist/esm/v4-createTheme.mjs +226 -0
  83. package/dist/esm/v4-createTheme.mjs.map +1 -0
  84. package/dist/esm/v4-createTheme.native.js +261 -0
  85. package/dist/esm/v4-createTheme.native.js.map +6 -0
  86. package/dist/esm/v4-default.js +74 -0
  87. package/dist/esm/v4-default.js.map +6 -0
  88. package/dist/esm/v4-default.mjs +79 -0
  89. package/dist/esm/v4-default.mjs.map +1 -0
  90. package/dist/esm/v4-default.native.js +80 -0
  91. package/dist/esm/v4-default.native.js.map +6 -0
  92. package/dist/esm/v4-defaultTemplates.js +128 -0
  93. package/dist/esm/v4-defaultTemplates.js.map +6 -0
  94. package/dist/esm/v4-defaultTemplates.mjs +135 -0
  95. package/dist/esm/v4-defaultTemplates.mjs.map +1 -0
  96. package/dist/esm/v4-defaultTemplates.native.js +134 -0
  97. package/dist/esm/v4-defaultTemplates.native.js.map +6 -0
  98. package/dist/esm/v4-tamagui-out.js +4059 -0
  99. package/dist/esm/v4-tamagui-out.js.map +6 -0
  100. package/dist/esm/v4-tamagui-out.mjs +677 -0
  101. package/dist/esm/v4-tamagui-out.mjs.map +1 -0
  102. package/dist/esm/v4-tamagui-out.native.js +12124 -0
  103. package/dist/esm/v4-tamagui-out.native.js.map +6 -0
  104. package/dist/esm/v4-tamagui.js +226 -0
  105. package/dist/esm/v4-tamagui.js.map +6 -0
  106. package/dist/esm/v4-tamagui.mjs +160 -0
  107. package/dist/esm/v4-tamagui.mjs.map +1 -0
  108. package/dist/esm/v4-tamagui.native.js +209 -0
  109. package/dist/esm/v4-tamagui.native.js.map +6 -0
  110. package/dist/esm/v4.js +8 -0
  111. package/dist/esm/v4.js.map +6 -0
  112. package/dist/esm/v4.mjs +5 -0
  113. package/dist/esm/v4.mjs.map +1 -0
  114. package/dist/esm/v4.native.js +8 -0
  115. package/dist/esm/v4.native.js.map +6 -0
  116. package/package.json +17 -7
  117. package/src/getThemeSuitePalettes.ts +94 -0
  118. package/src/types.ts +94 -0
  119. package/src/utils.ts +51 -0
  120. package/src/v3-themes.ts +2 -53
  121. package/src/v4-createTheme.ts +403 -0
  122. package/src/v4-default.ts +88 -0
  123. package/src/v4-defaultTemplates.ts +165 -0
  124. package/src/v4-tamagui-out.ts +4500 -0
  125. package/src/v4-tamagui.ts +241 -0
  126. package/src/v4.tsx +4 -0
  127. package/tsconfig.json +2 -1
  128. package/types/getThemeSuitePalettes.d.ts +7 -0
  129. package/types/types.d.ts +72 -0
  130. package/types/utils.d.ts +21 -0
  131. package/types/v3-themes.d.ts +0 -20
  132. package/types/v4-createTheme.d.ts +157 -0
  133. package/types/v4-default.d.ts +797 -0
  134. package/types/v4-defaultTemplates.d.ts +44 -0
  135. package/types/v4-tamagui-out.d.ts +659 -0
  136. package/types/v4-tamagui.d.ts +16247 -0
  137. package/types/v4.d.ts +4 -0
  138. package/v4.d.ts +1 -0
  139. package/v4.js +1 -0
@@ -0,0 +1,226 @@
1
+ import { createThemeBuilder } from "@tamagui/theme-builder";
2
+ import { parseToHsla } from "color2k";
3
+ import { getThemeSuitePalettes } from "./getThemeSuitePalettes.mjs";
4
+ import { defaultTemplates } from "./v4-defaultTemplates.mjs";
5
+ import { getThemeSuitePalettes as getThemeSuitePalettes2, PALETTE_BACKGROUND_OFFSET } from "./getThemeSuitePalettes.mjs";
6
+ import { defaultTemplates as defaultTemplates2 } from "./v4-defaultTemplates.mjs";
7
+ const defaultPalettes = createPalettes(getThemesPalettes({
8
+ base: {
9
+ palette: ["#fff", "#000"]
10
+ },
11
+ accent: {
12
+ palette: ["#ff0000", "#ff9999"]
13
+ }
14
+ }));
15
+ function createThemeSuite(props) {
16
+ const {
17
+ accent,
18
+ childrenThemes,
19
+ grandChildrenThemes,
20
+ templates = defaultTemplates,
21
+ componentThemes = defaultComponentThemes
22
+ } = props;
23
+ return createSimpleThemeBuilder({
24
+ extra: props.base.extra,
25
+ componentThemes,
26
+ palettes: createPalettes(getThemesPalettes(props)),
27
+ templates,
28
+ accentTheme: !!accent,
29
+ childrenThemes: normalizeSubThemes(childrenThemes),
30
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0
31
+ }).themes;
32
+ }
33
+ function normalizeSubThemes(defs) {
34
+ return Object.fromEntries(Object.entries(defs || {}).map(([name, value]) => [name, {
35
+ palette: name,
36
+ template: value.template || "base"
37
+ }]));
38
+ }
39
+ function createSimpleThemeBuilder(props) {
40
+ const {
41
+ extra,
42
+ childrenThemes = null,
43
+ grandChildrenThemes = null,
44
+ templates = defaultTemplates,
45
+ palettes = defaultPalettes,
46
+ componentThemes = templates === defaultTemplates ? defaultComponentThemes : void 0
47
+ } = props;
48
+ let themeBuilder = createThemeBuilder().addPalettes(palettes).addTemplates(templates).addThemes({
49
+ light: {
50
+ template: "base",
51
+ palette: "light",
52
+ nonInheritedValues: extra?.light
53
+ },
54
+ dark: {
55
+ template: "base",
56
+ palette: "dark",
57
+ nonInheritedValues: extra?.dark
58
+ }
59
+ }).addChildThemes(palettes.light_accent ? {
60
+ accent: [{
61
+ parent: "light",
62
+ template: "base",
63
+ palette: "light_accent"
64
+ }, {
65
+ parent: "dark",
66
+ template: "base",
67
+ palette: "dark_accent"
68
+ }]
69
+ } : {});
70
+ return childrenThemes && (themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
71
+ avoidNestingWithin: ["accent"]
72
+ })), grandChildrenThemes && (themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
73
+ avoidNestingWithin: ["accent"]
74
+ })), componentThemes && (themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
75
+ avoidNestingWithin: [
76
+ // ...Object.keys(childrenThemes || {}),
77
+ ...Object.keys(grandChildrenThemes || {})]
78
+ })), {
79
+ themeBuilder,
80
+ themes: themeBuilder.build()
81
+ };
82
+ }
83
+ function createThemes(props) {
84
+ const palettes = createPalettes(props.palettes);
85
+ return createSimpleThemeBuilder({
86
+ palettes,
87
+ templates: props.templates,
88
+ componentThemes: defaultComponentThemes
89
+ });
90
+ }
91
+ function getSchemePalette(colors) {
92
+ return {
93
+ light: colors,
94
+ dark: colors.toReversed()
95
+ };
96
+ }
97
+ function getAnchors(palette) {
98
+ const numItems = palette.light.length;
99
+ return palette.light.map((lcolor, index) => {
100
+ const dcolor = palette.dark[index],
101
+ [lhue, lsat, llum] = parseToHsla(lcolor),
102
+ [dhue, dsat, dlum] = parseToHsla(dcolor);
103
+ return {
104
+ index: spreadIndex(11, numItems, index),
105
+ hue: {
106
+ light: lhue,
107
+ dark: dhue
108
+ },
109
+ sat: {
110
+ light: lsat,
111
+ dark: dsat
112
+ },
113
+ lum: {
114
+ light: llum,
115
+ dark: dlum
116
+ }
117
+ };
118
+ });
119
+ }
120
+ function spreadIndex(maxIndex, numItems, index) {
121
+ return Math.round(index / (numItems - 1) * maxIndex);
122
+ }
123
+ function coerceSimplePaletteToSchemePalette(def) {
124
+ return Array.isArray(def) ? getSchemePalette(def) : def;
125
+ }
126
+ function getThemesPalettes(props) {
127
+ const base = coerceSimplePaletteToSchemePalette(props.base.palette),
128
+ accent = props.accent ? coerceSimplePaletteToSchemePalette(props.accent.palette) : null,
129
+ baseAnchors = getAnchors(base);
130
+ function getSubThemesPalettes(defs) {
131
+ return Object.fromEntries(Object.entries(defs).map(([key, value]) => [key, {
132
+ name: key,
133
+ anchors: value.palette ? getAnchors(coerceSimplePaletteToSchemePalette(value.palette)) : baseAnchors
134
+ }]));
135
+ }
136
+ return {
137
+ base: {
138
+ name: "base",
139
+ anchors: baseAnchors
140
+ },
141
+ ...(accent && {
142
+ accent: {
143
+ name: "accent",
144
+ anchors: getAnchors(accent)
145
+ }
146
+ }),
147
+ ...(props.childrenThemes && getSubThemesPalettes(props.childrenThemes)),
148
+ ...(props.grandChildrenThemes && getSubThemesPalettes(props.grandChildrenThemes))
149
+ };
150
+ }
151
+ const getComponentThemes = components => Object.fromEntries(Object.entries(components).map(([componentName, {
152
+ template
153
+ }]) => [componentName, {
154
+ parent: "",
155
+ template: template || "base"
156
+ }])),
157
+ defaultComponentThemes = {
158
+ ListItem: {
159
+ template: "surface1"
160
+ },
161
+ SelectTrigger: {
162
+ template: "surface1"
163
+ },
164
+ Card: {
165
+ template: "surface1"
166
+ },
167
+ Button: {
168
+ template: "surface3"
169
+ },
170
+ Checkbox: {
171
+ template: "surface2"
172
+ },
173
+ Switch: {
174
+ template: "surface2"
175
+ },
176
+ SwitchThumb: {
177
+ template: "inverse"
178
+ },
179
+ TooltipContent: {
180
+ template: "surface2"
181
+ },
182
+ Progress: {
183
+ template: "surface1"
184
+ },
185
+ RadioGroupItem: {
186
+ template: "surface2"
187
+ },
188
+ TooltipArrow: {
189
+ template: "surface1"
190
+ },
191
+ SliderTrackActive: {
192
+ template: "surface3"
193
+ },
194
+ SliderTrack: {
195
+ template: "surface1"
196
+ },
197
+ SliderThumb: {
198
+ template: "inverse"
199
+ },
200
+ Tooltip: {
201
+ template: "inverse"
202
+ },
203
+ ProgressIndicator: {
204
+ template: "inverse"
205
+ },
206
+ Input: {
207
+ template: "surface1"
208
+ },
209
+ TextArea: {
210
+ template: "surface1"
211
+ }
212
+ };
213
+ function createPalettes(palettes) {
214
+ const accentPalettes = palettes.accent ? getThemeSuitePalettes(palettes.accent) : null,
215
+ basePalettes = getThemeSuitePalettes(palettes.base);
216
+ return Object.fromEntries(Object.entries(palettes).flatMap(([name, palette]) => {
217
+ const palettes2 = getThemeSuitePalettes(palette),
218
+ oppositePalettes = name.startsWith("accent") ? basePalettes : accentPalettes,
219
+ oppositeLight = oppositePalettes.light,
220
+ oppositeDark = oppositePalettes.dark,
221
+ bgOffset = 7;
222
+ return [[name === "base" ? "light" : `light_${name}`, [oppositeLight[bgOffset], ...palettes2.light, oppositeLight[oppositeLight.length - bgOffset - 1]]], [name === "base" ? "dark" : `dark_${name}`, [oppositeDark[oppositeDark.length - bgOffset - 1], ...palettes2.dark, oppositeDark[bgOffset]]]];
223
+ }));
224
+ }
225
+ export { PALETTE_BACKGROUND_OFFSET, createPalettes, createSimpleThemeBuilder, createThemeSuite, createThemes, defaultComponentThemes, defaultTemplates2 as defaultTemplates, getComponentThemes, getThemeSuitePalettes2 as getThemeSuitePalettes };
226
+ //# sourceMappingURL=v4-createTheme.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createThemeBuilder","parseToHsla","getThemeSuitePalettes","defaultTemplates","getThemeSuitePalettes2","PALETTE_BACKGROUND_OFFSET","defaultTemplates2","defaultPalettes","createPalettes","getThemesPalettes","base","palette","accent","createThemeSuite","props","childrenThemes","grandChildrenThemes","templates","componentThemes","defaultComponentThemes","createSimpleThemeBuilder","extra","palettes","accentTheme","normalizeSubThemes","themes","defs","Object","fromEntries","entries","map","name","value","template","themeBuilder","addPalettes","addTemplates","addThemes","light","nonInheritedValues","dark","addChildThemes","light_accent","parent","avoidNestingWithin","addComponentThemes","getComponentThemes","keys","build","createThemes","getSchemePalette","colors","toReversed","getAnchors","numItems","length","lcolor","index","dcolor","lhue","lsat","llum","dhue","dsat","dlum","spreadIndex","hue","sat","lum","maxIndex","Math","round","coerceSimplePaletteToSchemePalette","def","Array","isArray","baseAnchors","getSubThemesPalettes","key","anchors","components","componentName","ListItem","SelectTrigger","Card","Button","Checkbox","Switch","SwitchThumb","TooltipContent","Progress","RadioGroupItem","TooltipArrow","SliderTrackActive","SliderTrack","SliderThumb","Tooltip","ProgressIndicator","Input","TextArea","accentPalettes","basePalettes","flatMap","palettes2","oppositePalettes","startsWith","oppositeLight","oppositeDark","bgOffset"],"sources":["../../src/v4-createTheme.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,261 @@
1
+ import { createThemeBuilder } from "@tamagui/theme-builder";
2
+ import { parseToHsla } from "color2k";
3
+ import { getThemeSuitePalettes } from "./getThemeSuitePalettes";
4
+ import { defaultTemplates } from "./v4-defaultTemplates";
5
+ import { getThemeSuitePalettes as getThemeSuitePalettes2, PALETTE_BACKGROUND_OFFSET } from "./getThemeSuitePalettes";
6
+ import { defaultTemplates as defaultTemplates2 } from "./v4-defaultTemplates";
7
+ var defaultPalettes = createPalettes(getThemesPalettes({
8
+ base: {
9
+ palette: [
10
+ "#fff",
11
+ "#000"
12
+ ]
13
+ },
14
+ accent: {
15
+ palette: [
16
+ "#ff0000",
17
+ "#ff9999"
18
+ ]
19
+ }
20
+ }));
21
+ function createThemeSuite(props) {
22
+ var { accent, childrenThemes, grandChildrenThemes, templates = defaultTemplates, componentThemes = defaultComponentThemes } = props, builder = createSimpleThemeBuilder({
23
+ extra: props.base.extra,
24
+ componentThemes,
25
+ palettes: createPalettes(getThemesPalettes(props)),
26
+ templates,
27
+ accentTheme: !!accent,
28
+ childrenThemes: normalizeSubThemes(childrenThemes),
29
+ grandChildrenThemes: grandChildrenThemes ? normalizeSubThemes(grandChildrenThemes) : void 0
30
+ });
31
+ return builder.themes;
32
+ }
33
+ function normalizeSubThemes(defs) {
34
+ return Object.fromEntries(Object.entries(defs || {}).map(function(param) {
35
+ var [name, value] = param;
36
+ return [
37
+ name,
38
+ {
39
+ palette: name,
40
+ template: value.template || "base"
41
+ }
42
+ ];
43
+ }));
44
+ }
45
+ function createSimpleThemeBuilder(props) {
46
+ var { extra, childrenThemes = null, grandChildrenThemes = null, templates = defaultTemplates, palettes = defaultPalettes, componentThemes = templates === defaultTemplates ? defaultComponentThemes : void 0 } = props, themeBuilder = createThemeBuilder().addPalettes(palettes).addTemplates(templates).addThemes({
47
+ light: {
48
+ template: "base",
49
+ palette: "light",
50
+ nonInheritedValues: extra?.light
51
+ },
52
+ dark: {
53
+ template: "base",
54
+ palette: "dark",
55
+ nonInheritedValues: extra?.dark
56
+ }
57
+ }).addChildThemes(palettes.light_accent ? {
58
+ accent: [
59
+ {
60
+ parent: "light",
61
+ template: "base",
62
+ palette: "light_accent"
63
+ },
64
+ {
65
+ parent: "dark",
66
+ template: "base",
67
+ palette: "dark_accent"
68
+ }
69
+ ]
70
+ } : {});
71
+ return childrenThemes && (themeBuilder = themeBuilder.addChildThemes(childrenThemes, {
72
+ avoidNestingWithin: [
73
+ "accent"
74
+ ]
75
+ })), grandChildrenThemes && (themeBuilder = themeBuilder.addChildThemes(grandChildrenThemes, {
76
+ avoidNestingWithin: [
77
+ "accent"
78
+ ]
79
+ })), componentThemes && (themeBuilder = themeBuilder.addComponentThemes(getComponentThemes(componentThemes), {
80
+ avoidNestingWithin: [
81
+ // ...Object.keys(childrenThemes || {}),
82
+ ...Object.keys(grandChildrenThemes || {})
83
+ ]
84
+ })), {
85
+ themeBuilder,
86
+ themes: themeBuilder.build()
87
+ };
88
+ }
89
+ function createThemes(props) {
90
+ var palettes = createPalettes(props.palettes);
91
+ return createSimpleThemeBuilder({
92
+ palettes,
93
+ templates: props.templates,
94
+ componentThemes: defaultComponentThemes
95
+ });
96
+ }
97
+ function getSchemePalette(colors) {
98
+ return {
99
+ light: colors,
100
+ dark: colors.toReversed()
101
+ };
102
+ }
103
+ function getAnchors(palette) {
104
+ var maxIndex = 11, numItems = palette.light.length, anchors = palette.light.map(function(lcolor, index) {
105
+ var dcolor = palette.dark[index], [lhue, lsat, llum] = parseToHsla(lcolor), [dhue, dsat, dlum] = parseToHsla(dcolor);
106
+ return {
107
+ index: spreadIndex(maxIndex, numItems, index),
108
+ hue: {
109
+ light: lhue,
110
+ dark: dhue
111
+ },
112
+ sat: {
113
+ light: lsat,
114
+ dark: dsat
115
+ },
116
+ lum: {
117
+ light: llum,
118
+ dark: dlum
119
+ }
120
+ };
121
+ });
122
+ return anchors;
123
+ }
124
+ function spreadIndex(maxIndex, numItems, index) {
125
+ return Math.round(index / (numItems - 1) * maxIndex);
126
+ }
127
+ function coerceSimplePaletteToSchemePalette(def) {
128
+ return Array.isArray(def) ? getSchemePalette(def) : def;
129
+ }
130
+ function getThemesPalettes(props) {
131
+ var base = coerceSimplePaletteToSchemePalette(props.base.palette), accent = props.accent ? coerceSimplePaletteToSchemePalette(props.accent.palette) : null, baseAnchors = getAnchors(base);
132
+ function getSubThemesPalettes(defs) {
133
+ return Object.fromEntries(Object.entries(defs).map(function(param) {
134
+ var [key, value] = param;
135
+ return [
136
+ key,
137
+ {
138
+ name: key,
139
+ anchors: value.palette ? getAnchors(coerceSimplePaletteToSchemePalette(value.palette)) : baseAnchors
140
+ }
141
+ ];
142
+ }));
143
+ }
144
+ return {
145
+ base: {
146
+ name: "base",
147
+ anchors: baseAnchors
148
+ },
149
+ ...accent && {
150
+ accent: {
151
+ name: "accent",
152
+ anchors: getAnchors(accent)
153
+ }
154
+ },
155
+ ...props.childrenThemes && getSubThemesPalettes(props.childrenThemes),
156
+ ...props.grandChildrenThemes && getSubThemesPalettes(props.grandChildrenThemes)
157
+ };
158
+ }
159
+ var getComponentThemes = function(components) {
160
+ return Object.fromEntries(Object.entries(components).map(function(param) {
161
+ var [componentName, { template }] = param;
162
+ return [
163
+ componentName,
164
+ {
165
+ parent: "",
166
+ template: template || "base"
167
+ }
168
+ ];
169
+ }));
170
+ }, defaultComponentThemes = {
171
+ ListItem: {
172
+ template: "surface1"
173
+ },
174
+ SelectTrigger: {
175
+ template: "surface1"
176
+ },
177
+ Card: {
178
+ template: "surface1"
179
+ },
180
+ Button: {
181
+ template: "surface3"
182
+ },
183
+ Checkbox: {
184
+ template: "surface2"
185
+ },
186
+ Switch: {
187
+ template: "surface2"
188
+ },
189
+ SwitchThumb: {
190
+ template: "inverse"
191
+ },
192
+ TooltipContent: {
193
+ template: "surface2"
194
+ },
195
+ Progress: {
196
+ template: "surface1"
197
+ },
198
+ RadioGroupItem: {
199
+ template: "surface2"
200
+ },
201
+ TooltipArrow: {
202
+ template: "surface1"
203
+ },
204
+ SliderTrackActive: {
205
+ template: "surface3"
206
+ },
207
+ SliderTrack: {
208
+ template: "surface1"
209
+ },
210
+ SliderThumb: {
211
+ template: "inverse"
212
+ },
213
+ Tooltip: {
214
+ template: "inverse"
215
+ },
216
+ ProgressIndicator: {
217
+ template: "inverse"
218
+ },
219
+ Input: {
220
+ template: "surface1"
221
+ },
222
+ TextArea: {
223
+ template: "surface1"
224
+ }
225
+ };
226
+ function createPalettes(palettes) {
227
+ var accentPalettes = palettes.accent ? getThemeSuitePalettes(palettes.accent) : null, basePalettes = getThemeSuitePalettes(palettes.base), next = Object.fromEntries(Object.entries(palettes).flatMap(function(param) {
228
+ var [name, palette] = param, _$palettes = getThemeSuitePalettes(palette), isAccent = name.startsWith("accent"), oppositePalettes = isAccent ? basePalettes : accentPalettes, oppositeLight = oppositePalettes.light, oppositeDark = oppositePalettes.dark, bgOffset = 7, out = [
229
+ [
230
+ name === "base" ? "light" : `light_${name}`,
231
+ [
232
+ oppositeLight[bgOffset],
233
+ ..._$palettes.light,
234
+ oppositeLight[oppositeLight.length - bgOffset - 1]
235
+ ]
236
+ ],
237
+ [
238
+ name === "base" ? "dark" : `dark_${name}`,
239
+ [
240
+ oppositeDark[oppositeDark.length - bgOffset - 1],
241
+ ..._$palettes.dark,
242
+ oppositeDark[bgOffset]
243
+ ]
244
+ ]
245
+ ];
246
+ return out;
247
+ }));
248
+ return next;
249
+ }
250
+ export {
251
+ PALETTE_BACKGROUND_OFFSET,
252
+ createPalettes,
253
+ createSimpleThemeBuilder,
254
+ createThemeSuite,
255
+ createThemes,
256
+ defaultComponentThemes,
257
+ defaultTemplates2 as defaultTemplates,
258
+ getComponentThemes,
259
+ getThemeSuitePalettes2 as getThemeSuitePalettes
260
+ };
261
+ //# sourceMappingURL=v4-createTheme.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Users/n8/tamagui/code/core/themes/src/v4-createTheme.ts"],
4
+ "mappings": "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",
5
+ "names": ["createThemeBuilder", "parseToHsla", "getThemeSuitePalettes", "defaultTemplates", "PALETTE_BACKGROUND_OFFSET", "defaultPalettes", "createPalettes", "getThemesPalettes", "base", "palette", "accent", "createThemeSuite", "props", "childrenThemes", "grandChildrenThemes", "templates", "componentThemes", "defaultComponentThemes", "builder", "createSimpleThemeBuilder", "extra", "palettes", "accentTheme", "normalizeSubThemes", "undefined", "themes", "defs", "Object", "fromEntries", "entries", "map", "name", "value", "template", "themeBuilder", "addPalettes", "addTemplates", "addThemes", "light", "nonInheritedValues", "dark", "addChildThemes", "light_accent", "parent", "avoidNestingWithin", "addComponentThemes", "getComponentThemes", "keys", "build", "createThemes", "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", "ListItem", "SelectTrigger", "Card", "Button", "Checkbox", "Switch", "SwitchThumb", "TooltipContent", "Progress", "RadioGroupItem", "TooltipArrow", "SliderTrackActive", "SliderTrack", "SliderThumb", "Tooltip", "ProgressIndicator", "Input", "TextArea", "accentPalettes", "basePalettes", "next", "flatMap", "isAccent", "startsWith", "oppositePalettes", "oppositeLight", "oppositeDark", "bgOffset", "out"]
6
+ }
@@ -0,0 +1,74 @@
1
+ import { green, greenDark, red, redDark, yellow, yellowDark } from "@tamagui/colors";
2
+ import { createThemeSuite } from "./v4-createTheme";
3
+ const colorTokens = {
4
+ light: {
5
+ green,
6
+ red,
7
+ yellow
8
+ },
9
+ dark: {
10
+ green: greenDark,
11
+ red: redDark,
12
+ yellow: yellowDark
13
+ }
14
+ }, lightShadowColor = "rgba(0,0,0,0.04)", lightShadowColorStrong = "rgba(0,0,0,0.085)", darkShadowColor = "rgba(0,0,0,0.2)", darkShadowColorStrong = "rgba(0,0,0,0.3)", darkPalette = ["#050505", "#fff"], lightPalette = ["#fff", "hsl(0, 0%, 9.0%)"], defaultThemes = createThemeSuite({
15
+ base: {
16
+ palette: {
17
+ dark: darkPalette,
18
+ light: lightPalette
19
+ },
20
+ // we set a bunch of colors like $red1 => $red12
21
+ // we only want to set it on the base light/dark theme not all sub-themes
22
+ extra: {
23
+ light: {
24
+ ...colorTokens.light.green,
25
+ ...colorTokens.light.red,
26
+ ...colorTokens.light.yellow,
27
+ shadowColor: lightShadowColorStrong,
28
+ shadowColorHover: lightShadowColorStrong,
29
+ shadowColorPress: lightShadowColor,
30
+ shadowColorFocus: lightShadowColor
31
+ },
32
+ dark: {
33
+ ...colorTokens.dark.green,
34
+ ...colorTokens.dark.red,
35
+ ...colorTokens.dark.yellow,
36
+ shadowColor: darkShadowColorStrong,
37
+ shadowColorHover: darkShadowColorStrong,
38
+ shadowColorPress: darkShadowColor,
39
+ shadowColorFocus: darkShadowColor
40
+ }
41
+ }
42
+ },
43
+ accent: {
44
+ palette: {
45
+ dark: lightPalette,
46
+ light: darkPalette
47
+ },
48
+ template: "inverse"
49
+ },
50
+ childrenThemes: {
51
+ error: {
52
+ palette: {
53
+ dark: Object.values(colorTokens.dark.red),
54
+ light: Object.values(colorTokens.light.red)
55
+ }
56
+ },
57
+ warning: {
58
+ palette: {
59
+ dark: Object.values(colorTokens.dark.yellow),
60
+ light: Object.values(colorTokens.light.yellow)
61
+ }
62
+ },
63
+ success: {
64
+ palette: {
65
+ dark: Object.values(colorTokens.dark.green),
66
+ light: Object.values(colorTokens.light.green)
67
+ }
68
+ }
69
+ }
70
+ });
71
+ export {
72
+ defaultThemes
73
+ };
74
+ //# sourceMappingURL=v4-default.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/v4-default.ts"],
4
+ "mappings": "AAAA,SAAS,OAAO,WAAW,KAAK,SAAS,QAAQ,kBAAkB;AACnE,SAAS,wBAAwB;AAEjC,MAAM,cAAc;AAAA,EAClB,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AACF,GAEM,mBAAmB,oBACnB,yBAAyB,qBACzB,kBAAkB,mBAClB,wBAAwB,mBAExB,cAAc,CAAC,WAAW,MAAM,GAChC,eAAe,CAAC,QAAQ,kBAAkB,GAMnC,gBAAgB,iBAAiB;AAAA,EAC5C,MAAM;AAAA,IACJ,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA;AAAA;AAAA,IAIA,OAAO;AAAA,MACL,OAAO;AAAA,QACL,GAAG,YAAY,MAAM;AAAA,QACrB,GAAG,YAAY,MAAM;AAAA,QACrB,GAAG,YAAY,MAAM;AAAA,QACrB,aAAa;AAAA,QACb,kBAAkB;AAAA,QAClB,kBAAkB;AAAA,QAClB,kBAAkB;AAAA,MACpB;AAAA,MACA,MAAM;AAAA,QACJ,GAAG,YAAY,KAAK;AAAA,QACpB,GAAG,YAAY,KAAK;AAAA,QACpB,GAAG,YAAY,KAAK;AAAA,QACpB,aAAa;AAAA,QACb,kBAAkB;AAAA,QAClB,kBAAkB;AAAA,QAClB,kBAAkB;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN,SAAS;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,IACA,UAAU;AAAA,EACZ;AAAA,EAEA,gBAAgB;AAAA,IACd,OAAO;AAAA,MACL,SAAS;AAAA,QACP,MAAM,OAAO,OAAO,YAAY,KAAK,GAAG;AAAA,QACxC,OAAO,OAAO,OAAO,YAAY,MAAM,GAAG;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM,OAAO,OAAO,YAAY,KAAK,MAAM;AAAA,QAC3C,OAAO,OAAO,OAAO,YAAY,MAAM,MAAM;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM,OAAO,OAAO,YAAY,KAAK,KAAK;AAAA,QAC1C,OAAO,OAAO,OAAO,YAAY,MAAM,KAAK;AAAA,MAC9C;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,79 @@
1
+ import { green, greenDark, red, redDark, yellow, yellowDark } from "@tamagui/colors";
2
+ import { createThemeSuite } from "./v4-createTheme.mjs";
3
+ const colorTokens = {
4
+ light: {
5
+ green,
6
+ red,
7
+ yellow
8
+ },
9
+ dark: {
10
+ green: greenDark,
11
+ red: redDark,
12
+ yellow: yellowDark
13
+ }
14
+ },
15
+ lightShadowColor = "rgba(0,0,0,0.04)",
16
+ lightShadowColorStrong = "rgba(0,0,0,0.085)",
17
+ darkShadowColor = "rgba(0,0,0,0.2)",
18
+ darkShadowColorStrong = "rgba(0,0,0,0.3)",
19
+ darkPalette = ["#050505", "#fff"],
20
+ lightPalette = ["#fff", "hsl(0, 0%, 9.0%)"],
21
+ defaultThemes = createThemeSuite({
22
+ base: {
23
+ palette: {
24
+ dark: darkPalette,
25
+ light: lightPalette
26
+ },
27
+ // we set a bunch of colors like $red1 => $red12
28
+ // we only want to set it on the base light/dark theme not all sub-themes
29
+ extra: {
30
+ light: {
31
+ ...colorTokens.light.green,
32
+ ...colorTokens.light.red,
33
+ ...colorTokens.light.yellow,
34
+ shadowColor: lightShadowColorStrong,
35
+ shadowColorHover: lightShadowColorStrong,
36
+ shadowColorPress: lightShadowColor,
37
+ shadowColorFocus: lightShadowColor
38
+ },
39
+ dark: {
40
+ ...colorTokens.dark.green,
41
+ ...colorTokens.dark.red,
42
+ ...colorTokens.dark.yellow,
43
+ shadowColor: darkShadowColorStrong,
44
+ shadowColorHover: darkShadowColorStrong,
45
+ shadowColorPress: darkShadowColor,
46
+ shadowColorFocus: darkShadowColor
47
+ }
48
+ }
49
+ },
50
+ accent: {
51
+ palette: {
52
+ dark: lightPalette,
53
+ light: darkPalette
54
+ },
55
+ template: "inverse"
56
+ },
57
+ childrenThemes: {
58
+ error: {
59
+ palette: {
60
+ dark: Object.values(colorTokens.dark.red),
61
+ light: Object.values(colorTokens.light.red)
62
+ }
63
+ },
64
+ warning: {
65
+ palette: {
66
+ dark: Object.values(colorTokens.dark.yellow),
67
+ light: Object.values(colorTokens.light.yellow)
68
+ }
69
+ },
70
+ success: {
71
+ palette: {
72
+ dark: Object.values(colorTokens.dark.green),
73
+ light: Object.values(colorTokens.light.green)
74
+ }
75
+ }
76
+ }
77
+ });
78
+ export { defaultThemes };
79
+ //# sourceMappingURL=v4-default.mjs.map