@tamagui/static 1.132.14 → 1.132.16-1754534218765

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 (60) hide show
  1. package/dist/extractor/createExtractor.js +44 -107
  2. package/dist/extractor/createExtractor.js.map +1 -1
  3. package/dist/extractor/createExtractor.native.js +52 -112
  4. package/dist/extractor/createExtractor.native.js.map +2 -2
  5. package/dist/extractor/extractMediaStyle.js +1 -1
  6. package/dist/extractor/extractMediaStyle.js.map +1 -1
  7. package/dist/extractor/extractMediaStyle.native.js +1 -1
  8. package/dist/extractor/extractMediaStyle.native.js.map +2 -2
  9. package/dist/extractor/extractToClassNames.js +184 -168
  10. package/dist/extractor/extractToClassNames.js.map +2 -2
  11. package/dist/extractor/extractToClassNames.native.js +185 -186
  12. package/dist/extractor/extractToClassNames.native.js.map +2 -2
  13. package/dist/extractor/extractToNative.js +47 -78
  14. package/dist/extractor/extractToNative.js.map +1 -1
  15. package/dist/extractor/extractToNative.native.js +23 -39
  16. package/dist/extractor/extractToNative.native.js.map +2 -2
  17. package/dist/extractor/normalizeTernaries.js +5 -2
  18. package/dist/extractor/normalizeTernaries.js.map +1 -1
  19. package/dist/extractor/normalizeTernaries.native.js +2 -2
  20. package/dist/extractor/normalizeTernaries.native.js.map +2 -2
  21. package/dist/registerRequire.js +1 -1
  22. package/dist/registerRequire.js.map +1 -1
  23. package/dist/registerRequire.native.js +1 -1
  24. package/dist/registerRequire.native.js.map +1 -1
  25. package/dist/types.native.js.map +1 -1
  26. package/package.json +15 -15
  27. package/src/extractor/createExtractor.ts +74 -172
  28. package/src/extractor/extractMediaStyle.ts +1 -1
  29. package/src/extractor/extractToClassNames.ts +334 -260
  30. package/src/extractor/extractToNative.ts +68 -111
  31. package/src/extractor/normalizeTernaries.ts +7 -3
  32. package/src/registerRequire.ts +1 -1
  33. package/src/types.ts +9 -13
  34. package/types/extractor/createExtractor.d.ts.map +1 -1
  35. package/types/extractor/extractToClassNames.d.ts.map +1 -1
  36. package/types/extractor/extractToNative.d.ts.map +1 -1
  37. package/types/extractor/normalizeTernaries.d.ts.map +1 -1
  38. package/types/types.d.ts +8 -10
  39. package/types/types.d.ts.map +1 -1
  40. package/dist/extractor/buildClassName.js +0 -72
  41. package/dist/extractor/buildClassName.js.map +0 -6
  42. package/dist/extractor/buildClassName.native.js +0 -67
  43. package/dist/extractor/buildClassName.native.js.map +0 -6
  44. package/dist/extractor/ensureImportingConcat.js +0 -50
  45. package/dist/extractor/ensureImportingConcat.js.map +0 -6
  46. package/dist/extractor/ensureImportingConcat.native.js +0 -49
  47. package/dist/extractor/ensureImportingConcat.native.js.map +0 -6
  48. package/dist/extractor/hoistClassNames.js +0 -63
  49. package/dist/extractor/hoistClassNames.js.map +0 -6
  50. package/dist/extractor/hoistClassNames.native.js +0 -66
  51. package/dist/extractor/hoistClassNames.native.js.map +0 -6
  52. package/src/extractor/buildClassName.ts +0 -76
  53. package/src/extractor/ensureImportingConcat.ts +0 -36
  54. package/src/extractor/hoistClassNames.ts +0 -52
  55. package/types/extractor/buildClassName.d.ts +0 -7
  56. package/types/extractor/buildClassName.d.ts.map +0 -1
  57. package/types/extractor/ensureImportingConcat.d.ts +0 -4
  58. package/types/extractor/ensureImportingConcat.d.ts.map +0 -1
  59. package/types/extractor/hoistClassNames.d.ts +0 -6
  60. 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 path = __toESM(require("node:path")), util = __toESM(require("node:util")), import_generator = __toESM(require("@babel/generator")), t = __toESM(require("@babel/types")), helpers = __toESM(require("@tamagui/helpers")), import_requireTamaguiCore = require("../helpers/requireTamaguiCore"), import_babelParse = require("./babelParse"), import_buildClassName = require("./buildClassName"), import_createLogger = require("./createLogger"), import_ensureImportingConcat = require("./ensureImportingConcat"), import_extractHelpers = require("./extractHelpers"), import_extractMediaStyle = require("./extractMediaStyle"), import_hoistClassNames = require("./hoistClassNames"), import_propsToFontFamilyCache = require("./propsToFontFamilyCache"), import_timer = require("./timer");
29
- const mergeStyleGroups = {
30
- shadowOpacity: !0,
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");
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, mergeProps, 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(), existingHoists = {};
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
- onStyleRule(identifier, rules) {
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 }) => (hasFlattened = !0, tag),
68
+ getFlattenedNode: ({ tag }) => tag,
75
69
  onExtractTag: ({
76
70
  parserProps,
77
71
  attrs,
@@ -81,178 +75,178 @@ async function extractToClassNames({
81
75
  originalNodeName,
82
76
  filePath,
83
77
  lineNumbers,
84
- programPath,
85
- isFlattened,
86
78
  staticConfig
87
79
  }) => {
88
80
  if (staticConfig.acceptsClassName === !1) {
89
81
  shouldPrintDebug && console.info("bail, acceptsClassName is false");
90
82
  return;
91
83
  }
92
- const didFlattenThisTag = hasFlattened;
93
- hasFlattened = !1;
94
- let finalClassNames = [];
95
84
  const finalAttrs = [];
96
- let finalStyles = [], viewStyles = {};
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
- }
85
+ let mergeForwardBaseStyle = null, attrClassName = null, baseFontFamily = "", mediaStylesSeen = 1;
237
86
  const comment = util.format(
238
87
  "/* %s:%s (%s) */",
239
88
  filePath,
240
89
  lineNumbers,
241
90
  originalNodeName
242
91
  );
243
- for (const styleObject of finalStyles) {
244
- const identifier = styleObject[helpers.StyleObjectIdentifier], rules = styleObject[helpers.StyleObjectRules], className = `.${identifier}`;
245
- if (cssMap.has(className)) {
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, {
92
+ function addStyle(style) {
93
+ const identifier = style[import_web.StyleObjectIdentifier], rules = style[import_web.StyleObjectRules], selector = `.${identifier}`;
94
+ return cssMap.has(selector) ? cssMap.get(selector).commentTexts.push(comment) : rules.length && cssMap.set(selector, {
251
95
  css: rules.join(`
252
96
  `),
253
97
  commentTexts: [comment]
254
- });
98
+ }), identifier;
99
+ }
100
+ function addStyles(style) {
101
+ const cssStyles = getCSSStylesAtomic(style), classNames = [];
102
+ for (const style2 of cssStyles) {
103
+ const mediaName = style2[0].slice(1);
104
+ if (tamaguiConfig.media[mediaName]) {
105
+ const mediaStyle = createMediaStyle(
106
+ style2,
107
+ mediaName,
108
+ extractor.getTamagui().media,
109
+ !0,
110
+ !1,
111
+ mediaStylesSeen
112
+ ), identifier2 = addStyle(mediaStyle);
113
+ classNames.push(identifier2);
114
+ continue;
115
+ }
116
+ const identifier = addStyle(style2);
117
+ classNames.push(identifier);
118
+ }
119
+ return classNames;
120
+ }
121
+ const onlyTernaries = attrs.flatMap((attr) => {
122
+ if (attr.type === "attr") {
123
+ const value = attr.value;
124
+ if (t.isJSXSpreadAttribute(value))
125
+ return console.error("Should never happen"), [];
126
+ if (value.name.name === "className") {
127
+ let inner = value.value;
128
+ t.isJSXExpressionContainer(inner) && (inner = inner.expression);
129
+ try {
130
+ const evaluatedValue = inner ? attemptEval(inner) : null;
131
+ typeof evaluatedValue == "string" && (attrClassName = t.stringLiteral(evaluatedValue));
132
+ } catch {
133
+ inner && (attrClassName ||= inner);
134
+ }
135
+ return [];
136
+ }
137
+ return finalAttrs.push(value), [];
138
+ }
139
+ if (attr.type === "style")
140
+ return mergeForwardBaseStyle = mergeProps(mergeForwardBaseStyle || {}, attr.value), baseFontFamily = (0, import_propsToFontFamilyCache.getFontFamilyClassNameFromProps)(attr.value) || "", [];
141
+ let ternary = attr.value;
142
+ if (ternary.inlineMediaQuery) {
143
+ const mediaExtraction = (0, import_extractMediaStyle.extractMediaStyle)(
144
+ parserProps,
145
+ attr.value,
146
+ jsxPath,
147
+ extractor.getTamagui(),
148
+ sourcePath || "",
149
+ mediaStylesSeen++,
150
+ shouldPrintDebug
151
+ );
152
+ if (mediaExtraction)
153
+ if (mediaExtraction.mediaStyles && (mergeForwardBaseStyle = mergeProps(mergeForwardBaseStyle || {}, {
154
+ [`$${ternary.inlineMediaQuery}`]: attr.value.consequent
155
+ })), mediaExtraction.ternaryWithoutMedia)
156
+ ternary = mediaExtraction.ternaryWithoutMedia;
157
+ else
158
+ return [];
159
+ }
160
+ return {
161
+ ...ternary,
162
+ fontFamily: baseFontFamily,
163
+ alternate: mergeProps(mergeForwardBaseStyle || {}, ternary.alternate || {}),
164
+ consequent: mergeProps(mergeForwardBaseStyle || {}, ternary.consequent || {})
165
+ };
166
+ }), hasTernaries = !!onlyTernaries.length, baseClassNames = mergeForwardBaseStyle ? addStyles(mergeForwardBaseStyle) : null;
167
+ let baseClassNameStr = hasTernaries || !baseClassNames ? "" : ` ${baseClassNames.join(" ")}`;
168
+ !hasTernaries && baseFontFamily && (baseClassNameStr = `font_${baseFontFamily} ${baseClassNameStr}`);
169
+ let base = staticConfig.componentName ? t.stringLiteral(`is_${staticConfig.componentName}${baseClassNameStr}`) : t.stringLiteral(baseClassNameStr || " ");
170
+ attrClassName = attrClassName;
171
+ const baseClassNameExpression = attrClassName ? t.isStringLiteral(attrClassName) ? t.stringLiteral(
172
+ base.value ? `${base.value} ${attrClassName.value}` : attrClassName.value
173
+ ) : t.conditionalExpression(
174
+ attrClassName,
175
+ t.binaryExpression("+", attrClassName, spaceString),
176
+ base
177
+ ) : base, expandedTernaries = [];
178
+ if (onlyTernaries.length) {
179
+ const normalizedTernaries = (0, import_normalizeTernaries.normalizeTernaries)(onlyTernaries);
180
+ for (const ternary of normalizedTernaries) {
181
+ if (!expandedTernaries.length) {
182
+ expandTernary(ternary);
183
+ continue;
184
+ }
185
+ for (const prev of [...expandedTernaries])
186
+ expandTernary(ternary, prev);
187
+ }
188
+ }
189
+ function expandTernary(ternary, prev) {
190
+ if (ternary.consequent && Object.keys(ternary.consequent).length && (expandedTernaries.push({
191
+ // prevTest && test: merge consequent
192
+ test: prev ? t.logicalExpression("&&", prev.test, ternary.test) : ternary.test,
193
+ consequent: prev ? mergeProps(prev.consequent, ternary.consequent) : ternary.consequent,
194
+ remove,
195
+ alternate: null
196
+ }), prev && expandedTernaries.push({
197
+ // !prevTest && test: just consequent
198
+ test: t.logicalExpression(
199
+ "&&",
200
+ t.unaryExpression("!", prev.test),
201
+ ternary.test
202
+ ),
203
+ consequent: ternary.consequent,
204
+ alternate: null,
205
+ remove
206
+ })), ternary.alternate && Object.keys(ternary.alternate).length) {
207
+ const negated = t.unaryExpression("!", ternary.test);
208
+ expandedTernaries.push({
209
+ // prevTest && !test: merge alternate
210
+ test: prev ? t.logicalExpression("&&", prev.test, negated) : negated,
211
+ consequent: prev ? mergeProps(prev.consequent, ternary.alternate) : ternary.alternate,
212
+ remove,
213
+ alternate: null
214
+ }), prev && expandedTernaries.push({
215
+ // !prevTest && !test: just alternate
216
+ test: t.logicalExpression(
217
+ "&&",
218
+ t.unaryExpression("!", prev.test),
219
+ ternary.test
220
+ ),
221
+ consequent: ternary.alternate,
222
+ remove,
223
+ alternate: null
224
+ });
225
+ }
226
+ }
227
+ let ternaryClassNameExpr = null;
228
+ if (hasTernaries)
229
+ for (const ternary of expandedTernaries) {
230
+ if (!ternary.consequent) continue;
231
+ const classNames = addStyles(ternary.consequent);
232
+ ternary.fontFamily && classNames.unshift(`font_${ternary.fontFamily}`);
233
+ const baseString = t.isStringLiteral(baseClassNameExpression) ? baseClassNameExpression.value : "", fullClassName = (baseString ? `${baseString} ` : "") + classNames.join(" "), classNameLiteral = t.stringLiteral(fullClassName);
234
+ ternaryClassNameExpr ? ternaryClassNameExpr = t.conditionalExpression(
235
+ ternary.test,
236
+ classNameLiteral,
237
+ ternaryClassNameExpr
238
+ ) : ternaryClassNameExpr = classNameLiteral;
239
+ }
240
+ let finalExpression = !hasTernaries || !t.isStringLiteral(baseClassNameExpression) ? baseClassNameExpression : null;
241
+ if (ternaryClassNameExpr && (finalExpression = baseClassNameExpression && baseClassNameExpression !== spaceString ? t.binaryExpression("+", baseClassNameExpression, ternaryClassNameExpr) : ternaryClassNameExpr), finalExpression) {
242
+ finalExpression = hoistClassNames(jsxPath, finalExpression);
243
+ const classNameProp = t.jsxAttribute(
244
+ t.jsxIdentifier("className"),
245
+ t.jsxExpressionContainer(finalExpression)
246
+ );
247
+ finalAttrs.unshift(classNameProp);
255
248
  }
249
+ node.attributes = finalAttrs;
256
250
  }
257
251
  });
258
252
  if (!res || !res.modified && !res.optimized && !res.flattened && !res.styled)
@@ -288,4 +282,26 @@ async function extractToClassNames({
288
282
  map: result.map
289
283
  };
290
284
  }
285
+ function hoistClassNames(path2, expr) {
286
+ if (t.isStringLiteral(expr))
287
+ return hoistClassName(path2, expr.value);
288
+ if (t.isBinaryExpression(expr)) {
289
+ 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);
290
+ return t.binaryExpression(expr.operator, left, right);
291
+ }
292
+ if (t.isConditionalExpression(expr)) {
293
+ 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);
294
+ return t.conditionalExpression(expr.test, cons, alt);
295
+ }
296
+ return expr;
297
+ }
298
+ function hoistClassName(path2, str) {
299
+ const uid = path2.scope.generateUidIdentifier("cn"), parent = path2.findParent((path3) => path3.isProgram());
300
+ if (!parent) throw new Error("no program?");
301
+ const variable = t.variableDeclaration("const", [
302
+ // adding a space for extra safety
303
+ t.variableDeclarator(uid, t.stringLiteral(str))
304
+ ]);
305
+ return parent.unshiftContainer("body", variable), uid;
306
+ }
291
307
  //# sourceMappingURL=extractToClassNames.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/extractor/extractToClassNames.ts"],
4
- "mappings": "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",
5
- "names": ["res", "styles", "generate"]
4
+ "mappings": "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",
5
+ "names": ["style", "identifier", "generate", "path"]
6
6
  }