@tamagui/core 1.0.0-alpha.0
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/.ultra.cache.json +1 -0
- package/_/constants/constants.js +14 -0
- package/_/constants/constants.js.map +7 -0
- package/_/constants/platform.js +20 -0
- package/_/constants/platform.js.map +7 -0
- package/_/constants/pseudos.js +18 -0
- package/_/constants/pseudos.js.map +7 -0
- package/_/constants/rnw.js +22 -0
- package/_/constants/rnw.js.map +7 -0
- package/_/createComponent.js +427 -0
- package/_/createComponent.js.map +7 -0
- package/_/createShorthands.js +10 -0
- package/_/createShorthands.js.map +7 -0
- package/_/createTamagui.js +122 -0
- package/_/createTamagui.js.map +7 -0
- package/_/createTheme.js +20 -0
- package/_/createTheme.js.map +7 -0
- package/_/createTokens.js +29 -0
- package/_/createTokens.js.map +7 -0
- package/_/createVariable.js +22 -0
- package/_/createVariable.js.map +7 -0
- package/_/helpers/addStylesUsingClassname.js +32 -0
- package/_/helpers/addStylesUsingClassname.js.map +7 -0
- package/_/helpers/createMediaStyle.js +34 -0
- package/_/helpers/createMediaStyle.js.map +7 -0
- package/_/helpers/createTamaguiProvider.js +42 -0
- package/_/helpers/createTamaguiProvider.js.map +7 -0
- package/_/helpers/extendStaticConfig.js +176 -0
- package/_/helpers/extendStaticConfig.js.map +7 -0
- package/_/helpers/fixNativeShadow.js +8 -0
- package/_/helpers/fixNativeShadow.js.map +7 -0
- package/_/helpers/fixNativeShadow.native.js +30 -0
- package/_/helpers/fixNativeShadow.native.js.map +7 -0
- package/_/helpers/getSplitStyles.js +160 -0
- package/_/helpers/getSplitStyles.js.map +7 -0
- package/_/helpers/getStylesAtomic.js +84 -0
- package/_/helpers/getStylesAtomic.js.map +7 -0
- package/_/helpers/getStylesAtomic.native.js +10 -0
- package/_/helpers/getStylesAtomic.native.js.map +7 -0
- package/_/helpers/insertStyleRule.js +24 -0
- package/_/helpers/insertStyleRule.js.map +7 -0
- package/_/helpers/matchMedia.js +15 -0
- package/_/helpers/matchMedia.js.map +7 -0
- package/_/helpers/matchMedia.native.js +8 -0
- package/_/helpers/matchMedia.native.js.map +7 -0
- package/_/helpers/themeable.js +26 -0
- package/_/helpers/themeable.js.map +7 -0
- package/_/hooks/useConstant.js +15 -0
- package/_/hooks/useConstant.js.map +7 -0
- package/_/hooks/useFeatures.js +75 -0
- package/_/hooks/useFeatures.js.map +7 -0
- package/_/hooks/useForceUpdate.js +28 -0
- package/_/hooks/useForceUpdate.js.map +7 -0
- package/_/hooks/useMedia.js +173 -0
- package/_/hooks/useMedia.js.map +7 -0
- package/_/hooks/usePressable.js +14 -0
- package/_/hooks/usePressable.js.map +7 -0
- package/_/hooks/useTheme.js +94 -0
- package/_/hooks/useTheme.js.map +7 -0
- package/_/index.js +30 -0
- package/_/index.js.map +7 -0
- package/_/static/postProcessStyles.js +18 -0
- package/_/static/postProcessStyles.js.map +7 -0
- package/_/static.js +12 -0
- package/_/static.js.map +7 -0
- package/_/styled.js +21 -0
- package/_/styled.js.map +7 -0
- package/_/types.js +1 -0
- package/_/types.js.map +7 -0
- package/_/views/Animated.js +79 -0
- package/_/views/Animated.js.map +7 -0
- package/_/views/Stack.js +12 -0
- package/_/views/Stack.js.map +7 -0
- package/_/views/Text.js +60 -0
- package/_/views/Text.js.map +7 -0
- package/_/views/TextAncestorContext.js +19 -0
- package/_/views/TextAncestorContext.js.map +7 -0
- package/_/views/Theme.js +57 -0
- package/_/views/Theme.js.map +7 -0
- package/_/views/ThemeContext.js +6 -0
- package/_/views/ThemeContext.js.map +7 -0
- package/_/views/ThemeInverse.js +27 -0
- package/_/views/ThemeInverse.js.map +7 -0
- package/_/views/ThemeManagerContext.js +56 -0
- package/_/views/ThemeManagerContext.js.map +7 -0
- package/_/views/ThemeProvider.js +45 -0
- package/_/views/ThemeProvider.js.map +7 -0
- package/dist/constants/constants.js +14 -0
- package/dist/constants/constants.js.map +7 -0
- package/dist/constants/platform.js +19 -0
- package/dist/constants/platform.js.map +7 -0
- package/dist/constants/pseudos.js +18 -0
- package/dist/constants/pseudos.js.map +7 -0
- package/dist/constants/rnw.js +22 -0
- package/dist/constants/rnw.js.map +7 -0
- package/dist/constants/styleConstants.js +46 -0
- package/dist/constants/styleConstants.js.map +7 -0
- package/dist/createComponent.js +445 -0
- package/dist/createComponent.js.map +7 -0
- package/dist/createFont.js +24 -0
- package/dist/createFont.js.map +7 -0
- package/dist/createShorthands.js +10 -0
- package/dist/createShorthands.js.map +7 -0
- package/dist/createTamagui.js +159 -0
- package/dist/createTamagui.js.map +7 -0
- package/dist/createTheme.js +20 -0
- package/dist/createTheme.js.map +7 -0
- package/dist/createTokens.js +29 -0
- package/dist/createTokens.js.map +7 -0
- package/dist/createVariable.js +22 -0
- package/dist/createVariable.js.map +7 -0
- package/dist/helpers/addStylesUsingClassname.js +57 -0
- package/dist/helpers/addStylesUsingClassname.js.map +7 -0
- package/dist/helpers/createMediaStyle.js +34 -0
- package/dist/helpers/createMediaStyle.js.map +7 -0
- package/dist/helpers/createPropMapper.js +153 -0
- package/dist/helpers/createPropMapper.js.map +7 -0
- package/dist/helpers/createTamaguiProvider.js +25 -0
- package/dist/helpers/createTamaguiProvider.js.map +7 -0
- package/dist/helpers/extendStaticConfig.js +59 -0
- package/dist/helpers/extendStaticConfig.js.map +7 -0
- package/dist/helpers/fixNativeShadow.js +8 -0
- package/dist/helpers/fixNativeShadow.js.map +7 -0
- package/dist/helpers/fixNativeShadow.native.js +30 -0
- package/dist/helpers/fixNativeShadow.native.js.map +7 -0
- package/dist/helpers/getSplitStyles.js +160 -0
- package/dist/helpers/getSplitStyles.js.map +7 -0
- package/dist/helpers/getStylesAtomic.js +83 -0
- package/dist/helpers/getStylesAtomic.js.map +7 -0
- package/dist/helpers/getStylesAtomic.native.js +10 -0
- package/dist/helpers/getStylesAtomic.native.js.map +7 -0
- package/dist/helpers/insertStyleRule.js +24 -0
- package/dist/helpers/insertStyleRule.js.map +7 -0
- package/dist/helpers/isObj.js +7 -0
- package/dist/helpers/isObj.js.map +7 -0
- package/dist/helpers/matchMedia.js +15 -0
- package/dist/helpers/matchMedia.js.map +7 -0
- package/dist/helpers/matchMedia.native.js +8 -0
- package/dist/helpers/matchMedia.native.js.map +7 -0
- package/dist/helpers/pseudos.js +1 -0
- package/dist/helpers/pseudos.js.map +7 -0
- package/dist/helpers/themeable.js +26 -0
- package/dist/helpers/themeable.js.map +7 -0
- package/dist/hooks/useConstant.js +15 -0
- package/dist/hooks/useConstant.js.map +7 -0
- package/dist/hooks/useFeatures.js +75 -0
- package/dist/hooks/useFeatures.js.map +7 -0
- package/dist/hooks/useForceUpdate.js +28 -0
- package/dist/hooks/useForceUpdate.js.map +7 -0
- package/dist/hooks/useMedia.js +171 -0
- package/dist/hooks/useMedia.js.map +7 -0
- package/dist/hooks/usePressable.js +13 -0
- package/dist/hooks/usePressable.js.map +7 -0
- package/dist/hooks/useTheme.js +93 -0
- package/dist/hooks/useTheme.js.map +7 -0
- package/dist/index.cjs +2125 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +7 -0
- package/dist/packages/core/src/constants/constants.d.ts +8 -0
- package/dist/packages/core/src/constants/constants.d.ts.map +1 -0
- package/dist/packages/core/src/constants/platform.d.ts +9 -0
- package/dist/packages/core/src/constants/platform.d.ts.map +1 -0
- package/dist/packages/core/src/constants/pseudos.d.ts +15 -0
- package/dist/packages/core/src/constants/pseudos.d.ts.map +1 -0
- package/dist/packages/core/src/constants/rnw.d.ts +2 -0
- package/dist/packages/core/src/constants/rnw.d.ts.map +1 -0
- package/dist/packages/core/src/createComponent.d.ts +16 -0
- package/dist/packages/core/src/createComponent.d.ts.map +1 -0
- package/dist/packages/core/src/createShorthands.d.ts +2 -0
- package/dist/packages/core/src/createShorthands.d.ts.map +1 -0
- package/dist/packages/core/src/createTamagui.d.ts +37 -0
- package/dist/packages/core/src/createTamagui.d.ts.map +1 -0
- package/dist/packages/core/src/createTheme.d.ts +5 -0
- package/dist/packages/core/src/createTheme.d.ts.map +1 -0
- package/dist/packages/core/src/createTokens.d.ts +45 -0
- package/dist/packages/core/src/createTokens.d.ts.map +1 -0
- package/dist/packages/core/src/createVariable.d.ts +14 -0
- package/dist/packages/core/src/createVariable.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts +2 -0
- package/dist/packages/core/src/helpers/addStylesUsingClassname.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/createMediaStyle.d.ts +8 -0
- package/dist/packages/core/src/helpers/createMediaStyle.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts +5 -0
- package/dist/packages/core/src/helpers/createTamaguiProvider.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/extendStaticConfig.d.ts +5 -0
- package/dist/packages/core/src/helpers/extendStaticConfig.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/fixNativeShadow.d.ts +2 -0
- package/dist/packages/core/src/helpers/fixNativeShadow.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts +2 -0
- package/dist/packages/core/src/helpers/fixNativeShadow.native.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/getSplitStyles.d.ts +15 -0
- package/dist/packages/core/src/helpers/getSplitStyles.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/getStylesAtomic.d.ts +3 -0
- package/dist/packages/core/src/helpers/getStylesAtomic.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts +2 -0
- package/dist/packages/core/src/helpers/getStylesAtomic.native.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/insertStyleRule.d.ts +2 -0
- package/dist/packages/core/src/helpers/insertStyleRule.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/matchMedia.d.ts +2 -0
- package/dist/packages/core/src/helpers/matchMedia.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/matchMedia.native.d.ts +3 -0
- package/dist/packages/core/src/helpers/matchMedia.native.d.ts.map +1 -0
- package/dist/packages/core/src/helpers/themeable.d.ts +10 -0
- package/dist/packages/core/src/helpers/themeable.d.ts.map +1 -0
- package/dist/packages/core/src/hooks/useConstant.d.ts +2 -0
- package/dist/packages/core/src/hooks/useConstant.d.ts.map +1 -0
- package/dist/packages/core/src/hooks/useFeatures.d.ts +5 -0
- package/dist/packages/core/src/hooks/useFeatures.d.ts.map +1 -0
- package/dist/packages/core/src/hooks/useForceUpdate.d.ts +2 -0
- package/dist/packages/core/src/hooks/useForceUpdate.d.ts.map +1 -0
- package/dist/packages/core/src/hooks/useMedia.d.ts +16 -0
- package/dist/packages/core/src/hooks/useMedia.d.ts.map +1 -0
- package/dist/packages/core/src/hooks/usePressable.d.ts +3 -0
- package/dist/packages/core/src/hooks/usePressable.d.ts.map +1 -0
- package/dist/packages/core/src/hooks/useTheme.d.ts +18 -0
- package/dist/packages/core/src/hooks/useTheme.d.ts.map +1 -0
- package/dist/packages/core/src/index.d.ts +27 -0
- package/dist/packages/core/src/index.d.ts.map +1 -0
- package/dist/packages/core/src/static/postProcessStyles.d.ts +7 -0
- package/dist/packages/core/src/static/postProcessStyles.d.ts.map +1 -0
- package/dist/packages/core/src/static.d.ts +12 -0
- package/dist/packages/core/src/static.d.ts.map +1 -0
- package/dist/packages/core/src/styled.d.ts +16 -0
- package/dist/packages/core/src/styled.d.ts.map +1 -0
- package/dist/packages/core/src/types.d.ts +305 -0
- package/dist/packages/core/src/types.d.ts.map +1 -0
- package/dist/packages/core/src/views/Animated.d.ts +15 -0
- package/dist/packages/core/src/views/Animated.d.ts.map +1 -0
- package/dist/packages/core/src/views/Stack.d.ts +3 -0
- package/dist/packages/core/src/views/Stack.d.ts.map +1 -0
- package/dist/packages/core/src/views/Text.d.ts +3 -0
- package/dist/packages/core/src/views/Text.d.ts.map +1 -0
- package/dist/packages/core/src/views/TextAncestorContext.d.ts +3 -0
- package/dist/packages/core/src/views/TextAncestorContext.d.ts.map +1 -0
- package/dist/packages/core/src/views/Theme.d.ts +8 -0
- package/dist/packages/core/src/views/Theme.d.ts.map +1 -0
- package/dist/packages/core/src/views/ThemeContext.d.ts +18 -0
- package/dist/packages/core/src/views/ThemeContext.d.ts.map +1 -0
- package/dist/packages/core/src/views/ThemeInverse.d.ts +10 -0
- package/dist/packages/core/src/views/ThemeInverse.d.ts.map +1 -0
- package/dist/packages/core/src/views/ThemeManagerContext.d.ts +15 -0
- package/dist/packages/core/src/views/ThemeManagerContext.d.ts.map +1 -0
- package/dist/packages/core/src/views/ThemeProvider.d.ts +10 -0
- package/dist/packages/core/src/views/ThemeProvider.d.ts.map +1 -0
- package/dist/packages/helpers/src/AllRules.d.ts +3 -0
- package/dist/packages/helpers/src/AllRules.d.ts.map +1 -0
- package/dist/packages/helpers/src/concatClassName.d.ts +2 -0
- package/dist/packages/helpers/src/concatClassName.d.ts.map +1 -0
- package/dist/packages/helpers/src/index.d.ts +5 -0
- package/dist/packages/helpers/src/index.d.ts.map +1 -0
- package/dist/packages/helpers/src/types.d.ts +8 -0
- package/dist/packages/helpers/src/types.d.ts.map +1 -0
- package/dist/packages/helpers/src/validStyleProps.d.ts +475 -0
- package/dist/packages/helpers/src/validStyleProps.d.ts.map +1 -0
- package/dist/static/postProcessStyles.js +18 -0
- package/dist/static/postProcessStyles.js.map +7 -0
- package/dist/static.js +15 -0
- package/dist/static.js.map +7 -0
- package/dist/styled.js +21 -0
- package/dist/styled.js.map +7 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +7 -0
- package/dist/views/Animated.js +79 -0
- package/dist/views/Animated.js.map +7 -0
- package/dist/views/SafeAreaProvider.js +30 -0
- package/dist/views/SafeAreaProvider.js.map +7 -0
- package/dist/views/Stack.js +12 -0
- package/dist/views/Stack.js.map +7 -0
- package/dist/views/Text.js +60 -0
- package/dist/views/Text.js.map +7 -0
- package/dist/views/TextAncestorContext.js +18 -0
- package/dist/views/TextAncestorContext.js.map +7 -0
- package/dist/views/Theme.js +56 -0
- package/dist/views/Theme.js.map +7 -0
- package/dist/views/ThemeContext.js +6 -0
- package/dist/views/ThemeContext.js.map +7 -0
- package/dist/views/ThemeInverse.js +27 -0
- package/dist/views/ThemeInverse.js.map +7 -0
- package/dist/views/ThemeManagerContext.js +55 -0
- package/dist/views/ThemeManagerContext.js.map +7 -0
- package/dist/views/ThemeProvider.js +45 -0
- package/dist/views/ThemeProvider.js.map +7 -0
- package/package.json +33 -0
- package/src/constants/constants.ts +12 -0
- package/src/constants/platform.ts +15 -0
- package/src/constants/pseudos.ts +14 -0
- package/src/constants/rnw.tsx +20 -0
- package/src/createComponent.tsx +596 -0
- package/src/createFont.ts +26 -0
- package/src/createShorthands.ts +5 -0
- package/src/createTamagui.ts +207 -0
- package/src/createTheme.ts +19 -0
- package/src/createTokens.ts +83 -0
- package/src/createVariable.ts +22 -0
- package/src/helpers/addStylesUsingClassname.tsx +60 -0
- package/src/helpers/createMediaStyle.ts +46 -0
- package/src/helpers/createPropMapper.ts +184 -0
- package/src/helpers/createTamaguiProvider.tsx +22 -0
- package/src/helpers/extendStaticConfig.ts +68 -0
- package/src/helpers/fixNativeShadow.native.tsx +27 -0
- package/src/helpers/fixNativeShadow.tsx +2 -0
- package/src/helpers/getSplitStyles.tsx +210 -0
- package/src/helpers/getStylesAtomic.native.ts +3 -0
- package/src/helpers/getStylesAtomic.ts +103 -0
- package/src/helpers/insertStyleRule.tsx +18 -0
- package/src/helpers/isObj.ts +1 -0
- package/src/helpers/matchMedia.native.ts +3 -0
- package/src/helpers/matchMedia.ts +9 -0
- package/src/helpers/themeable.tsx +42 -0
- package/src/hooks/useConstant.tsx +10 -0
- package/src/hooks/useFeatures.tsx +78 -0
- package/src/hooks/useForceUpdate.tsx +26 -0
- package/src/hooks/useMedia.tsx +194 -0
- package/src/hooks/usePressable.tsx +9 -0
- package/src/hooks/useTheme.tsx +107 -0
- package/src/index.ts +33 -0
- package/src/static/postProcessStyles.tsx +20 -0
- package/src/static.ts +22 -0
- package/src/styled.ts +82 -0
- package/src/types.tsx +561 -0
- package/src/views/Animated.tsx +121 -0
- package/src/views/SafeAreaProvider.tsx +33 -0
- package/src/views/Stack.tsx +21 -0
- package/src/views/Text.tsx +66 -0
- package/src/views/TextAncestorContext.tsx +12 -0
- package/src/views/Theme.tsx +73 -0
- package/src/views/ThemeContext.tsx +5 -0
- package/src/views/ThemeInverse.tsx +23 -0
- package/src/views/ThemeManagerContext.tsx +50 -0
- package/src/views/ThemeProvider.tsx +52 -0
- package/tsconfig.json +8 -0
- package/types.d.ts +558 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { createPropMapper } from "./createPropMapper";
|
|
4
|
+
function extendStaticConfig(Component, config = {}) {
|
|
5
|
+
const parent = Component || {};
|
|
6
|
+
if (!parent.staticConfig) {
|
|
7
|
+
parent.staticConfig = {
|
|
8
|
+
Component
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
const variants = {
|
|
12
|
+
...parent.staticConfig.variants
|
|
13
|
+
};
|
|
14
|
+
if (config.variants) {
|
|
15
|
+
for (const key in config.variants) {
|
|
16
|
+
if (variants[key]) {
|
|
17
|
+
variants[key] = {
|
|
18
|
+
...variants[key],
|
|
19
|
+
...config.variants[key]
|
|
20
|
+
};
|
|
21
|
+
} else {
|
|
22
|
+
variants[key] = config.variants[key];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return parseStaticConfig({
|
|
27
|
+
...parent.staticConfig,
|
|
28
|
+
isZStack: config.isZStack || parent.staticConfig.isZStack,
|
|
29
|
+
variants,
|
|
30
|
+
isText: config.isText || parent.staticConfig.isText || false,
|
|
31
|
+
neverFlatten: config.neverFlatten ?? parent.staticConfig.neverFlatten,
|
|
32
|
+
ensureOverriddenProp: config.ensureOverriddenProp ?? parent.staticConfig.ensureOverriddenProp,
|
|
33
|
+
validStyles: config.validStyles ? {
|
|
34
|
+
...parent.staticConfig.validStyles,
|
|
35
|
+
...config.validStyles
|
|
36
|
+
} : parent.staticConfig.validStyles,
|
|
37
|
+
validPropsExtra: {
|
|
38
|
+
...parent.staticConfig.validPropsExtra,
|
|
39
|
+
...config.validPropsExtra
|
|
40
|
+
},
|
|
41
|
+
defaultProps: {
|
|
42
|
+
...parent.staticConfig.defaultProps,
|
|
43
|
+
...config.defaultProps
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
__name(extendStaticConfig, "extendStaticConfig");
|
|
48
|
+
const parseStaticConfig = /* @__PURE__ */ __name((config) => {
|
|
49
|
+
return {
|
|
50
|
+
...config,
|
|
51
|
+
parsed: true,
|
|
52
|
+
propMapper: createPropMapper(config)
|
|
53
|
+
};
|
|
54
|
+
}, "parseStaticConfig");
|
|
55
|
+
export {
|
|
56
|
+
extendStaticConfig,
|
|
57
|
+
parseStaticConfig
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=extendStaticConfig.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers/extendStaticConfig.ts"],
|
|
4
|
+
"sourcesContent": ["import React from 'react'\n\nimport { StaticComponent, StaticConfig, StaticConfigParsed } from '../types'\nimport { createPropMapper } from './createPropMapper'\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 parent = (Component || {}) as any\n if (!parent.staticConfig) {\n // if no static config, we are extending an external component\n parent.staticConfig = {\n Component,\n }\n }\n\n const variants = {\n ...parent.staticConfig.variants,\n }\n\n // merge variants without clobbering previous... can we tho (typed??\n if (config.variants) {\n for (const key in config.variants) {\n if (variants[key]) {\n variants[key] = {\n ...variants[key],\n ...config.variants[key],\n }\n } else {\n variants[key] = config.variants[key]\n }\n }\n }\n\n return parseStaticConfig({\n ...parent.staticConfig,\n isZStack: config.isZStack || parent.staticConfig.isZStack,\n variants,\n isText: config.isText || parent.staticConfig.isText || false,\n neverFlatten: config.neverFlatten ?? parent.staticConfig.neverFlatten,\n ensureOverriddenProp: config.ensureOverriddenProp ?? parent.staticConfig.ensureOverriddenProp,\n validStyles: config.validStyles\n ? {\n ...parent.staticConfig.validStyles,\n ...config.validStyles,\n }\n : parent.staticConfig.validStyles,\n validPropsExtra: {\n ...parent.staticConfig.validPropsExtra,\n ...config.validPropsExtra,\n },\n defaultProps: {\n ...parent.staticConfig.defaultProps,\n ...config.defaultProps,\n },\n })\n}\n\nexport const parseStaticConfig = (config: StaticConfig): StaticConfigParsed => {\n return {\n ...config,\n parsed: true,\n propMapper: createPropMapper(config),\n }\n}\n"],
|
|
5
|
+
"mappings": ";;AAGA;AAEO,4BAGL,WACA,SAAuB,IACI;AAC3B,QAAM,SAAU,aAAa;AAC7B,MAAI,CAAC,OAAO,cAAc;AAExB,WAAO,eAAe;AAAA,MACpB;AAAA;AAAA;AAIJ,QAAM,WAAW;AAAA,OACZ,OAAO,aAAa;AAAA;AAIzB,MAAI,OAAO,UAAU;AACnB,eAAW,OAAO,OAAO,UAAU;AACjC,UAAI,SAAS,MAAM;AACjB,iBAAS,OAAO;AAAA,aACX,SAAS;AAAA,aACT,OAAO,SAAS;AAAA;AAAA,aAEhB;AACL,iBAAS,OAAO,OAAO,SAAS;AAAA;AAAA;AAAA;AAKtC,SAAO,kBAAkB;AAAA,OACpB,OAAO;AAAA,IACV,UAAU,OAAO,YAAY,OAAO,aAAa;AAAA,IACjD;AAAA,IACA,QAAQ,OAAO,UAAU,OAAO,aAAa,UAAU;AAAA,IACvD,cAAc,OAAO,gBAAgB,OAAO,aAAa;AAAA,IACzD,sBAAsB,OAAO,wBAAwB,OAAO,aAAa;AAAA,IACzE,aAAa,OAAO,cAChB;AAAA,SACK,OAAO,aAAa;AAAA,SACpB,OAAO;AAAA,QAEZ,OAAO,aAAa;AAAA,IACxB,iBAAiB;AAAA,SACZ,OAAO,aAAa;AAAA,SACpB,OAAO;AAAA;AAAA,IAEZ,cAAc;AAAA,SACT,OAAO,aAAa;AAAA,SACpB,OAAO;AAAA;AAAA;AAAA;AAnDA;AAwDT,MAAM,oBAAoB,wBAAC,WAA6C;AAC7E,SAAO;AAAA,OACF;AAAA,IACH,QAAQ;AAAA,IACR,YAAY,iBAAiB;AAAA;AAAA,GAJA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
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, props);
|
|
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, props);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
const out = staticConfig.propMapper(keyInit, valInit, theme, props);
|
|
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, props) => {
|
|
121
|
+
const styleOut = {};
|
|
122
|
+
for (const key in styleIn) {
|
|
123
|
+
const val = styleIn[key];
|
|
124
|
+
const out = staticConfig.propMapper(key, val, theme, props);
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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, props)\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, props)\n continue\n }\n\n const out = staticConfig.propMapper(keyInit, valInit, theme, props)\n\n const expanded = out === true || !out ? [[keyInit, valInit]] : Object.entries(out)\n\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 props: any\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, props)\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
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
if (style == null || typeof style !== "object") {
|
|
38
|
+
throw new Error(`Wrong style type: "${typeof style}": ${style}`);
|
|
39
|
+
}
|
|
40
|
+
for (const key in borderDefaults) {
|
|
41
|
+
if (key in style) {
|
|
42
|
+
style[borderDefaults[key]] = style[borderDefaults[key]] ?? "solid";
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const all = generateStyle(style);
|
|
46
|
+
return Object.keys(all).map((key) => {
|
|
47
|
+
const val = all[key];
|
|
48
|
+
const hash = val.identifier.slice(`${val.identifier}`.lastIndexOf("-") + 1);
|
|
49
|
+
const psuedoPrefix = pseudo ? `-${pseudo.name}-` : "";
|
|
50
|
+
const identifier = `_${val.property}-${psuedoPrefix}${hash}`;
|
|
51
|
+
const className = `.${identifier}`;
|
|
52
|
+
const rules = val.rules.map((rule) => {
|
|
53
|
+
if (pseudo) {
|
|
54
|
+
const psuedoPrefixSelect = [...Array(pseudo.priority)].map(() => ":root").join("") + " ";
|
|
55
|
+
let res = rule.replace(`.${val.identifier}`, `${psuedoPrefixSelect} ${className}`).replace("{", `:${pseudo.name}{`);
|
|
56
|
+
if (pseudo.name === "hover") {
|
|
57
|
+
res = `@media not all and (hover: none) { ${res} }`;
|
|
58
|
+
}
|
|
59
|
+
return res;
|
|
60
|
+
}
|
|
61
|
+
return rule.replace(`.${val.identifier}`, className).replace(importantRegex, "");
|
|
62
|
+
});
|
|
63
|
+
if (!avoidCollection) {
|
|
64
|
+
if (rules.length > 1) {
|
|
65
|
+
console.warn("have never seen more than one, verifying");
|
|
66
|
+
}
|
|
67
|
+
AllRules.add(rules[0]);
|
|
68
|
+
}
|
|
69
|
+
const result = {
|
|
70
|
+
property: val.property,
|
|
71
|
+
value: val.value,
|
|
72
|
+
identifier,
|
|
73
|
+
className,
|
|
74
|
+
rules
|
|
75
|
+
};
|
|
76
|
+
return result;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
__name(getAtomicStyle, "getAtomicStyle");
|
|
80
|
+
export {
|
|
81
|
+
getStylesAtomic
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=getStylesAtomic.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
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;AACf,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,MAAM,eAAe,SAAS;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
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
const isObj = /* @__PURE__ */ __name((x) => x && !Array.isArray(x) && typeof x === "object", "isObj");
|
|
4
|
+
export {
|
|
5
|
+
isObj
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=isObj.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers/isObj.ts"],
|
|
4
|
+
"sourcesContent": ["export const isObj = (x: any) => x && !Array.isArray(x) && typeof x === 'object'\n"],
|
|
5
|
+
"mappings": ";;AAAO,MAAM,QAAQ,wBAAC,MAAW,KAAK,CAAC,MAAM,QAAQ,MAAM,OAAO,MAAM,UAAnD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=pseudos.js.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import React, { forwardRef } from "react";
|
|
4
|
+
import { Theme } from "../views/Theme";
|
|
5
|
+
import { ThemeInverse } from "../views/ThemeInverse";
|
|
6
|
+
const themeable = /* @__PURE__ */ __name(function graphql(component) {
|
|
7
|
+
const withThemeComponent = forwardRef(/* @__PURE__ */ __name(function WithTheme({ themeInverse, ...rest }, ref) {
|
|
8
|
+
const el = React.createElement(component, { ...rest, ref });
|
|
9
|
+
if (themeInverse) {
|
|
10
|
+
return /* @__PURE__ */ React.createElement(ThemeInverse, null, el);
|
|
11
|
+
}
|
|
12
|
+
if (rest.theme) {
|
|
13
|
+
return /* @__PURE__ */ React.createElement(Theme, {
|
|
14
|
+
name: rest.theme || null
|
|
15
|
+
}, el);
|
|
16
|
+
}
|
|
17
|
+
return el;
|
|
18
|
+
}, "WithTheme"));
|
|
19
|
+
const withTheme = withThemeComponent;
|
|
20
|
+
withTheme.displayName = `Themed(${component?.displayName || component?.name || "Anonymous"})`;
|
|
21
|
+
return withTheme;
|
|
22
|
+
}, "graphql");
|
|
23
|
+
export {
|
|
24
|
+
themeable
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=themeable.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/helpers/themeable.tsx"],
|
|
4
|
+
"sourcesContent": ["import React, { ReactElement, forwardRef } from 'react'\n\nimport { Theme } from '../views/Theme'\nimport { ThemeInverse } from '../views/ThemeInverse'\n\nexport type ThemeableProps = {\n theme?: string | null\n themeInverse?: boolean\n}\n\nexport const themeable: ThemeableHOC = function graphql<\n R extends ReactElement<any, any> | null,\n P extends ThemeableProps = {}\n>(component: (props: P) => R) {\n const withThemeComponent = forwardRef(function WithTheme({ themeInverse, ...rest }: P, ref) {\n const el = React.createElement(component, { ...rest, ref } as any) as R\n if (themeInverse) {\n return (<ThemeInverse>{el}</ThemeInverse>) as R\n }\n if (rest.theme) {\n return (<Theme name={rest.theme || null}>{el}</Theme>) as R\n }\n return el\n })\n\n const withTheme: {\n (props: P): R\n displayName: string\n } = withThemeComponent as any\n\n withTheme.displayName = `Themed(${\n (component as any)?.displayName || (component as any)?.name || 'Anonymous'\n })`\n\n return withTheme\n}\n\nexport interface ThemeableHOC {\n <R extends ReactElement<any, any> | null, P extends ThemeableProps = {}>(\n component: (props: P) => R\n ): (props: P) => R\n}\n"],
|
|
5
|
+
"mappings": ";;AAAA;AAEA;AACA;AAOO,MAAM,YAA0B,wCAGrC,WAA4B;AAC5B,QAAM,qBAAqB,WAAW,0CAAmB,EAAE,iBAAiB,QAAW,KAAK;AAC1F,UAAM,KAAK,MAAM,cAAc,WAAW,KAAK,MAAM;AACrD,QAAI,cAAc;AAChB,aAAQ,oCAAC,cAAD,MAAe;AAAA;AAEzB,QAAI,KAAK,OAAO;AACd,aAAQ,oCAAC,OAAD;AAAA,QAAO,MAAM,KAAK,SAAS;AAAA,SAAO;AAAA;AAE5C,WAAO;AAAA,KAR6B;AAWtC,QAAM,YAGF;AAEJ,YAAU,cAAc,UACrB,WAAmB,eAAgB,WAAmB,QAAQ;AAGjE,SAAO;AAAA,GAxB8B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { useRef } from "react";
|
|
4
|
+
function useConstant(fn) {
|
|
5
|
+
const ref = useRef();
|
|
6
|
+
if (!ref.current) {
|
|
7
|
+
ref.current = { v: fn() };
|
|
8
|
+
}
|
|
9
|
+
return ref.current.v;
|
|
10
|
+
}
|
|
11
|
+
__name(useConstant, "useConstant");
|
|
12
|
+
export {
|
|
13
|
+
useConstant
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useConstant.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/useConstant.tsx"],
|
|
4
|
+
"sourcesContent": ["import { useRef } from 'react'\n\ntype ResultBox<T> = { v: T }\nexport function useConstant<T>(fn: () => T): T {\n const ref = useRef<ResultBox<T>>()\n if (!ref.current) {\n ref.current = { v: fn() }\n }\n return ref.current.v\n}\n"],
|
|
5
|
+
"mappings": ";;AAAA;AAGO,qBAAwB,IAAgB;AAC7C,QAAM,MAAM;AACZ,MAAI,CAAC,IAAI,SAAS;AAChB,QAAI,UAAU,EAAE,GAAG;AAAA;AAErB,SAAO,IAAI,QAAQ;AAAA;AALL;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|