@tamagui/static 1.132.16 → 1.132.17
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/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 +206 -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/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 +362 -266
- 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/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
@@ -0,0 +1,119 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __defProp = Object.defineProperty;
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
6
|
+
var __export = (target, all) => {
|
7
|
+
for (var name in all)
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: !0 });
|
9
|
+
}, __copyProps = (to, from, except, desc) => {
|
10
|
+
if (from && typeof from == "object" || typeof from == "function")
|
11
|
+
for (let key of __getOwnPropNames(from))
|
12
|
+
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
13
|
+
return to;
|
14
|
+
};
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
16
|
+
var errors_exports = {};
|
17
|
+
__export(errors_exports, {
|
18
|
+
BailOptimizationError: () => BailOptimizationError
|
19
|
+
});
|
20
|
+
module.exports = __toCommonJS(errors_exports);
|
21
|
+
function _assert_this_initialized(self) {
|
22
|
+
if (self === void 0)
|
23
|
+
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
24
|
+
return self;
|
25
|
+
}
|
26
|
+
function _call_super(_this, derived, args) {
|
27
|
+
return derived = _get_prototype_of(derived), _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
|
28
|
+
}
|
29
|
+
function _class_call_check(instance, Constructor) {
|
30
|
+
if (!(instance instanceof Constructor))
|
31
|
+
throw new TypeError("Cannot call a class as a function");
|
32
|
+
}
|
33
|
+
function _construct(Parent, args, Class) {
|
34
|
+
return _is_native_reflect_construct() ? _construct = Reflect.construct : _construct = function(Parent2, args2, Class2) {
|
35
|
+
var a = [
|
36
|
+
null
|
37
|
+
];
|
38
|
+
a.push.apply(a, args2);
|
39
|
+
var Constructor = Function.bind.apply(Parent2, a), instance = new Constructor();
|
40
|
+
return Class2 && _set_prototype_of(instance, Class2.prototype), instance;
|
41
|
+
}, _construct.apply(null, arguments);
|
42
|
+
}
|
43
|
+
function _get_prototype_of(o) {
|
44
|
+
return _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function(o2) {
|
45
|
+
return o2.__proto__ || Object.getPrototypeOf(o2);
|
46
|
+
}, _get_prototype_of(o);
|
47
|
+
}
|
48
|
+
function _inherits(subClass, superClass) {
|
49
|
+
if (typeof superClass != "function" && superClass !== null)
|
50
|
+
throw new TypeError("Super expression must either be null or a function");
|
51
|
+
subClass.prototype = Object.create(superClass && superClass.prototype, {
|
52
|
+
constructor: {
|
53
|
+
value: subClass,
|
54
|
+
writable: !0,
|
55
|
+
configurable: !0
|
56
|
+
}
|
57
|
+
}), superClass && _set_prototype_of(subClass, superClass);
|
58
|
+
}
|
59
|
+
function _is_native_function(fn) {
|
60
|
+
return Function.toString.call(fn).indexOf("[native code]") !== -1;
|
61
|
+
}
|
62
|
+
function _possible_constructor_return(self, call) {
|
63
|
+
return call && (_type_of(call) === "object" || typeof call == "function") ? call : _assert_this_initialized(self);
|
64
|
+
}
|
65
|
+
function _set_prototype_of(o, p) {
|
66
|
+
return _set_prototype_of = Object.setPrototypeOf || function(o2, p2) {
|
67
|
+
return o2.__proto__ = p2, o2;
|
68
|
+
}, _set_prototype_of(o, p);
|
69
|
+
}
|
70
|
+
function _type_of(obj) {
|
71
|
+
"@swc/helpers - typeof";
|
72
|
+
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
73
|
+
}
|
74
|
+
function _wrap_native_super(Class) {
|
75
|
+
var _cache = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
|
76
|
+
return _wrap_native_super = function(Class2) {
|
77
|
+
if (Class2 === null || !_is_native_function(Class2)) return Class2;
|
78
|
+
if (typeof Class2 != "function")
|
79
|
+
throw new TypeError("Super expression must either be null or a function");
|
80
|
+
if (typeof _cache < "u") {
|
81
|
+
if (_cache.has(Class2)) return _cache.get(Class2);
|
82
|
+
_cache.set(Class2, Wrapper);
|
83
|
+
}
|
84
|
+
function Wrapper() {
|
85
|
+
return _construct(Class2, arguments, _get_prototype_of(this).constructor);
|
86
|
+
}
|
87
|
+
return Wrapper.prototype = Object.create(Class2.prototype, {
|
88
|
+
constructor: {
|
89
|
+
value: Wrapper,
|
90
|
+
enumerable: !1,
|
91
|
+
writable: !0,
|
92
|
+
configurable: !0
|
93
|
+
}
|
94
|
+
}), _set_prototype_of(Wrapper, Class2);
|
95
|
+
}, _wrap_native_super(Class);
|
96
|
+
}
|
97
|
+
function _is_native_reflect_construct() {
|
98
|
+
try {
|
99
|
+
var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {
|
100
|
+
}));
|
101
|
+
} catch {
|
102
|
+
}
|
103
|
+
return (_is_native_reflect_construct = function() {
|
104
|
+
return !!result;
|
105
|
+
})();
|
106
|
+
}
|
107
|
+
var BailOptimizationError = /* @__PURE__ */ function(Error1) {
|
108
|
+
"use strict";
|
109
|
+
_inherits(BailOptimizationError2, Error1);
|
110
|
+
function BailOptimizationError2() {
|
111
|
+
return _class_call_check(this, BailOptimizationError2), _call_super(this, BailOptimizationError2, arguments);
|
112
|
+
}
|
113
|
+
return BailOptimizationError2;
|
114
|
+
}(_wrap_native_super(Error));
|
115
|
+
// Annotate the CommonJS export names for ESM import in node:
|
116
|
+
0 && (module.exports = {
|
117
|
+
BailOptimizationError
|
118
|
+
});
|
119
|
+
//# sourceMappingURL=errors.js.map
|
@@ -0,0 +1,6 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"sources": ["../../src/extractor/errors.ts"],
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAMA,wBAAN,yBAAA,QAAA;;YAAMA,wBAAAA,MAAAA;WAAAA,yBAAAA;mCAAAA,sBAAAA,GAAN,YAAA,MAAMA,wBAAAA,SAAAA;;SAAAA;qBAA8BC,KAAAA,CAAAA;",
|
5
|
+
"names": ["BailOptimizationError", "Error"]
|
6
|
+
}
|
@@ -28,7 +28,7 @@ __export(extractMediaStyle_exports, {
|
|
28
28
|
module.exports = __toCommonJS(extractMediaStyle_exports);
|
29
29
|
var t = __toESM(require("@babel/types")), core = __toESM(require("@tamagui/core")), import_requireTamaguiCore = require("../helpers/requireTamaguiCore"), import_extractHelpers = require("./extractHelpers");
|
30
30
|
function extractMediaStyle(props, ternary, jsxPath, tamaguiConfig, sourcePath, importance = 0, shouldPrintDebug = !1) {
|
31
|
-
const { getCSSStylesAtomic
|
31
|
+
const { getCSSStylesAtomic } = (0, import_requireTamaguiCore.requireTamaguiCore)("web"), mt = getMediaQueryTernary(props, ternary, jsxPath, sourcePath);
|
32
32
|
if (!mt)
|
33
33
|
return null;
|
34
34
|
const { key } = mt;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../src/extractor/extractMediaStyle.ts"],
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,QAAmB,kCAEnB,OAAsB,mCAGtB,4BAAmC,0CAEnC,wBAAyC;AAElC,SAAS,kBACd,OACA,SACA,SACA,eACA,YACA,aAAa,GACb,mBAAwC,IACxC;AACA,QAAM,EAAE,
|
4
|
+
"mappings": "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",
|
5
5
|
"names": []
|
6
6
|
}
|
@@ -29,7 +29,7 @@ __export(extractMediaStyle_exports, {
|
|
29
29
|
module.exports = __toCommonJS(extractMediaStyle_exports);
|
30
30
|
var t = __toESM(require("@babel/types")), core = __toESM(require("@tamagui/core")), import_requireTamaguiCore = require("../helpers/requireTamaguiCore"), import_extractHelpers = require("./extractHelpers");
|
31
31
|
function extractMediaStyle(props, ternary, jsxPath, tamaguiConfig, sourcePath) {
|
32
|
-
var importance = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, shouldPrintDebug = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : !1, { getCSSStylesAtomic
|
32
|
+
var importance = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : 0, shouldPrintDebug = arguments.length > 6 && arguments[6] !== void 0 ? arguments[6] : !1, { getCSSStylesAtomic } = (0, import_requireTamaguiCore.requireTamaguiCore)("web"), mt = getMediaQueryTernary(props, ternary, jsxPath, sourcePath);
|
33
33
|
if (!mt)
|
34
34
|
return null;
|
35
35
|
var { key } = mt, mq = tamaguiConfig.media[key];
|
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"version": 3,
|
3
3
|
"sources": ["../../src/extractor/extractMediaStyle.ts"],
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AACA;;;;;;QAAmB,kCAEnB,OAAsB,mCAGtB,4BAAmC,0CAEnC,wBAAyC;AAElC,SAASA,kBACdC,OACAC,SACAC,SACAC,eACAC,YAAkB;MAClBC,aAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAa,GACbC,mBAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAwC,IAElC,EAAEC,
|
5
|
-
"names": ["extractMediaStyle", "props", "ternary", "jsxPath", "tamaguiConfig", "sourcePath", "importance", "shouldPrintDebug", "getCSSStylesAtomic", "
|
4
|
+
"mappings": "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",
|
5
|
+
"names": ["extractMediaStyle", "props", "ternary", "jsxPath", "tamaguiConfig", "sourcePath", "importance", "shouldPrintDebug", "getCSSStylesAtomic", "requireTamaguiCore", "mt", "getMediaQueryTernary", "key", "mq", "media", "console", "error", "Object", "keys", "getStyleObj", "styleObj", "negate", "styleOpts", "consequent", "alternate", "filter", "isPresent", "length", "info", "mediaKeys", "mediaKeyPrecendence", "reduce", "acc", "cur", "i", "Array", "fill", "join", "mediaStyles", "styles", "singleMediaStyles", "map", "style", "mediaStyle", "core", "createMediaStyle", "className", "StyleObjectIdentifier", "x", "remove", "ternaryWithoutMedia", "t", "isLogicalExpression", "test", "operator", "mediaLeft", "getMediaInfoFromExpression", "left", "inlineMediaQuery", "right", "result", "bindingName", "isMemberExpression", "isIdentifier", "object", "property", "binding", "name", "bindings", "scope", "getAllBindings", "bindingNode", "path", "node", "isVariableDeclarator", "init", "isValidMediaCall", "getBinding", "isCallExpression", "callee", "mediaBinding", "useMediaImport", "parent", "isImportDeclaration", "isValidImport"]
|
6
6
|
}
|
@@ -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");
|
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,191 @@ 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
|
+
const mergedAlternate = (0, import_web.mergeProps)(
|
159
|
+
mergeForwardBaseStyle || {},
|
160
|
+
ternary.alternate || {}
|
161
|
+
), mergedConsequent = (0, import_web.mergeProps)(
|
162
|
+
mergeForwardBaseStyle || {},
|
163
|
+
ternary.consequent || {}
|
164
|
+
);
|
165
|
+
return (0, import_propsToFontFamilyCache.forwardFontFamilyName)(ternary.alternate, mergedAlternate, baseFontFamily), (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 = hasTernaries || !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 = (baseString ? `${baseString} ` : "") + classNames.join(" "), classNameLiteral = t.stringLiteral(fullClassName);
|
247
|
+
ternaryClassNameExpr ? ternaryClassNameExpr = t.conditionalExpression(
|
248
|
+
ternary.test,
|
249
|
+
classNameLiteral,
|
250
|
+
ternaryClassNameExpr
|
251
|
+
) : ternaryClassNameExpr = classNameLiteral;
|
252
|
+
}
|
253
|
+
let finalExpression = ternaryClassNameExpr || baseClassNameExpression || null;
|
254
|
+
if (finalExpression) {
|
255
|
+
finalExpression = hoistClassNames(jsxPath, finalExpression);
|
256
|
+
const classNameProp = t.jsxAttribute(
|
257
|
+
t.jsxIdentifier("className"),
|
258
|
+
t.jsxExpressionContainer(finalExpression)
|
259
|
+
);
|
260
|
+
finalAttrs.unshift(classNameProp);
|
261
|
+
}
|
262
|
+
node.attributes = finalAttrs;
|
256
263
|
}
|
257
264
|
});
|
258
265
|
if (!res || !res.modified && !res.optimized && !res.flattened && !res.styled)
|
@@ -288,4 +295,31 @@ async function extractToClassNames({
|
|
288
295
|
map: result.map
|
289
296
|
};
|
290
297
|
}
|
298
|
+
function hoistClassNames(path2, expr) {
|
299
|
+
if (t.isStringLiteral(expr))
|
300
|
+
return hoistClassName(path2, expr.value);
|
301
|
+
if (t.isBinaryExpression(expr)) {
|
302
|
+
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);
|
303
|
+
return t.binaryExpression(expr.operator, left, right);
|
304
|
+
}
|
305
|
+
if (t.isConditionalExpression(expr)) {
|
306
|
+
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);
|
307
|
+
return t.conditionalExpression(expr.test, cons, alt);
|
308
|
+
}
|
309
|
+
return expr;
|
310
|
+
}
|
311
|
+
function hoistClassName(path2, str) {
|
312
|
+
const uid = path2.scope.generateUidIdentifier("cn"), parent = path2.findParent((path3) => path3.isProgram());
|
313
|
+
if (!parent) throw new Error("no program?");
|
314
|
+
const variable = t.variableDeclaration("const", [
|
315
|
+
t.variableDeclarator(uid, t.stringLiteral(cleanupClassName(str)))
|
316
|
+
]);
|
317
|
+
return parent.unshiftContainer("body", variable), uid;
|
318
|
+
}
|
319
|
+
function cleanupClassName(inStr) {
|
320
|
+
const out = /* @__PURE__ */ new Set();
|
321
|
+
for (const part of inStr.split(" "))
|
322
|
+
part !== " " && part !== "font_" && out.add(part);
|
323
|
+
return [...out].join(" ") + " ";
|
324
|
+
}
|
291
325
|
//# sourceMappingURL=extractToClassNames.js.map
|