@tamagui/static 1.132.16 → 1.132.18
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/extractor/concatClassName.js +69 -0
- package/dist/extractor/concatClassName.js.map +6 -0
- package/dist/extractor/concatClassName.native.js +69 -0
- package/dist/extractor/concatClassName.native.js.map +6 -0
- package/dist/extractor/createEvaluator.js +13 -1
- package/dist/extractor/createEvaluator.js.map +1 -1
- package/dist/extractor/createEvaluator.native.js +6 -1
- package/dist/extractor/createEvaluator.native.js.map +2 -2
- package/dist/extractor/createExtractor.js +60 -114
- package/dist/extractor/createExtractor.js.map +1 -1
- package/dist/extractor/createExtractor.native.js +70 -123
- package/dist/extractor/createExtractor.native.js.map +2 -2
- package/dist/extractor/errors.js +22 -0
- package/dist/extractor/errors.js.map +6 -0
- package/dist/extractor/errors.native.js +119 -0
- package/dist/extractor/errors.native.js.map +6 -0
- package/dist/extractor/extractMediaStyle.js +1 -1
- package/dist/extractor/extractMediaStyle.js.map +1 -1
- package/dist/extractor/extractMediaStyle.native.js +1 -1
- package/dist/extractor/extractMediaStyle.native.js.map +2 -2
- package/dist/extractor/extractToClassNames.js +212 -172
- package/dist/extractor/extractToClassNames.js.map +2 -2
- package/dist/extractor/extractToClassNames.native.js +212 -188
- package/dist/extractor/extractToClassNames.native.js.map +2 -2
- package/dist/extractor/extractToNative.js +47 -78
- package/dist/extractor/extractToNative.js.map +1 -1
- package/dist/extractor/extractToNative.native.js +23 -39
- package/dist/extractor/extractToNative.native.js.map +2 -2
- package/dist/extractor/normalizeTernaries.js +5 -3
- package/dist/extractor/normalizeTernaries.js.map +1 -1
- package/dist/extractor/normalizeTernaries.native.js +5 -3
- package/dist/extractor/normalizeTernaries.native.js.map +2 -2
- package/dist/extractor/propsToFontFamilyCache.js +7 -8
- package/dist/extractor/propsToFontFamilyCache.js.map +1 -1
- package/dist/extractor/propsToFontFamilyCache.native.js +9 -10
- package/dist/extractor/propsToFontFamilyCache.native.js.map +2 -2
- package/dist/registerRequire.js +1 -1
- package/dist/registerRequire.js.map +1 -1
- package/dist/registerRequire.native.js +1 -1
- package/dist/registerRequire.native.js.map +1 -1
- package/dist/types.native.js.map +1 -1
- package/package.json +15 -15
- package/src/extractor/concatClassName.ts +100 -0
- package/src/extractor/createEvaluator.ts +26 -1
- package/src/extractor/createExtractor.ts +108 -194
- package/src/extractor/errors.ts +1 -0
- package/src/extractor/extractMediaStyle.ts +1 -1
- package/src/extractor/extractToClassNames.ts +377 -264
- package/src/extractor/extractToNative.ts +68 -111
- package/src/extractor/normalizeTernaries.ts +10 -3
- package/src/extractor/propsToFontFamilyCache.ts +5 -5
- package/src/registerRequire.ts +1 -1
- package/src/types.ts +10 -13
- package/types/extractor/concatClassName.d.ts +8 -0
- package/types/extractor/concatClassName.d.ts.map +1 -0
- package/types/extractor/createEvaluator.d.ts.map +1 -1
- package/types/extractor/createExtractor.d.ts.map +1 -1
- package/types/extractor/errors.d.ts +3 -0
- package/types/extractor/errors.d.ts.map +1 -0
- package/types/extractor/extractToClassNames.d.ts.map +1 -1
- package/types/extractor/extractToNative.d.ts.map +1 -1
- package/types/extractor/normalizeTernaries.d.ts.map +1 -1
- package/types/extractor/propsToFontFamilyCache.d.ts +2 -2
- package/types/extractor/propsToFontFamilyCache.d.ts.map +1 -1
- package/types/types.d.ts +9 -10
- package/types/types.d.ts.map +1 -1
- package/dist/extractor/buildClassName.js +0 -72
- package/dist/extractor/buildClassName.js.map +0 -6
- package/dist/extractor/buildClassName.native.js +0 -67
- package/dist/extractor/buildClassName.native.js.map +0 -6
- package/dist/extractor/ensureImportingConcat.js +0 -50
- package/dist/extractor/ensureImportingConcat.js.map +0 -6
- package/dist/extractor/ensureImportingConcat.native.js +0 -49
- package/dist/extractor/ensureImportingConcat.native.js.map +0 -6
- package/dist/extractor/hoistClassNames.js +0 -63
- package/dist/extractor/hoistClassNames.js.map +0 -6
- package/dist/extractor/hoistClassNames.native.js +0 -66
- package/dist/extractor/hoistClassNames.native.js.map +0 -6
- package/src/extractor/buildClassName.ts +0 -76
- package/src/extractor/ensureImportingConcat.ts +0 -36
- package/src/extractor/hoistClassNames.ts +0 -52
- package/types/extractor/buildClassName.d.ts +0 -7
- package/types/extractor/buildClassName.d.ts.map +0 -1
- package/types/extractor/ensureImportingConcat.d.ts +0 -4
- package/types/extractor/ensureImportingConcat.d.ts.map +0 -1
- package/types/extractor/hoistClassNames.d.ts +0 -6
- package/types/extractor/hoistClassNames.d.ts.map +0 -1
@@ -25,13 +25,9 @@ __export(extractToClassNames_exports, {
|
|
25
25
|
extractToClassNames: () => extractToClassNames
|
26
26
|
});
|
27
27
|
module.exports = __toCommonJS(extractToClassNames_exports);
|
28
|
-
var
|
29
|
-
const
|
30
|
-
|
31
|
-
shadowRadius: !0,
|
32
|
-
shadowColor: !0,
|
33
|
-
shadowOffset: !0
|
34
|
-
};
|
28
|
+
var import_generator = __toESM(require("@babel/generator")), t = __toESM(require("@babel/types")), import_web = require("@tamagui/web"), path = __toESM(require("node:path")), util = __toESM(require("node:util")), import_requireTamaguiCore = require("../helpers/requireTamaguiCore"), import_babelParse = require("./babelParse"), import_createLogger = require("./createLogger"), import_extractMediaStyle = require("./extractMediaStyle"), import_normalizeTernaries = require("./normalizeTernaries"), import_propsToFontFamilyCache = require("./propsToFontFamilyCache"), import_timer = require("./timer"), import_errors = require("./errors"), import_concatClassName = require("./concatClassName");
|
29
|
+
const remove = () => {
|
30
|
+
}, spaceString = t.stringLiteral(" ");
|
35
31
|
async function extractToClassNames({
|
36
32
|
extractor,
|
37
33
|
source,
|
@@ -39,7 +35,7 @@ async function extractToClassNames({
|
|
39
35
|
options,
|
40
36
|
shouldPrintDebug
|
41
37
|
}) {
|
42
|
-
const tm = (0, import_timer.timer)(), { getCSSStylesAtomic } = (0, import_requireTamaguiCore.requireTamaguiCore)("web");
|
38
|
+
const tm = (0, import_timer.timer)(), { getCSSStylesAtomic, createMediaStyle } = (0, import_requireTamaguiCore.requireTamaguiCore)("web");
|
43
39
|
if (sourcePath.includes("node_modules"))
|
44
40
|
return null;
|
45
41
|
if (shouldPrintDebug && console.warn(`--- ${sourcePath} ---
|
@@ -59,19 +55,17 @@ async function extractToClassNames({
|
|
59
55
|
throw console.error("babel parse error:", sourcePath.slice(0, 100)), err;
|
60
56
|
}
|
61
57
|
tm.mark("babel-parse", shouldPrintDebug === "verbose");
|
62
|
-
const cssMap = /* @__PURE__ */ new Map(),
|
63
|
-
let hasFlattened = !1;
|
64
|
-
const res = await extractor.parse(ast, {
|
58
|
+
const cssMap = /* @__PURE__ */ new Map(), tamaguiConfig = extractor.getTamagui(), res = await extractor.parse(ast, {
|
65
59
|
shouldPrintDebug,
|
66
60
|
...options,
|
67
61
|
platform: "web",
|
68
62
|
sourcePath,
|
69
63
|
extractStyledDefinitions: !0,
|
70
|
-
|
64
|
+
onStyledDefinitionRule(identifier, rules) {
|
71
65
|
const css = rules.join(";");
|
72
66
|
shouldPrintDebug && console.info(`adding styled() rule: .${identifier} ${css}`), cssMap.set(`.${identifier}`, { css, commentTexts: [] });
|
73
67
|
},
|
74
|
-
getFlattenedNode: ({ tag }) =>
|
68
|
+
getFlattenedNode: ({ tag }) => tag,
|
75
69
|
onExtractTag: ({
|
76
70
|
parserProps,
|
77
71
|
attrs,
|
@@ -81,178 +75,197 @@ async function extractToClassNames({
|
|
81
75
|
originalNodeName,
|
82
76
|
filePath,
|
83
77
|
lineNumbers,
|
84
|
-
programPath,
|
85
|
-
isFlattened,
|
86
78
|
staticConfig
|
87
79
|
}) => {
|
88
|
-
if (staticConfig.acceptsClassName === !1)
|
89
|
-
|
90
|
-
return;
|
91
|
-
}
|
92
|
-
const didFlattenThisTag = hasFlattened;
|
93
|
-
hasFlattened = !1;
|
94
|
-
let finalClassNames = [];
|
80
|
+
if (staticConfig.acceptsClassName === !1)
|
81
|
+
throw new import_errors.BailOptimizationError();
|
95
82
|
const finalAttrs = [];
|
96
|
-
let
|
97
|
-
for (const attr of attrs)
|
98
|
-
attr.type === "style" && (viewStyles = {
|
99
|
-
...viewStyles,
|
100
|
-
...attr.value
|
101
|
-
});
|
102
|
-
const ensureNeededPrevStyle = (style) => {
|
103
|
-
if (!Object.keys(style).some((key) => mergeStyleGroups[key]))
|
104
|
-
return style;
|
105
|
-
for (const k in mergeStyleGroups)
|
106
|
-
k in viewStyles && (style[k] = style[k] ?? viewStyles[k]);
|
107
|
-
return style;
|
108
|
-
}, addStyles = (style) => {
|
109
|
-
if (!style) return [];
|
110
|
-
const styleWithPrev = ensureNeededPrevStyle(style), res2 = getCSSStylesAtomic(styleWithPrev);
|
111
|
-
return res2.length && (finalStyles = [...finalStyles, ...res2]), res2;
|
112
|
-
};
|
113
|
-
let lastMediaImportance = 1;
|
114
|
-
for (const attr of attrs)
|
115
|
-
switch (attr.type) {
|
116
|
-
case "style": {
|
117
|
-
if (isFlattened) {
|
118
|
-
const styles2 = addStyles(attr.value), newFontFamily = (0, import_propsToFontFamilyCache.getFontFamilyClassNameFromProps)(attr.value) || "", newClassNames = helpers.concatClassName(
|
119
|
-
styles2.map((x) => x[helpers.StyleObjectIdentifier]).join(" ") + newFontFamily
|
120
|
-
), existing = finalClassNames.find(
|
121
|
-
(x) => x.type == "StringLiteral"
|
122
|
-
);
|
123
|
-
if (existing) {
|
124
|
-
let previous = existing.value;
|
125
|
-
newFontFamily && (shouldPrintDebug && console.info(` newFontFamily: ${newFontFamily}`), previous = previous.replace(/font_[a-z]+/i, "")), existing.value = `${previous} ${newClassNames}`;
|
126
|
-
} else
|
127
|
-
finalClassNames = [...finalClassNames, t.stringLiteral(newClassNames)];
|
128
|
-
} else {
|
129
|
-
const styles2 = getCSSStylesAtomic(attr.value);
|
130
|
-
finalStyles = [...finalStyles, ...styles2];
|
131
|
-
for (const style of styles2) {
|
132
|
-
const prop = style[helpers.StyleObjectPseudo] ? `${style[helpers.StyleObjectProperty]}-${style[helpers.StyleObjectPseudo]}` : style[helpers.StyleObjectProperty];
|
133
|
-
finalAttrs.push(
|
134
|
-
t.jsxAttribute(
|
135
|
-
t.jsxIdentifier(prop),
|
136
|
-
t.stringLiteral(style[helpers.StyleObjectIdentifier])
|
137
|
-
)
|
138
|
-
);
|
139
|
-
}
|
140
|
-
}
|
141
|
-
break;
|
142
|
-
}
|
143
|
-
case "attr": {
|
144
|
-
const val = attr.value;
|
145
|
-
if (t.isJSXSpreadAttribute(val))
|
146
|
-
(0, import_extractHelpers.isSimpleSpread)(val) && finalClassNames.push(
|
147
|
-
t.logicalExpression(
|
148
|
-
"&&",
|
149
|
-
val.argument,
|
150
|
-
t.memberExpression(val.argument, t.identifier("className"))
|
151
|
-
)
|
152
|
-
);
|
153
|
-
else if (val.name.name === "className") {
|
154
|
-
const value = val.value;
|
155
|
-
if (value)
|
156
|
-
try {
|
157
|
-
const evaluatedValue = attemptEval(value);
|
158
|
-
finalClassNames.push(t.stringLiteral(evaluatedValue));
|
159
|
-
} catch {
|
160
|
-
finalClassNames.push(value.expression);
|
161
|
-
}
|
162
|
-
continue;
|
163
|
-
}
|
164
|
-
finalAttrs.push(val);
|
165
|
-
break;
|
166
|
-
}
|
167
|
-
case "ternary": {
|
168
|
-
const mediaExtraction = (0, import_extractMediaStyle.extractMediaStyle)(
|
169
|
-
parserProps,
|
170
|
-
attr.value,
|
171
|
-
jsxPath,
|
172
|
-
extractor.getTamagui(),
|
173
|
-
sourcePath || "",
|
174
|
-
lastMediaImportance,
|
175
|
-
shouldPrintDebug
|
176
|
-
);
|
177
|
-
if (shouldPrintDebug && mediaExtraction && console.info(
|
178
|
-
"ternary (mediaStyles)",
|
179
|
-
mediaExtraction.ternaryWithoutMedia?.inlineMediaQuery ?? "",
|
180
|
-
mediaExtraction.mediaStyles.map((x) => x[helpers.StyleObjectIdentifier]).join(".")
|
181
|
-
), !mediaExtraction) {
|
182
|
-
shouldPrintDebug && mediaExtraction && console.info("add ternary"), addTernaryStyle(
|
183
|
-
attr.value,
|
184
|
-
addStyles(attr.value.consequent),
|
185
|
-
addStyles(attr.value.alternate)
|
186
|
-
);
|
187
|
-
continue;
|
188
|
-
}
|
189
|
-
lastMediaImportance++, mediaExtraction.mediaStyles && (finalStyles = [...finalStyles, ...mediaExtraction.mediaStyles]), mediaExtraction.ternaryWithoutMedia ? addTernaryStyle(
|
190
|
-
mediaExtraction.ternaryWithoutMedia,
|
191
|
-
mediaExtraction.mediaStyles,
|
192
|
-
[]
|
193
|
-
) : finalClassNames = [
|
194
|
-
...finalClassNames,
|
195
|
-
...mediaExtraction.mediaStyles.map(
|
196
|
-
(x) => t.stringLiteral(x[helpers.StyleObjectIdentifier])
|
197
|
-
)
|
198
|
-
];
|
199
|
-
break;
|
200
|
-
}
|
201
|
-
}
|
202
|
-
function addTernaryStyle(ternary, a, b) {
|
203
|
-
const cCN = a.map((x) => x[helpers.StyleObjectIdentifier]).join(" "), aCN = b.map((x) => x[helpers.StyleObjectIdentifier]).join(" ");
|
204
|
-
a.length && b.length ? finalClassNames.push(
|
205
|
-
t.conditionalExpression(
|
206
|
-
ternary.test,
|
207
|
-
t.stringLiteral(cCN),
|
208
|
-
t.stringLiteral(aCN)
|
209
|
-
)
|
210
|
-
) : finalClassNames.push(
|
211
|
-
t.conditionalExpression(
|
212
|
-
ternary.test,
|
213
|
-
t.stringLiteral(" " + cCN),
|
214
|
-
t.stringLiteral(" " + aCN)
|
215
|
-
)
|
216
|
-
);
|
217
|
-
}
|
218
|
-
if (shouldPrintDebug === "verbose" && console.info(` finalClassNames AST
|
219
|
-
`, JSON.stringify(finalClassNames, null, 2)), node.attributes = finalAttrs, finalClassNames.length) {
|
220
|
-
const extraClassNames = (() => {
|
221
|
-
let value = "";
|
222
|
-
return isFlattened && (process.env.TAMAGUI_DEBUG_OPTIMIZATIONS && (value += "is_tamagui_flattened"), staticConfig.componentName && (value += ` is_${staticConfig.componentName}`)), value;
|
223
|
-
})(), names = (0, import_buildClassName.buildClassName)(finalClassNames, extraClassNames), nameExpr = names ? (0, import_hoistClassNames.hoistClassNames)(jsxPath, existingHoists, names) : null;
|
224
|
-
let expr = nameExpr;
|
225
|
-
if (nameExpr && !t.isIdentifier(nameExpr) && didFlattenThisTag) {
|
226
|
-
(0, import_ensureImportingConcat.ensureImportingConcat)(programPath);
|
227
|
-
const simpleSpreads = attrs.filter((x) => x.type === "attr" && t.isJSXSpreadAttribute(x.value) && (0, import_extractHelpers.isSimpleSpread)(x.value));
|
228
|
-
expr = t.callExpression(t.identifier("concatClassName"), [
|
229
|
-
expr,
|
230
|
-
...simpleSpreads.map((val) => val.value.argument)
|
231
|
-
]);
|
232
|
-
}
|
233
|
-
node.attributes.push(
|
234
|
-
t.jsxAttribute(t.jsxIdentifier("className"), t.jsxExpressionContainer(expr))
|
235
|
-
);
|
236
|
-
}
|
83
|
+
let mergeForwardBaseStyle = null, attrClassName = null, baseFontFamily = "", mediaStylesSeen = 1;
|
237
84
|
const comment = util.format(
|
238
85
|
"/* %s:%s (%s) */",
|
239
86
|
filePath,
|
240
87
|
lineNumbers,
|
241
88
|
originalNodeName
|
242
89
|
);
|
243
|
-
|
244
|
-
const identifier =
|
245
|
-
|
246
|
-
if (comment) {
|
247
|
-
const val = cssMap.get(className);
|
248
|
-
val.commentTexts.push(comment), cssMap.set(className, val);
|
249
|
-
}
|
250
|
-
} else rules.length && cssMap.set(className, {
|
90
|
+
function addStyle(style) {
|
91
|
+
const identifier = style[import_web.StyleObjectIdentifier], rules = style[import_web.StyleObjectRules], selector = `.${identifier}`;
|
92
|
+
return cssMap.has(selector) ? cssMap.get(selector).commentTexts.push(comment) : rules.length && cssMap.set(selector, {
|
251
93
|
css: rules.join(`
|
252
94
|
`),
|
253
95
|
commentTexts: [comment]
|
254
|
-
});
|
96
|
+
}), identifier;
|
97
|
+
}
|
98
|
+
function addStyles(style) {
|
99
|
+
const cssStyles = getCSSStylesAtomic(style), classNames = [];
|
100
|
+
for (const style2 of cssStyles) {
|
101
|
+
const mediaName = style2[0].slice(1);
|
102
|
+
if (tamaguiConfig.media[mediaName]) {
|
103
|
+
const mediaStyle = createMediaStyle(
|
104
|
+
style2,
|
105
|
+
mediaName,
|
106
|
+
extractor.getTamagui().media,
|
107
|
+
!0,
|
108
|
+
!1,
|
109
|
+
mediaStylesSeen
|
110
|
+
), identifier2 = addStyle(mediaStyle);
|
111
|
+
classNames.push(identifier2);
|
112
|
+
continue;
|
113
|
+
}
|
114
|
+
const identifier = addStyle(style2);
|
115
|
+
classNames.push(identifier);
|
116
|
+
}
|
117
|
+
return classNames;
|
255
118
|
}
|
119
|
+
const onlyTernaries = attrs.flatMap((attr) => {
|
120
|
+
if (attr.type === "attr") {
|
121
|
+
const value = attr.value;
|
122
|
+
if (t.isJSXSpreadAttribute(value))
|
123
|
+
return console.error("Should never happen"), [];
|
124
|
+
if (value.name.name === "className") {
|
125
|
+
let inner = value.value;
|
126
|
+
t.isJSXExpressionContainer(inner) && (inner = inner.expression);
|
127
|
+
try {
|
128
|
+
const evaluatedValue = inner ? attemptEval(inner) : null;
|
129
|
+
typeof evaluatedValue == "string" && (attrClassName = t.stringLiteral(evaluatedValue));
|
130
|
+
} catch {
|
131
|
+
inner && (attrClassName ||= inner);
|
132
|
+
}
|
133
|
+
return [];
|
134
|
+
}
|
135
|
+
return finalAttrs.push(value), [];
|
136
|
+
}
|
137
|
+
if (attr.type === "style")
|
138
|
+
return mergeForwardBaseStyle = (0, import_web.mergeProps)(mergeForwardBaseStyle || {}, attr.value), baseFontFamily = (0, import_propsToFontFamilyCache.getFontFamilyNameFromProps)(attr.value) || "", [];
|
139
|
+
let ternary = attr.value;
|
140
|
+
if (ternary.inlineMediaQuery) {
|
141
|
+
const mediaExtraction = (0, import_extractMediaStyle.extractMediaStyle)(
|
142
|
+
parserProps,
|
143
|
+
attr.value,
|
144
|
+
jsxPath,
|
145
|
+
extractor.getTamagui(),
|
146
|
+
sourcePath || "",
|
147
|
+
mediaStylesSeen++,
|
148
|
+
shouldPrintDebug
|
149
|
+
);
|
150
|
+
if (mediaExtraction)
|
151
|
+
if (mediaExtraction.mediaStyles && (mergeForwardBaseStyle = (0, import_web.mergeProps)(mergeForwardBaseStyle || {}, {
|
152
|
+
[`$${ternary.inlineMediaQuery}`]: attr.value.consequent
|
153
|
+
})), mediaExtraction.ternaryWithoutMedia)
|
154
|
+
ternary = mediaExtraction.ternaryWithoutMedia;
|
155
|
+
else
|
156
|
+
return [];
|
157
|
+
}
|
158
|
+
let mergedAlternate, mergedConsequent;
|
159
|
+
return ternary.alternate && Object.keys(ternary.alternate).length && (mergedAlternate = (0, import_web.mergeProps)(
|
160
|
+
mergeForwardBaseStyle || {},
|
161
|
+
ternary.alternate || {}
|
162
|
+
), (0, import_propsToFontFamilyCache.forwardFontFamilyName)(ternary.alternate, mergedAlternate, baseFontFamily)), ternary.consequent && Object.keys(ternary.consequent).length && (mergedConsequent = (0, import_web.mergeProps)(
|
163
|
+
mergeForwardBaseStyle || {},
|
164
|
+
ternary.consequent || {}
|
165
|
+
), (0, import_propsToFontFamilyCache.forwardFontFamilyName)(ternary.consequent, mergedConsequent, baseFontFamily)), {
|
166
|
+
...ternary,
|
167
|
+
alternate: mergedAlternate,
|
168
|
+
consequent: mergedConsequent
|
169
|
+
};
|
170
|
+
}), hasTernaries = !!onlyTernaries.length, baseClassNames = mergeForwardBaseStyle ? addStyles(mergeForwardBaseStyle) : null;
|
171
|
+
let baseClassNameStr = baseClassNames ? baseClassNames.join(" ") : "";
|
172
|
+
!hasTernaries && baseFontFamily && (baseClassNameStr = `font_${baseFontFamily}${baseClassNameStr ? ` ${baseClassNameStr}` : ""}`);
|
173
|
+
let base = staticConfig.componentName ? t.stringLiteral(
|
174
|
+
`is_${staticConfig.componentName}${baseClassNameStr ? ` ${baseClassNameStr}` : ""}`
|
175
|
+
) : t.stringLiteral(baseClassNameStr || "");
|
176
|
+
attrClassName = attrClassName;
|
177
|
+
const baseClassNameExpression = attrClassName ? t.isStringLiteral(attrClassName) ? t.stringLiteral(
|
178
|
+
base.value ? `${base.value} ${attrClassName.value}` : attrClassName.value
|
179
|
+
) : t.conditionalExpression(
|
180
|
+
attrClassName,
|
181
|
+
t.binaryExpression("+", attrClassName, spaceString),
|
182
|
+
base
|
183
|
+
) : base, expandedTernaries = [];
|
184
|
+
if (onlyTernaries.length) {
|
185
|
+
const normalizedTernaries = (0, import_normalizeTernaries.normalizeTernaries)(onlyTernaries);
|
186
|
+
for (const ternary of normalizedTernaries) {
|
187
|
+
if (!expandedTernaries.length) {
|
188
|
+
expandTernary(ternary);
|
189
|
+
continue;
|
190
|
+
}
|
191
|
+
for (const prev of [...expandedTernaries])
|
192
|
+
expandTernary(ternary, prev);
|
193
|
+
}
|
194
|
+
}
|
195
|
+
function expandTernary(ternary, prev) {
|
196
|
+
if (ternary.consequent && Object.keys(ternary.consequent).length) {
|
197
|
+
const fontFamily = (0, import_propsToFontFamilyCache.getFontFamilyNameFromProps)(ternary.consequent);
|
198
|
+
expandedTernaries.push({
|
199
|
+
fontFamily,
|
200
|
+
// prevTest && test: merge consequent
|
201
|
+
test: prev ? t.logicalExpression("&&", prev.test, ternary.test) : ternary.test,
|
202
|
+
consequent: prev ? (0, import_web.mergeProps)(prev.consequent, ternary.consequent) : ternary.consequent,
|
203
|
+
remove,
|
204
|
+
alternate: null
|
205
|
+
}), prev && expandedTernaries.push({
|
206
|
+
fontFamily,
|
207
|
+
// !prevTest && test: just consequent
|
208
|
+
test: t.logicalExpression(
|
209
|
+
"&&",
|
210
|
+
t.unaryExpression("!", prev.test),
|
211
|
+
ternary.test
|
212
|
+
),
|
213
|
+
consequent: ternary.consequent,
|
214
|
+
alternate: null,
|
215
|
+
remove
|
216
|
+
});
|
217
|
+
}
|
218
|
+
if (ternary.alternate && Object.keys(ternary.alternate).length) {
|
219
|
+
const fontFamily = (0, import_propsToFontFamilyCache.getFontFamilyNameFromProps)(ternary.alternate), negated = t.unaryExpression("!", ternary.test);
|
220
|
+
expandedTernaries.push({
|
221
|
+
fontFamily,
|
222
|
+
// prevTest && !test: merge alternate
|
223
|
+
test: prev ? t.logicalExpression("&&", prev.test, negated) : negated,
|
224
|
+
consequent: prev ? (0, import_web.mergeProps)(prev.alternate, ternary.alternate) : ternary.alternate,
|
225
|
+
remove,
|
226
|
+
alternate: null
|
227
|
+
}), prev && expandedTernaries.push({
|
228
|
+
fontFamily,
|
229
|
+
test: t.logicalExpression(
|
230
|
+
"&&",
|
231
|
+
t.unaryExpression("!", prev.test),
|
232
|
+
ternary.test
|
233
|
+
),
|
234
|
+
consequent: ternary.alternate,
|
235
|
+
remove,
|
236
|
+
alternate: null
|
237
|
+
});
|
238
|
+
}
|
239
|
+
}
|
240
|
+
let ternaryClassNameExpr = null;
|
241
|
+
if (hasTernaries)
|
242
|
+
for (const ternary of expandedTernaries) {
|
243
|
+
if (!ternary.consequent) continue;
|
244
|
+
const classNames = addStyles(ternary.consequent);
|
245
|
+
ternary.fontFamily && classNames.unshift(`font_${ternary.fontFamily}`);
|
246
|
+
const baseString = t.isStringLiteral(baseClassNameExpression) ? baseClassNameExpression.value : "", fullClassName = (0, import_concatClassName.concatClassName)(
|
247
|
+
(baseString ? `${baseString} ` : "") + classNames.join(" ")
|
248
|
+
), classNameLiteral = t.stringLiteral(fullClassName);
|
249
|
+
ternaryClassNameExpr ? ternaryClassNameExpr = t.conditionalExpression(
|
250
|
+
ternary.test,
|
251
|
+
classNameLiteral,
|
252
|
+
ternaryClassNameExpr
|
253
|
+
) : ternaryClassNameExpr = t.conditionalExpression(
|
254
|
+
ternary.test,
|
255
|
+
classNameLiteral,
|
256
|
+
baseClassNameExpression
|
257
|
+
);
|
258
|
+
}
|
259
|
+
let finalExpression = ternaryClassNameExpr || baseClassNameExpression || null;
|
260
|
+
if (finalExpression) {
|
261
|
+
finalExpression = hoistClassNames(jsxPath, finalExpression);
|
262
|
+
const classNameProp = t.jsxAttribute(
|
263
|
+
t.jsxIdentifier("className"),
|
264
|
+
t.jsxExpressionContainer(finalExpression)
|
265
|
+
);
|
266
|
+
finalAttrs.unshift(classNameProp);
|
267
|
+
}
|
268
|
+
node.attributes = finalAttrs;
|
256
269
|
}
|
257
270
|
});
|
258
271
|
if (!res || !res.modified && !res.optimized && !res.flattened && !res.styled)
|
@@ -288,4 +301,31 @@ async function extractToClassNames({
|
|
288
301
|
map: result.map
|
289
302
|
};
|
290
303
|
}
|
304
|
+
function hoistClassNames(path2, expr) {
|
305
|
+
if (t.isStringLiteral(expr))
|
306
|
+
return hoistClassName(path2, expr.value);
|
307
|
+
if (t.isLogicalExpression(expr)) {
|
308
|
+
const left = t.isStringLiteral(expr.left) ? hoistClassName(path2, expr.left.value) : expr.left, right = t.isStringLiteral(expr.right) ? hoistClassName(path2, expr.right.value) : hoistClassNames(path2, expr.right);
|
309
|
+
return t.logicalExpression(expr.operator, left, right);
|
310
|
+
}
|
311
|
+
if (t.isConditionalExpression(expr)) {
|
312
|
+
const cons = t.isStringLiteral(expr.consequent) ? hoistClassName(path2, expr.consequent.value) : hoistClassNames(path2, expr.consequent), alt = t.isStringLiteral(expr.alternate) ? hoistClassName(path2, expr.alternate.value) : hoistClassNames(path2, expr.alternate);
|
313
|
+
return t.conditionalExpression(expr.test, cons, alt);
|
314
|
+
}
|
315
|
+
return expr;
|
316
|
+
}
|
317
|
+
function hoistClassName(path2, str) {
|
318
|
+
const uid = path2.scope.generateUidIdentifier("cn"), parent = path2.findParent((path3) => path3.isProgram());
|
319
|
+
if (!parent) throw new Error("no program?");
|
320
|
+
const variable = t.variableDeclaration("const", [
|
321
|
+
t.variableDeclarator(uid, t.stringLiteral(cleanupClassName(str)))
|
322
|
+
]);
|
323
|
+
return parent.unshiftContainer("body", variable), uid;
|
324
|
+
}
|
325
|
+
function cleanupClassName(inStr) {
|
326
|
+
const out = /* @__PURE__ */ new Set();
|
327
|
+
for (const part of inStr.split(" "))
|
328
|
+
part !== " " && part !== "font_" && out.add(part);
|
329
|
+
return [...out].join(" ") + " ";
|
330
|
+
}
|
291
331
|
//# sourceMappingURL=extractToClassNames.js.map
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../src/extractor/extractToClassNames.ts"],
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
5
|
-
"names": ["
|
4
|
+
"mappings": "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",
|
5
|
+
"names": ["style", "identifier", "generate", "path"]
|
6
6
|
}
|