@tamagui/core 1.0.0-beta.187 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Tamagui.js +18 -1
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/ThemeContext.js +4 -0
- package/dist/cjs/ThemeManager.js +30 -14
- package/dist/cjs/ThemeManager.js.map +2 -2
- package/dist/cjs/conf.js +10 -1
- package/dist/cjs/conf.js.map +2 -2
- package/dist/cjs/constants/constants.js +6 -0
- package/dist/cjs/constants/platform.js +15 -0
- package/dist/cjs/constants/platform.js.map +2 -2
- package/dist/cjs/constants/rnw.js +4 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js +4 -0
- package/dist/cjs/createComponent.js +156 -130
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +4 -0
- package/dist/cjs/createShorthands.js +4 -0
- package/dist/cjs/createTamagui.js +56 -27
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +4 -0
- package/dist/cjs/createTokens.js +7 -6
- package/dist/cjs/createTokens.js.map +2 -2
- package/dist/cjs/createVariable.js +18 -2
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/defaultComponentState.js +0 -30
- package/dist/cjs/defaultComponentState.js.map +3 -3
- package/dist/cjs/helpers/RNComponents.js +38 -0
- package/dist/cjs/helpers/RNComponents.js.map +7 -0
- package/dist/cjs/helpers/addStylesUsingClassname.js +19 -16
- package/dist/cjs/helpers/addStylesUsingClassname.js.map +2 -2
- package/dist/cjs/helpers/areEqualSets.js +4 -0
- package/dist/cjs/helpers/createMediaStyle.js +5 -0
- package/dist/cjs/helpers/createPropMapper.js +63 -61
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createShallowUpdate.js +55 -0
- package/dist/cjs/helpers/createShallowUpdate.js.map +7 -0
- package/dist/cjs/helpers/createTamaguiProvider.js +5 -5
- package/dist/cjs/helpers/createTamaguiProvider.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +9 -6
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/fixNativeShadow.js +4 -0
- package/dist/cjs/helpers/fixNativeShadow.native.js +6 -2
- package/dist/cjs/helpers/fixNativeShadow.native.js.map +2 -2
- package/dist/cjs/helpers/getExpandedShorthands.js +4 -0
- package/dist/cjs/helpers/getSize.js +35 -0
- package/dist/cjs/helpers/getSize.js.map +7 -0
- package/dist/cjs/helpers/getSplitStyles.js +152 -64
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +20 -2
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +4 -0
- package/dist/cjs/helpers/insertStyleRule.js +46 -26
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/isObj.js +4 -0
- package/dist/cjs/helpers/isTamaguiElement.js +4 -0
- package/dist/cjs/helpers/matchMedia.js +4 -0
- package/dist/cjs/helpers/matchMedia.native.js +4 -0
- package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
- package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
- package/dist/cjs/helpers/themeable.js +7 -2
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/validate.js +53 -11
- package/dist/cjs/helpers/validate.js.map +2 -2
- package/dist/cjs/helpers/withStaticProperties.js +4 -0
- package/dist/cjs/helpers/wrapThemeManagerContext.js +4 -0
- package/dist/cjs/hooks/useConstant.js +4 -0
- package/dist/cjs/hooks/useFeatures.js +101 -12
- package/dist/cjs/hooks/useFeatures.js.map +2 -2
- package/dist/cjs/hooks/useIsMounted.js +4 -0
- package/dist/cjs/hooks/useIsTouchDevice.js +8 -4
- package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +30 -12
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/usePressable.js +4 -0
- package/dist/cjs/hooks/useTheme.js +36 -23
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useUnmountEffect.js +4 -0
- package/dist/cjs/index.js +15 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/static.js +3 -0
- package/dist/cjs/static.js.map +2 -2
- package/dist/cjs/styled.js +8 -15
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types-rnw.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/views/Stack.js +5 -0
- package/dist/cjs/views/Stack.js.map +2 -2
- package/dist/cjs/views/Text.js +5 -0
- package/dist/cjs/views/Text.js.map +2 -2
- package/dist/cjs/views/TextAncestorContext.js +6 -0
- package/dist/cjs/views/Theme.js +11 -4
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeInverse.js +5 -0
- package/dist/cjs/views/ThemeProvider.js +6 -1
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/cjs/views/ThemeReset.js +4 -0
- package/dist/esm/Tamagui.js +10 -2
- package/dist/esm/Tamagui.js.map +2 -2
- package/dist/esm/ThemeManager.js +21 -11
- package/dist/esm/ThemeManager.js.map +2 -2
- package/dist/esm/conf.js +0 -1
- package/dist/esm/conf.js.map +2 -2
- package/dist/esm/constants/platform.js +2 -0
- package/dist/esm/constants/platform.js.map +2 -2
- package/dist/esm/createComponent.js +146 -133
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createTamagui.js +53 -28
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTokens.js +2 -6
- package/dist/esm/createTokens.js.map +2 -2
- package/dist/esm/createVariable.js +8 -2
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/defaultComponentState.js +0 -11
- package/dist/esm/defaultComponentState.js.map +3 -3
- package/dist/esm/helpers/RNComponents.js +12 -0
- package/dist/esm/helpers/RNComponents.js.map +7 -0
- package/dist/esm/helpers/addStylesUsingClassname.js +16 -18
- package/dist/esm/helpers/addStylesUsingClassname.js.map +2 -2
- package/dist/esm/helpers/createPropMapper.js +59 -61
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createShallowUpdate.js +19 -0
- package/dist/esm/helpers/createShallowUpdate.js.map +7 -0
- package/dist/esm/helpers/createTamaguiProvider.js +1 -4
- package/dist/esm/helpers/createTamaguiProvider.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +9 -6
- package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
- package/dist/esm/helpers/fixNativeShadow.native.js +2 -2
- package/dist/esm/helpers/fixNativeShadow.native.js.map +2 -2
- package/dist/esm/helpers/getSize.js +13 -0
- package/dist/esm/helpers/getSize.js.map +7 -0
- package/dist/esm/helpers/getSplitStyles.js +152 -67
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +15 -2
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +36 -26
- package/dist/esm/helpers/insertStyleRule.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +18 -0
- package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
- package/dist/esm/helpers/themeable.js +3 -2
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/validate.js +24 -11
- package/dist/esm/helpers/validate.js.map +2 -2
- package/dist/esm/hooks/useFeatures.js +96 -17
- package/dist/esm/hooks/useFeatures.js.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.js +6 -6
- package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/esm/hooks/useMedia.js +19 -12
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useTheme.js +28 -23
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/static.js +3 -0
- package/dist/esm/static.js.map +2 -2
- package/dist/esm/styled.js +4 -12
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/views/Stack.js +1 -0
- package/dist/esm/views/Stack.js.map +2 -2
- package/dist/esm/views/Text.js +1 -0
- package/dist/esm/views/Text.js.map +2 -2
- package/dist/esm/views/Theme.js +7 -4
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/ThemeProvider.js +2 -1
- package/dist/esm/views/ThemeProvider.js.map +2 -2
- package/dist/jsx/Tamagui.js +10 -2
- package/dist/jsx/ThemeManager.js +21 -11
- package/dist/jsx/conf.js +0 -1
- package/dist/jsx/constants/platform.js +2 -0
- package/dist/jsx/createComponent.js +139 -127
- package/dist/jsx/createTamagui.js +53 -28
- package/dist/jsx/createTokens.js +2 -6
- package/dist/jsx/createVariable.js +8 -2
- package/dist/jsx/defaultComponentState.js +0 -11
- package/dist/jsx/helpers/RNComponents.js +11 -0
- package/dist/jsx/helpers/addStylesUsingClassname.js +16 -18
- package/dist/jsx/helpers/createPropMapper.js +59 -61
- package/dist/jsx/helpers/createShallowUpdate.js +18 -0
- package/dist/jsx/helpers/createTamaguiProvider.js +1 -2
- package/dist/jsx/helpers/extendStaticConfig.js +9 -6
- package/dist/jsx/helpers/fixNativeShadow.native.js +2 -2
- package/dist/jsx/helpers/getSize.js +12 -0
- package/dist/jsx/helpers/getSplitStyles.js +152 -67
- package/dist/jsx/helpers/getStylesAtomic.js +15 -2
- package/dist/jsx/helpers/insertStyleRule.js +36 -26
- package/dist/jsx/helpers/proxyThemeVariables.js +17 -0
- package/dist/jsx/helpers/themeable.js +3 -3
- package/dist/jsx/helpers/validate.js +24 -11
- package/dist/jsx/hooks/useFeatures.js +96 -17
- package/dist/jsx/hooks/useIsTouchDevice.js +6 -6
- package/dist/jsx/hooks/useMedia.js +19 -12
- package/dist/jsx/hooks/useTheme.js +28 -23
- package/dist/jsx/index.js +4 -0
- package/dist/jsx/static.js +3 -0
- package/dist/jsx/styled.js +4 -12
- package/dist/jsx/views/Stack.js +1 -0
- package/dist/jsx/views/Text.js +1 -0
- package/dist/jsx/views/Theme.js +7 -4
- package/dist/jsx/views/ThemeProvider.js +2 -2
- package/package.json +6 -6
- package/types/Tamagui.d.ts +18 -1
- package/types/Tamagui.d.ts.map +1 -1
- package/types/ThemeManager.d.ts +3 -3
- package/types/ThemeManager.d.ts.map +1 -1
- package/types/conf.d.ts +2 -0
- package/types/conf.d.ts.map +1 -1
- package/types/constants/platform.d.ts +1 -0
- package/types/constants/platform.d.ts.map +1 -1
- package/types/createComponent.d.ts +5 -7
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createTamagui.d.ts +3 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTokens.d.ts +0 -26
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariable.d.ts +1 -0
- package/types/createVariable.d.ts.map +1 -1
- package/types/defaultComponentState.d.ts +0 -12
- package/types/defaultComponentState.d.ts.map +1 -1
- package/types/helpers/RNComponents.d.ts +2 -0
- package/types/helpers/RNComponents.d.ts.map +1 -0
- package/types/helpers/addStylesUsingClassname.d.ts.map +1 -1
- package/types/helpers/createPropMapper.d.ts +2 -2
- package/types/helpers/createPropMapper.d.ts.map +1 -1
- package/types/helpers/createShallowUpdate.d.ts +4 -0
- package/types/helpers/createShallowUpdate.d.ts.map +1 -0
- package/types/helpers/createTamaguiProvider.d.ts +1 -1
- package/types/helpers/createTamaguiProvider.d.ts.map +1 -1
- package/types/helpers/extendStaticConfig.d.ts +2 -2
- package/types/helpers/extendStaticConfig.d.ts.map +1 -1
- package/types/helpers/getSize.d.ts +3 -0
- package/types/helpers/getSize.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts +15 -18
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getStylesAtomic.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts +2 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/proxyThemeVariables.d.ts +2 -0
- package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
- package/types/helpers/themeable.d.ts +3 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/helpers/validate.d.ts.map +1 -1
- package/types/hooks/useFeatures.d.ts +7 -5
- package/types/hooks/useFeatures.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +2 -6
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/static.d.ts +3 -0
- package/types/static.d.ts.map +1 -1
- package/types/styled.d.ts +13 -8
- package/types/styled.d.ts.map +1 -1
- package/types/types-rnw.d.ts +0 -5
- package/types/types-rnw.d.ts.map +1 -1
- package/types/types.d.ts +147 -106
- package/types/types.d.ts.map +1 -1
- package/types/views/Stack.d.ts +2 -2
- package/types/views/Stack.d.ts.map +1 -1
- package/types/views/Text.d.ts +2 -2
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts +1 -0
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeProvider.d.ts +1 -0
- package/types/views/ThemeProvider.d.ts.map +1 -1
- package/LICENSE +0 -21
- package/dist/cjs/spacedChildren.js +0 -86
- package/dist/cjs/spacedChildren.js.map +0 -7
- package/dist/esm/spacedChildren.js +0 -52
- package/dist/esm/spacedChildren.js.map +0 -7
- package/dist/jsx/spacedChildren.js +0 -44
- package/types/spacedChildren.d.ts +0 -9
- package/types/spacedChildren.d.ts.map +0 -1
|
@@ -66,91 +66,110 @@ var import_constants = require("./constants/constants");
|
|
|
66
66
|
var import_platform = require("./constants/platform");
|
|
67
67
|
var import_rnw = require("./constants/rnw");
|
|
68
68
|
var import_createVariable = require("./createVariable");
|
|
69
|
-
var
|
|
69
|
+
var import_createShallowUpdate = require("./helpers/createShallowUpdate");
|
|
70
70
|
var import_extendStaticConfig = require("./helpers/extendStaticConfig");
|
|
71
71
|
var import_getSplitStyles = require("./helpers/getSplitStyles");
|
|
72
|
+
var import_insertStyleRule = require("./helpers/insertStyleRule");
|
|
73
|
+
var import_proxyThemeVariables = require("./helpers/proxyThemeVariables");
|
|
72
74
|
var import_wrapThemeManagerContext = require("./helpers/wrapThemeManagerContext");
|
|
73
75
|
var import_useFeatures = require("./hooks/useFeatures");
|
|
76
|
+
var import_useIsTouchDevice = require("./hooks/useIsTouchDevice");
|
|
74
77
|
var import_usePressable = require("./hooks/usePressable");
|
|
75
78
|
var import_useTheme = require("./hooks/useTheme");
|
|
76
79
|
var import_TextAncestorContext = require("./views/TextAncestorContext");
|
|
80
|
+
import_react.default["keep"];
|
|
81
|
+
const defaultComponentState = {
|
|
82
|
+
hover: false,
|
|
83
|
+
press: false,
|
|
84
|
+
pressIn: false,
|
|
85
|
+
focus: false,
|
|
86
|
+
mounted: false,
|
|
87
|
+
animation: null
|
|
88
|
+
};
|
|
77
89
|
const mouseUps = /* @__PURE__ */ new Set();
|
|
78
90
|
if (typeof document !== "undefined") {
|
|
79
91
|
document.addEventListener("mouseup", () => {
|
|
80
92
|
mouseUps.forEach((x) => x());
|
|
81
93
|
mouseUps.clear();
|
|
82
94
|
});
|
|
95
|
+
document.addEventListener("touchend", () => {
|
|
96
|
+
mouseUps.forEach((x) => x());
|
|
97
|
+
mouseUps.clear();
|
|
98
|
+
});
|
|
99
|
+
document.addEventListener("touchcancel", () => {
|
|
100
|
+
mouseUps.forEach((x) => x());
|
|
101
|
+
mouseUps.clear();
|
|
102
|
+
});
|
|
83
103
|
}
|
|
84
|
-
function
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
for (const key in next) {
|
|
88
|
-
if (prev[key] !== next[key]) {
|
|
89
|
-
return __spreadValues(__spreadValues({}, prev), next);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return prev;
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
__name(createShallowUpdate, "createShallowUpdate");
|
|
97
|
-
function createComponent(configIn) {
|
|
98
|
-
let staticConfig;
|
|
99
|
-
if ("parsed" in configIn) {
|
|
100
|
-
staticConfig = configIn;
|
|
101
|
-
} else {
|
|
102
|
-
staticConfig = (0, import_extendStaticConfig.parseStaticConfig)(configIn);
|
|
104
|
+
function mergeShorthands({ defaultProps }, { shorthands }) {
|
|
105
|
+
for (const key in defaultProps) {
|
|
106
|
+
defaultProps[shorthands[key] || key] = defaultProps[key];
|
|
103
107
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
108
|
+
}
|
|
109
|
+
__name(mergeShorthands, "mergeShorthands");
|
|
110
|
+
let initialTheme;
|
|
111
|
+
function createComponent(configIn, ParentComponent) {
|
|
112
|
+
const staticConfig = (() => {
|
|
113
|
+
const config = (0, import_extendStaticConfig.extendStaticConfig)(configIn, ParentComponent);
|
|
114
|
+
if ("parsed" in config) {
|
|
115
|
+
return config;
|
|
116
|
+
} else {
|
|
117
|
+
return (0, import_extendStaticConfig.parseStaticConfig)(config);
|
|
118
|
+
}
|
|
119
|
+
})();
|
|
120
|
+
const componentClassName = `is_${staticConfig.componentName}`;
|
|
107
121
|
let tamaguiConfig;
|
|
108
122
|
let AnimatedText;
|
|
109
123
|
let AnimatedView;
|
|
110
|
-
let avoidClasses =
|
|
111
|
-
let defaultPseudos = {};
|
|
124
|
+
let avoidClasses = true;
|
|
112
125
|
let defaultNativeStyle;
|
|
113
|
-
let defaultNativeStyleSheet
|
|
114
|
-
let
|
|
115
|
-
let
|
|
116
|
-
let splitStyleResult = null;
|
|
126
|
+
let defaultNativeStyleSheet;
|
|
127
|
+
let tamaguiDefaultProps;
|
|
128
|
+
let initialSplitStyles;
|
|
117
129
|
function addPseudoToStyles(styles, name, pseudos) {
|
|
118
130
|
const pseudoStyle = pseudos[name];
|
|
131
|
+
const shouldNestObject = import_platform.isWeb && name !== "enterStyle" && name !== "exitStyle";
|
|
119
132
|
if (pseudoStyle) {
|
|
120
|
-
styles.push(
|
|
133
|
+
styles.push(shouldNestObject ? { [name]: pseudoStyle } : pseudoStyle);
|
|
121
134
|
}
|
|
122
|
-
const defaultPseudoStyle =
|
|
135
|
+
const defaultPseudoStyle = initialSplitStyles.pseudos[name];
|
|
123
136
|
if (defaultPseudoStyle) {
|
|
124
|
-
styles.push(
|
|
137
|
+
styles.push(shouldNestObject ? { [name]: defaultPseudoStyle } : defaultPseudoStyle);
|
|
125
138
|
}
|
|
126
139
|
}
|
|
127
140
|
__name(addPseudoToStyles, "addPseudoToStyles");
|
|
128
141
|
const component = (0, import_react.forwardRef)((props, forwardedRef) => {
|
|
129
142
|
var _a, _c, _d, _e;
|
|
143
|
+
props = tamaguiDefaultProps ? __spreadValues(__spreadValues({}, tamaguiDefaultProps), props) : props;
|
|
144
|
+
const { Component, componentName, isText, isZStack } = staticConfig;
|
|
130
145
|
if (process.env.NODE_ENV === "development") {
|
|
131
146
|
if (props["debug"]) {
|
|
132
|
-
console.warn(componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]", "
|
|
147
|
+
console.warn(staticConfig.componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]", "debug on");
|
|
148
|
+
console.log("props in:", props, Object.keys(props));
|
|
133
149
|
if (props["debug"] === "break")
|
|
134
150
|
debugger;
|
|
135
151
|
}
|
|
136
152
|
}
|
|
137
153
|
const forceUpdate = (0, import_use_force_update.useForceUpdate)();
|
|
138
|
-
const theme = (0, import_useTheme.useTheme)(props.theme, componentName, props, forceUpdate);
|
|
139
|
-
const [state, set_] = (0, import_react.useState)(
|
|
140
|
-
const setStateShallow = createShallowUpdate(set_);
|
|
141
|
-
const shouldAvoidClasses = !!(
|
|
142
|
-
const
|
|
143
|
-
const { viewProps: viewPropsIn, pseudos, medias, style, classNames } =
|
|
154
|
+
const theme = (0, import_useTheme.useTheme)(props.theme, staticConfig.componentName, props, forceUpdate);
|
|
155
|
+
const [state, set_] = (0, import_react.useState)(defaultComponentState);
|
|
156
|
+
const setStateShallow = (0, import_createShallowUpdate.createShallowUpdate)(set_);
|
|
157
|
+
const shouldAvoidClasses = !!(props.animation && avoidClasses);
|
|
158
|
+
const splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, shouldAvoidClasses ? __spreadProps(__spreadValues({}, state), { noClassNames: true, resolveVariablesAs: "value" }) : state, shouldAvoidClasses ? null : initialSplitStyles.classNames);
|
|
159
|
+
const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitStyles;
|
|
144
160
|
const useAnimations = (_a = tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
|
|
145
161
|
const isAnimated = !!(useAnimations && props.animation);
|
|
146
|
-
const
|
|
162
|
+
const hasEnterStyle = !!props.enterStyle;
|
|
147
163
|
const features = (0, import_useFeatures.useFeatures)(props, {
|
|
148
164
|
forceUpdate,
|
|
149
165
|
setStateShallow,
|
|
150
166
|
useAnimations,
|
|
151
167
|
state,
|
|
152
|
-
style:
|
|
153
|
-
pseudos
|
|
168
|
+
style: props.animation ? __spreadValues(__spreadValues({}, defaultNativeStyle), style) : null,
|
|
169
|
+
pseudos,
|
|
170
|
+
staticConfig,
|
|
171
|
+
theme,
|
|
172
|
+
onDidAnimate: props.onDidAnimate
|
|
154
173
|
});
|
|
155
174
|
const _b = viewPropsIn, {
|
|
156
175
|
tag,
|
|
@@ -189,6 +208,7 @@ function createComponent(configIn) {
|
|
|
189
208
|
accessibilityRole,
|
|
190
209
|
collapsable,
|
|
191
210
|
focusable,
|
|
211
|
+
onClick,
|
|
192
212
|
theme: _themeProp,
|
|
193
213
|
defaultVariants,
|
|
194
214
|
onLayout
|
|
@@ -229,6 +249,7 @@ function createComponent(configIn) {
|
|
|
229
249
|
"accessibilityRole",
|
|
230
250
|
"collapsable",
|
|
231
251
|
"focusable",
|
|
252
|
+
"onClick",
|
|
232
253
|
"theme",
|
|
233
254
|
"defaultVariants",
|
|
234
255
|
"onLayout"
|
|
@@ -243,15 +264,14 @@ function createComponent(configIn) {
|
|
|
243
264
|
}
|
|
244
265
|
const hasTextAncestor = import_platform.isWeb ? (0, import_react.useContext)(import_TextAncestorContext.TextAncestorContext) : false;
|
|
245
266
|
const hostRef = (0, import_react.useRef)(null);
|
|
246
|
-
const hasEnterStyle = !!props.enterStyle;
|
|
247
267
|
const internal = (0, import_react.useRef)();
|
|
248
268
|
if (!internal.current) {
|
|
249
269
|
internal.current = {
|
|
250
270
|
isMounted: true
|
|
251
271
|
};
|
|
252
272
|
}
|
|
253
|
-
(0,
|
|
254
|
-
if (hasEnterStyle) {
|
|
273
|
+
(0, import_platform.useIsomorphicLayoutEffect)(() => {
|
|
274
|
+
if (typeof window !== "undefined" && (hasEnterStyle || props.animation)) {
|
|
255
275
|
setStateShallow({
|
|
256
276
|
mounted: true
|
|
257
277
|
});
|
|
@@ -261,7 +281,7 @@ function createComponent(configIn) {
|
|
|
261
281
|
mouseUps.delete(unPress);
|
|
262
282
|
internal.current.isMounted = false;
|
|
263
283
|
};
|
|
264
|
-
}, []);
|
|
284
|
+
}, [hasEnterStyle, props.animation]);
|
|
265
285
|
if (nativeID) {
|
|
266
286
|
viewProps.id = nativeID;
|
|
267
287
|
}
|
|
@@ -315,6 +335,7 @@ function createComponent(configIn) {
|
|
|
315
335
|
medias
|
|
316
336
|
];
|
|
317
337
|
if (!animationStyles) {
|
|
338
|
+
!state.mounted && addPseudoToStyles(styles, "enterStyle", pseudos);
|
|
318
339
|
state.hover && addPseudoToStyles(styles, "hoverStyle", pseudos);
|
|
319
340
|
state.focus && addPseudoToStyles(styles, "focusStyle", pseudos);
|
|
320
341
|
state.press && addPseudoToStyles(styles, "pressStyle", pseudos);
|
|
@@ -333,10 +354,11 @@ function createComponent(configIn) {
|
|
|
333
354
|
const className = classList.join(" ");
|
|
334
355
|
if (process.env.NODE_ENV === "development") {
|
|
335
356
|
if (props["debug"]) {
|
|
336
|
-
console.log(" \xBB className", { isStringElement, pseudos, state,
|
|
357
|
+
console.log(" \xBB className", { isStringElement, pseudos, state, classNames, propsClassName: props.className, style, classList, className: className.trim().split(" "), themeClassName: theme.className, values: Object.fromEntries(Object.entries(classNames).map(([k, v]) => [v, (0, import_insertStyleRule.getAllSelectors)()[v]])) });
|
|
337
358
|
}
|
|
338
359
|
}
|
|
339
360
|
viewProps.className = className;
|
|
361
|
+
viewProps.style = animationStyles;
|
|
340
362
|
} else {
|
|
341
363
|
viewProps.style = styles;
|
|
342
364
|
}
|
|
@@ -373,8 +395,10 @@ function createComponent(configIn) {
|
|
|
373
395
|
viewProps.ref = forwardedRef;
|
|
374
396
|
}
|
|
375
397
|
}
|
|
376
|
-
const
|
|
377
|
-
const
|
|
398
|
+
const initialPseudos = initialSplitStyles.pseudos;
|
|
399
|
+
const attachPress = !!(pseudos && pseudos.pressStyle || initialPseudos && initialPseudos.pressStyle || onPress || onPressOut || onPressIn || onClick);
|
|
400
|
+
const isTouch = (0, import_useIsTouchDevice.useIsTouchDevice)();
|
|
401
|
+
const isHoverable = import_platform.isWeb && !isTouch;
|
|
378
402
|
const attachHover = isHoverable && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
|
|
379
403
|
const pressEventKey = isStringElement ? "onClick" : "onPress";
|
|
380
404
|
const shouldAttach = attachPress || attachHover || "pressStyle" in props || "onPress" in props || "onPressIn" in props || "onPressOut" in props || import_platform.isWeb && ("hoverStyle" in props || "onHoverIn" in props || "onHoverOut" in props || "onMouseEnter" in props || "onMouseLeave" in props);
|
|
@@ -430,8 +454,12 @@ function createComponent(configIn) {
|
|
|
430
454
|
});
|
|
431
455
|
onPressIn == null ? void 0 : onPressIn(e);
|
|
432
456
|
onMouseDown == null ? void 0 : onMouseDown(e);
|
|
457
|
+
if (import_platform.isWeb) {
|
|
458
|
+
mouseUps.add(unPress);
|
|
459
|
+
}
|
|
433
460
|
} : null,
|
|
434
461
|
[pressEventKey]: attachPress ? (e) => {
|
|
462
|
+
onClick == null ? void 0 : onClick(e);
|
|
435
463
|
onPress == null ? void 0 : onPress(e);
|
|
436
464
|
unPress();
|
|
437
465
|
onPressOut == null ? void 0 : onPressOut(e);
|
|
@@ -454,22 +482,6 @@ function createComponent(configIn) {
|
|
|
454
482
|
}) : {
|
|
455
483
|
disabled: true
|
|
456
484
|
});
|
|
457
|
-
if (events) {
|
|
458
|
-
if (!isStringElement) {
|
|
459
|
-
Object.assign(viewProps, pressProps);
|
|
460
|
-
} else {
|
|
461
|
-
Object.assign(viewProps, events);
|
|
462
|
-
}
|
|
463
|
-
if (import_platform.isWeb && isHoverable) {
|
|
464
|
-
childEls = /* @__PURE__ */ import_react.default.createElement("span", {
|
|
465
|
-
style: {
|
|
466
|
-
display: "contents"
|
|
467
|
-
},
|
|
468
|
-
onMouseEnter: events.onMouseEnter,
|
|
469
|
-
onMouseLeave: events.onMouseLeave
|
|
470
|
-
}, children);
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
485
|
let content;
|
|
474
486
|
if (import_platform.isWeb) {
|
|
475
487
|
if (staticConfig.isReactNativeWeb) {
|
|
@@ -485,11 +497,28 @@ function createComponent(configIn) {
|
|
|
485
497
|
}
|
|
486
498
|
}
|
|
487
499
|
}
|
|
500
|
+
if (events) {
|
|
501
|
+
if (!isStringElement) {
|
|
502
|
+
Object.assign(viewProps, pressProps);
|
|
503
|
+
} else {
|
|
504
|
+
Object.assign(viewProps, events);
|
|
505
|
+
}
|
|
506
|
+
}
|
|
488
507
|
content = (0, import_react.createElement)(ViewComponent, viewProps, childEls);
|
|
508
|
+
if (import_platform.isWeb && events && attachHover) {
|
|
509
|
+
content = /* @__PURE__ */ import_react.default.createElement("span", {
|
|
510
|
+
className: "tui_Hoverable",
|
|
511
|
+
style: {
|
|
512
|
+
display: "contents"
|
|
513
|
+
},
|
|
514
|
+
onMouseEnter: events.onMouseEnter,
|
|
515
|
+
onMouseLeave: events.onMouseLeave
|
|
516
|
+
}, content);
|
|
517
|
+
}
|
|
489
518
|
if (process.env.NODE_ENV === "development") {
|
|
490
519
|
if (props["debug"]) {
|
|
491
520
|
viewProps["debug"] = true;
|
|
492
|
-
console.log(" \xBB ", __spreadValues({ propsIn: __spreadValues({}, props), propsOut: __spreadValues({}, viewProps), animationStyles, isStringElement, classNamesIn: (_d = props.className) == null ? void 0 : _d.split(" "), classNamesOut: (_e = viewProps.className) == null ? void 0 : _e.split(" "), pressProps, events, shouldAttach, ViewComponent, viewProps,
|
|
521
|
+
console.log(" \xBB ", __spreadValues({ propsIn: __spreadValues({}, props), propsOut: __spreadValues({}, viewProps), state, splitStyles, animationStyles, isStringElement, classNamesIn: (_d = props.className) == null ? void 0 : _d.split(" "), classNamesOut: (_e = viewProps.className) == null ? void 0 : _e.split(" "), pressProps, events, shouldAttach, ViewComponent, viewProps, styles, pseudos, content, childEls, shouldAvoidClasses, avoidClasses, animation: props.animation, style, defaultNativeStyle, initialSplitStyles }, typeof window !== "undefined" ? { theme, themeState: theme.__state, themeClassName: theme.className, staticConfig, tamaguiConfig } : null));
|
|
493
522
|
}
|
|
494
523
|
}
|
|
495
524
|
if (features.length) {
|
|
@@ -497,23 +526,28 @@ function createComponent(configIn) {
|
|
|
497
526
|
}
|
|
498
527
|
return content;
|
|
499
528
|
});
|
|
529
|
+
component.displayName = staticConfig.componentName;
|
|
500
530
|
(0, import_conf.onConfiguredOnce)((conf) => {
|
|
501
531
|
var _a, _b, _c, _d;
|
|
502
|
-
|
|
532
|
+
if (process.env.IS_STATIC === "is_static") {
|
|
533
|
+
return;
|
|
534
|
+
}
|
|
503
535
|
tamaguiConfig = conf;
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
536
|
+
mergeShorthands(staticConfig, tamaguiConfig);
|
|
537
|
+
avoidClasses = !!((_a = tamaguiConfig.animations) == null ? void 0 : _a.avoidClasses);
|
|
538
|
+
AnimatedText = (_b = tamaguiConfig.animations) == null ? void 0 : _b.Text;
|
|
539
|
+
AnimatedView = (_c = tamaguiConfig == null ? void 0 : tamaguiConfig.animations) == null ? void 0 : _c.View;
|
|
540
|
+
initialTheme = initialTheme || (0, import_proxyThemeVariables.proxyThemeVariables)(conf.themes[conf.defaultTheme || Object.keys(conf.themes)[0]]);
|
|
541
|
+
initialSplitStyles = (0, import_getSplitStyles.insertSplitStyles)(staticConfig.defaultProps, staticConfig, initialTheme, {
|
|
509
542
|
mounted: true,
|
|
510
|
-
|
|
543
|
+
hover: false,
|
|
544
|
+
press: false,
|
|
545
|
+
pressIn: false,
|
|
546
|
+
focus: false,
|
|
547
|
+
resolveVariablesAs: "both",
|
|
548
|
+
keepVariantsAsProps: true
|
|
511
549
|
});
|
|
512
|
-
const {
|
|
513
|
-
if (import_platform.isWeb) {
|
|
514
|
-
defaultsClassName = classNames;
|
|
515
|
-
}
|
|
516
|
-
defaultPseudos = pseudos;
|
|
550
|
+
const { style, viewProps } = initialSplitStyles;
|
|
517
551
|
defaultNativeStyle = {};
|
|
518
552
|
for (const key in style) {
|
|
519
553
|
const v = style[key];
|
|
@@ -522,10 +556,17 @@ function createComponent(configIn) {
|
|
|
522
556
|
defaultNativeStyleSheet = import_react_native.StyleSheet.create({
|
|
523
557
|
base: defaultNativeStyle
|
|
524
558
|
});
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
559
|
+
const defaults = __spreadValues(__spreadValues({}, viewProps), component.defaultProps);
|
|
560
|
+
if (Object.keys(defaults).length) {
|
|
561
|
+
tamaguiDefaultProps = defaults;
|
|
562
|
+
}
|
|
563
|
+
if (process.env.NODE_ENV === "development" && ((_d = staticConfig.defaultProps) == null ? void 0 : _d.debug)) {
|
|
564
|
+
if (process.env.IS_STATIC !== "is_static") {
|
|
565
|
+
console.log(`\u{1F41B} [${staticConfig.componentName || "Component"}]`, {
|
|
566
|
+
staticConfig,
|
|
567
|
+
initialSplitStyles
|
|
568
|
+
});
|
|
569
|
+
}
|
|
529
570
|
}
|
|
530
571
|
});
|
|
531
572
|
let res = component;
|
|
@@ -533,20 +574,26 @@ function createComponent(configIn) {
|
|
|
533
574
|
res = (0, import_react.memo)(res);
|
|
534
575
|
}
|
|
535
576
|
res["staticConfig"] = __spreadValues({
|
|
536
|
-
validStyles:
|
|
577
|
+
validStyles: staticConfig.validStyles || import_helpers.stylePropsView
|
|
537
578
|
}, staticConfig);
|
|
538
|
-
|
|
539
|
-
|
|
579
|
+
if (process.env.NODE_ENV === "development") {
|
|
580
|
+
res["whyDidYouRender"] = true;
|
|
581
|
+
}
|
|
582
|
+
res["extractable"] = (Component, conf) => {
|
|
583
|
+
Component["staticConfig"] = (0, import_extendStaticConfig.extendStaticConfig)(__spreadProps(__spreadValues({
|
|
584
|
+
Component
|
|
585
|
+
}, conf), {
|
|
540
586
|
neverFlatten: true,
|
|
541
|
-
defaultProps: __spreadValues(__spreadValues({},
|
|
542
|
-
}));
|
|
543
|
-
return
|
|
587
|
+
defaultProps: __spreadValues(__spreadValues({}, Component.defaultProps), conf == null ? void 0 : conf.defaultProps)
|
|
588
|
+
}), res);
|
|
589
|
+
return Component;
|
|
544
590
|
};
|
|
545
591
|
return res;
|
|
546
592
|
}
|
|
547
593
|
__name(createComponent, "createComponent");
|
|
548
594
|
const Spacer = createComponent({
|
|
549
595
|
memo: true,
|
|
596
|
+
componentName: "Spacer",
|
|
550
597
|
defaultProps: __spreadProps(__spreadValues({}, import_constants.stackDefaultStyles), {
|
|
551
598
|
size: true
|
|
552
599
|
}),
|
|
@@ -623,47 +670,26 @@ function spacedChildren({
|
|
|
623
670
|
return next;
|
|
624
671
|
}
|
|
625
672
|
__name(spacedChildren, "spacedChildren");
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
continue;
|
|
635
|
-
for (const key in cur) {
|
|
636
|
-
const val = cur[key];
|
|
637
|
-
if (key !== "transform") {
|
|
638
|
-
if (!(key in res)) {
|
|
639
|
-
res[key] = val;
|
|
640
|
-
}
|
|
641
|
-
continue;
|
|
642
|
-
}
|
|
643
|
-
if (!res.transform) {
|
|
644
|
-
res.transform = val;
|
|
645
|
-
continue;
|
|
646
|
-
}
|
|
647
|
-
for (const t of val) {
|
|
648
|
-
const tkey = Object.keys(t)[0];
|
|
649
|
-
if (res.transform.find((existing) => tkey in existing)) {
|
|
650
|
-
continue;
|
|
651
|
-
}
|
|
652
|
-
res.transform.push(t);
|
|
653
|
-
}
|
|
673
|
+
function AbsoluteFill(props) {
|
|
674
|
+
return import_platform.isWeb ? /* @__PURE__ */ import_react.default.createElement("div", {
|
|
675
|
+
style: {
|
|
676
|
+
position: "absolute",
|
|
677
|
+
top: 0,
|
|
678
|
+
left: 0,
|
|
679
|
+
right: 0,
|
|
680
|
+
bottom: 0
|
|
654
681
|
}
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
},
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
}, props.child), "AbsoluteFill");
|
|
682
|
+
}, props.children) : /* @__PURE__ */ import_react.default.createElement(import_react_native.View, {
|
|
683
|
+
style: import_react_native.StyleSheet.absoluteFill
|
|
684
|
+
}, props.child);
|
|
685
|
+
}
|
|
686
|
+
__name(AbsoluteFill, "AbsoluteFill");
|
|
687
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
688
|
+
0 && (module.exports = {
|
|
689
|
+
AbsoluteFill,
|
|
690
|
+
Spacer,
|
|
691
|
+
createComponent,
|
|
692
|
+
mouseUps,
|
|
693
|
+
spacedChildren
|
|
694
|
+
});
|
|
669
695
|
//# sourceMappingURL=createComponent.js.map
|