@tamagui/core 1.0.0-beta.202 → 1.0.0-beta.203
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/Tamagui.js +18 -1
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/ThemeContext.js +4 -0
- package/dist/cjs/ThemeManager.js +30 -14
- package/dist/cjs/ThemeManager.js.map +2 -2
- package/dist/cjs/conf.js +10 -1
- package/dist/cjs/conf.js.map +2 -2
- package/dist/cjs/constants/constants.js +6 -0
- package/dist/cjs/constants/platform.js +15 -0
- package/dist/cjs/constants/platform.js.map +2 -2
- package/dist/cjs/constants/rnw.js +4 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js +4 -0
- package/dist/cjs/createComponent.js +117 -112
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +4 -0
- package/dist/cjs/createShorthands.js +4 -0
- package/dist/cjs/createTamagui.js +55 -27
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +4 -0
- package/dist/cjs/createTokens.js +7 -6
- package/dist/cjs/createTokens.js.map +2 -2
- package/dist/cjs/createVariable.js +18 -2
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/defaultComponentState.js +0 -30
- package/dist/cjs/defaultComponentState.js.map +3 -3
- package/dist/cjs/helpers/RNComponents.js +4 -0
- package/dist/cjs/helpers/RNComponents.js.map +0 -0
- package/dist/cjs/helpers/addStylesUsingClassname.js +8 -0
- package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
- package/dist/cjs/helpers/areEqualSets.js +4 -0
- package/dist/cjs/helpers/createMediaStyle.js +5 -0
- package/dist/cjs/helpers/createPropMapper.js +63 -61
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createShallowUpdate.js +4 -0
- package/dist/cjs/helpers/createShallowUpdate.js.map +0 -0
- package/dist/cjs/helpers/createTamaguiProvider.js +4 -0
- package/dist/cjs/helpers/extendStaticConfig.js +9 -6
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/fixNativeShadow.js +4 -0
- package/dist/cjs/helpers/fixNativeShadow.native.js +6 -2
- package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
- package/dist/cjs/helpers/getExpandedShorthands.js +4 -0
- package/dist/cjs/{constants/pseudos.js → helpers/getSize.js} +17 -19
- package/dist/cjs/helpers/getSize.js.map +7 -0
- package/dist/cjs/helpers/getSplitStyles.js +114 -59
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +20 -2
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +4 -0
- package/dist/cjs/helpers/insertStyleRule.js +46 -26
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/isObj.js +4 -0
- package/dist/cjs/helpers/isTamaguiElement.js +4 -0
- package/dist/cjs/helpers/matchMedia.js +4 -0
- package/dist/cjs/helpers/matchMedia.native.js +4 -0
- package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
- package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
- package/dist/cjs/helpers/themeable.js +7 -2
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/validate.js +53 -11
- package/dist/cjs/helpers/validate.js.map +2 -2
- package/dist/cjs/helpers/withStaticProperties.js +4 -0
- package/dist/cjs/helpers/wrapThemeManagerContext.js +4 -0
- package/dist/cjs/hooks/useConstant.js +4 -0
- package/dist/cjs/hooks/useFeatures.js +101 -13
- package/dist/cjs/hooks/useFeatures.js.map +2 -2
- package/dist/cjs/hooks/useIsMounted.js +4 -0
- package/dist/cjs/hooks/useIsTouchDevice.js +4 -0
- package/dist/cjs/hooks/useMedia.js +31 -12
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/usePressable.js +4 -0
- package/dist/cjs/hooks/useTheme.js +36 -23
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useUnmountEffect.js +4 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/static.js +3 -0
- package/dist/cjs/static.js.map +2 -2
- package/dist/cjs/styled.js +7 -4
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/views/Stack.js +5 -0
- package/dist/cjs/views/Stack.js.map +2 -2
- package/dist/cjs/views/Text.js +5 -0
- package/dist/cjs/views/Text.js.map +2 -2
- package/dist/cjs/views/TextAncestorContext.js +6 -0
- package/dist/cjs/views/Theme.js +11 -4
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeInverse.js +5 -0
- package/dist/cjs/views/ThemeProvider.js +6 -1
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/cjs/views/ThemeReset.js +4 -0
- package/dist/esm/Tamagui.js +10 -2
- package/dist/esm/Tamagui.js.map +2 -2
- package/dist/esm/ThemeManager.js +21 -11
- package/dist/esm/ThemeManager.js.map +2 -2
- package/dist/esm/conf.js +0 -1
- package/dist/esm/conf.js.map +2 -2
- package/dist/esm/constants/platform.js +2 -0
- package/dist/esm/constants/platform.js.map +2 -2
- package/dist/esm/createComponent.js +107 -115
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createTamagui.js +51 -27
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTokens.js +2 -6
- package/dist/esm/createTokens.js.map +2 -2
- package/dist/esm/createVariable.js +8 -2
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/defaultComponentState.js +0 -11
- package/dist/esm/defaultComponentState.js.map +3 -3
- package/dist/esm/helpers/RNComponents.js +0 -0
- package/dist/esm/helpers/RNComponents.js.map +0 -0
- package/dist/esm/helpers/addStylesUsingClassname.js +4 -1
- package/dist/esm/helpers/addStylesUsingClassname.js.map +2 -2
- package/dist/esm/helpers/createPropMapper.js +59 -61
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createShallowUpdate.js +0 -0
- package/dist/esm/helpers/createShallowUpdate.js.map +0 -0
- package/dist/esm/helpers/extendStaticConfig.js +9 -6
- package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
- package/dist/esm/helpers/fixNativeShadow.native.js +2 -2
- package/dist/esm/helpers/fixNativeShadow.native.js.map +2 -2
- package/dist/esm/helpers/getSize.js +13 -0
- package/dist/esm/helpers/getSize.js.map +7 -0
- package/dist/esm/helpers/getSplitStyles.js +110 -61
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +15 -2
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +36 -26
- package/dist/esm/helpers/insertStyleRule.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +18 -0
- package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
- package/dist/esm/helpers/themeable.js +3 -2
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/validate.js +24 -11
- package/dist/esm/helpers/validate.js.map +2 -2
- package/dist/esm/hooks/useFeatures.js +96 -18
- package/dist/esm/hooks/useFeatures.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +20 -12
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +28 -23
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/static.js +3 -0
- package/dist/esm/static.js.map +2 -2
- package/dist/esm/styled.js +3 -4
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/views/Stack.js +1 -0
- package/dist/esm/views/Stack.js.map +2 -2
- package/dist/esm/views/Text.js +1 -0
- package/dist/esm/views/Text.js.map +2 -2
- package/dist/esm/views/Theme.js +7 -4
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/ThemeProvider.js +2 -1
- package/dist/esm/views/ThemeProvider.js.map +2 -2
- package/dist/jsx/Tamagui.js +10 -2
- package/dist/jsx/ThemeManager.js +21 -11
- package/dist/jsx/conf.js +0 -1
- package/dist/jsx/constants/platform.js +2 -0
- package/dist/jsx/createComponent.js +105 -114
- package/dist/jsx/createTamagui.js +51 -27
- package/dist/jsx/createTokens.js +2 -6
- package/dist/jsx/createVariable.js +8 -2
- package/dist/jsx/defaultComponentState.js +0 -11
- package/dist/jsx/helpers/RNComponents.js +0 -0
- package/dist/jsx/helpers/addStylesUsingClassname.js +4 -1
- package/dist/jsx/helpers/createPropMapper.js +59 -61
- package/dist/jsx/helpers/createShallowUpdate.js +0 -0
- package/dist/jsx/helpers/extendStaticConfig.js +9 -6
- package/dist/jsx/helpers/fixNativeShadow.native.js +2 -2
- package/dist/jsx/helpers/getSize.js +12 -0
- package/dist/jsx/helpers/getSplitStyles.js +110 -61
- package/dist/jsx/helpers/getStylesAtomic.js +15 -2
- package/dist/jsx/helpers/insertStyleRule.js +36 -26
- package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
- package/dist/jsx/helpers/themeable.js +3 -3
- package/dist/jsx/helpers/validate.js +24 -11
- package/dist/jsx/hooks/useFeatures.js +96 -18
- package/dist/jsx/hooks/useMedia.js +20 -12
- package/dist/jsx/hooks/useTheme.js +28 -23
- package/dist/jsx/index.js +4 -0
- package/dist/jsx/static.js +3 -0
- package/dist/jsx/styled.js +3 -4
- package/dist/jsx/views/Stack.js +1 -0
- package/dist/jsx/views/Text.js +1 -0
- package/dist/jsx/views/Theme.js +7 -4
- package/dist/jsx/views/ThemeProvider.js +2 -2
- package/package.json +6 -6
- package/types/Tamagui.d.ts +18 -1
- package/types/Tamagui.d.ts.map +1 -1
- package/types/ThemeManager.d.ts +3 -3
- package/types/ThemeManager.d.ts.map +1 -1
- package/types/conf.d.ts +2 -0
- package/types/conf.d.ts.map +1 -1
- package/types/constants/platform.d.ts +1 -0
- package/types/constants/platform.d.ts.map +1 -1
- package/types/createComponent.d.ts +3 -4
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createTamagui.d.ts +2 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTokens.d.ts +0 -26
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariable.d.ts +1 -0
- package/types/createVariable.d.ts.map +1 -1
- package/types/helpers/addStylesUsingClassname.d.ts.map +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -1
- package/types/helpers/createPropMapper.d.ts +1 -1
- package/types/helpers/createPropMapper.d.ts.map +1 -1
- package/types/helpers/extendStaticConfig.d.ts +2 -2
- package/types/helpers/extendStaticConfig.d.ts.map +1 -1
- package/types/helpers/getSize.d.ts +3 -0
- package/types/helpers/getSize.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts +4 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts +2 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/proxyThemeVariables.d.ts +2 -0
- package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
- package/types/helpers/themeable.d.ts +3 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/helpers/validate.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +3 -3
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/static.d.ts +3 -0
- package/types/static.d.ts.map +1 -1
- package/types/styled.d.ts +12 -3
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +73 -45
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts +1 -0
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeProvider.d.ts +1 -0
- package/types/views/ThemeProvider.d.ts.map +1 -1
- package/dist/cjs/constants/pseudos.js.map +0 -7
- package/dist/cjs/createShallowUpdate.js +0 -1
- package/dist/cjs/createShallowUpdate.js.map +0 -7
- package/dist/cjs/devtools.js +0 -32
- package/dist/cjs/devtools.js.map +0 -7
- package/dist/cjs/spacedChildren.js +0 -86
- package/dist/cjs/spacedChildren.js.map +0 -7
- package/dist/cjs/tamagui-base.css +0 -8
- package/dist/cjs/tamagui-base.css.map +0 -7
- package/dist/esm/constants/pseudos.js +0 -18
- package/dist/esm/constants/pseudos.js.map +0 -7
- package/dist/esm/createShallowUpdate.js +0 -1
- package/dist/esm/createShallowUpdate.js.map +0 -7
- package/dist/esm/devtools.js +0 -14
- package/dist/esm/devtools.js.map +0 -7
- package/dist/esm/spacedChildren.js +0 -52
- package/dist/esm/spacedChildren.js.map +0 -7
- package/dist/esm/tamagui-base.css +0 -8
- package/dist/esm/tamagui-base.css.map +0 -7
- package/dist/jsx/constants/pseudos.js +0 -17
- package/dist/jsx/createShallowUpdate.js +0 -0
- package/dist/jsx/devtools.js +0 -13
- package/dist/jsx/spacedChildren.js +0 -44
- package/dist/jsx/tamagui-base.css +0 -7
- package/types/spacedChildren.d.ts +0 -9
- package/types/spacedChildren.d.ts.map +0 -1
|
@@ -4,63 +4,67 @@ import { getConfig } from "../conf";
|
|
|
4
4
|
import { isWeb } from "../constants/platform";
|
|
5
5
|
import { isVariable } from "../createVariable";
|
|
6
6
|
import { isObj } from "./isObj";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
7
|
+
function getVariantFunction(variant, key, value) {
|
|
8
|
+
if (typeof variant === "function") {
|
|
9
|
+
return variant;
|
|
10
|
+
}
|
|
11
|
+
for (const cat in tokenCategories) {
|
|
12
|
+
if (key in tokenCategories[cat]) {
|
|
13
|
+
const spreadVariant = variant[`...${cat}`];
|
|
14
|
+
if (spreadVariant) {
|
|
15
|
+
return spreadVariant;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
-
let fn;
|
|
19
|
-
if (typeof value === "number") {
|
|
20
|
-
fn = variant[":number"];
|
|
21
|
-
} else if (typeof value === "string") {
|
|
22
|
-
fn = variant[":string"];
|
|
23
|
-
} else if (value === true || value === false) {
|
|
24
|
-
fn = variant[":boolean"];
|
|
25
|
-
}
|
|
26
|
-
fn = fn || variant[value];
|
|
27
|
-
return fn || variant["..."] || variant["...size"];
|
|
28
18
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
let fn;
|
|
20
|
+
if (typeof value === "number") {
|
|
21
|
+
fn = variant[":number"];
|
|
22
|
+
} else if (typeof value === "string") {
|
|
23
|
+
fn = variant[":string"];
|
|
24
|
+
} else if (value === true || value === false) {
|
|
25
|
+
fn = variant[":boolean"];
|
|
26
|
+
}
|
|
27
|
+
fn = fn || variant[value];
|
|
28
|
+
return fn || variant["..."] || variant["...size"];
|
|
29
|
+
}
|
|
30
|
+
__name(getVariantFunction, "getVariantFunction");
|
|
31
|
+
const createPropMapper = /* @__PURE__ */ __name((staticConfig) => {
|
|
32
|
+
const variants = staticConfig.variants || {};
|
|
33
|
+
const defaultProps = staticConfig.defaultProps || {};
|
|
34
|
+
return (key, value, theme, props, returnVariablesAs = !!props.animation ? "value" : "auto", avoidDefaultProps = false) => {
|
|
32
35
|
const conf = getConfig();
|
|
33
36
|
if (!conf) {
|
|
34
37
|
console.trace("no conf! err");
|
|
35
38
|
return;
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
const fontFamily = props.fontFamily || defaultProps.fontFamily || "$body";
|
|
38
41
|
const variant = variants && variants[key];
|
|
39
42
|
if (variant && value !== void 0) {
|
|
40
43
|
let variantValue = getVariantFunction(variant, key, value);
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
44
|
+
if (variantValue) {
|
|
45
|
+
if (typeof variantValue === "function") {
|
|
46
|
+
const fn = variantValue;
|
|
47
|
+
variantValue = fn(value, {
|
|
48
|
+
fonts: conf.fontsParsed,
|
|
49
|
+
tokens: conf.tokensParsed,
|
|
50
|
+
theme,
|
|
51
|
+
props: avoidDefaultProps ? props : new Proxy(props, {
|
|
52
|
+
get(target, key2) {
|
|
53
|
+
if (Reflect.has(target, key2)) {
|
|
54
|
+
return Reflect.get(target, key2);
|
|
55
|
+
}
|
|
56
|
+
if (defaultProps) {
|
|
57
|
+
return Reflect.get(defaultProps, key2);
|
|
58
|
+
}
|
|
52
59
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (isObj(variantValue)) {
|
|
61
|
-
variantValue = resolveTokens(variantValue, conf, theme, fontFamily, returnVariablesAs);
|
|
60
|
+
})
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (isObj(variantValue)) {
|
|
64
|
+
variantValue = resolveTokens(variantValue, conf, theme, fontFamily, returnVariablesAs);
|
|
65
|
+
}
|
|
66
|
+
return variantValue;
|
|
62
67
|
}
|
|
63
|
-
return variantValue;
|
|
64
68
|
}
|
|
65
69
|
let shouldReturn = false;
|
|
66
70
|
if (conf.shorthands[key]) {
|
|
@@ -108,34 +112,28 @@ const resolveTokens = /* @__PURE__ */ __name((input, conf, theme, fontFamily, re
|
|
|
108
112
|
}
|
|
109
113
|
return res;
|
|
110
114
|
}, "resolveTokens");
|
|
111
|
-
const
|
|
112
|
-
|
|
115
|
+
const fontShorthand = {
|
|
116
|
+
fontSize: "size",
|
|
117
|
+
fontWeight: "weight"
|
|
118
|
+
};
|
|
119
|
+
const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed, fontsParsed }, theme, fontFamily = "$body", resolveAs) => {
|
|
120
|
+
var _a, _b, _c;
|
|
113
121
|
let valOrVar;
|
|
114
122
|
let hasSet = false;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
valOrVar = theme[valueName];
|
|
123
|
+
if (value in theme) {
|
|
124
|
+
valOrVar = theme[value];
|
|
118
125
|
hasSet = true;
|
|
119
126
|
} else {
|
|
120
127
|
switch (key) {
|
|
121
128
|
case "fontFamily":
|
|
122
|
-
valOrVar = ((_a =
|
|
129
|
+
valOrVar = ((_a = fontsParsed[value]) == null ? void 0 : _a.family) || value;
|
|
123
130
|
hasSet = true;
|
|
124
131
|
break;
|
|
125
132
|
case "fontSize":
|
|
126
|
-
valOrVar = ((_b = tokensParsed.font[fontFamily]) == null ? void 0 : _b.size[value]) || value;
|
|
127
|
-
hasSet = true;
|
|
128
|
-
break;
|
|
129
133
|
case "lineHeight":
|
|
130
|
-
valOrVar = ((_c = tokensParsed.font[fontFamily]) == null ? void 0 : _c.lineHeight[value]) || value;
|
|
131
|
-
hasSet = true;
|
|
132
|
-
break;
|
|
133
134
|
case "letterSpacing":
|
|
134
|
-
valOrVar = ((_d = tokensParsed.font[fontFamily]) == null ? void 0 : _d.letterSpacing[value]) || value;
|
|
135
|
-
hasSet = true;
|
|
136
|
-
break;
|
|
137
135
|
case "fontWeight":
|
|
138
|
-
valOrVar = ((
|
|
136
|
+
valOrVar = ((_c = (_b = fontsParsed[fontFamily]) == null ? void 0 : _b[fontShorthand[key] || key]) == null ? void 0 : _c[value]) || value;
|
|
139
137
|
hasSet = true;
|
|
140
138
|
break;
|
|
141
139
|
}
|
|
@@ -161,7 +159,7 @@ const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed }, theme, fo
|
|
|
161
159
|
}
|
|
162
160
|
if (process.env.NODE_ENV === "development") {
|
|
163
161
|
if (value && value[0] === "$") {
|
|
164
|
-
console.warn(`\u26A0\uFE0F Missing token
|
|
162
|
+
console.warn(`\u26A0\uFE0F Missing token:`, key, value, fontFamily, theme, fontsParsed);
|
|
165
163
|
return null;
|
|
166
164
|
}
|
|
167
165
|
}
|
|
File without changes
|
|
@@ -2,12 +2,9 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
3
|
import { stylePropsView } from "@tamagui/helpers";
|
|
4
4
|
import { createPropMapper } from "./createPropMapper";
|
|
5
|
-
function extendStaticConfig(
|
|
5
|
+
function extendStaticConfig(config, parent) {
|
|
6
6
|
var _a;
|
|
7
|
-
if (!parent) {
|
|
8
|
-
throw new Error("no parent");
|
|
9
|
-
}
|
|
10
|
-
if (!("staticConfig" in parent)) {
|
|
7
|
+
if (!parent || !("staticConfig" in parent)) {
|
|
11
8
|
return parseStaticConfig(config);
|
|
12
9
|
}
|
|
13
10
|
const variants = {
|
|
@@ -38,9 +35,15 @@ function extendStaticConfig(parent, config = {}) {
|
|
|
38
35
|
...parent.staticConfig.validStyles,
|
|
39
36
|
...config.validStyles
|
|
40
37
|
} : parent.staticConfig.validStyles || stylePropsView,
|
|
38
|
+
defaultVariants: {
|
|
39
|
+
...parent.staticConfig.defaultVariants,
|
|
40
|
+
...config.defaultVariants
|
|
41
|
+
},
|
|
41
42
|
defaultProps: {
|
|
42
43
|
...parent.staticConfig.defaultProps,
|
|
43
|
-
...
|
|
44
|
+
...parent.staticConfig.defaultVariants,
|
|
45
|
+
...config.defaultProps,
|
|
46
|
+
...config.defaultVariants
|
|
44
47
|
}
|
|
45
48
|
});
|
|
46
49
|
}
|
|
@@ -18,8 +18,8 @@ function fixNativeShadow(props) {
|
|
|
18
18
|
if ((c[0] === "r" || c[0] === "h") && c[3] === "a") {
|
|
19
19
|
const [_, type, _1, _2, _3, a] = c.match(matchRgbaHsla) || [];
|
|
20
20
|
if (typeof a !== "string") {
|
|
21
|
-
console.
|
|
22
|
-
|
|
21
|
+
console.trace("invalid", c, type);
|
|
22
|
+
throw new Error(`invalid style`);
|
|
23
23
|
}
|
|
24
24
|
props.shadowColor = `${type.replace("a", "")}(${_1},${_2},${_3})`;
|
|
25
25
|
props.shadowOpacity = +a;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { getTokens } from "../conf";
|
|
4
|
+
const getSize = /* @__PURE__ */ __name((size, sizeUpOrDownBy = 0) => {
|
|
5
|
+
const sizes = getTokens().size;
|
|
6
|
+
const sizeNames = Object.keys(sizes);
|
|
7
|
+
const key = sizeNames[Math.max(0, sizeNames.indexOf(String(size || "$4")) + sizeUpOrDownBy)];
|
|
8
|
+
return sizes[key] || sizes["$4"];
|
|
9
|
+
}, "getSize");
|
|
10
|
+
export {
|
|
11
|
+
getSize
|
|
12
|
+
};
|
|
@@ -7,33 +7,25 @@ import {
|
|
|
7
7
|
validPseudoKeys,
|
|
8
8
|
validStyles
|
|
9
9
|
} from "@tamagui/helpers";
|
|
10
|
-
import {
|
|
10
|
+
import { getConfig } from "../conf";
|
|
11
|
+
import { isClient, isWeb } from "../constants/platform";
|
|
11
12
|
import { mediaQueryConfig, mediaState } from "../hooks/useMedia";
|
|
12
13
|
import { createMediaStyle } from "./createMediaStyle";
|
|
13
14
|
import { fixNativeShadow } from "./fixNativeShadow";
|
|
14
15
|
import { getStylesAtomic } from "./getStylesAtomic";
|
|
15
16
|
import { insertStyleRule, insertedTransforms, updateInserted } from "./insertStyleRule";
|
|
16
|
-
const
|
|
17
|
+
const skipProps = {
|
|
17
18
|
animation: true,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
key: true,
|
|
21
|
-
ref: true
|
|
19
|
+
animateOnly: true,
|
|
20
|
+
debug: true
|
|
22
21
|
};
|
|
23
|
-
|
|
24
|
-
var _a, _b;
|
|
25
|
-
if (typeof style.flex === "number") {
|
|
26
|
-
const val = style.flex;
|
|
27
|
-
delete style.flex;
|
|
28
|
-
style.flexGrow = (_a = style.flexGrow) != null ? _a : val;
|
|
29
|
-
style.flexShrink = (_b = style.flexShrink) != null ? _b : 1;
|
|
30
|
-
}
|
|
31
|
-
if (!isWeb) {
|
|
32
|
-
fixNativeShadow(style);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
__name(normalizeStyleObject, "normalizeStyleObject");
|
|
22
|
+
let conf;
|
|
36
23
|
const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state, defaultClassNames) => {
|
|
24
|
+
var _a;
|
|
25
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
26
|
+
console.log(" \xBB getSplitStyles", { props, state, defaultClassNames });
|
|
27
|
+
}
|
|
28
|
+
conf = conf || getConfig();
|
|
37
29
|
const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
|
|
38
30
|
const viewProps = {};
|
|
39
31
|
const style = {};
|
|
@@ -45,20 +37,42 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
45
37
|
let cur = null;
|
|
46
38
|
let transforms = {};
|
|
47
39
|
function mergeClassName(key, val) {
|
|
48
|
-
if (!val)
|
|
40
|
+
if (!val) {
|
|
49
41
|
return;
|
|
42
|
+
}
|
|
50
43
|
if (val.startsWith("_transform-")) {
|
|
51
44
|
const isMediaOrPseudo = key !== "transform";
|
|
52
45
|
const isMedia = isMediaOrPseudo && key[11] === "_";
|
|
53
|
-
const isPsuedo = isMediaOrPseudo &&
|
|
46
|
+
const isPsuedo = isMediaOrPseudo && key[11] === "0" || key.endsWith("Style");
|
|
54
47
|
const namespace = isMedia ? key.split("_")[2] : isPsuedo ? key.split("-")[1] : "transform";
|
|
55
|
-
|
|
56
|
-
|
|
48
|
+
let transform = insertedTransforms[val];
|
|
49
|
+
if (isClient) {
|
|
50
|
+
if (!transform) {
|
|
51
|
+
updateInserted();
|
|
52
|
+
transform = insertedTransforms[val];
|
|
53
|
+
}
|
|
54
|
+
if (!transform) {
|
|
55
|
+
if (isWeb && val[0] !== "_") {
|
|
56
|
+
transform = val;
|
|
57
|
+
} else {
|
|
58
|
+
console.trace("?", key, val, cur, props, state);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
62
|
+
console.log(" \xBB getSplitStyles mergeClassName transform", { key, val, namespace, transform, insertedTransforms });
|
|
63
|
+
}
|
|
64
|
+
if (process.env.NODE_ENV === "development") {
|
|
65
|
+
if (!transform) {
|
|
66
|
+
console.trace("NO TRANSFORM?", { key, val, transform });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
57
69
|
}
|
|
58
|
-
const transform = insertedTransforms[val];
|
|
59
70
|
transforms[namespace] = transforms[namespace] || ["", ""];
|
|
60
|
-
|
|
61
|
-
transforms[namespace][
|
|
71
|
+
const identifier = val.replace("_transform", "");
|
|
72
|
+
transforms[namespace][0] += identifier;
|
|
73
|
+
if (transform) {
|
|
74
|
+
transforms[namespace][1] += transform;
|
|
75
|
+
}
|
|
62
76
|
} else {
|
|
63
77
|
classNames[key] = val;
|
|
64
78
|
}
|
|
@@ -68,17 +82,21 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
68
82
|
if (!cur)
|
|
69
83
|
return;
|
|
70
84
|
normalizeStyleObject(cur);
|
|
85
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
86
|
+
console.log(" \xBB getSplitStyles push", cur, state);
|
|
87
|
+
}
|
|
71
88
|
if (isWeb && !state.noClassNames) {
|
|
72
89
|
const atomic = getStylesAtomic(cur);
|
|
73
90
|
for (const atomicStyle of atomic) {
|
|
74
91
|
if (!state.noClassNames) {
|
|
75
|
-
mergeClassName(atomicStyle.property, atomicStyle.identifier);
|
|
76
92
|
insertStyleRule(atomicStyle.identifier, atomicStyle.rules[0]);
|
|
93
|
+
mergeClassName(atomicStyle.property, atomicStyle.identifier);
|
|
77
94
|
} else {
|
|
78
95
|
style[atomicStyle.property] = atomicStyle.value;
|
|
79
96
|
}
|
|
80
97
|
}
|
|
81
|
-
}
|
|
98
|
+
}
|
|
99
|
+
if (!isWeb || state.noClassNames || state.resolveVariablesAs === "value" || state.resolveVariablesAs === "both") {
|
|
82
100
|
for (const key in cur) {
|
|
83
101
|
if (key in stylePropsTransform) {
|
|
84
102
|
mergeTransform(style, key, cur[key]);
|
|
@@ -91,30 +109,40 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
91
109
|
}
|
|
92
110
|
__name(push, "push");
|
|
93
111
|
for (const keyInit in props) {
|
|
112
|
+
if (skipProps[keyInit]) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
94
115
|
const valInit = props[keyInit];
|
|
95
|
-
if (
|
|
96
|
-
|
|
116
|
+
if (keyInit === "style" || keyInit.startsWith("_style")) {
|
|
117
|
+
push();
|
|
118
|
+
cur = valInit;
|
|
119
|
+
push();
|
|
97
120
|
continue;
|
|
98
121
|
}
|
|
99
122
|
if (keyInit === "className" || validStyleProps[keyInit] && valInit && valInit[0] === "_") {
|
|
100
123
|
push();
|
|
101
124
|
mergeClassName(keyInit, valInit);
|
|
102
|
-
if (cur) {
|
|
103
|
-
if (cur[keyInit])
|
|
104
|
-
console.warn("just want to see how used");
|
|
105
|
-
delete cur[keyInit];
|
|
106
|
-
}
|
|
107
125
|
continue;
|
|
108
126
|
}
|
|
127
|
+
if (state.keepVariantsAsProps && staticConfig.defaultVariants && keyInit in staticConfig.defaultVariants) {
|
|
128
|
+
viewProps[keyInit] = valInit;
|
|
129
|
+
}
|
|
109
130
|
let isMedia = keyInit[0] === "$";
|
|
110
131
|
let isPseudo = validPseudoKeys[keyInit];
|
|
111
|
-
|
|
132
|
+
if (!isMedia && !isPseudo && !((_a = staticConfig.variants) == null ? void 0 : _a[keyInit]) && !validStyleProps[keyInit] && !conf.shorthands[keyInit]) {
|
|
133
|
+
viewProps[keyInit] = valInit;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const out = isMedia || isPseudo ? true : staticConfig.propMapper(keyInit, valInit, theme, state.fallbackProps || props, state.resolveVariablesAs);
|
|
112
137
|
const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
|
|
138
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
139
|
+
console.log(" \xBB getSplitStyles", keyInit, expanded);
|
|
140
|
+
}
|
|
113
141
|
for (const [key, val] of expanded) {
|
|
114
142
|
if (val === void 0) {
|
|
115
143
|
continue;
|
|
116
144
|
}
|
|
117
|
-
if (val && val[0] === "_") {
|
|
145
|
+
if (key !== "target" && val && val[0] === "_") {
|
|
118
146
|
mergeClassName(key, val);
|
|
119
147
|
continue;
|
|
120
148
|
}
|
|
@@ -130,45 +158,46 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
130
158
|
continue;
|
|
131
159
|
}
|
|
132
160
|
pseudos[key] = pseudos[key] || {};
|
|
133
|
-
pseudos[key] = getSubStyle(val, staticConfig, theme, props, state
|
|
161
|
+
pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true);
|
|
134
162
|
if (isWeb && !state.noClassNames) {
|
|
135
163
|
const pseudoStyles = getStylesAtomic({ [key]: pseudos[key] });
|
|
136
164
|
for (const style2 of pseudoStyles) {
|
|
137
|
-
mergeClassName(`${style2.property}-${key}`, style2.identifier);
|
|
138
165
|
insertStyleRule(style2.identifier, style2.rules[0]);
|
|
166
|
+
mergeClassName(`${style2.property}-${key}`, style2.identifier);
|
|
139
167
|
}
|
|
140
168
|
}
|
|
141
169
|
continue;
|
|
142
170
|
}
|
|
143
171
|
if (isMedia) {
|
|
144
|
-
const mediaKey = key
|
|
145
|
-
|
|
146
|
-
|
|
172
|
+
const mediaKey = key;
|
|
173
|
+
const mediaKeyShort = mediaKey.slice(1);
|
|
174
|
+
if (!mediaQueryConfig[mediaKeyShort]) {
|
|
175
|
+
viewProps[key] = val;
|
|
147
176
|
continue;
|
|
148
177
|
}
|
|
149
|
-
const mediaStyle = getSubStyle(
|
|
150
|
-
if (
|
|
178
|
+
const mediaStyle = getSubStyle(val, staticConfig, theme, props, state);
|
|
179
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
180
|
+
console.log(" \xBB getSplitStyles mediaStyle", mediaKey, mediaStyle, props);
|
|
181
|
+
}
|
|
182
|
+
const shouldDoClasses = isWeb && !state.noClassNames;
|
|
183
|
+
if (shouldDoClasses) {
|
|
151
184
|
const mediaStyles = getStylesAtomic(mediaStyle);
|
|
152
185
|
for (const style2 of mediaStyles) {
|
|
153
|
-
const out2 = createMediaStyle(style2,
|
|
154
|
-
mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
|
|
186
|
+
const out2 = createMediaStyle(style2, mediaKeyShort, mediaQueryConfig);
|
|
155
187
|
insertStyleRule(out2.identifier, out2.styleRule);
|
|
156
|
-
|
|
157
|
-
if (mediaState[mediaKey]) {
|
|
158
|
-
Object.assign(medias, mediaStyle);
|
|
188
|
+
mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
|
|
159
189
|
}
|
|
160
190
|
} else {
|
|
161
191
|
if (mediaState[mediaKey]) {
|
|
162
|
-
|
|
192
|
+
push();
|
|
193
|
+
if (process.env.NODE_ENV === "development" && props["debug"]) {
|
|
194
|
+
console.log("apply media style", mediaKey, mediaState);
|
|
195
|
+
}
|
|
196
|
+
Object.assign(shouldDoClasses ? medias : style, mediaStyle);
|
|
163
197
|
}
|
|
164
198
|
}
|
|
165
199
|
continue;
|
|
166
200
|
}
|
|
167
|
-
if (key === "style" || key.startsWith("_style")) {
|
|
168
|
-
push();
|
|
169
|
-
Object.assign(style, val);
|
|
170
|
-
continue;
|
|
171
|
-
}
|
|
172
201
|
if (!isWeb && key === "pointerEvents") {
|
|
173
202
|
viewProps[key] = val;
|
|
174
203
|
continue;
|
|
@@ -191,13 +220,18 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
191
220
|
for (const namespace in transforms) {
|
|
192
221
|
const [hash, val] = transforms[namespace];
|
|
193
222
|
const identifier = `_transform${hash}`;
|
|
194
|
-
if (
|
|
195
|
-
|
|
196
|
-
|
|
223
|
+
if (isClient) {
|
|
224
|
+
if (!insertedTransforms[identifier]) {
|
|
225
|
+
const rule = `.${identifier} { transform: ${val}; }`;
|
|
226
|
+
insertStyleRule(identifier, rule);
|
|
227
|
+
}
|
|
197
228
|
}
|
|
198
229
|
classNames[namespace] = identifier;
|
|
199
230
|
}
|
|
200
231
|
}
|
|
232
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
233
|
+
console.log(" \xBB getSplitStyles out", { style, pseudos, medias, classNames, viewProps, state });
|
|
234
|
+
}
|
|
201
235
|
return {
|
|
202
236
|
viewProps,
|
|
203
237
|
style,
|
|
@@ -206,11 +240,11 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
206
240
|
classNames
|
|
207
241
|
};
|
|
208
242
|
}, "getSplitStyles");
|
|
209
|
-
const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props,
|
|
243
|
+
const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props, state, avoidDefaultProps) => {
|
|
210
244
|
const styleOut = {};
|
|
211
245
|
for (const key in styleIn) {
|
|
212
246
|
const val = styleIn[key];
|
|
213
|
-
const out = staticConfig.propMapper(key, val, theme, props,
|
|
247
|
+
const out = staticConfig.propMapper(key, val, theme, state.fallbackProps || props, state.resolveVariablesAs, avoidDefaultProps);
|
|
214
248
|
const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
|
|
215
249
|
for (const [skey, sval] of expanded) {
|
|
216
250
|
if (skey in stylePropsTransform) {
|
|
@@ -223,6 +257,21 @@ const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props,
|
|
|
223
257
|
normalizeStyleObject(styleOut);
|
|
224
258
|
return styleOut;
|
|
225
259
|
}, "getSubStyle");
|
|
260
|
+
function normalizeStyleObject(style) {
|
|
261
|
+
var _a, _b;
|
|
262
|
+
if (typeof style.flex === "number") {
|
|
263
|
+
const val = style.flex;
|
|
264
|
+
delete style.flex;
|
|
265
|
+
style.flexGrow = (_a = style.flexGrow) != null ? _a : val;
|
|
266
|
+
style.flexShrink = (_b = style.flexShrink) != null ? _b : 1;
|
|
267
|
+
}
|
|
268
|
+
if (!isWeb) {
|
|
269
|
+
fixNativeShadow(style);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
__name(normalizeStyleObject, "normalizeStyleObject");
|
|
226
273
|
export {
|
|
227
|
-
getSplitStyles
|
|
274
|
+
getSplitStyles,
|
|
275
|
+
getSubStyle,
|
|
276
|
+
normalizeStyleObject
|
|
228
277
|
};
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
mergeTransform,
|
|
6
6
|
stylePropsTransform
|
|
7
7
|
} from "@tamagui/helpers";
|
|
8
|
+
import { getConfig } from "../conf";
|
|
8
9
|
import { rnw } from "../constants/rnw";
|
|
9
10
|
import { isVariable } from "../createVariable";
|
|
10
11
|
function getStylesAtomic(stylesIn, options = {}) {
|
|
@@ -33,6 +34,7 @@ __name(getStylesAtomic, "getStylesAtomic");
|
|
|
33
34
|
const generateAtomicStyles = /* @__PURE__ */ __name((style) => {
|
|
34
35
|
return rnw.atomic(rnw.createCompileableStyle(rnw.createReactDOMStyle(style)));
|
|
35
36
|
}, "generateAtomicStyles");
|
|
37
|
+
let reversedShorthands = null;
|
|
36
38
|
function getAtomicStyle(style, pseudo, options) {
|
|
37
39
|
var _a;
|
|
38
40
|
if (style == null || typeof style !== "object") {
|
|
@@ -60,11 +62,22 @@ function getAtomicStyle(style, pseudo, options) {
|
|
|
60
62
|
} else {
|
|
61
63
|
atomicStyles = generateAtomicStyles(style);
|
|
62
64
|
}
|
|
65
|
+
if (!reversedShorthands) {
|
|
66
|
+
reversedShorthands = {};
|
|
67
|
+
const conf = getConfig();
|
|
68
|
+
if (conf.shorthands) {
|
|
69
|
+
for (const key in conf.shorthands) {
|
|
70
|
+
reversedShorthands[conf.shorthands[key]] = key;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
63
74
|
return Object.keys(atomicStyles).map((key) => {
|
|
64
75
|
const val = atomicStyles[key];
|
|
65
|
-
const [_,
|
|
76
|
+
const [_, a, b] = val.identifier.split("-");
|
|
77
|
+
const hash = b || a;
|
|
66
78
|
const psuedoPrefix = pseudo ? `0${pseudo.name}-` : "";
|
|
67
|
-
const
|
|
79
|
+
const shortProp = reversedShorthands[val.property] || val.property;
|
|
80
|
+
const identifier = `_${shortProp}-${psuedoPrefix}${hash}`;
|
|
68
81
|
const className = `.${identifier}`;
|
|
69
82
|
const rules = val.rules.map((rule) => {
|
|
70
83
|
if (pseudo) {
|
|
@@ -6,23 +6,30 @@ const insertedTransforms = {};
|
|
|
6
6
|
const getAllSelectors = /* @__PURE__ */ __name(() => allSelectors, "getAllSelectors");
|
|
7
7
|
const getInsertedRules = /* @__PURE__ */ __name(() => Object.values(insertedSelectors), "getInsertedRules");
|
|
8
8
|
const getAllTransforms = /* @__PURE__ */ __name(() => insertedTransforms, "getAllTransforms");
|
|
9
|
-
function addTransform(identifier, rule) {
|
|
10
|
-
const s =
|
|
9
|
+
function addTransform(identifier, css, rule) {
|
|
10
|
+
const s = css.indexOf("transform:");
|
|
11
11
|
if (s === -1) {
|
|
12
|
-
|
|
12
|
+
if (process.env.NODE_ENV === "development") {
|
|
13
|
+
console.groupCollapsed(`\u274C Invalid transform, likely used deg/% improperly ${identifier}`);
|
|
14
|
+
console.log("rule:", rule);
|
|
15
|
+
console.trace();
|
|
16
|
+
console.groupEnd();
|
|
17
|
+
} else {
|
|
18
|
+
console.error(`Missing transform`, identifier, css, rule);
|
|
19
|
+
}
|
|
13
20
|
return;
|
|
14
21
|
}
|
|
15
22
|
const startI = s + "transform:".length;
|
|
16
|
-
const endI =
|
|
17
|
-
const value =
|
|
23
|
+
const endI = css.indexOf(";");
|
|
24
|
+
const value = css.slice(startI, endI);
|
|
18
25
|
insertedTransforms[identifier] = value;
|
|
19
26
|
}
|
|
20
27
|
__name(addTransform, "addTransform");
|
|
28
|
+
const isClient = typeof document !== "undefined";
|
|
21
29
|
let hasInsertedSinceUpdate = true;
|
|
22
30
|
function updateInserted() {
|
|
23
|
-
if (
|
|
31
|
+
if (!isClient)
|
|
24
32
|
return;
|
|
25
|
-
}
|
|
26
33
|
if (!hasInsertedSinceUpdate) {
|
|
27
34
|
console.warn("hasnt inserted since");
|
|
28
35
|
return;
|
|
@@ -33,19 +40,22 @@ function updateInserted() {
|
|
|
33
40
|
for (let i = 0; i < sheets.length; i++) {
|
|
34
41
|
const rules = sheets[i].cssRules;
|
|
35
42
|
const firstRule = rules[0];
|
|
36
|
-
if (!firstRule)
|
|
43
|
+
if (!(firstRule instanceof CSSStyleRule))
|
|
37
44
|
continue;
|
|
38
|
-
const firstSelector = firstRule
|
|
45
|
+
const firstSelector = firstRule.selectorText;
|
|
39
46
|
if (!firstSelector)
|
|
40
47
|
continue;
|
|
41
48
|
if (firstSelector === ":root" || firstSelector.startsWith("._")) {
|
|
42
|
-
for (
|
|
43
|
-
|
|
49
|
+
for (let i2 = 0; i2 < rules.length; i2++) {
|
|
50
|
+
const rule = rules.item(i2);
|
|
51
|
+
if (!(rule instanceof CSSStyleRule))
|
|
44
52
|
continue;
|
|
45
53
|
const identifier = rule.selectorText.slice(1);
|
|
46
|
-
allSelectors[identifier]
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
if (!allSelectors[identifier]) {
|
|
55
|
+
allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule.cssText : true;
|
|
56
|
+
if (identifier.startsWith("_transform")) {
|
|
57
|
+
addTransform(identifier, rule.cssText, rule);
|
|
58
|
+
}
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
61
|
}
|
|
@@ -54,23 +64,22 @@ function updateInserted() {
|
|
|
54
64
|
}
|
|
55
65
|
__name(updateInserted, "updateInserted");
|
|
56
66
|
updateInserted();
|
|
57
|
-
const
|
|
58
|
-
function
|
|
59
|
-
if (
|
|
67
|
+
const sheet = isClient ? document.head.appendChild(document.createElement("style")).sheet : null;
|
|
68
|
+
function updateInsertedCache(identifier, rule) {
|
|
69
|
+
if (insertedSelectors[identifier])
|
|
60
70
|
return;
|
|
61
|
-
}
|
|
62
|
-
hasInsertedSinceUpdate = true;
|
|
63
71
|
insertedSelectors[identifier] = rule;
|
|
64
|
-
allSelectors[identifier] = process.env.NODE_ENV === "development" ? rule : true;
|
|
65
72
|
if (identifier.startsWith("_transform")) {
|
|
66
73
|
addTransform(identifier, rule);
|
|
67
74
|
}
|
|
68
|
-
|
|
75
|
+
}
|
|
76
|
+
__name(updateInsertedCache, "updateInsertedCache");
|
|
77
|
+
function insertStyleRule(identifier, rule) {
|
|
78
|
+
if (allSelectors[identifier])
|
|
69
79
|
return;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
sheet.insertRule(rule, sheet.cssRules.length);
|
|
73
|
-
return identifier;
|
|
80
|
+
hasInsertedSinceUpdate = true;
|
|
81
|
+
updateInsertedCache(identifier, rule);
|
|
82
|
+
sheet == null ? void 0 : sheet.insertRule(rule, sheet.cssRules.length);
|
|
74
83
|
}
|
|
75
84
|
__name(insertStyleRule, "insertStyleRule");
|
|
76
85
|
export {
|
|
@@ -79,5 +88,6 @@ export {
|
|
|
79
88
|
getInsertedRules,
|
|
80
89
|
insertStyleRule,
|
|
81
90
|
insertedTransforms,
|
|
82
|
-
updateInserted
|
|
91
|
+
updateInserted,
|
|
92
|
+
updateInsertedCache
|
|
83
93
|
};
|