@tamagui/static 1.0.1-beta.102 → 1.0.1-beta.105
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/constants.js +4 -0
- package/dist/cjs/constants.js.map +2 -2
- package/dist/cjs/extractor/createEvaluator.js.map +1 -1
- package/dist/cjs/extractor/createExtractor.js +5 -39
- package/dist/cjs/extractor/createExtractor.js.map +2 -2
- package/dist/cjs/extractor/defaultTamaguiConfig.js +177 -0
- package/dist/cjs/extractor/defaultTamaguiConfig.js.map +7 -0
- package/dist/cjs/extractor/loadTamagui.js +46 -66
- package/dist/cjs/extractor/loadTamagui.js.map +2 -2
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/require.js +99 -0
- package/dist/cjs/require.js.map +7 -0
- package/dist/esm/constants.js +3 -0
- package/dist/esm/constants.js.map +2 -2
- package/dist/esm/extractor/createEvaluator.js.map +1 -1
- package/dist/esm/extractor/createExtractor.js +6 -41
- package/dist/esm/extractor/createExtractor.js.map +2 -2
- package/dist/esm/extractor/defaultTamaguiConfig.js +155 -0
- package/dist/esm/extractor/defaultTamaguiConfig.js.map +7 -0
- package/dist/esm/extractor/loadTamagui.js +46 -66
- package/dist/esm/extractor/loadTamagui.js.map +2 -2
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/require.js +74 -0
- package/dist/esm/require.js.map +7 -0
- package/dist/jsx/constants.js +3 -0
- package/dist/jsx/constants.js.map +2 -2
- package/dist/jsx/extractor/createEvaluator.js.map +1 -1
- package/dist/jsx/extractor/createExtractor.js +6 -41
- package/dist/jsx/extractor/createExtractor.js.map +2 -2
- package/dist/jsx/extractor/defaultTamaguiConfig.js +142 -0
- package/dist/jsx/extractor/defaultTamaguiConfig.js.map +7 -0
- package/dist/jsx/extractor/loadTamagui.js +46 -66
- package/dist/jsx/extractor/loadTamagui.js.map +2 -2
- package/dist/jsx/index.js +1 -0
- package/dist/jsx/index.js.map +2 -2
- package/dist/jsx/require.js +74 -0
- package/dist/jsx/require.js.map +7 -0
- package/package.json +9 -8
- package/src/constants.ts +2 -0
- package/src/extractor/createEvaluator.ts +1 -1
- package/src/extractor/createExtractor.ts +4 -60
- package/src/extractor/defaultTamaguiConfig.ts +149 -0
- package/src/extractor/loadTamagui.ts +52 -85
- package/src/index.ts +1 -0
- package/src/require.ts +93 -0
- package/types/constants.d.ts +1 -0
- package/types/constants.d.ts.map +1 -1
- package/types/extractor/createEvaluator.d.ts +1 -1
- package/types/extractor/createEvaluator.d.ts.map +1 -1
- package/types/extractor/createExtractor.d.ts.map +1 -1
- package/types/extractor/defaultTamaguiConfig.d.ts +83 -0
- package/types/extractor/defaultTamaguiConfig.d.ts.map +1 -0
- package/types/extractor/loadTamagui.d.ts +1 -1
- package/types/extractor/loadTamagui.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/require.d.ts +4 -0
- package/types/require.d.ts.map +1 -0
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { createFont, createTamagui, createTokens } from "@tamagui/core-node";
|
|
2
|
+
import { shorthands } from "@tamagui/shorthands";
|
|
3
|
+
const font = createFont({
|
|
4
|
+
family: "System",
|
|
5
|
+
size: {
|
|
6
|
+
1: 15
|
|
7
|
+
},
|
|
8
|
+
lineHeight: {
|
|
9
|
+
1: 15
|
|
10
|
+
},
|
|
11
|
+
transform: {},
|
|
12
|
+
weight: {
|
|
13
|
+
1: "400"
|
|
14
|
+
},
|
|
15
|
+
color: {
|
|
16
|
+
1: "$color"
|
|
17
|
+
},
|
|
18
|
+
letterSpacing: {
|
|
19
|
+
1: 0
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const size = {
|
|
23
|
+
0: 0,
|
|
24
|
+
0.25: 2,
|
|
25
|
+
0.5: 4,
|
|
26
|
+
0.75: 8,
|
|
27
|
+
1: 20,
|
|
28
|
+
1.5: 24,
|
|
29
|
+
2: 28,
|
|
30
|
+
2.5: 32,
|
|
31
|
+
3: 36,
|
|
32
|
+
3.5: 40,
|
|
33
|
+
4: 44,
|
|
34
|
+
true: 44,
|
|
35
|
+
4.5: 48,
|
|
36
|
+
5: 52,
|
|
37
|
+
5.5: 59,
|
|
38
|
+
6: 64,
|
|
39
|
+
6.5: 69,
|
|
40
|
+
7: 74,
|
|
41
|
+
7.6: 79,
|
|
42
|
+
8: 84,
|
|
43
|
+
8.5: 89,
|
|
44
|
+
9: 94,
|
|
45
|
+
9.5: 99,
|
|
46
|
+
10: 104,
|
|
47
|
+
11: 124,
|
|
48
|
+
12: 144,
|
|
49
|
+
13: 164,
|
|
50
|
+
14: 184,
|
|
51
|
+
15: 204,
|
|
52
|
+
16: 224,
|
|
53
|
+
17: 224,
|
|
54
|
+
18: 244,
|
|
55
|
+
19: 264,
|
|
56
|
+
20: 284
|
|
57
|
+
};
|
|
58
|
+
const spaces = Object.entries(size).map(([k, v]) => [
|
|
59
|
+
k,
|
|
60
|
+
Math.max(0, v <= 16 ? Math.round(v * 0.333) : Math.floor(v * 0.7 - 12))
|
|
61
|
+
]);
|
|
62
|
+
const spacesNegative = spaces.map(([k, v]) => [`-${k}`, -v]);
|
|
63
|
+
const space = {
|
|
64
|
+
...Object.fromEntries(spaces),
|
|
65
|
+
...Object.fromEntries(spacesNegative)
|
|
66
|
+
};
|
|
67
|
+
const zIndex = {
|
|
68
|
+
0: 0,
|
|
69
|
+
1: 100,
|
|
70
|
+
2: 200,
|
|
71
|
+
3: 300,
|
|
72
|
+
4: 400,
|
|
73
|
+
5: 500
|
|
74
|
+
};
|
|
75
|
+
const radius = {
|
|
76
|
+
0: 0,
|
|
77
|
+
1: 3,
|
|
78
|
+
2: 5,
|
|
79
|
+
3: 7,
|
|
80
|
+
4: 9,
|
|
81
|
+
5: 10,
|
|
82
|
+
6: 16,
|
|
83
|
+
7: 19,
|
|
84
|
+
8: 22,
|
|
85
|
+
9: 26,
|
|
86
|
+
10: 34,
|
|
87
|
+
11: 42,
|
|
88
|
+
12: 50
|
|
89
|
+
};
|
|
90
|
+
const tokens = createTokens({
|
|
91
|
+
color: {
|
|
92
|
+
white: "#fff",
|
|
93
|
+
black: "#000"
|
|
94
|
+
},
|
|
95
|
+
radius,
|
|
96
|
+
zIndex,
|
|
97
|
+
space,
|
|
98
|
+
size
|
|
99
|
+
});
|
|
100
|
+
const themes = {
|
|
101
|
+
light: {
|
|
102
|
+
background: tokens.color.white,
|
|
103
|
+
color: tokens.color.black
|
|
104
|
+
},
|
|
105
|
+
dark: {
|
|
106
|
+
background: tokens.color.black,
|
|
107
|
+
color: tokens.color.white
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const config = createTamagui({
|
|
111
|
+
defaultTheme: "light",
|
|
112
|
+
shouldAddPrefersColorThemes: true,
|
|
113
|
+
themeClassNameOnRoot: true,
|
|
114
|
+
shorthands,
|
|
115
|
+
fonts: {
|
|
116
|
+
heading: font,
|
|
117
|
+
body: font
|
|
118
|
+
},
|
|
119
|
+
themes,
|
|
120
|
+
tokens,
|
|
121
|
+
media: {
|
|
122
|
+
xs: { maxWidth: 660 },
|
|
123
|
+
sm: { maxWidth: 800 },
|
|
124
|
+
md: { maxWidth: 1020 },
|
|
125
|
+
lg: { maxWidth: 1280 },
|
|
126
|
+
xl: { maxWidth: 1420 },
|
|
127
|
+
xxl: { maxWidth: 1600 },
|
|
128
|
+
gtXs: { minWidth: 660 + 1 },
|
|
129
|
+
gtSm: { minWidth: 800 + 1 },
|
|
130
|
+
gtMd: { minWidth: 1020 + 1 },
|
|
131
|
+
gtLg: { minWidth: 1280 + 1 },
|
|
132
|
+
short: { maxHeight: 820 },
|
|
133
|
+
tall: { minHeight: 820 },
|
|
134
|
+
hoverNone: { hover: "none" },
|
|
135
|
+
pointerCoarse: { pointer: "coarse" }
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
export {
|
|
139
|
+
config,
|
|
140
|
+
tokens
|
|
141
|
+
};
|
|
142
|
+
//# sourceMappingURL=defaultTamaguiConfig.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/extractor/defaultTamaguiConfig.ts"],
|
|
4
|
+
"sourcesContent": ["import { TamaguiInternalConfig, createFont, createTamagui, createTokens } from '@tamagui/core-node'\nimport { shorthands } from '@tamagui/shorthands'\n\n// basic fallback theme just to have compiler load in decent tate\n\nconst font = createFont({\n family: 'System',\n size: {\n 1: 15,\n },\n lineHeight: {\n 1: 15,\n },\n transform: {},\n weight: {\n 1: '400',\n },\n color: {\n 1: '$color',\n },\n letterSpacing: {\n 1: 0,\n },\n})\n\nconst size = {\n 0: 0,\n 0.25: 2,\n 0.5: 4,\n 0.75: 8,\n 1: 20,\n 1.5: 24,\n 2: 28,\n 2.5: 32,\n 3: 36,\n 3.5: 40,\n 4: 44,\n true: 44,\n 4.5: 48,\n 5: 52,\n 5.5: 59,\n 6: 64,\n 6.5: 69,\n 7: 74,\n 7.6: 79,\n 8: 84,\n 8.5: 89,\n 9: 94,\n 9.5: 99,\n 10: 104,\n 11: 124,\n 12: 144,\n 13: 164,\n 14: 184,\n 15: 204,\n 16: 224,\n 17: 224,\n 18: 244,\n 19: 264,\n 20: 284,\n}\n\nconst spaces = Object.entries(size).map(([k, v]) => [\n k,\n Math.max(0, v <= 16 ? Math.round(v * 0.333) : Math.floor(v * 0.7 - 12)),\n])\n\nconst spacesNegative = spaces.map(([k, v]) => [`-${k}`, -v])\n\nconst space = {\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\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: {\n white: '#fff',\n black: '#000',\n },\n radius,\n zIndex,\n space,\n size,\n})\n\nconst themes = {\n light: {\n background: tokens.color.white,\n color: tokens.color.black,\n },\n dark: {\n background: tokens.color.black,\n color: tokens.color.white,\n },\n}\n\nexport const config = createTamagui({\n defaultTheme: 'light',\n shouldAddPrefersColorThemes: true,\n themeClassNameOnRoot: true,\n shorthands,\n fonts: {\n heading: font,\n body: font,\n },\n themes,\n tokens,\n media: {\n xs: { maxWidth: 660 },\n sm: { maxWidth: 800 },\n md: { maxWidth: 1020 },\n lg: { maxWidth: 1280 },\n xl: { maxWidth: 1420 },\n xxl: { maxWidth: 1600 },\n gtXs: { minWidth: 660 + 1 },\n gtSm: { minWidth: 800 + 1 },\n gtMd: { minWidth: 1020 + 1 },\n gtLg: { minWidth: 1280 + 1 },\n short: { maxHeight: 820 },\n tall: { minHeight: 820 },\n hoverNone: { hover: 'none' },\n pointerCoarse: { pointer: 'coarse' },\n },\n}) as TamaguiInternalConfig\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { join } from "path";
|
|
2
2
|
import { createTamagui } from "@tamagui/core-node";
|
|
3
|
+
import { SHOULD_DEBUG } from "../constants";
|
|
4
|
+
import { getNameToPaths, registerRequire, unregisterRequire } from "../require";
|
|
5
|
+
import { config as defaultTamaguiConfig } from "./defaultTamaguiConfig";
|
|
3
6
|
let loadedTamagui = null;
|
|
4
7
|
function loadTamagui(props) {
|
|
8
|
+
console.trace("load", !!loadedTamagui);
|
|
5
9
|
if (loadedTamagui) {
|
|
6
10
|
return loadedTamagui;
|
|
7
11
|
}
|
|
@@ -15,85 +19,61 @@ function loadTamagui(props) {
|
|
|
15
19
|
if (typeof globalThis["__DEV__"] === "undefined") {
|
|
16
20
|
globalThis["__DEV__"] = process.env.NODE_ENV === "development";
|
|
17
21
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Mod.prototype.require = function(path) {
|
|
24
|
-
var _a, _b, _c;
|
|
25
|
-
if (path.endsWith(".css")) {
|
|
26
|
-
return {};
|
|
27
|
-
}
|
|
28
|
-
if (path === "@gorhom/bottom-sheet" || path.startsWith("react-native-reanimated") || path === "expo-linear-gradient") {
|
|
29
|
-
return proxyWorm;
|
|
30
|
-
}
|
|
31
|
-
if (path.startsWith("react-native") && !path.startsWith("react-native-web/dist/cjs/exports")) {
|
|
32
|
-
return rnw;
|
|
33
|
-
}
|
|
34
|
-
try {
|
|
35
|
-
const out = og.apply(this, arguments);
|
|
36
|
-
if (!nameToPaths[path]) {
|
|
37
|
-
if (out && typeof out === "object") {
|
|
38
|
-
for (const key in out) {
|
|
39
|
-
try {
|
|
40
|
-
const conf = (_a = out[key]) == null ? void 0 : _a.staticConfig;
|
|
41
|
-
if (conf) {
|
|
42
|
-
if (conf.componentName) {
|
|
43
|
-
(_c = nameToPaths[_b = conf.componentName]) != null ? _c : nameToPaths[_b] = /* @__PURE__ */ new Set();
|
|
44
|
-
const fullName = path.startsWith(".") ? join(`${this.path.replace(/dist(\/cjs)?/, "src")}`, path) : path;
|
|
45
|
-
nameToPaths[conf.componentName].add(fullName);
|
|
46
|
-
} else {
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
} catch {
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return out;
|
|
55
|
-
} catch (err) {
|
|
56
|
-
console.error("Tamagui error loading file:\n", path, err.message, "\n", err.stack);
|
|
57
|
-
process.exit(1);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const exp = require(configPath);
|
|
61
|
-
const tamaguiConfig = exp["default"] || exp;
|
|
62
|
-
if (!tamaguiConfig || !tamaguiConfig.parsed) {
|
|
63
|
-
try {
|
|
22
|
+
registerRequire();
|
|
23
|
+
try {
|
|
24
|
+
const exp = require(configPath);
|
|
25
|
+
const tamaguiConfig = exp["default"] || exp;
|
|
26
|
+
if (!tamaguiConfig || !tamaguiConfig.parsed) {
|
|
64
27
|
const confPath = require.resolve(configPath);
|
|
65
28
|
console.log(`Received:`, tamaguiConfig);
|
|
66
29
|
throw new Error(`Can't find valid config in ${confPath}`);
|
|
67
|
-
} catch (err) {
|
|
68
|
-
throw err;
|
|
69
30
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
31
|
+
const components = {};
|
|
32
|
+
for (const moduleName of props.components) {
|
|
33
|
+
const exported = require(moduleName);
|
|
34
|
+
for (const Name in exported) {
|
|
35
|
+
const val = exported[Name];
|
|
36
|
+
const staticConfig = val == null ? void 0 : val.staticConfig;
|
|
37
|
+
if (staticConfig) {
|
|
38
|
+
const { Component, reactNativeWebComponent, ...sc } = staticConfig;
|
|
39
|
+
Object.assign(components, { [Name]: { staticConfig: sc } });
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
process.env.IS_STATIC = void 0;
|
|
44
|
+
createTamagui(tamaguiConfig);
|
|
45
|
+
loadedTamagui = {
|
|
46
|
+
components,
|
|
47
|
+
tamaguiConfig,
|
|
48
|
+
nameToPaths: getNameToPaths()
|
|
49
|
+
};
|
|
50
|
+
} catch (err) {
|
|
51
|
+
if (err instanceof Error) {
|
|
52
|
+
console.warn(`Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`);
|
|
53
|
+
console.log(`
|
|
54
|
+
|
|
55
|
+
${err.message}
|
|
56
|
+
|
|
57
|
+
`);
|
|
58
|
+
if (SHOULD_DEBUG) {
|
|
59
|
+
console.log(err.stack);
|
|
80
60
|
}
|
|
61
|
+
} else {
|
|
62
|
+
console.error(`Error loading tamagui.config.ts`, err);
|
|
81
63
|
}
|
|
64
|
+
return {
|
|
65
|
+
components: {},
|
|
66
|
+
tamaguiConfig: defaultTamaguiConfig,
|
|
67
|
+
nameToPaths: {}
|
|
68
|
+
};
|
|
82
69
|
}
|
|
83
|
-
process.env.IS_STATIC = void 0;
|
|
84
|
-
Mod.prototype.require = og;
|
|
85
|
-
createTamagui(tamaguiConfig);
|
|
86
|
-
loadedTamagui = {
|
|
87
|
-
components,
|
|
88
|
-
tamaguiConfig,
|
|
89
|
-
nameToPaths
|
|
90
|
-
};
|
|
91
70
|
return loadedTamagui;
|
|
92
71
|
} catch (err) {
|
|
93
72
|
console.log("Error loading Tamagui", err);
|
|
94
73
|
throw err;
|
|
95
74
|
} finally {
|
|
96
75
|
unregister();
|
|
76
|
+
unregisterRequire();
|
|
97
77
|
}
|
|
98
78
|
}
|
|
99
79
|
export {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/extractor/loadTamagui.ts"],
|
|
4
|
-
"sourcesContent": ["import { join } from 'path'\n\nimport type { StaticConfig, TamaguiComponent, TamaguiInternalConfig } from '@tamagui/core'\nimport { createTamagui } from '@tamagui/core-node'\n\nlet loadedTamagui: any = null\n\ntype NameToPaths = {\n [key: string]: Set<string>\n}\n\nexport type TamaguiProjectInfo = {\n components: Record<string, TamaguiComponent>\n tamaguiConfig: TamaguiInternalConfig\n nameToPaths: NameToPaths\n}\n\nexport function loadTamagui(props: { components: string[]; config: string }): TamaguiProjectInfo {\n if (loadedTamagui) {\n return loadedTamagui\n }\n\n const configPath = join(process.cwd(), props.config)\n\n const { unregister } = require('esbuild-register/dist/node').register({\n target: 'es2019',\n format: 'cjs',\n })\n\n try {\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n // @ts-ignore\n if (typeof globalThis['__DEV__'] === 'undefined') {\n // @ts-ignore\n globalThis['__DEV__'] = process.env.NODE_ENV === 'development'\n }\n\n
|
|
5
|
-
"mappings": "AAAA;AAGA;AAEA,IAAI,gBAAqB;AAYlB,qBAAqB,OAAqE;AAC/F,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,KAAK,QAAQ,IAAI,GAAG,MAAM,MAAM;AAEnD,QAAM,EAAE,eAAe,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AAGF,YAAQ,IAAI,YAAY;AAExB,QAAI,OAAO,WAAW,eAAe,aAAa;AAEhD,iBAAW,aAAa,QAAQ,IAAI,aAAa;AAAA,IACnD;AAEA,
|
|
4
|
+
"sourcesContent": ["import { join } from 'path'\n\nimport type { StaticConfig, TamaguiComponent, TamaguiInternalConfig } from '@tamagui/core-node'\nimport { createTamagui } from '@tamagui/core-node'\n\nimport { SHOULD_DEBUG } from '../constants'\nimport { getNameToPaths, registerRequire, unregisterRequire } from '../require'\nimport { config as defaultTamaguiConfig } from './defaultTamaguiConfig'\n\nlet loadedTamagui: any = null\n\ntype NameToPaths = {\n [key: string]: Set<string>\n}\n\nexport type TamaguiProjectInfo = {\n components: Record<string, TamaguiComponent>\n tamaguiConfig: TamaguiInternalConfig\n nameToPaths: NameToPaths\n}\n\nexport function loadTamagui(props: { components: string[]; config: string }): TamaguiProjectInfo {\n console.trace('load', !!loadedTamagui)\n\n if (loadedTamagui) {\n return loadedTamagui\n }\n\n const configPath = join(process.cwd(), props.config)\n\n const { unregister } = require('esbuild-register/dist/node').register({\n target: 'es2019',\n format: 'cjs',\n })\n\n try {\n // lets shim require and avoid importing react-native + react-native-web\n // we just need to read the config around them\n process.env.IS_STATIC = 'is_static'\n // @ts-ignore\n if (typeof globalThis['__DEV__'] === 'undefined') {\n // @ts-ignore\n globalThis['__DEV__'] = process.env.NODE_ENV === 'development'\n }\n\n registerRequire()\n\n try {\n // import config\n const exp = require(configPath)\n const tamaguiConfig = (exp['default'] || exp) as TamaguiInternalConfig\n\n if (!tamaguiConfig || !tamaguiConfig.parsed) {\n const confPath = require.resolve(configPath)\n console.log(`Received:`, tamaguiConfig)\n throw new Error(`Can't find valid config in ${confPath}`)\n }\n\n // import components\n const components = {}\n for (const moduleName of props.components) {\n const exported = require(moduleName)\n for (const Name in exported) {\n const val = exported[Name]\n const staticConfig = val?.staticConfig as StaticConfig | undefined\n if (staticConfig) {\n // remove non-stringifyable\n const { Component, reactNativeWebComponent, ...sc } = staticConfig\n Object.assign(components, { [Name]: { staticConfig: sc } })\n }\n }\n }\n\n // undo shims\n process.env.IS_STATIC = undefined\n\n // set up core-node\n createTamagui(tamaguiConfig as any)\n\n loadedTamagui = {\n components,\n tamaguiConfig,\n nameToPaths: getNameToPaths(),\n }\n } catch (err) {\n if (err instanceof Error) {\n console.warn(\n `Error loading tamagui.config.ts (set DEBUG=tamagui to see full stack), running tamagui without custom config`\n )\n console.log(`\\n\\n ${err.message}\\n\\n`)\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n } else {\n console.error(`Error loading tamagui.config.ts`, err)\n }\n return {\n components: {},\n tamaguiConfig: defaultTamaguiConfig,\n nameToPaths: {},\n }\n }\n\n return loadedTamagui\n } catch (err) {\n console.log('Error loading Tamagui', err)\n throw err\n } finally {\n unregister()\n unregisterRequire()\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAGA;AAEA;AACA;AACA;AAEA,IAAI,gBAAqB;AAYlB,qBAAqB,OAAqE;AAC/F,UAAQ,MAAM,QAAQ,CAAC,CAAC,aAAa;AAErC,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,KAAK,QAAQ,IAAI,GAAG,MAAM,MAAM;AAEnD,QAAM,EAAE,eAAe,QAAQ,4BAA4B,EAAE,SAAS;AAAA,IACpE,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV,CAAC;AAED,MAAI;AAGF,YAAQ,IAAI,YAAY;AAExB,QAAI,OAAO,WAAW,eAAe,aAAa;AAEhD,iBAAW,aAAa,QAAQ,IAAI,aAAa;AAAA,IACnD;AAEA,oBAAgB;AAEhB,QAAI;AAEF,YAAM,MAAM,QAAQ,UAAU;AAC9B,YAAM,gBAAiB,IAAI,cAAc;AAEzC,UAAI,CAAC,iBAAiB,CAAC,cAAc,QAAQ;AAC3C,cAAM,WAA2B,AAAhB,QAAQ,QAAQ;AACjC,gBAAQ,IAAI,aAAa,aAAa;AACtC,cAAM,IAAI,MAAM,8BAA8B,UAAU;AAAA,MAC1D;AAGA,YAAM,aAAa,CAAC;AACpB,iBAAW,cAAc,MAAM,YAAY;AACzC,cAAM,WAAW,QAAQ,UAAU;AACnC,mBAAW,QAAQ,UAAU;AAC3B,gBAAM,MAAM,SAAS;AACrB,gBAAM,eAAe,2BAAK;AAC1B,cAAI,cAAc;AAEhB,kBAAM,EAAE,WAAW,4BAA4B,OAAO;AACtD,mBAAO,OAAO,YAAY,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,EAAE,CAAC;AAAA,UAC5D;AAAA,QACF;AAAA,MACF;AAGA,cAAQ,IAAI,YAAY;AAGxB,oBAAc,aAAoB;AAElC,sBAAgB;AAAA,QACd;AAAA,QACA;AAAA,QACA,aAAa,eAAe;AAAA,MAC9B;AAAA,IACF,SAAS,KAAP;AACA,UAAI,eAAe,OAAO;AACxB,gBAAQ,KACN,8GACF;AACA,gBAAQ,IAAI;AAAA;AAAA,MAAW,IAAI;AAAA;AAAA,CAAa;AACxC,YAAI,cAAc;AAChB,kBAAQ,IAAI,IAAI,KAAK;AAAA,QACvB;AAAA,MACF,OAAO;AACL,gBAAQ,MAAM,mCAAmC,GAAG;AAAA,MACtD;AACA,aAAO;AAAA,QACL,YAAY,CAAC;AAAA,QACb,eAAe;AAAA,QACf,aAAa,CAAC;AAAA,MAChB;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,KAAP;AACA,YAAQ,IAAI,yBAAyB,GAAG;AACxC,UAAM;AAAA,EACR,UAAE;AACA,eAAW;AACX,sBAAkB;AAAA,EACpB;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/jsx/index.js
CHANGED
package/dist/jsx/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"sourcesContent": ["process.env.TAMAGUI_COMPILE_PROCESS = '1'\n\nexport { TamaguiOptions } from './types'\nexport { createExtractor } from './extractor/createExtractor'\nexport { literalToAst } from './extractor/literalToAst'\nexport * from './constants'\nexport * from './extractor/extractToClassNames'\nexport * from './extractor/extractHelpers'\nexport * from '@tamagui/patch-rnw'\nexport * from './extractor/loadTamagui'\n"],
|
|
5
|
-
"mappings": "AAAA,QAAQ,IAAI,0BAA0B;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;",
|
|
4
|
+
"sourcesContent": ["process.env.TAMAGUI_COMPILE_PROCESS = '1'\n\nexport { TamaguiOptions } from './types'\nexport { createExtractor } from './extractor/createExtractor'\nexport { literalToAst } from './extractor/literalToAst'\nexport * from './constants'\nexport * from './extractor/extractToClassNames'\nexport * from './extractor/extractHelpers'\nexport * from '@tamagui/patch-rnw'\nexport * from './extractor/loadTamagui'\nexport * from './require'\n"],
|
|
5
|
+
"mappings": "AAAA,QAAQ,IAAI,0BAA0B;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { SHOULD_DEBUG } from "./constants";
|
|
3
|
+
const nameToPaths = {};
|
|
4
|
+
const Mod = require("module");
|
|
5
|
+
const og = Mod.prototype.require;
|
|
6
|
+
globalThis["ogRequire"] = og;
|
|
7
|
+
const getNameToPaths = () => nameToPaths;
|
|
8
|
+
let tries = 0;
|
|
9
|
+
setInterval(() => {
|
|
10
|
+
tries = 0;
|
|
11
|
+
}, 500);
|
|
12
|
+
function registerRequire() {
|
|
13
|
+
if (Mod.prototype.require !== globalThis["ogRequire"]) {
|
|
14
|
+
console.warn("didnt unregister before re-registering");
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
const proxyWorm = require("@tamagui/proxy-worm");
|
|
18
|
+
const rnw = require("react-native-web");
|
|
19
|
+
Mod.prototype.require = function(path) {
|
|
20
|
+
var _a, _b, _c;
|
|
21
|
+
if (SHOULD_DEBUG) {
|
|
22
|
+
console.log("tamagui require", path);
|
|
23
|
+
}
|
|
24
|
+
if (path.endsWith(".css")) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
if (path === "@gorhom/bottom-sheet" || path.startsWith("react-native-reanimated") || path === "expo-linear-gradient") {
|
|
28
|
+
return proxyWorm;
|
|
29
|
+
}
|
|
30
|
+
if (path.startsWith("react-native") && !path.startsWith("react-native-web/dist/cjs/exports")) {
|
|
31
|
+
return rnw;
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
const out = og.apply(this, arguments);
|
|
35
|
+
if (!nameToPaths[path]) {
|
|
36
|
+
if (out && typeof out === "object") {
|
|
37
|
+
for (const key in out) {
|
|
38
|
+
try {
|
|
39
|
+
const conf = (_a = out[key]) == null ? void 0 : _a.staticConfig;
|
|
40
|
+
if (conf) {
|
|
41
|
+
if (conf.componentName) {
|
|
42
|
+
(_c = nameToPaths[_b = conf.componentName]) != null ? _c : nameToPaths[_b] = /* @__PURE__ */ new Set();
|
|
43
|
+
const fullName = path.startsWith(".") ? join(`${this.path.replace(/dist(\/cjs)?/, "src")}`, path) : path;
|
|
44
|
+
nameToPaths[conf.componentName].add(fullName);
|
|
45
|
+
} else {
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
} catch {
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return out;
|
|
54
|
+
} catch (err) {
|
|
55
|
+
console.error(`Tamagui failed requiring ${path} from your tamagui.config.ts file, ignoring (set DEBUG=tamagui to see stack)
|
|
56
|
+
`, err.message);
|
|
57
|
+
if (SHOULD_DEBUG) {
|
|
58
|
+
console.log(err.stack);
|
|
59
|
+
}
|
|
60
|
+
if (++tries > 10) {
|
|
61
|
+
process.exit(1);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function unregisterRequire() {
|
|
67
|
+
Mod.prototype.require = og;
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
getNameToPaths,
|
|
71
|
+
registerRequire,
|
|
72
|
+
unregisterRequire
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=require.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/require.ts"],
|
|
4
|
+
"sourcesContent": ["import { join } from 'path'\n\nimport type { StaticConfig } from '@tamagui/core-node'\n\nimport { SHOULD_DEBUG } from './constants'\n\nconst nameToPaths = {}\nconst Mod = require('module')\nconst og = Mod.prototype.require\nglobalThis['ogRequire'] = og\n\nexport const getNameToPaths = () => nameToPaths\n\nlet tries = 0\nsetInterval(() => {\n tries = 0\n}, 500)\n\nexport function registerRequire() {\n if (Mod.prototype.require !== globalThis['ogRequire']) {\n console.warn('didnt unregister before re-registering')\n process.exit(1)\n }\n\n const proxyWorm = require('@tamagui/proxy-worm')\n const rnw = require('react-native-web')\n\n Mod.prototype.require = function (path: string) {\n if (SHOULD_DEBUG) {\n console.log('tamagui require', path)\n }\n if (path.endsWith('.css')) {\n return {}\n }\n if (\n path === '@gorhom/bottom-sheet' ||\n path.startsWith('react-native-reanimated') ||\n path === 'expo-linear-gradient'\n ) {\n return proxyWorm\n }\n if (\n path.startsWith('react-native') &&\n // allow our rnw.tsx imports through\n !path.startsWith('react-native-web/dist/cjs/exports')\n ) {\n return rnw\n // return og('react-native-web')\n }\n try {\n const out = og.apply(this, arguments)\n if (!nameToPaths[path]) {\n if (out && typeof out === 'object') {\n for (const key in out) {\n try {\n const conf = out[key]?.staticConfig as StaticConfig\n if (conf) {\n if (conf.componentName) {\n nameToPaths[conf.componentName] ??= new Set()\n const fullName = path.startsWith('.')\n ? join(`${this.path.replace(/dist(\\/cjs)?/, 'src')}`, path)\n : path\n nameToPaths[conf.componentName].add(fullName)\n } else {\n // console.log('no name component', path)\n }\n }\n } catch {\n // ok\n }\n }\n }\n }\n return out\n } catch (err: any) {\n console.error(\n `Tamagui failed requiring ${path} from your tamagui.config.ts file, ignoring (set DEBUG=tamagui to see stack)\\n`,\n err.message\n )\n if (SHOULD_DEBUG) {\n console.log(err.stack)\n }\n if (++tries > 10) {\n // avoid infinite loops\n process.exit(1)\n }\n }\n }\n}\n\nexport function unregisterRequire() {\n Mod.prototype.require = og\n}\n"],
|
|
5
|
+
"mappings": "AAAA;AAIA;AAEA,MAAM,cAAc,CAAC;AACrB,MAAM,MAAM,QAAQ,QAAQ;AAC5B,MAAM,KAAK,IAAI,UAAU;AACzB,WAAW,eAAe;AAEnB,MAAM,iBAAiB,MAAM;AAEpC,IAAI,QAAQ;AACZ,YAAY,MAAM;AAChB,UAAQ;AACV,GAAG,GAAG;AAEC,2BAA2B;AAChC,MAAI,IAAI,UAAU,YAAY,WAAW,cAAc;AACrD,YAAQ,KAAK,wCAAwC;AACrD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAEA,QAAM,YAAY,QAAQ,qBAAqB;AAC/C,QAAM,MAAM,QAAQ,kBAAkB;AAEtC,MAAI,UAAU,UAAU,SAAU,MAAc;AA3BlD;AA4BI,QAAI,cAAc;AAChB,cAAQ,IAAI,mBAAmB,IAAI;AAAA,IACrC;AACA,QAAI,KAAK,SAAS,MAAM,GAAG;AACzB,aAAO,CAAC;AAAA,IACV;AACA,QACE,SAAS,0BACT,KAAK,WAAW,yBAAyB,KACzC,SAAS,wBACT;AACA,aAAO;AAAA,IACT;AACA,QACE,KAAK,WAAW,cAAc,KAE9B,CAAC,KAAK,WAAW,mCAAmC,GACpD;AACA,aAAO;AAAA,IAET;AACA,QAAI;AACF,YAAM,MAAM,GAAG,MAAM,MAAM,SAAS;AACpC,UAAI,CAAC,YAAY,OAAO;AACtB,YAAI,OAAO,OAAO,QAAQ,UAAU;AAClC,qBAAW,OAAO,KAAK;AACrB,gBAAI;AACF,oBAAM,OAAO,UAAI,SAAJ,mBAAU;AACvB,kBAAI,MAAM;AACR,oBAAI,KAAK,eAAe;AACtB,yCAAY,KAAK,mBAAjB,8BAAoC,oBAAI,IAAI;AAC5C,wBAAM,WAAW,KAAK,WAAW,GAAG,IAChC,KAAK,GAAG,KAAK,KAAK,QAAQ,gBAAgB,KAAK,KAAK,IAAI,IACxD;AACJ,8BAAY,KAAK,eAAe,IAAI,QAAQ;AAAA,gBAC9C,OAAO;AAAA,gBAEP;AAAA,cACF;AAAA,YACF,QAAE;AAAA,YAEF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT,SAAS,KAAP;AACA,cAAQ,MACN,4BAA4B;AAAA,GAC5B,IAAI,OACN;AACA,UAAI,cAAc;AAChB,gBAAQ,IAAI,IAAI,KAAK;AAAA,MACvB;AACA,UAAI,EAAE,QAAQ,IAAI;AAEhB,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AACF;AAEO,6BAA6B;AAClC,MAAI,UAAU,UAAU;AAC1B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/static",
|
|
3
|
-
"version": "1.0.1-beta.
|
|
3
|
+
"version": "1.0.1-beta.105",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -38,12 +38,13 @@
|
|
|
38
38
|
"@babel/parser": "^7.15.7",
|
|
39
39
|
"@babel/traverse": "^7.15.4",
|
|
40
40
|
"@expo/match-media": "^0.3.0",
|
|
41
|
-
"@tamagui/build": "^1.0.1-beta.
|
|
42
|
-
"@tamagui/core-node": "^1.0.1-beta.
|
|
43
|
-
"@tamagui/fake-react-native": "^1.0.1-beta.
|
|
44
|
-
"@tamagui/helpers": "^1.0.1-beta.
|
|
45
|
-
"@tamagui/patch-rnw": "^1.0.1-beta.
|
|
46
|
-
"@tamagui/proxy-worm": "^1.0.1-beta.
|
|
41
|
+
"@tamagui/build": "^1.0.1-beta.105",
|
|
42
|
+
"@tamagui/core-node": "^1.0.1-beta.105",
|
|
43
|
+
"@tamagui/fake-react-native": "^1.0.1-beta.105",
|
|
44
|
+
"@tamagui/helpers": "^1.0.1-beta.105",
|
|
45
|
+
"@tamagui/patch-rnw": "^1.0.1-beta.105",
|
|
46
|
+
"@tamagui/proxy-worm": "^1.0.1-beta.105",
|
|
47
|
+
"@tamagui/shorthands": "^1.0.1-beta.105",
|
|
47
48
|
"babel-literal-to-ast": "^2.1.0",
|
|
48
49
|
"esbuild": "^0.14.48",
|
|
49
50
|
"esbuild-register": "^3.3.2",
|
|
@@ -51,7 +52,7 @@
|
|
|
51
52
|
"fs-extra": "^10.1.0",
|
|
52
53
|
"invariant": "^2.2.4",
|
|
53
54
|
"lodash": "^4.17.21",
|
|
54
|
-
"tamagui": "^1.0.1-beta.
|
|
55
|
+
"tamagui": "^1.0.1-beta.105"
|
|
55
56
|
},
|
|
56
57
|
"devDependencies": {
|
|
57
58
|
"@babel/plugin-syntax-typescript": "^7.14.5",
|
package/src/constants.ts
CHANGED
|
@@ -11,3 +11,5 @@ export const cacheDir = findCacheDir({ name: 'tamagui', create: true })
|
|
|
11
11
|
|
|
12
12
|
export const FAILED_EVAL = Symbol('failed_style_eval')
|
|
13
13
|
export const CONCAT_CLASSNAME_IMPORT = 'concatClassName'
|
|
14
|
+
|
|
15
|
+
export const SHOULD_DEBUG = process.env.DEBUG === '*' || process.env.DEBUG?.startsWith('tamagui')
|
|
@@ -3,7 +3,7 @@ import vm from 'vm'
|
|
|
3
3
|
import generate from '@babel/generator'
|
|
4
4
|
import { NodePath } from '@babel/traverse'
|
|
5
5
|
import * as t from '@babel/types'
|
|
6
|
-
import type { TamaguiConfig } from '@tamagui/core'
|
|
6
|
+
import type { TamaguiConfig } from '@tamagui/core-node'
|
|
7
7
|
import { createCSSVariable } from '@tamagui/core-node'
|
|
8
8
|
import esbuild from 'esbuild'
|
|
9
9
|
|
|
@@ -13,9 +13,7 @@ import {
|
|
|
13
13
|
mediaQueryConfig,
|
|
14
14
|
proxyThemeVariables,
|
|
15
15
|
pseudoDescriptors,
|
|
16
|
-
stylePropsTransform,
|
|
17
16
|
} from '@tamagui/core-node'
|
|
18
|
-
import { difference, pick } from 'lodash'
|
|
19
17
|
import type { ViewStyle } from 'react-native'
|
|
20
18
|
|
|
21
19
|
import { FAILED_EVAL } from '../constants'
|
|
@@ -371,10 +369,8 @@ export function createExtractor() {
|
|
|
371
369
|
}
|
|
372
370
|
|
|
373
371
|
for (const atomic of atomics) {
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
out.rulesToInsert.push([atomic.identifier, rule])
|
|
377
|
-
}
|
|
372
|
+
out.rulesToInsert = out.rulesToInsert || []
|
|
373
|
+
out.rulesToInsert.push(atomic)
|
|
378
374
|
classNames[atomic.property] = atomic.identifier
|
|
379
375
|
}
|
|
380
376
|
|
|
@@ -391,8 +387,8 @@ export function createExtractor() {
|
|
|
391
387
|
}
|
|
392
388
|
|
|
393
389
|
if (out.rulesToInsert) {
|
|
394
|
-
for (const
|
|
395
|
-
onStyleRule?.(identifier,
|
|
390
|
+
for (const { identifier, rules } of out.rulesToInsert) {
|
|
391
|
+
onStyleRule?.(identifier, rules)
|
|
396
392
|
}
|
|
397
393
|
}
|
|
398
394
|
|
|
@@ -1706,22 +1702,6 @@ export function createExtractor() {
|
|
|
1706
1702
|
}
|
|
1707
1703
|
}
|
|
1708
1704
|
|
|
1709
|
-
function omitInvalidStyles(style: any) {
|
|
1710
|
-
if (staticConfig.validStyles) {
|
|
1711
|
-
for (const key in style) {
|
|
1712
|
-
if (
|
|
1713
|
-
stylePropsTransform[key] ||
|
|
1714
|
-
(!staticConfig.validStyles[key] &&
|
|
1715
|
-
!pseudoDescriptors[key] &&
|
|
1716
|
-
!/(hoverStyle|focusStyle|pressStyle)$/.test(key))
|
|
1717
|
-
) {
|
|
1718
|
-
if (shouldPrintDebug) console.log(' delete invalid style', key)
|
|
1719
|
-
delete style[key]
|
|
1720
|
-
}
|
|
1721
|
-
}
|
|
1722
|
-
}
|
|
1723
|
-
}
|
|
1724
|
-
|
|
1725
1705
|
// used to ensure we pass the entire prop bundle to getStyles
|
|
1726
1706
|
const completeStyles = getStyles(completeProps, 'completeStyles')
|
|
1727
1707
|
|
|
@@ -1729,33 +1709,6 @@ export function createExtractor() {
|
|
|
1729
1709
|
throw new Error(`Impossible, no styles`)
|
|
1730
1710
|
}
|
|
1731
1711
|
|
|
1732
|
-
// any extra styles added in postprocess should be added to first group as they wont be overriden
|
|
1733
|
-
const addInitialStyleKeys = shouldFlatten
|
|
1734
|
-
? difference(Object.keys(completeStyles), Object.keys(foundStaticProps))
|
|
1735
|
-
: []
|
|
1736
|
-
|
|
1737
|
-
if (addInitialStyleKeys.length) {
|
|
1738
|
-
const toAdd = pick(completeStyles, ...addInitialStyleKeys)
|
|
1739
|
-
const firstGroup = attrs.find((x) => x.type === 'style')
|
|
1740
|
-
if (shouldPrintDebug) {
|
|
1741
|
-
console.log(' toAdd', objToStr(toAdd))
|
|
1742
|
-
}
|
|
1743
|
-
if (!firstGroup) {
|
|
1744
|
-
attrs.unshift({ type: 'style', value: toAdd })
|
|
1745
|
-
} else {
|
|
1746
|
-
// because were adding fully processed, remove any unprocessed from first group
|
|
1747
|
-
omitInvalidStyles(firstGroup.value)
|
|
1748
|
-
Object.assign(firstGroup.value, toAdd)
|
|
1749
|
-
}
|
|
1750
|
-
}
|
|
1751
|
-
|
|
1752
|
-
if (shouldPrintDebug) {
|
|
1753
|
-
// prettier-ignore
|
|
1754
|
-
if (shouldFlatten) console.log(' -- addInitialStyleKeys', addInitialStyleKeys.join(', '))
|
|
1755
|
-
// prettier-ignore
|
|
1756
|
-
// console.log(' -- completeStyles:\n', logLines(objToStr(completeStyles)))
|
|
1757
|
-
}
|
|
1758
|
-
|
|
1759
1712
|
let getStyleError: any = null
|
|
1760
1713
|
|
|
1761
1714
|
// fix up ternaries, combine final style values
|
|
@@ -1815,15 +1768,6 @@ export function createExtractor() {
|
|
|
1815
1768
|
// map to HTML only name
|
|
1816
1769
|
attr.value.name.name = INLINE_EXTRACTABLE[name]
|
|
1817
1770
|
}
|
|
1818
|
-
|
|
1819
|
-
// if flattening expand turn variants into styles
|
|
1820
|
-
if (staticConfig.variants?.[name]) {
|
|
1821
|
-
const expanded = getStyles({})
|
|
1822
|
-
// attrs[i] = {
|
|
1823
|
-
// type: 'style',
|
|
1824
|
-
// value:
|
|
1825
|
-
// }
|
|
1826
|
-
}
|
|
1827
1771
|
}
|
|
1828
1772
|
}
|
|
1829
1773
|
}
|