@tamagui/core 1.0.0-beta.179 → 1.0.0-beta.181
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 +12 -0
- package/dist/cjs/constants/pseudos.js +37 -0
- package/dist/cjs/constants/pseudos.js.map +7 -0
- package/dist/cjs/constants/rnw.js +4 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js +4 -0
- package/dist/cjs/createComponent.js +132 -126
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +4 -0
- package/dist/cjs/createShallowUpdate.js +1 -0
- package/dist/cjs/createShallowUpdate.js.map +7 -0
- package/dist/cjs/createShorthands.js +4 -0
- package/dist/cjs/createTamagui.js +12 -0
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +4 -0
- package/dist/cjs/createTokens.js +5 -0
- package/dist/cjs/createTokens.js.map +1 -1
- package/dist/cjs/createVariable.js +9 -0
- package/dist/cjs/defaultComponentState.js +0 -30
- package/dist/cjs/defaultComponentState.js.map +3 -3
- package/dist/cjs/devtools.js +32 -0
- package/dist/cjs/devtools.js.map +7 -0
- package/dist/cjs/helpers/RNComponents.js +38 -0
- package/dist/cjs/helpers/RNComponents.js.map +7 -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 +8 -6
- package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
- package/dist/cjs/helpers/createPropMapper.js +57 -56
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createShallowUpdate.js +55 -0
- package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
- package/dist/cjs/helpers/createTamaguiProvider.js +5 -5
- package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +8 -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/helpers/getSplitStyles.js +94 -47
- 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/themeable.js +8 -2
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/validate.js +46 -5
- 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 -12
- 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 +36 -43
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/usePressable.js +4 -0
- package/dist/cjs/hooks/useTheme.js +28 -13
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useUnmountEffect.js +4 -0
- package/dist/cjs/index.js +14 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/styled.js +8 -15
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/tamagui-base.css +8 -0
- package/dist/cjs/tamagui-base.css.map +7 -0
- package/dist/cjs/types-rnw.js.map +1 -1
- 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 +17 -19
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeInverse.js +5 -0
- package/dist/cjs/views/ThemeProvider.js +4 -0
- 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/pseudos.js +18 -0
- package/dist/esm/constants/pseudos.js.map +7 -0
- package/dist/esm/createComponent.js +122 -129
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createShallowUpdate.js +1 -0
- package/dist/esm/createShallowUpdate.js.map +7 -0
- package/dist/esm/createTamagui.js +8 -0
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTokens.js.map +1 -1
- package/dist/esm/defaultComponentState.js +0 -11
- package/dist/esm/defaultComponentState.js.map +3 -3
- package/dist/esm/devtools.js +14 -0
- package/dist/esm/devtools.js.map +7 -0
- package/dist/esm/helpers/RNComponents.js +12 -0
- package/dist/esm/helpers/RNComponents.js.map +7 -0
- package/dist/esm/helpers/addStylesUsingClassname.js +4 -1
- package/dist/esm/helpers/addStylesUsingClassname.js.map +2 -2
- package/dist/esm/helpers/createMediaStyle.js +3 -6
- package/dist/esm/helpers/createMediaStyle.js.map +2 -2
- package/dist/esm/helpers/createPropMapper.js +53 -56
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createShallowUpdate.js +19 -0
- package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
- package/dist/esm/helpers/createTamaguiProvider.js +1 -4
- package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +5 -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/getSplitStyles.js +89 -48
- 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/themeable.js +4 -2
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/validate.js +17 -5
- package/dist/esm/helpers/validate.js.map +2 -2
- package/dist/esm/hooks/useFeatures.js +96 -17
- package/dist/esm/hooks/useFeatures.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +25 -43
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +20 -13
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/styled.js +4 -12
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/tamagui-base.css +8 -0
- package/dist/esm/tamagui-base.css.map +7 -0
- 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 +13 -19
- package/dist/esm/views/Theme.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/pseudos.js +17 -0
- package/dist/jsx/createComponent.js +115 -123
- package/dist/jsx/createShallowUpdate.js +0 -0
- package/dist/jsx/createTamagui.js +8 -0
- package/dist/jsx/defaultComponentState.js +0 -11
- package/dist/jsx/devtools.js +13 -0
- package/dist/jsx/helpers/RNComponents.js +11 -0
- package/dist/jsx/helpers/addStylesUsingClassname.js +4 -1
- package/dist/jsx/helpers/createMediaStyle.js +3 -6
- package/dist/jsx/helpers/createPropMapper.js +53 -56
- package/dist/jsx/helpers/createShallowUpdate.js +18 -0
- package/dist/jsx/helpers/createTamaguiProvider.js +1 -2
- package/dist/jsx/helpers/extendStaticConfig.js +5 -6
- package/dist/jsx/helpers/fixNativeShadow.native.js +2 -2
- package/dist/jsx/helpers/getSplitStyles.js +89 -48
- package/dist/jsx/helpers/getStylesAtomic.js +15 -2
- package/dist/jsx/helpers/insertStyleRule.js +36 -26
- package/dist/jsx/helpers/themeable.js +4 -3
- package/dist/jsx/helpers/validate.js +17 -5
- package/dist/jsx/hooks/useFeatures.js +96 -17
- package/dist/jsx/hooks/useMedia.js +25 -43
- package/dist/jsx/hooks/useTheme.js +20 -13
- package/dist/jsx/index.js +3 -0
- package/dist/jsx/styled.js +4 -12
- package/dist/jsx/tamagui-base.css +7 -0
- package/dist/jsx/views/Stack.js +1 -0
- package/dist/jsx/views/Text.js +1 -0
- package/dist/jsx/views/Theme.js +13 -19
- package/package.json +6 -6
- package/types/Tamagui.d.ts +16 -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.map +1 -1
- package/types/createComponent.d.ts +5 -7
- 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.map +1 -1
- package/types/createTokens.d.ts +8 -0
- package/types/createTokens.d.ts.map +1 -1
- package/types/defaultComponentState.d.ts +0 -12
- package/types/defaultComponentState.d.ts.map +1 -1
- package/types/helpers/RNComponents.d.ts +2 -0
- package/types/helpers/RNComponents.d.ts.map +1 -0
- package/types/helpers/addStylesUsingClassname.d.ts.map +1 -1
- package/types/helpers/createMediaStyle.d.ts +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -1
- package/types/helpers/createPropMapper.d.ts +2 -2
- package/types/helpers/createPropMapper.d.ts.map +1 -1
- package/types/helpers/createShallowUpdate.d.ts +4 -0
- package/types/helpers/createShallowUpdate.d.ts.map +1 -0
- package/types/helpers/createTamaguiProvider.d.ts +1 -1
- package/types/helpers/createTamaguiProvider.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/getSplitStyles.d.ts +4 -14
- 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/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/useFeatures.d.ts +7 -5
- package/types/hooks/useFeatures.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 +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/styled.d.ts +13 -8
- package/types/styled.d.ts.map +1 -1
- package/types/types-rnw.d.ts +0 -5
- package/types/types-rnw.d.ts.map +1 -1
- package/types/types.d.ts +124 -90
- package/types/types.d.ts.map +1 -1
- package/types/views/Stack.d.ts +2 -2
- package/types/views/Stack.d.ts.map +1 -1
- package/types/views/Text.d.ts +2 -2
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts +1 -0
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -4,63 +4,65 @@ 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
|
+
variantValue = variantValue(value, {
|
|
47
|
+
tokens: conf.tokensParsed,
|
|
48
|
+
theme,
|
|
49
|
+
props: avoidDefaultProps ? props : new Proxy(props, {
|
|
50
|
+
get(target, key2) {
|
|
51
|
+
if (Reflect.has(target, key2)) {
|
|
52
|
+
return Reflect.get(target, key2);
|
|
53
|
+
}
|
|
54
|
+
if (defaultProps) {
|
|
55
|
+
return Reflect.get(defaultProps, key2);
|
|
56
|
+
}
|
|
52
57
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (isObj(variantValue)) {
|
|
61
|
-
variantValue = resolveTokens(variantValue, conf, theme, fontFamily, returnVariablesAs);
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (isObj(variantValue)) {
|
|
62
|
+
variantValue = resolveTokens(variantValue, conf, theme, fontFamily, returnVariablesAs);
|
|
63
|
+
}
|
|
64
|
+
return variantValue;
|
|
62
65
|
}
|
|
63
|
-
return variantValue;
|
|
64
66
|
}
|
|
65
67
|
let shouldReturn = false;
|
|
66
68
|
if (conf.shorthands[key]) {
|
|
@@ -108,8 +110,12 @@ const resolveTokens = /* @__PURE__ */ __name((input, conf, theme, fontFamily, re
|
|
|
108
110
|
}
|
|
109
111
|
return res;
|
|
110
112
|
}, "resolveTokens");
|
|
113
|
+
const fontShorthand = {
|
|
114
|
+
fontSize: "size",
|
|
115
|
+
fontWeight: "weight"
|
|
116
|
+
};
|
|
111
117
|
const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed }, theme, fontFamily = "$body", resolveAs) => {
|
|
112
|
-
var _a, _b, _c
|
|
118
|
+
var _a, _b, _c;
|
|
113
119
|
let valOrVar;
|
|
114
120
|
let hasSet = false;
|
|
115
121
|
const valueName = value[0] === "$" ? value.slice(1) : value;
|
|
@@ -123,19 +129,10 @@ const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed }, theme, fo
|
|
|
123
129
|
hasSet = true;
|
|
124
130
|
break;
|
|
125
131
|
case "fontSize":
|
|
126
|
-
valOrVar = ((_b = tokensParsed.font[fontFamily]) == null ? void 0 : _b.size[value]) || value;
|
|
127
|
-
hasSet = true;
|
|
128
|
-
break;
|
|
129
132
|
case "lineHeight":
|
|
130
|
-
valOrVar = ((_c = tokensParsed.font[fontFamily]) == null ? void 0 : _c.lineHeight[value]) || value;
|
|
131
|
-
hasSet = true;
|
|
132
|
-
break;
|
|
133
133
|
case "letterSpacing":
|
|
134
|
-
valOrVar = ((_d = tokensParsed.font[fontFamily]) == null ? void 0 : _d.letterSpacing[value]) || value;
|
|
135
|
-
hasSet = true;
|
|
136
|
-
break;
|
|
137
134
|
case "fontWeight":
|
|
138
|
-
valOrVar = ((
|
|
135
|
+
valOrVar = ((_c = (_b = tokensParsed.font[fontFamily]) == null ? void 0 : _b[fontShorthand[key] || key]) == null ? void 0 : _c[value]) || value;
|
|
139
136
|
hasSet = true;
|
|
140
137
|
break;
|
|
141
138
|
}
|
|
@@ -161,7 +158,7 @@ const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed }, theme, fo
|
|
|
161
158
|
}
|
|
162
159
|
if (process.env.NODE_ENV === "development") {
|
|
163
160
|
if (value && value[0] === "$") {
|
|
164
|
-
console.warn(`\u26A0\uFE0F Missing token in theme:`, value
|
|
161
|
+
console.warn(`\u26A0\uFE0F Missing token in theme ${theme.name}:`, value);
|
|
165
162
|
return null;
|
|
166
163
|
}
|
|
167
164
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
function createShallowUpdate(setter) {
|
|
4
|
+
return (next) => {
|
|
5
|
+
setter((prev) => {
|
|
6
|
+
for (const key in next) {
|
|
7
|
+
if (prev[key] !== next[key]) {
|
|
8
|
+
return { ...prev, ...next };
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return prev;
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
__name(createShallowUpdate, "createShallowUpdate");
|
|
16
|
+
export {
|
|
17
|
+
createShallowUpdate
|
|
18
|
+
};
|
|
@@ -10,7 +10,6 @@ function createTamaguiProvider({
|
|
|
10
10
|
}) {
|
|
11
11
|
return /* @__PURE__ */ __name(function TamaguiProvider({
|
|
12
12
|
injectCSS,
|
|
13
|
-
fallback,
|
|
14
13
|
children,
|
|
15
14
|
...themePropsProvider
|
|
16
15
|
}) {
|
|
@@ -26,7 +25,7 @@ function createTamaguiProvider({
|
|
|
26
25
|
};
|
|
27
26
|
}, []);
|
|
28
27
|
}
|
|
29
|
-
return <ButtonInsideButtonContext.Provider value={false}><TextAncestorProvider><ThemeProvider {...themeProps} {...themePropsProvider}
|
|
28
|
+
return <ButtonInsideButtonContext.Provider value={false}><TextAncestorProvider><ThemeProvider {...themeProps} {...themePropsProvider}>{children}</ThemeProvider></TextAncestorProvider></ButtonInsideButtonContext.Provider>;
|
|
30
29
|
}, "TamaguiProvider");
|
|
31
30
|
}
|
|
32
31
|
__name(createTamaguiProvider, "createTamaguiProvider");
|
|
@@ -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 = {
|
|
@@ -40,7 +37,9 @@ function extendStaticConfig(parent, config = {}) {
|
|
|
40
37
|
} : parent.staticConfig.validStyles || stylePropsView,
|
|
41
38
|
defaultProps: {
|
|
42
39
|
...parent.staticConfig.defaultProps,
|
|
43
|
-
...
|
|
40
|
+
...parent.staticConfig.defaultVariants,
|
|
41
|
+
...config.defaultProps,
|
|
42
|
+
...config.defaultVariants
|
|
44
43
|
}
|
|
45
44
|
});
|
|
46
45
|
}
|
|
@@ -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;
|
|
@@ -7,34 +7,25 @@ import {
|
|
|
7
7
|
validPseudoKeys,
|
|
8
8
|
validStyles
|
|
9
9
|
} from "@tamagui/helpers";
|
|
10
|
+
import { getConfig } from "../conf";
|
|
10
11
|
import { 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) => {
|
|
37
|
-
var _a
|
|
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();
|
|
38
29
|
const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
|
|
39
30
|
const viewProps = {};
|
|
40
31
|
const style = {};
|
|
@@ -51,14 +42,32 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
51
42
|
if (val.startsWith("_transform-")) {
|
|
52
43
|
const isMediaOrPseudo = key !== "transform";
|
|
53
44
|
const isMedia = isMediaOrPseudo && key[11] === "_";
|
|
54
|
-
const isPsuedo = isMediaOrPseudo &&
|
|
45
|
+
const isPsuedo = isMediaOrPseudo && key[11] === "0" || key.endsWith("Style");
|
|
55
46
|
const namespace = isMedia ? key.split("_")[2] : isPsuedo ? key.split("-")[1] : "transform";
|
|
56
|
-
|
|
47
|
+
let transform = insertedTransforms[val];
|
|
48
|
+
if (!transform) {
|
|
57
49
|
updateInserted();
|
|
50
|
+
transform = insertedTransforms[val];
|
|
51
|
+
}
|
|
52
|
+
if (!transform) {
|
|
53
|
+
if (isWeb && val[0] !== "_") {
|
|
54
|
+
transform = val;
|
|
55
|
+
} else {
|
|
56
|
+
console.log("?", key, val);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
60
|
+
console.log(" \xBB getSplitStyles mergeClassName transform", { key, val, namespace, transform, insertedTransforms });
|
|
61
|
+
}
|
|
62
|
+
if (process.env.NODE_ENV === "development") {
|
|
63
|
+
if (!transform) {
|
|
64
|
+
console.log("NO TRANSFORM?", { key, val, transform });
|
|
65
|
+
}
|
|
58
66
|
}
|
|
59
|
-
const transform = insertedTransforms[val];
|
|
60
67
|
transforms[namespace] = transforms[namespace] || ["", ""];
|
|
61
|
-
|
|
68
|
+
const identifier = val.replace("_transform", "");
|
|
69
|
+
console.warn("?bug2", key, val, transform, insertedTransforms[val]);
|
|
70
|
+
transforms[namespace][0] += identifier;
|
|
62
71
|
transforms[namespace][1] += transform;
|
|
63
72
|
} else {
|
|
64
73
|
classNames[key] = val;
|
|
@@ -69,6 +78,9 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
69
78
|
if (!cur)
|
|
70
79
|
return;
|
|
71
80
|
normalizeStyleObject(cur);
|
|
81
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
82
|
+
console.log(" \xBB getSplitStyles push", cur, state);
|
|
83
|
+
}
|
|
72
84
|
if (isWeb && !state.noClassNames) {
|
|
73
85
|
const atomic = getStylesAtomic(cur);
|
|
74
86
|
for (const atomicStyle of atomic) {
|
|
@@ -79,7 +91,8 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
79
91
|
style[atomicStyle.property] = atomicStyle.value;
|
|
80
92
|
}
|
|
81
93
|
}
|
|
82
|
-
}
|
|
94
|
+
}
|
|
95
|
+
if (!isWeb || state.noClassNames || state.resolveVariablesAs === "value" || state.resolveVariablesAs === "both") {
|
|
83
96
|
for (const key in cur) {
|
|
84
97
|
if (key in stylePropsTransform) {
|
|
85
98
|
mergeTransform(style, key, cur[key]);
|
|
@@ -92,11 +105,12 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
92
105
|
}
|
|
93
106
|
__name(push, "push");
|
|
94
107
|
for (const keyInit in props) {
|
|
95
|
-
|
|
96
|
-
if (skipKeys[keyInit]) {
|
|
97
|
-
viewProps[keyInit] = valInit;
|
|
108
|
+
if (skipProps[keyInit]) {
|
|
98
109
|
continue;
|
|
99
110
|
}
|
|
111
|
+
const valInit = props[keyInit];
|
|
112
|
+
let isMedia = keyInit[0] === "$";
|
|
113
|
+
let isPseudo = validPseudoKeys[keyInit];
|
|
100
114
|
if (keyInit === "className" || validStyleProps[keyInit] && valInit && valInit[0] === "_") {
|
|
101
115
|
push();
|
|
102
116
|
mergeClassName(keyInit, valInit);
|
|
@@ -107,15 +121,20 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
107
121
|
}
|
|
108
122
|
continue;
|
|
109
123
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
124
|
+
if (!isMedia && !isPseudo && !((_a = staticConfig.variants) == null ? void 0 : _a[keyInit]) && !validStyleProps[keyInit] && !conf.shorthands[keyInit]) {
|
|
125
|
+
viewProps[keyInit] = valInit;
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const out = isMedia || isPseudo ? true : staticConfig.propMapper(keyInit, valInit, theme, state.fallbackProps || props, state.resolveVariablesAs);
|
|
113
129
|
const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
|
|
130
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
131
|
+
console.log(" \xBB getSplitStyles", keyInit, expanded);
|
|
132
|
+
}
|
|
114
133
|
for (const [key, val] of expanded) {
|
|
115
134
|
if (val === void 0) {
|
|
116
135
|
continue;
|
|
117
136
|
}
|
|
118
|
-
if (val && val[0] === "_") {
|
|
137
|
+
if (key !== "target" && val && val[0] === "_") {
|
|
119
138
|
mergeClassName(key, val);
|
|
120
139
|
continue;
|
|
121
140
|
}
|
|
@@ -131,12 +150,9 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
131
150
|
continue;
|
|
132
151
|
}
|
|
133
152
|
pseudos[key] = pseudos[key] || {};
|
|
134
|
-
pseudos[key] = getSubStyle(val, staticConfig, theme, props, state
|
|
153
|
+
pseudos[key] = getSubStyle(val, staticConfig, theme, props, state, true);
|
|
135
154
|
if (isWeb && !state.noClassNames) {
|
|
136
155
|
const pseudoStyles = getStylesAtomic({ [key]: pseudos[key] });
|
|
137
|
-
if ((_b = (_a = pseudoStyles[0]) == null ? void 0 : _a.identifier) == null ? void 0 : _b.includes("undefined")) {
|
|
138
|
-
console.warn("undefined bug?", (_c = pseudoStyles[0]) == null ? void 0 : _c.identifier);
|
|
139
|
-
}
|
|
140
156
|
for (const style2 of pseudoStyles) {
|
|
141
157
|
mergeClassName(`${style2.property}-${key}`, style2.identifier);
|
|
142
158
|
insertStyleRule(style2.identifier, style2.rules[0]);
|
|
@@ -145,25 +161,31 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
145
161
|
continue;
|
|
146
162
|
}
|
|
147
163
|
if (isMedia) {
|
|
148
|
-
const mediaKey = key
|
|
149
|
-
|
|
150
|
-
|
|
164
|
+
const mediaKey = key;
|
|
165
|
+
const mediaKeyShort = mediaKey.slice(1);
|
|
166
|
+
if (!mediaQueryConfig[mediaKeyShort]) {
|
|
167
|
+
viewProps[key] = val;
|
|
151
168
|
continue;
|
|
152
169
|
}
|
|
153
|
-
const mediaStyle = getSubStyle(
|
|
154
|
-
if (
|
|
170
|
+
const mediaStyle = getSubStyle(val, staticConfig, theme, props, state);
|
|
171
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
172
|
+
console.log(" \xBB getSplitStyles mediaStyle", mediaKey, mediaStyle, props);
|
|
173
|
+
}
|
|
174
|
+
const shouldDoClasses = isWeb && !state.noClassNames;
|
|
175
|
+
if (shouldDoClasses) {
|
|
155
176
|
const mediaStyles = getStylesAtomic(mediaStyle);
|
|
156
177
|
for (const style2 of mediaStyles) {
|
|
157
|
-
const out2 = createMediaStyle(style2,
|
|
178
|
+
const out2 = createMediaStyle(style2, mediaKeyShort, mediaQueryConfig);
|
|
158
179
|
mergeClassName(`${out2.identifier}-${mediaKey}`, out2.identifier);
|
|
159
180
|
insertStyleRule(out2.identifier, out2.styleRule);
|
|
160
181
|
}
|
|
161
|
-
if (mediaState[mediaKey]) {
|
|
162
|
-
Object.assign(medias, mediaStyle);
|
|
163
|
-
}
|
|
164
182
|
} else {
|
|
165
183
|
if (mediaState[mediaKey]) {
|
|
166
|
-
|
|
184
|
+
push();
|
|
185
|
+
if (process.env.NODE_ENV === "development" && props["debug"]) {
|
|
186
|
+
console.log("apply media style", mediaKey, mediaState);
|
|
187
|
+
}
|
|
188
|
+
Object.assign(shouldDoClasses ? medias : style, mediaStyle);
|
|
167
189
|
}
|
|
168
190
|
}
|
|
169
191
|
continue;
|
|
@@ -197,11 +219,15 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
197
219
|
const identifier = `_transform${hash}`;
|
|
198
220
|
if (!insertedTransforms[identifier]) {
|
|
199
221
|
const rule = `.${identifier} { transform: ${val}; }`;
|
|
222
|
+
console.log("insert", rule);
|
|
200
223
|
insertStyleRule(identifier, rule);
|
|
201
224
|
}
|
|
202
225
|
classNames[namespace] = identifier;
|
|
203
226
|
}
|
|
204
227
|
}
|
|
228
|
+
if (process.env.NODE_ENV === "development" && props["debug"] === "verbose") {
|
|
229
|
+
console.log(" \xBB getSplitStyles out", { style, pseudos, medias, classNames, viewProps, state });
|
|
230
|
+
}
|
|
205
231
|
return {
|
|
206
232
|
viewProps,
|
|
207
233
|
style,
|
|
@@ -210,11 +236,11 @@ const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, state
|
|
|
210
236
|
classNames
|
|
211
237
|
};
|
|
212
238
|
}, "getSplitStyles");
|
|
213
|
-
const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props,
|
|
239
|
+
const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props, state, avoidDefaultProps) => {
|
|
214
240
|
const styleOut = {};
|
|
215
241
|
for (const key in styleIn) {
|
|
216
242
|
const val = styleIn[key];
|
|
217
|
-
const out = staticConfig.propMapper(key, val, theme, props,
|
|
243
|
+
const out = staticConfig.propMapper(key, val, theme, state.fallbackProps || props, state.resolveVariablesAs, avoidDefaultProps);
|
|
218
244
|
const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
|
|
219
245
|
for (const [skey, sval] of expanded) {
|
|
220
246
|
if (skey in stylePropsTransform) {
|
|
@@ -227,6 +253,21 @@ const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props,
|
|
|
227
253
|
normalizeStyleObject(styleOut);
|
|
228
254
|
return styleOut;
|
|
229
255
|
}, "getSubStyle");
|
|
256
|
+
function normalizeStyleObject(style) {
|
|
257
|
+
var _a, _b;
|
|
258
|
+
if (typeof style.flex === "number") {
|
|
259
|
+
const val = style.flex;
|
|
260
|
+
delete style.flex;
|
|
261
|
+
style.flexGrow = (_a = style.flexGrow) != null ? _a : val;
|
|
262
|
+
style.flexShrink = (_b = style.flexShrink) != null ? _b : 1;
|
|
263
|
+
}
|
|
264
|
+
if (!isWeb) {
|
|
265
|
+
fixNativeShadow(style);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
__name(normalizeStyleObject, "normalizeStyleObject");
|
|
230
269
|
export {
|
|
231
|
-
getSplitStyles
|
|
270
|
+
getSplitStyles,
|
|
271
|
+
getSubStyle,
|
|
272
|
+
normalizeStyleObject
|
|
232
273
|
};
|
|
@@ -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);
|
|
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
|
};
|
|
@@ -3,14 +3,15 @@ var __name = (target, value) => __defProp(target, "name", { value, configurable:
|
|
|
3
3
|
import React, { forwardRef } from "react";
|
|
4
4
|
import { Theme } from "../views/Theme";
|
|
5
5
|
import { ThemeInverse } from "../views/ThemeInverse";
|
|
6
|
-
function themeable(component) {
|
|
6
|
+
function themeable(component, opts) {
|
|
7
7
|
const withThemeComponent = forwardRef(/* @__PURE__ */ __name(function WithTheme({ themeInverse, theme, ...rest }, ref) {
|
|
8
8
|
const element = React.createElement(component, { ...rest, ref });
|
|
9
9
|
if (themeInverse) {
|
|
10
10
|
return <ThemeInverse>{element}</ThemeInverse>;
|
|
11
11
|
}
|
|
12
|
-
if (theme) {
|
|
13
|
-
|
|
12
|
+
if (theme || opts) {
|
|
13
|
+
console.log("WHAT", opts == null ? void 0 : opts.componentName);
|
|
14
|
+
return <Theme componentName={opts == null ? void 0 : opts.componentName} name={theme || null}>{element}</Theme>;
|
|
14
15
|
}
|
|
15
16
|
return element;
|
|
16
17
|
}, "WithTheme"));
|