@tamagui/core 1.0.0-alpha.2 → 1.0.0-alpha.7
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/createComponent.js +43 -29
- package/dist/createComponent.js.map +2 -2
- package/dist/createFont.js +4 -0
- package/dist/createFont.js.map +2 -2
- package/dist/createTamagui.js +7 -0
- package/dist/createTamagui.js.map +2 -2
- package/dist/createTokens.js +4 -0
- package/dist/createTokens.js.map +2 -2
- package/dist/createVariable.js +3 -0
- package/dist/createVariable.js.map +2 -2
- package/dist/helpers/getSplitStyles.js +1 -13
- package/dist/helpers/getSplitStyles.js.map +2 -2
- package/dist/helpers/isComponent.js +10 -0
- package/dist/helpers/isComponent.js.map +7 -0
- package/dist/helpers/isTamaguiComponent.js +10 -0
- package/dist/helpers/isTamaguiComponent.js.map +7 -0
- package/dist/helpers/isTamaguiElement.js +10 -0
- package/dist/helpers/isTamaguiElement.js.map +7 -0
- package/dist/helpers/validate.js +60 -0
- package/dist/helpers/validate.js.map +7 -0
- package/dist/helpers/validateConfig.js +46 -0
- package/dist/helpers/validateConfig.js.map +7 -0
- package/dist/helpers/validateTokens.js +29 -0
- package/dist/helpers/validateTokens.js.map +7 -0
- package/dist/hooks/useMedia.js +1 -1
- package/dist/hooks/useMedia.js.map +2 -2
- package/dist/hooks/useTheme.js +1 -1
- package/dist/hooks/useTheme.js.map +2 -2
- package/dist/index.cjs +223 -137
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +1 -2
- package/dist/index.js.map +2 -2
- package/dist/views/Theme.js +16 -7
- package/dist/views/Theme.js.map +2 -2
- package/dist/views/ThemeInverse.js +0 -1
- package/dist/views/ThemeInverse.js.map +2 -2
- package/dist/views/ThemeManagerContext.js +7 -1
- package/dist/views/ThemeManagerContext.js.map +2 -2
- package/package.json +12 -5
- package/src/createComponent.tsx +49 -38
- package/src/createFont.ts +5 -0
- package/src/createTamagui.ts +8 -0
- package/src/createTokens.ts +6 -1
- package/src/createVariable.ts +4 -0
- package/src/helpers/getSplitStyles.tsx +3 -16
- package/src/helpers/isTamaguiElement.tsx +5 -0
- package/src/helpers/validate.ts +59 -0
- package/src/hooks/useMedia.tsx +1 -1
- package/src/hooks/useTheme.tsx +1 -1
- package/src/index.ts +1 -2
- package/src/types.tsx +1 -0
- package/src/views/Theme.tsx +26 -9
- package/src/views/ThemeInverse.tsx +0 -1
- package/src/views/ThemeManagerContext.tsx +11 -1
- package/types.d.ts +3 -5
- package/.ultra.cache.json +0 -1
- package/_/constants/constants.js +0 -14
- package/_/constants/constants.js.map +0 -7
- package/_/constants/platform.js +0 -20
- package/_/constants/platform.js.map +0 -7
- package/_/constants/pseudos.js +0 -18
- package/_/constants/pseudos.js.map +0 -7
- package/_/constants/rnw.js +0 -22
- package/_/constants/rnw.js.map +0 -7
- package/_/createComponent.js +0 -427
- package/_/createComponent.js.map +0 -7
- package/_/createShorthands.js +0 -10
- package/_/createShorthands.js.map +0 -7
- package/_/createTamagui.js +0 -122
- package/_/createTamagui.js.map +0 -7
- package/_/createTheme.js +0 -20
- package/_/createTheme.js.map +0 -7
- package/_/createTokens.js +0 -29
- package/_/createTokens.js.map +0 -7
- package/_/createVariable.js +0 -22
- package/_/createVariable.js.map +0 -7
- package/_/helpers/addStylesUsingClassname.js +0 -32
- package/_/helpers/addStylesUsingClassname.js.map +0 -7
- package/_/helpers/createMediaStyle.js +0 -34
- package/_/helpers/createMediaStyle.js.map +0 -7
- package/_/helpers/createTamaguiProvider.js +0 -42
- package/_/helpers/createTamaguiProvider.js.map +0 -7
- package/_/helpers/extendStaticConfig.js +0 -176
- package/_/helpers/extendStaticConfig.js.map +0 -7
- package/_/helpers/fixNativeShadow.js +0 -8
- package/_/helpers/fixNativeShadow.js.map +0 -7
- package/_/helpers/fixNativeShadow.native.js +0 -30
- package/_/helpers/fixNativeShadow.native.js.map +0 -7
- package/_/helpers/getSplitStyles.js +0 -160
- package/_/helpers/getSplitStyles.js.map +0 -7
- package/_/helpers/getStylesAtomic.js +0 -84
- package/_/helpers/getStylesAtomic.js.map +0 -7
- package/_/helpers/getStylesAtomic.native.js +0 -10
- package/_/helpers/getStylesAtomic.native.js.map +0 -7
- package/_/helpers/insertStyleRule.js +0 -24
- package/_/helpers/insertStyleRule.js.map +0 -7
- package/_/helpers/matchMedia.js +0 -15
- package/_/helpers/matchMedia.js.map +0 -7
- package/_/helpers/matchMedia.native.js +0 -8
- package/_/helpers/matchMedia.native.js.map +0 -7
- package/_/helpers/themeable.js +0 -26
- package/_/helpers/themeable.js.map +0 -7
- package/_/hooks/useConstant.js +0 -15
- package/_/hooks/useConstant.js.map +0 -7
- package/_/hooks/useFeatures.js +0 -75
- package/_/hooks/useFeatures.js.map +0 -7
- package/_/hooks/useForceUpdate.js +0 -28
- package/_/hooks/useForceUpdate.js.map +0 -7
- package/_/hooks/useMedia.js +0 -173
- package/_/hooks/useMedia.js.map +0 -7
- package/_/hooks/usePressable.js +0 -14
- package/_/hooks/usePressable.js.map +0 -7
- package/_/hooks/useTheme.js +0 -94
- package/_/hooks/useTheme.js.map +0 -7
- package/_/index.js +0 -30
- package/_/index.js.map +0 -7
- package/_/static/postProcessStyles.js +0 -18
- package/_/static/postProcessStyles.js.map +0 -7
- package/_/static.js +0 -12
- package/_/static.js.map +0 -7
- package/_/styled.js +0 -21
- package/_/styled.js.map +0 -7
- package/_/types.js +0 -1
- package/_/types.js.map +0 -7
- package/_/views/Animated.js +0 -79
- package/_/views/Animated.js.map +0 -7
- package/_/views/Stack.js +0 -12
- package/_/views/Stack.js.map +0 -7
- package/_/views/Text.js +0 -60
- package/_/views/Text.js.map +0 -7
- package/_/views/TextAncestorContext.js +0 -19
- package/_/views/TextAncestorContext.js.map +0 -7
- package/_/views/Theme.js +0 -57
- package/_/views/Theme.js.map +0 -7
- package/_/views/ThemeContext.js +0 -6
- package/_/views/ThemeContext.js.map +0 -7
- package/_/views/ThemeInverse.js +0 -27
- package/_/views/ThemeInverse.js.map +0 -7
- package/_/views/ThemeManagerContext.js +0 -56
- package/_/views/ThemeManagerContext.js.map +0 -7
- package/_/views/ThemeProvider.js +0 -45
- package/_/views/ThemeProvider.js.map +0 -7
- package/src/hooks/useForceUpdate.tsx +0 -26
- package/src/views/SafeAreaProvider.tsx +0 -33
- package/tsconfig.json +0 -8
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { getTamaguiConfig } from "../createTamagui";
|
|
4
|
-
import { Variable } from "../createVariable";
|
|
5
|
-
function extendStaticConfig(Component, config = {}) {
|
|
6
|
-
var _a, _b;
|
|
7
|
-
const a = Component || {};
|
|
8
|
-
if (!a.staticConfig) {
|
|
9
|
-
a.staticConfig = {
|
|
10
|
-
Component
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
return parseStaticConfig({
|
|
14
|
-
...a.staticConfig,
|
|
15
|
-
variants: {
|
|
16
|
-
...a.staticConfig.variants,
|
|
17
|
-
...config.variants
|
|
18
|
-
},
|
|
19
|
-
isText: config.isText || a.staticConfig.isText || false,
|
|
20
|
-
neverFlatten: (_a = config.neverFlatten) != null ? _a : a.staticConfig.neverFlatten,
|
|
21
|
-
ensureOverriddenProp: (_b = config.ensureOverriddenProp) != null ? _b : a.staticConfig.ensureOverriddenProp,
|
|
22
|
-
validStyles: config.validStyles ? {
|
|
23
|
-
...a.staticConfig.validStyles,
|
|
24
|
-
...config.validStyles
|
|
25
|
-
} : a.staticConfig.validStyles,
|
|
26
|
-
validPropsExtra: {
|
|
27
|
-
...a.staticConfig.validPropsExtra,
|
|
28
|
-
...config.validPropsExtra
|
|
29
|
-
},
|
|
30
|
-
defaultProps: {
|
|
31
|
-
...a.staticConfig.defaultProps,
|
|
32
|
-
...config.defaultProps
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
__name(extendStaticConfig, "extendStaticConfig");
|
|
37
|
-
function parseStaticConfig(c) {
|
|
38
|
-
const variants = c.variants;
|
|
39
|
-
let variantsParsed;
|
|
40
|
-
return {
|
|
41
|
-
...c,
|
|
42
|
-
parsed: true,
|
|
43
|
-
propMapper(key, value, theme) {
|
|
44
|
-
var _a;
|
|
45
|
-
const conf = getTamaguiConfig();
|
|
46
|
-
if (!conf) {
|
|
47
|
-
console.trace("err");
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (variants && !variantsParsed) {
|
|
51
|
-
variantsParsed = parseVariants(variants, conf);
|
|
52
|
-
}
|
|
53
|
-
const variant = variantsParsed == null ? void 0 : variantsParsed[key];
|
|
54
|
-
if (variant) {
|
|
55
|
-
const tokenKey = typeof value === "string" && value[0] === "$" ? value.slice(1) : value;
|
|
56
|
-
const val = tokenKey === true ? variant["true"] : (_a = variant[tokenKey]) != null ? _a : value;
|
|
57
|
-
let res;
|
|
58
|
-
if (typeof val === "function") {
|
|
59
|
-
res = val(tokenKey, { tokens: conf.tokens, theme });
|
|
60
|
-
} else {
|
|
61
|
-
res = val;
|
|
62
|
-
}
|
|
63
|
-
if (res) {
|
|
64
|
-
for (const rKey in res) {
|
|
65
|
-
const fKey = conf.shorthands[rKey] || rKey;
|
|
66
|
-
if (rKey !== fKey) {
|
|
67
|
-
delete res[rKey];
|
|
68
|
-
}
|
|
69
|
-
const val2 = res[rKey];
|
|
70
|
-
if (val2 instanceof Variable) {
|
|
71
|
-
res[fKey] = val2.variable;
|
|
72
|
-
} else if (val2) {
|
|
73
|
-
const fVal = val2[0] === "$" ? getToken(fKey, val2, conf) : val2;
|
|
74
|
-
res[fKey] = fVal;
|
|
75
|
-
} else {
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return res;
|
|
80
|
-
}
|
|
81
|
-
let shouldReturn = false;
|
|
82
|
-
if (conf.shorthands[key]) {
|
|
83
|
-
shouldReturn = true;
|
|
84
|
-
key = conf.shorthands[key];
|
|
85
|
-
}
|
|
86
|
-
if (value && value[0] === "$") {
|
|
87
|
-
shouldReturn = true;
|
|
88
|
-
value = getToken(key, value, conf);
|
|
89
|
-
}
|
|
90
|
-
if (value instanceof Variable) {
|
|
91
|
-
shouldReturn = true;
|
|
92
|
-
value = value.variable;
|
|
93
|
-
}
|
|
94
|
-
if (shouldReturn) {
|
|
95
|
-
return {
|
|
96
|
-
[key]: value
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
__name(parseStaticConfig, "parseStaticConfig");
|
|
103
|
-
const getToken = /* @__PURE__ */ __name((key, value, { tokensParsed, themeParsed }) => {
|
|
104
|
-
if (themeParsed[value]) {
|
|
105
|
-
return themeParsed[value].variable;
|
|
106
|
-
}
|
|
107
|
-
for (const cat in tokenCategories) {
|
|
108
|
-
if (tokenCategories[cat][key]) {
|
|
109
|
-
const res = tokensParsed[cat][value];
|
|
110
|
-
if (res) {
|
|
111
|
-
return res.variable;
|
|
112
|
-
} else {
|
|
113
|
-
const themeVar = themeParsed[value];
|
|
114
|
-
if (themeVar) {
|
|
115
|
-
return themeVar.variable;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
const spaceVar = tokensParsed.space[value];
|
|
121
|
-
if (spaceVar) {
|
|
122
|
-
return spaceVar.variable;
|
|
123
|
-
}
|
|
124
|
-
return value;
|
|
125
|
-
}, "getToken");
|
|
126
|
-
const tokenCategories = {
|
|
127
|
-
size: {
|
|
128
|
-
width: true,
|
|
129
|
-
height: true,
|
|
130
|
-
minWidth: true,
|
|
131
|
-
minHeight: true,
|
|
132
|
-
maxWidth: true,
|
|
133
|
-
maxHeight: true
|
|
134
|
-
},
|
|
135
|
-
font: {
|
|
136
|
-
fontFamily: true
|
|
137
|
-
},
|
|
138
|
-
fontSize: {
|
|
139
|
-
fontSize: true
|
|
140
|
-
},
|
|
141
|
-
lineHeight: {
|
|
142
|
-
lineHeight: true
|
|
143
|
-
},
|
|
144
|
-
color: {
|
|
145
|
-
color: true,
|
|
146
|
-
backgroundColor: true,
|
|
147
|
-
borderColor: true,
|
|
148
|
-
borderBottomColor: true,
|
|
149
|
-
borderTopColor: true,
|
|
150
|
-
borderLeftColor: true,
|
|
151
|
-
borderRightColor: true
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
function parseVariants(variants, conf) {
|
|
155
|
-
return Object.keys(variants).reduce((acc, key) => {
|
|
156
|
-
acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {
|
|
157
|
-
if (vkey.startsWith("...")) {
|
|
158
|
-
const tokenKey = vkey.slice(3);
|
|
159
|
-
const tokens = conf.tokens[tokenKey];
|
|
160
|
-
for (const tkey in tokens) {
|
|
161
|
-
vacc[tkey] = variants[key][vkey];
|
|
162
|
-
}
|
|
163
|
-
} else {
|
|
164
|
-
vacc[vkey] = variants[key][vkey];
|
|
165
|
-
}
|
|
166
|
-
return vacc;
|
|
167
|
-
}, {});
|
|
168
|
-
return acc;
|
|
169
|
-
}, {});
|
|
170
|
-
}
|
|
171
|
-
__name(parseVariants, "parseVariants");
|
|
172
|
-
export {
|
|
173
|
-
extendStaticConfig,
|
|
174
|
-
parseStaticConfig
|
|
175
|
-
};
|
|
176
|
-
//# sourceMappingURL=extendStaticConfig.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/extendStaticConfig.ts"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\n\nimport { getTamaguiConfig } from '../createTamagui'\nimport { Variable } from '../createVariable'\nimport { StaticComponent, StaticConfig, StaticConfigParsed, TamaguiInternalConfig } from '../types'\n\nexport function extendStaticConfig(\n // can be undefined when loading with @tamagui/fake-react-native\n // could be fixed a bit cleaner\n Component?: StaticComponent | React.Component<any>,\n config: StaticConfig = {}\n): StaticConfigParsed | null {\n const a = (Component || {}) as any\n if (!a.staticConfig) {\n // if no static config, we are extending an external component\n a.staticConfig = {\n Component,\n }\n }\n\n return parseStaticConfig({\n ...a.staticConfig,\n variants: {\n ...a.staticConfig.variants,\n ...config.variants,\n },\n isText: config.isText || a.staticConfig.isText || false,\n neverFlatten: config.neverFlatten ?? a.staticConfig.neverFlatten,\n ensureOverriddenProp: config.ensureOverriddenProp ?? a.staticConfig.ensureOverriddenProp,\n validStyles: config.validStyles\n ? {\n ...a.staticConfig.validStyles,\n ...config.validStyles,\n }\n : a.staticConfig.validStyles,\n validPropsExtra: {\n ...a.staticConfig.validPropsExtra,\n ...config.validPropsExtra,\n },\n defaultProps: {\n ...a.staticConfig.defaultProps,\n ...config.defaultProps,\n },\n })\n}\n\nexport function parseStaticConfig(c: StaticConfig): StaticConfigParsed {\n const variants = c.variants\n let variantsParsed\n return {\n ...c,\n parsed: true,\n\n propMapper(key: string, value: any, theme: any) {\n const conf = getTamaguiConfig()\n if (!conf) {\n console.trace('err')\n return\n }\n if (variants && !variantsParsed) {\n variantsParsed = parseVariants(variants, conf)\n }\n\n // expand variants\n const variant = variantsParsed?.[key]\n if (variant) {\n const tokenKey = typeof value === 'string' && value[0] === '$' ? value.slice(1) : value\n const val = tokenKey === true ? variant['true'] : variant[tokenKey] ?? value\n\n let res: any\n if (typeof val === 'function') {\n res = val(tokenKey, { tokens: conf.tokens, theme })\n } else {\n res = val\n }\n\n if (res) {\n for (const rKey in res) {\n const fKey = conf.shorthands[rKey] || rKey\n if (rKey !== fKey) {\n delete res[rKey]\n }\n const val = res[rKey]\n if (val instanceof Variable) {\n res[fKey] = val.variable\n } else if (val) {\n const fVal = val[0] === '$' ? getToken(fKey, val, conf) : val\n res[fKey] = fVal\n } else {\n // nullish values can't be tokens\n }\n }\n }\n\n return res\n }\n\n let shouldReturn = false\n\n // handle shorthands\n if (conf.shorthands[key]) {\n shouldReturn = true\n key = conf.shorthands[key]\n }\n\n if (value && value[0] === '$') {\n shouldReturn = true\n value = getToken(key, value, conf)\n }\n\n if (value instanceof Variable) {\n shouldReturn = true\n value = value.variable\n }\n\n if (shouldReturn) {\n return {\n [key]: value,\n }\n }\n },\n }\n}\n\nconst getToken = (\n key: string,\n value: string,\n { tokensParsed, themeParsed }: TamaguiInternalConfig\n) => {\n if (themeParsed[value]) {\n return themeParsed[value].variable\n }\n for (const cat in tokenCategories) {\n if (tokenCategories[cat][key]) {\n const res = tokensParsed[cat][value]\n if (res) {\n return res.variable\n } else {\n const themeVar = themeParsed[value]\n if (themeVar) {\n return themeVar.variable\n }\n }\n }\n }\n const spaceVar = tokensParsed.space[value]\n if (spaceVar) {\n return spaceVar.variable\n }\n return value\n}\n\n// just specificy the least costly, all else go to `space` (most keys - we can exclude)\n\nconst tokenCategories = {\n size: {\n width: true,\n height: true,\n minWidth: true,\n minHeight: true,\n maxWidth: true,\n maxHeight: true,\n },\n font: {\n fontFamily: true,\n },\n fontSize: {\n fontSize: true,\n },\n lineHeight: {\n lineHeight: true,\n },\n color: {\n color: true,\n backgroundColor: true,\n borderColor: true,\n borderBottomColor: true,\n borderTopColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n },\n}\n\nfunction parseVariants(variants: any, conf: TamaguiInternalConfig) {\n return Object.keys(variants).reduce((acc, key) => {\n acc[key] = Object.keys(variants[key]).reduce((vacc, vkey) => {\n if (vkey.startsWith('...')) {\n const tokenKey = vkey.slice(3)\n const tokens = conf.tokens[tokenKey]\n for (const tkey in tokens) {\n vacc[tkey] = variants[key][vkey]\n }\n // explode\n // acc[vkey] = variants[key][vkey]\n } else {\n vacc[vkey] = variants[key][vkey]\n }\n return vacc\n }, {})\n return acc\n }, {})\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const fixNativeShadow = /* @__PURE__ */ __name((a) => {
|
|
4
|
-
}, "fixNativeShadow");
|
|
5
|
-
export {
|
|
6
|
-
fixNativeShadow
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=fixNativeShadow.js.map
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const matchRgba = /rgba\(\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*,\s*([\d\.]{1,})\s*\)$/;
|
|
4
|
-
function fixNativeShadow(props) {
|
|
5
|
-
if (props.shadowColor) {
|
|
6
|
-
if (!!!("shadowOffset" in props)) {
|
|
7
|
-
props.shadowOffset = {
|
|
8
|
-
width: 0,
|
|
9
|
-
height: 0
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
if (!!!("shadowOpacity" in props)) {
|
|
13
|
-
const c = `${props.shadowColor}`;
|
|
14
|
-
if (c[0] === "r" && c[3] === "a") {
|
|
15
|
-
const [_, r, g, b, a] = c.match(matchRgba) || [];
|
|
16
|
-
if (typeof a !== "string") {
|
|
17
|
-
console.warn("non valid rgba", c);
|
|
18
|
-
return props;
|
|
19
|
-
}
|
|
20
|
-
props.shadowColor = `rgb(${r},${g},${b})`;
|
|
21
|
-
props.shadowOpacity = +a;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
__name(fixNativeShadow, "fixNativeShadow");
|
|
27
|
-
export {
|
|
28
|
-
fixNativeShadow
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=fixNativeShadow.native.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/fixNativeShadow.native.tsx"],
|
|
4
|
-
"sourcesContent": ["const matchRgba =\n /rgba\\(\\s*([\\d\\.]{1,})\\s*,\\s*([\\d\\.]{1,})\\s*,\\s*([\\d\\.]{1,})\\s*,\\s*([\\d\\.]{1,})\\s*\\)$/\n\nexport function fixNativeShadow(props: any) {\n if (props.shadowColor) {\n if (!!!('shadowOffset' in props)) {\n // fixes some broken shadows\n props.shadowOffset = {\n width: 0,\n height: 0,\n }\n }\n if (!!!('shadowOpacity' in props)) {\n const c = `${props.shadowColor}`\n // react native has issues sometimes with rgba()\n if (c[0] === 'r' && c[3] === 'a') {\n const [_, r, g, b, a] = c.match(matchRgba) || []\n if (typeof a !== 'string') {\n console.warn('non valid rgba', c)\n return props\n }\n props.shadowColor = `rgb(${r},${g},${b})`\n props.shadowOpacity = +a\n }\n }\n }\n}\n"],
|
|
5
|
-
"mappings": ";;AAAA,MAAM,YACJ;AAEK,yBAAyB,OAAY;AAC1C,MAAI,MAAM,aAAa;AACrB,QAAI,CAAC,CAAC,CAAE,mBAAkB,QAAQ;AAEhC,YAAM,eAAe;AAAA,QACnB,OAAO;AAAA,QACP,QAAQ;AAAA;AAAA;AAGZ,QAAI,CAAC,CAAC,CAAE,oBAAmB,QAAQ;AACjC,YAAM,IAAI,GAAG,MAAM;AAEnB,UAAI,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AAChC,cAAM,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,MAAM,cAAc;AAC9C,YAAI,OAAO,MAAM,UAAU;AACzB,kBAAQ,KAAK,kBAAkB;AAC/B,iBAAO;AAAA;AAET,cAAM,cAAc,OAAO,KAAK,KAAK;AACrC,cAAM,gBAAgB,CAAC;AAAA;AAAA;AAAA;AAAA;AAnBf;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import {
|
|
4
|
-
AllRules,
|
|
5
|
-
stylePropsText,
|
|
6
|
-
stylePropsTransform,
|
|
7
|
-
validStyles,
|
|
8
|
-
validStylesPseudo
|
|
9
|
-
} from "@tamagui/helpers";
|
|
10
|
-
import { isWeb } from "../constants/platform";
|
|
11
|
-
import { mediaQueryConfig } from "../hooks/useMedia";
|
|
12
|
-
import { createMediaStyle } from "./createMediaStyle";
|
|
13
|
-
import { fixNativeShadow } from "./fixNativeShadow";
|
|
14
|
-
import { getStylesAtomic } from "./getStylesAtomic";
|
|
15
|
-
import { insertStyleRule } from "./insertStyleRule";
|
|
16
|
-
const getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, isSplittingDefaultProps) => {
|
|
17
|
-
const validStyleProps = staticConfig.isText ? stylePropsText : validStyles;
|
|
18
|
-
const viewProps = {};
|
|
19
|
-
const style = [];
|
|
20
|
-
const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps;
|
|
21
|
-
let pseudos = null;
|
|
22
|
-
let cur = null;
|
|
23
|
-
let classNames = null;
|
|
24
|
-
for (const keyInit in props) {
|
|
25
|
-
const valInit = props[keyInit];
|
|
26
|
-
if (keyInit[0] === "$") {
|
|
27
|
-
const mediaKey = keyInit.slice(1);
|
|
28
|
-
if (!mediaQueryConfig[mediaKey]) {
|
|
29
|
-
viewProps[keyInit] = valInit;
|
|
30
|
-
continue;
|
|
31
|
-
}
|
|
32
|
-
const mediaProps = { ...props, ...valInit };
|
|
33
|
-
const mediaStyle = getSubStyle(valInit, staticConfig, theme);
|
|
34
|
-
const mediaStyles = getStylesAtomic(mediaStyle);
|
|
35
|
-
if (process.env.NODE_ENV === "development") {
|
|
36
|
-
if (props["debug"]) {
|
|
37
|
-
console.log("mediaStyles", keyInit, { mediaProps, mediaStyle, mediaStyles });
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
for (const style2 of mediaStyles) {
|
|
41
|
-
if (isWeb) {
|
|
42
|
-
const out2 = createMediaStyle(style2, mediaKey, mediaQueryConfig);
|
|
43
|
-
classNames = classNames || [];
|
|
44
|
-
classNames.push(out2.identifier);
|
|
45
|
-
AllRules.add(out2.styleRule);
|
|
46
|
-
insertStyleRule(out2.styleRule);
|
|
47
|
-
if (process.env.NODE_ENV === "development" && props["debug"]) {
|
|
48
|
-
console.log("mediaProp", style2.identifier, out2, mediaProps, mediaStyle, mediaStyles);
|
|
49
|
-
}
|
|
50
|
-
} else {
|
|
51
|
-
console.log("TODO native media style logic");
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
if (validStylesPseudo[keyInit]) {
|
|
57
|
-
if (!valInit)
|
|
58
|
-
continue;
|
|
59
|
-
pseudos = pseudos || {};
|
|
60
|
-
pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme);
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
const out = staticConfig.propMapper(keyInit, valInit, theme);
|
|
64
|
-
const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out);
|
|
65
|
-
for (const [key, val] of expanded) {
|
|
66
|
-
const keyFirstChar = key[0];
|
|
67
|
-
if (key === "style" || keyFirstChar === "_" && key.startsWith("_style")) {
|
|
68
|
-
if (cur) {
|
|
69
|
-
fixNativeShadow(cur);
|
|
70
|
-
style.push(cur);
|
|
71
|
-
cur = null;
|
|
72
|
-
}
|
|
73
|
-
fixNativeShadow(val);
|
|
74
|
-
style.push(val);
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
if (key === "flex") {
|
|
78
|
-
cur = cur || {};
|
|
79
|
-
Object.assign(cur, {
|
|
80
|
-
flexGrow: val,
|
|
81
|
-
flexShrink: 1
|
|
82
|
-
});
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
if (!isWeb && key === "pointerEvents") {
|
|
86
|
-
viewProps[key] = val;
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
if (validStyleProps[key]) {
|
|
90
|
-
if (key in stylePropsTransform) {
|
|
91
|
-
cur = cur || {};
|
|
92
|
-
mergeTransform(cur, key, val);
|
|
93
|
-
continue;
|
|
94
|
-
}
|
|
95
|
-
cur = cur || {};
|
|
96
|
-
cur[key] = val;
|
|
97
|
-
continue;
|
|
98
|
-
}
|
|
99
|
-
if (!blacklistProps[key]) {
|
|
100
|
-
viewProps[key] = val;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
if (cur) {
|
|
105
|
-
fixNativeShadow(cur);
|
|
106
|
-
style.push(cur);
|
|
107
|
-
}
|
|
108
|
-
if (process.env.NODE_ENV === "development") {
|
|
109
|
-
if (props["debug"]) {
|
|
110
|
-
console.log(" \u{1F95A} splitProps:", { props, viewProps, style });
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return {
|
|
114
|
-
viewProps,
|
|
115
|
-
style,
|
|
116
|
-
pseudos,
|
|
117
|
-
classNames
|
|
118
|
-
};
|
|
119
|
-
}, "getSplitStyles");
|
|
120
|
-
const getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme) => {
|
|
121
|
-
const styleOut = {};
|
|
122
|
-
for (const key in styleIn) {
|
|
123
|
-
const val = styleIn[key];
|
|
124
|
-
const out = staticConfig.propMapper(key, val, theme);
|
|
125
|
-
const expanded = out === true || !out ? [[key, val]] : Object.entries(out);
|
|
126
|
-
for (const [skey, sval] of expanded) {
|
|
127
|
-
if (skey in stylePropsTransform) {
|
|
128
|
-
mergeTransform(styleOut, skey, sval);
|
|
129
|
-
} else {
|
|
130
|
-
styleOut[skey] = sval;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
fixNativeShadow(styleOut);
|
|
135
|
-
return styleOut;
|
|
136
|
-
}, "getSubStyle");
|
|
137
|
-
const blacklistDefaultProps = {
|
|
138
|
-
...validStyles,
|
|
139
|
-
...stylePropsText
|
|
140
|
-
};
|
|
141
|
-
const blacklistFinalProps = {
|
|
142
|
-
...blacklistDefaultProps,
|
|
143
|
-
tag: true,
|
|
144
|
-
debug: true,
|
|
145
|
-
space: true,
|
|
146
|
-
hitSlop: true
|
|
147
|
-
};
|
|
148
|
-
const mapTransformKeys = {
|
|
149
|
-
x: "translateX",
|
|
150
|
-
y: "translateY"
|
|
151
|
-
};
|
|
152
|
-
const mergeTransform = /* @__PURE__ */ __name((obj, key, val) => {
|
|
153
|
-
const transform = obj.transform ? Array.isArray(obj.transform) ? obj.transform : [obj.transform] : [];
|
|
154
|
-
transform.push({ [mapTransformKeys[key] || key]: val });
|
|
155
|
-
obj.transform = transform;
|
|
156
|
-
}, "mergeTransform");
|
|
157
|
-
export {
|
|
158
|
-
getSplitStyles
|
|
159
|
-
};
|
|
160
|
-
//# sourceMappingURL=getSplitStyles.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/getSplitStyles.tsx"],
|
|
4
|
-
"sourcesContent": ["import {\n AllRules,\n stylePropsText,\n stylePropsTransform,\n validStyles,\n validStylesPseudo,\n} from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { isWeb } from '../constants/platform'\nimport { mediaQueryConfig } from '../hooks/useMedia'\nimport { StaticConfigParsed, ThemeObject } from '../types'\nimport { createMediaStyle } from './createMediaStyle'\nimport { fixNativeShadow } from './fixNativeShadow'\nimport { getStylesAtomic } from './getStylesAtomic'\nimport { insertStyleRule } from './insertStyleRule'\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\n\n// TODO run over this, should be able to cut it down quite a bit\n\nexport const getSplitStyles = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeObject,\n isSplittingDefaultProps?: boolean\n) => {\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: Record<string, any> = {}\n const style: any[] = []\n const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps\n\n let pseudos: { hoverStyle?: ViewStyle; pressStyle?: ViewStyle } | null = null\n let cur: ViewStyle | null = null\n let classNames: string[] | null = null\n\n for (const keyInit in props) {\n // be sure to sync next few lines below to getSubStyle (*1)\n const valInit = props[keyInit]\n\n // media\n if (keyInit[0] === '$') {\n const mediaKey = keyInit.slice(1)\n\n if (!mediaQueryConfig[mediaKey]) {\n // this isn't a media key, pass through\n viewProps[keyInit] = valInit\n continue\n }\n\n // dont check if media is active, we just apply *all* media styles\n // we combine the media props on top regular props, could proxy this\n // TODO test proxy here instead of merge\n const mediaProps = { ...props, ...valInit }\n // TODO media + hover\n const mediaStyle = getSubStyle(valInit, staticConfig, theme)\n const mediaStyles = getStylesAtomic(mediaStyle)\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log('mediaStyles', keyInit, { mediaProps, mediaStyle, mediaStyles })\n }\n }\n for (const style of mediaStyles) {\n if (isWeb) {\n const out = createMediaStyle(style, mediaKey, mediaQueryConfig)\n classNames = classNames || []\n classNames.push(out.identifier)\n AllRules.add(out.styleRule)\n insertStyleRule(out.styleRule)\n if (process.env.NODE_ENV === 'development' && props['debug']) {\n console.log('mediaProp', style.identifier, out, mediaProps, mediaStyle, mediaStyles)\n }\n } else {\n console.log('TODO native media style logic')\n }\n }\n continue\n }\n\n // pseudo\n if (validStylesPseudo[keyInit]) {\n if (!valInit) continue\n pseudos = pseudos || {}\n pseudos[keyInit] = getSubStyle(valInit, staticConfig, theme)\n continue\n }\n\n const out = staticConfig.propMapper(keyInit, valInit, theme)\n const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)\n for (const [key, val] of expanded) {\n // const val = valueMap(valInit) ?? valInit\n const keyFirstChar = key[0]\n if (key === 'style' || (keyFirstChar === '_' && key.startsWith('_style'))) {\n if (cur) {\n // process last\n fixNativeShadow(cur)\n style.push(cur)\n cur = null\n }\n fixNativeShadow(val)\n style.push(val)\n continue\n }\n // expand flex so it merged with flexShrink etc properly\n // TODO this shouldn't be here...\n if (key === 'flex') {\n cur = cur || {}\n // see spec for flex shorthand https://developer.mozilla.org/en-US/docs/Web/CSS/flex\n // TODO this fixed a behavior but need to find / document / test\n Object.assign(cur, {\n flexGrow: val,\n flexShrink: 1,\n })\n continue\n }\n if (!isWeb && key === 'pointerEvents') {\n viewProps[key] = val\n continue\n }\n if (validStyleProps[key]) {\n // transforms\n if (key in stylePropsTransform) {\n cur = cur || {}\n mergeTransform(cur, key, val)\n continue\n }\n cur = cur || {}\n cur[key] = val\n continue\n }\n // TODO this blacklist should be configurable + better set up\n if (!blacklistProps[key]) {\n viewProps[key] = val\n }\n }\n }\n // push last style\n if (cur) {\n fixNativeShadow(cur)\n style.push(cur)\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug']) {\n console.log(' \uD83E\uDD5A splitProps:', { props, viewProps, style })\n }\n }\n\n return {\n viewProps,\n style,\n pseudos,\n classNames,\n }\n}\n\nconst getSubStyle = (\n styleIn: Object,\n staticConfig: StaticConfigParsed,\n theme: ThemeObject\n): ViewStyle => {\n const styleOut: ViewStyle = {}\n for (const key in styleIn) {\n // be sure to sync next few lines below to loop above (*1)\n const val = styleIn[key]\n const out = staticConfig.propMapper(key, val, theme)\n const expanded = out === true || !out ? [[key, val]] : Object.entries(out)\n for (const [skey, sval] of expanded) {\n // const sval = valueMap(valInit)\n if (skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = sval\n }\n }\n }\n fixNativeShadow(styleOut)\n return styleOut\n}\n\nconst blacklistDefaultProps = {\n ...validStyles,\n ...stylePropsText,\n}\n\nconst blacklistFinalProps = {\n ...blacklistDefaultProps,\n tag: true,\n debug: true,\n space: true,\n hitSlop: true,\n}\n\nconst mapTransformKeys = {\n x: 'translateX',\n y: 'translateY',\n}\n\nconst mergeTransform = (obj: ViewStyle, key: string, val: any) => {\n const transform: any[] = obj.transform\n ? Array.isArray(obj.transform)\n ? obj.transform\n : [obj.transform]\n : []\n transform.push({ [mapTransformKeys[key] || key]: val })\n obj.transform = transform\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { AllRules } from "@tamagui/helpers";
|
|
4
|
-
import { pseudos } from "../constants/pseudos";
|
|
5
|
-
import { rnw } from "../constants/rnw";
|
|
6
|
-
const generateStyle = /* @__PURE__ */ __name((style) => {
|
|
7
|
-
const { atomic, createCompileableStyle, createReactDOMStyle, i18Style } = rnw;
|
|
8
|
-
return {
|
|
9
|
-
...atomic(createCompileableStyle(createReactDOMStyle(i18Style(style))))
|
|
10
|
-
};
|
|
11
|
-
}, "generateStyle");
|
|
12
|
-
const borderDefaults = {
|
|
13
|
-
borderWidth: "borderStyle",
|
|
14
|
-
borderBottomWidth: "borderBottomStyle",
|
|
15
|
-
borderTopWidth: "borderTopStyle",
|
|
16
|
-
borderLeftWidth: "borderLeftStyle",
|
|
17
|
-
borderRightWidth: "borderRightStyle"
|
|
18
|
-
};
|
|
19
|
-
function getStylesAtomic(style, avoidCollection = false) {
|
|
20
|
-
const styles = {
|
|
21
|
-
base: {}
|
|
22
|
-
};
|
|
23
|
-
for (const key in style) {
|
|
24
|
-
if (!!pseudos[key]) {
|
|
25
|
-
styles[key] = style[key];
|
|
26
|
-
} else {
|
|
27
|
-
styles.base[key] = style[key];
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return Object.keys(styles).map((key) => {
|
|
31
|
-
return getAtomicStyle(styles[key], pseudos[key], avoidCollection);
|
|
32
|
-
}).flat();
|
|
33
|
-
}
|
|
34
|
-
__name(getStylesAtomic, "getStylesAtomic");
|
|
35
|
-
const importantRegex = /\!important*/g;
|
|
36
|
-
function getAtomicStyle(style, pseudo, avoidCollection) {
|
|
37
|
-
var _a;
|
|
38
|
-
if (style == null || typeof style !== "object") {
|
|
39
|
-
throw new Error(`Wrong style type: "${typeof style}": ${style}`);
|
|
40
|
-
}
|
|
41
|
-
for (const key in borderDefaults) {
|
|
42
|
-
if (key in style) {
|
|
43
|
-
style[borderDefaults[key]] = (_a = style[borderDefaults[key]]) != null ? _a : "solid";
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
const all = generateStyle(style);
|
|
47
|
-
return Object.keys(all).map((key) => {
|
|
48
|
-
const val = all[key];
|
|
49
|
-
const hash = val.identifier.slice(`${val.identifier}`.lastIndexOf("-") + 1);
|
|
50
|
-
const psuedoPrefix = pseudo ? `-${pseudo.name}-` : "";
|
|
51
|
-
const identifier = `_${val.property}-${psuedoPrefix}${hash}`;
|
|
52
|
-
const className = `.${identifier}`;
|
|
53
|
-
const rules = val.rules.map((rule) => {
|
|
54
|
-
if (pseudo) {
|
|
55
|
-
const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ":root").join("") + " ";
|
|
56
|
-
let res = rule.replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`).replace("{", `:${pseudo.name}{`);
|
|
57
|
-
if (pseudo.name === "hover") {
|
|
58
|
-
res = `@media not all and (hover: none) { ${res} }`;
|
|
59
|
-
}
|
|
60
|
-
return res;
|
|
61
|
-
}
|
|
62
|
-
return rule.replace(`.${val.identifier}`, className).replace(importantRegex, "");
|
|
63
|
-
});
|
|
64
|
-
if (!avoidCollection) {
|
|
65
|
-
if (rules.length > 1) {
|
|
66
|
-
console.warn("have never seen more than one, verifying");
|
|
67
|
-
}
|
|
68
|
-
AllRules.add(rules[0]);
|
|
69
|
-
}
|
|
70
|
-
const result = {
|
|
71
|
-
property: val.property,
|
|
72
|
-
value: val.value,
|
|
73
|
-
identifier,
|
|
74
|
-
className,
|
|
75
|
-
rules
|
|
76
|
-
};
|
|
77
|
-
return result;
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
__name(getAtomicStyle, "getAtomicStyle");
|
|
81
|
-
export {
|
|
82
|
-
getStylesAtomic
|
|
83
|
-
};
|
|
84
|
-
//# sourceMappingURL=getStylesAtomic.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/getStylesAtomic.ts"],
|
|
4
|
-
"sourcesContent": ["import { AllRules, StyleObject } from '@tamagui/helpers'\nimport { ViewStyle } from 'react-native'\n\nimport { pseudos } from '../constants/pseudos'\nimport { rnw } from '../constants/rnw'\n\nconst generateStyle = (style: any) => {\n const { atomic, createCompileableStyle, createReactDOMStyle, i18Style } = rnw\n return {\n ...atomic(createCompileableStyle(createReactDOMStyle(i18Style(style)))),\n }\n}\n\nconst borderDefaults = {\n borderWidth: 'borderStyle',\n borderBottomWidth: 'borderBottomStyle',\n borderTopWidth: 'borderTopStyle',\n borderLeftWidth: 'borderLeftStyle',\n borderRightWidth: 'borderRightStyle',\n}\n\nexport function getStylesAtomic(style: any, avoidCollection = false) {\n const styles: { [key: string]: ViewStyle } = {\n base: {},\n }\n // split pseudos\n for (const key in style) {\n if (!!pseudos[key]) {\n styles[key] = style[key]\n } else {\n styles.base[key] = style[key]\n }\n }\n return Object.keys(styles)\n .map((key) => {\n return getAtomicStyle(styles[key], pseudos[key], avoidCollection)\n })\n .flat()\n}\n\nconst importantRegex = /\\!important*/g\n\nfunction getAtomicStyle(\n style: ViewStyle,\n pseudo?: { name: string; priority: number },\n avoidCollection?: boolean\n): StyleObject[] {\n if (style == null || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n\n // why is this diff from react-native-web!? need to figure out\n for (const key in borderDefaults) {\n if (key in style) {\n style[borderDefaults[key]] = style[borderDefaults[key]] ?? 'solid'\n }\n }\n\n const all = generateStyle(style)\n return Object.keys(all).map((key) => {\n const val = all[key]\n const hash = val.identifier.slice(`${val.identifier}`.lastIndexOf('-') + 1)\n // pseudos have a `--` to be easier to find with concatClassNames\n const psuedoPrefix = pseudo ? `-${pseudo.name}-` : ''\n const identifier = `_${val.property}-${psuedoPrefix}${hash}`\n const className = `.${identifier}`\n const rules = val.rules.map((rule) => {\n if (pseudo) {\n const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ':root').join('') + ' '\n let res = rule\n .replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`)\n .replace('{', `:${pseudo.name}{`)\n\n if (pseudo.name === 'hover') {\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n res = `@media not all and (hover: none) { ${res} }`\n }\n return res\n }\n return rule.replace(`.${val.identifier}`, className).replace(importantRegex, '')\n })\n\n if (!avoidCollection) {\n if (rules.length > 1) {\n console.warn('have never seen more than one, verifying')\n }\n AllRules.add(rules[0])\n }\n\n const result: StyleObject = {\n property: val.property,\n value: val.value,\n identifier,\n className,\n rules,\n }\n return result\n })\n}\n"],
|
|
5
|
-
"mappings": ";;AAAA;AAGA;AACA;AAEA,MAAM,gBAAgB,wBAAC,UAAe;AACpC,QAAM,EAAE,QAAQ,wBAAwB,qBAAqB,aAAa;AAC1E,SAAO;AAAA,OACF,OAAO,uBAAuB,oBAAoB,SAAS;AAAA;AAAA,GAH5C;AAOtB,MAAM,iBAAiB;AAAA,EACrB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA;AAGb,yBAAyB,OAAY,kBAAkB,OAAO;AACnE,QAAM,SAAuC;AAAA,IAC3C,MAAM;AAAA;AAGR,aAAW,OAAO,OAAO;AACvB,QAAI,CAAC,CAAC,QAAQ,MAAM;AAClB,aAAO,OAAO,MAAM;AAAA,WACf;AACL,aAAO,KAAK,OAAO,MAAM;AAAA;AAAA;AAG7B,SAAO,OAAO,KAAK,QAChB,IAAI,CAAC,QAAQ;AACZ,WAAO,eAAe,OAAO,MAAM,QAAQ,MAAM;AAAA,KAElD;AAAA;AAhBW;AAmBhB,MAAM,iBAAiB;AAEvB,wBACE,OACA,QACA,iBACe;AA9CjB;AA+CE,MAAI,SAAS,QAAQ,OAAO,UAAU,UAAU;AAC9C,UAAM,IAAI,MAAM,sBAAsB,OAAO,WAAW;AAAA;AAI1D,aAAW,OAAO,gBAAgB;AAChC,QAAI,OAAO,OAAO;AAChB,YAAM,eAAe,QAAQ,YAAM,eAAe,UAArB,YAA8B;AAAA;AAAA;AAI/D,QAAM,MAAM,cAAc;AAC1B,SAAO,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ;AACnC,UAAM,MAAM,IAAI;AAChB,UAAM,OAAO,IAAI,WAAW,MAAM,GAAG,IAAI,aAAa,YAAY,OAAO;AAEzE,UAAM,eAAe,SAAS,IAAI,OAAO,UAAU;AACnD,UAAM,aAAa,IAAI,IAAI,YAAY,eAAe;AACtD,UAAM,YAAY,IAAI;AACtB,UAAM,QAAQ,IAAI,MAAM,IAAI,CAAC,SAAS;AACpC,UAAI,QAAQ;AACV,cAAM,qBAAqB,CAAC,GAAG,MAAM,OAAO,WAAW,IAAI,MAAM,SAAS,KAAK,MAAM;AACrF,YAAI,MAAM,KACP,QAAQ,IAAI,IAAI,cAAc,GAAG,sBAAsB,aACvD,QAAQ,KAAK,IAAI,OAAO;AAE3B,YAAI,OAAO,SAAS,SAAS;AAM3B,gBAAM,sCAAsC;AAAA;AAE9C,eAAO;AAAA;AAET,aAAO,KAAK,QAAQ,IAAI,IAAI,cAAc,WAAW,QAAQ,gBAAgB;AAAA;AAG/E,QAAI,CAAC,iBAAiB;AACpB,UAAI,MAAM,SAAS,GAAG;AACpB,gBAAQ,KAAK;AAAA;AAEf,eAAS,IAAI,MAAM;AAAA;AAGrB,UAAM,SAAsB;AAAA,MAC1B,UAAU,IAAI;AAAA,MACd,OAAO,IAAI;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA;AAEF,WAAO;AAAA;AAAA;AA1DF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
function getStylesAtomic() {
|
|
4
|
-
console.warn("no-op native");
|
|
5
|
-
}
|
|
6
|
-
__name(getStylesAtomic, "getStylesAtomic");
|
|
7
|
-
export {
|
|
8
|
-
getStylesAtomic
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=getStylesAtomic.native.js.map
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import { isWeb } from "../constants/platform";
|
|
4
|
-
function insertStyleRule(rule) {
|
|
5
|
-
if (typeof window === "undefined") {
|
|
6
|
-
return;
|
|
7
|
-
}
|
|
8
|
-
if (process.env.NODE_ENV === "development") {
|
|
9
|
-
if (!isWeb) {
|
|
10
|
-
console.warn("non web platform, dont use this");
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
const sheet = window.document.styleSheets[0];
|
|
15
|
-
if (!sheet) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
sheet.insertRule(rule, sheet.cssRules.length);
|
|
19
|
-
}
|
|
20
|
-
__name(insertStyleRule, "insertStyleRule");
|
|
21
|
-
export {
|
|
22
|
-
insertStyleRule
|
|
23
|
-
};
|
|
24
|
-
//# sourceMappingURL=insertStyleRule.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/insertStyleRule.tsx"],
|
|
4
|
-
"sourcesContent": ["import { isWeb } from '../constants/platform'\n\nexport function insertStyleRule(rule: string) {\n if (typeof window === 'undefined') {\n return\n }\n if (process.env.NODE_ENV === 'development') {\n if (!isWeb) {\n console.warn('non web platform, dont use this')\n return\n }\n }\n const sheet = window.document.styleSheets[0]\n if (!sheet) {\n return\n }\n sheet.insertRule(rule, sheet.cssRules.length)\n}\n"],
|
|
5
|
-
"mappings": ";;AAAA;AAEO,yBAAyB,MAAc;AAC5C,MAAI,OAAO,WAAW,aAAa;AACjC;AAAA;AAEF,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC,OAAO;AACV,cAAQ,KAAK;AACb;AAAA;AAAA;AAGJ,QAAM,QAAQ,OAAO,SAAS,YAAY;AAC1C,MAAI,CAAC,OAAO;AACV;AAAA;AAEF,QAAM,WAAW,MAAM,MAAM,SAAS;AAAA;AAdxB;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
package/_/helpers/matchMedia.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
const matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PURE__ */ __name(function matchMediaFallback(query) {
|
|
4
|
-
return {
|
|
5
|
-
addListener() {
|
|
6
|
-
},
|
|
7
|
-
removeListener() {
|
|
8
|
-
},
|
|
9
|
-
matches: false
|
|
10
|
-
};
|
|
11
|
-
}, "matchMediaFallback");
|
|
12
|
-
export {
|
|
13
|
-
matchMedia
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=matchMedia.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/matchMedia.ts"],
|
|
4
|
-
"sourcesContent": ["export const matchMedia =\n (typeof window !== 'undefined' && window.matchMedia) ||\n (function matchMediaFallback(query: string) {\n return {\n addListener() {},\n removeListener() {},\n matches: false,\n }\n } as any)\n"],
|
|
5
|
-
"mappings": ";;AAAO,MAAM,aACV,OAAO,WAAW,eAAe,OAAO,cACxC,mDAA4B,OAAe;AAC1C,SAAO;AAAA,IACL,cAAc;AAAA;AAAA,IACd,iBAAiB;AAAA;AAAA,IACjB,SAAS;AAAA;AAAA,GAJZ;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
import MediaQueryList from "@expo/match-media/build/MediaQueryList.js";
|
|
4
|
-
const matchMedia = /* @__PURE__ */ __name((media) => new MediaQueryList(media), "matchMedia");
|
|
5
|
-
export {
|
|
6
|
-
matchMedia
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=matchMedia.native.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/helpers/matchMedia.native.ts"],
|
|
4
|
-
"sourcesContent": ["import MediaQueryList from '@expo/match-media/build/MediaQueryList.js'\n\nexport const matchMedia = (media: string) => new MediaQueryList(media)\n"],
|
|
5
|
-
"mappings": ";;AAAA;AAEO,MAAM,aAAa,wBAAC,UAAkB,IAAI,eAAe,QAAtC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|