@tamagui/web 3.0.18 → 3.1.1
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.cjs +2 -1
- package/dist/cjs/Tamagui.native.cjs +2 -1
- package/dist/cjs/Tamagui.native.js +2 -1
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withStableStyle.cjs +2 -1
- package/dist/cjs/_withStableStyle.native.cjs +2 -1
- package/dist/cjs/_withStableStyle.native.js +2 -1
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/config.cjs +8 -7
- package/dist/cjs/config.native.cjs +8 -7
- package/dist/cjs/config.native.js +8 -7
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +2 -1
- package/dist/cjs/constants/constants.native.cjs +2 -1
- package/dist/cjs/constants/constants.native.js +2 -1
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.cjs +2 -1
- package/dist/cjs/constants/isDevTools.native.cjs +2 -1
- package/dist/cjs/constants/isDevTools.native.js +2 -1
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +40 -39
- package/dist/cjs/createComponent.native.cjs +40 -39
- package/dist/cjs/createComponent.native.js +40 -39
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createTamagui.cjs +2 -1
- package/dist/cjs/createTamagui.native.cjs +2 -1
- package/dist/cjs/createTamagui.native.js +2 -1
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +2 -1
- package/dist/cjs/createTokens.native.cjs +2 -1
- package/dist/cjs/createTokens.native.js +2 -1
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +2 -1
- package/dist/cjs/createVariable.native.cjs +2 -1
- package/dist/cjs/createVariable.native.js +2 -1
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +3 -2
- package/dist/cjs/helpers/createDesignSystem.native.cjs +2 -1
- package/dist/cjs/helpers/createDesignSystem.native.js +2 -1
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/formatDiagnostic.cjs +2 -1
- package/dist/cjs/helpers/formatDiagnostic.native.cjs +2 -1
- package/dist/cjs/helpers/formatDiagnostic.native.js +2 -1
- package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +37 -36
- package/dist/cjs/helpers/getSplitStyles.native.cjs +40 -39
- package/dist/cjs/helpers/getSplitStyles.native.js +40 -39
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +4 -3
- package/dist/cjs/helpers/insertStyleRule.cjs +4 -3
- package/dist/cjs/helpers/insertStyleRule.native.cjs +4 -3
- package/dist/cjs/helpers/insertStyleRule.native.js +4 -3
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/log.cjs +2 -1
- package/dist/cjs/helpers/log.native.cjs +2 -1
- package/dist/cjs/helpers/log.native.js +2 -1
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.native.cjs +3 -2
- package/dist/cjs/helpers/matchMedia.native.js +3 -2
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/noteOnce.cjs +2 -1
- package/dist/cjs/helpers/noteOnce.native.cjs +2 -1
- package/dist/cjs/helpers/noteOnce.native.js +2 -1
- package/dist/cjs/helpers/noteOnce.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +2 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +2 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSizing.cjs +2 -1
- package/dist/cjs/helpers/resolveSizing.native.cjs +2 -1
- package/dist/cjs/helpers/resolveSizing.native.js +2 -1
- package/dist/cjs/helpers/resolveSizing.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.cjs +3 -2
- package/dist/cjs/helpers/skipProps.native.cjs +3 -2
- package/dist/cjs/helpers/skipProps.native.js +3 -2
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/styledDynamic.cjs +2 -1
- package/dist/cjs/helpers/styledDynamic.native.cjs +2 -1
- package/dist/cjs/helpers/styledDynamic.native.js +2 -1
- package/dist/cjs/helpers/styledDynamic.native.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +2 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +2 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +2 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/variableValue.cjs +2 -1
- package/dist/cjs/helpers/variableValue.native.cjs +2 -1
- package/dist/cjs/helpers/variableValue.native.js +2 -1
- package/dist/cjs/helpers/variableValue.native.js.map +1 -1
- package/dist/cjs/helpers/variables.cjs +5 -4
- package/dist/cjs/helpers/variables.native.cjs +5 -4
- package/dist/cjs/helpers/variables.native.js +5 -4
- package/dist/cjs/helpers/variables.native.js.map +1 -1
- package/dist/cjs/helpers/warnOnce.cjs +4 -3
- package/dist/cjs/helpers/warnOnce.native.cjs +4 -3
- package/dist/cjs/helpers/warnOnce.native.js +4 -3
- package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.cjs +2 -1
- package/dist/cjs/hooks/getThemeProxied.native.cjs +5 -4
- package/dist/cjs/hooks/getThemeProxied.native.js +5 -4
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/useAnimationDriver.cjs +3 -2
- package/dist/cjs/hooks/useAnimationDriver.native.cjs +3 -2
- package/dist/cjs/hooks/useAnimationDriver.native.js +3 -2
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +3 -2
- package/dist/cjs/hooks/useMedia.native.cjs +3 -2
- package/dist/cjs/hooks/useMedia.native.js +3 -2
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +2 -1
- package/dist/cjs/hooks/useTheme.native.cjs +2 -1
- package/dist/cjs/hooks/useTheme.native.js +2 -1
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +2 -1
- package/dist/cjs/hooks/useThemeState.native.cjs +2 -1
- package/dist/cjs/hooks/useThemeState.native.js +2 -1
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/style.cjs +2 -1
- package/dist/cjs/style.native.cjs +2 -1
- package/dist/cjs/style.native.js +2 -1
- package/dist/cjs/style.native.js.map +1 -1
- package/dist/cjs/styled.cjs +3 -2
- package/dist/cjs/styled.native.cjs +2 -1
- package/dist/cjs/styled.native.js +2 -1
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +2 -1
- package/dist/cjs/views/TamaguiProvider.native.cjs +2 -1
- package/dist/cjs/views/TamaguiProvider.native.js +2 -1
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +5 -4
- package/dist/cjs/views/Theme.native.cjs +5 -4
- package/dist/cjs/views/Theme.native.js +5 -4
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +3 -2
- package/dist/esm/Tamagui.mjs +2 -1
- package/dist/esm/Tamagui.mjs.map +1 -1
- package/dist/esm/Tamagui.native.js +2 -1
- package/dist/esm/Tamagui.native.js.map +1 -1
- package/dist/esm/_withStableStyle.mjs +2 -1
- package/dist/esm/_withStableStyle.mjs.map +1 -1
- package/dist/esm/_withStableStyle.native.js +2 -1
- package/dist/esm/_withStableStyle.native.js.map +1 -1
- package/dist/esm/config.mjs +8 -7
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +8 -7
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/constants.mjs +2 -1
- package/dist/esm/constants/constants.mjs.map +1 -1
- package/dist/esm/constants/constants.native.js +2 -1
- package/dist/esm/constants/constants.native.js.map +1 -1
- package/dist/esm/constants/isDevTools.mjs +2 -1
- package/dist/esm/constants/isDevTools.mjs.map +1 -1
- package/dist/esm/constants/isDevTools.native.js +2 -1
- package/dist/esm/constants/isDevTools.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +40 -39
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +40 -39
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createTamagui.mjs +2 -1
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +2 -1
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createTokens.mjs +2 -1
- package/dist/esm/createTokens.mjs.map +1 -1
- package/dist/esm/createTokens.native.js +2 -1
- package/dist/esm/createTokens.native.js.map +1 -1
- package/dist/esm/createVariable.mjs +2 -1
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js +2 -1
- package/dist/esm/createVariable.native.js.map +1 -1
- package/dist/esm/helpers/createDesignSystem.mjs +3 -2
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createDesignSystem.native.js +2 -1
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/esm/helpers/formatDiagnostic.mjs +2 -1
- package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
- package/dist/esm/helpers/formatDiagnostic.native.js +2 -1
- package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +37 -36
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +40 -39
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +4 -3
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs +4 -3
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +4 -3
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/log.mjs +2 -1
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +2 -1
- package/dist/esm/helpers/log.native.js.map +1 -1
- package/dist/esm/helpers/matchMedia.native.js +3 -2
- package/dist/esm/helpers/matchMedia.native.js.map +1 -1
- package/dist/esm/helpers/noteOnce.mjs +2 -1
- package/dist/esm/helpers/noteOnce.mjs.map +1 -1
- package/dist/esm/helpers/noteOnce.native.js +2 -1
- package/dist/esm/helpers/noteOnce.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js +2 -1
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -1
- package/dist/esm/helpers/resolveSizing.mjs +2 -1
- package/dist/esm/helpers/resolveSizing.mjs.map +1 -1
- package/dist/esm/helpers/resolveSizing.native.js +2 -1
- package/dist/esm/helpers/resolveSizing.native.js.map +1 -1
- package/dist/esm/helpers/skipProps.mjs +3 -2
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +3 -2
- package/dist/esm/helpers/skipProps.native.js.map +1 -1
- package/dist/esm/helpers/styledDynamic.mjs +2 -1
- package/dist/esm/helpers/styledDynamic.mjs.map +1 -1
- package/dist/esm/helpers/styledDynamic.native.js +2 -1
- package/dist/esm/helpers/styledDynamic.native.js.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.mjs +2 -1
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +2 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/helpers/variableValue.mjs +2 -1
- package/dist/esm/helpers/variableValue.mjs.map +1 -1
- package/dist/esm/helpers/variableValue.native.js +2 -1
- package/dist/esm/helpers/variableValue.native.js.map +1 -1
- package/dist/esm/helpers/variables.mjs +5 -4
- package/dist/esm/helpers/variables.mjs.map +1 -1
- package/dist/esm/helpers/variables.native.js +5 -4
- package/dist/esm/helpers/variables.native.js.map +1 -1
- package/dist/esm/helpers/warnOnce.mjs +4 -3
- package/dist/esm/helpers/warnOnce.mjs.map +1 -1
- package/dist/esm/helpers/warnOnce.native.js +4 -3
- package/dist/esm/helpers/warnOnce.native.js.map +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs +2 -1
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/getThemeProxied.native.js +5 -4
- package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.mjs +3 -2
- package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.native.js +3 -2
- package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +3 -2
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +3 -2
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +2 -1
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +2 -1
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +2 -1
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +2 -1
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/style.mjs +2 -1
- package/dist/esm/style.mjs.map +1 -1
- package/dist/esm/style.native.js +2 -1
- package/dist/esm/style.native.js.map +1 -1
- package/dist/esm/styled.mjs +3 -2
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +2 -1
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +2 -1
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +2 -1
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +5 -4
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +5 -4
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +3 -2
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/package.json +20 -20
- package/src/Tamagui.ts +3 -1
- package/src/_withStableStyle.tsx +3 -1
- package/src/config.ts +9 -6
- package/src/constants/constants.ts +3 -1
- package/src/constants/isDevTools.ts +2 -1
- package/src/createComponent.tsx +61 -42
- package/src/createTamagui.ts +3 -1
- package/src/createTokens.ts +3 -1
- package/src/createVariable.ts +3 -1
- package/src/helpers/createDesignSystem.ts +4 -2
- package/src/helpers/formatDiagnostic.ts +2 -1
- package/src/helpers/getSplitStyles.tsx +56 -29
- package/src/helpers/getThemeCSSRules.ts +5 -3
- package/src/helpers/insertStyleRule.tsx +5 -3
- package/src/helpers/log.ts +3 -1
- package/src/helpers/matchMedia.native.ts +4 -2
- package/src/helpers/noteOnce.ts +2 -1
- package/src/helpers/resolveSafeAreaVariable.native.ts +3 -1
- package/src/helpers/resolveSizing.ts +3 -1
- package/src/helpers/skipProps.ts +4 -2
- package/src/helpers/styledDynamic.ts +3 -1
- package/src/helpers/subscribeToContextGroup.tsx +3 -1
- package/src/helpers/variableValue.ts +3 -1
- package/src/helpers/variables.ts +6 -4
- package/src/helpers/warnOnce.ts +4 -3
- package/src/hooks/getThemeProxied.ts +14 -4
- package/src/hooks/useAnimationDriver.ts +4 -2
- package/src/hooks/useMedia.tsx +4 -2
- package/src/hooks/useTheme.tsx +3 -1
- package/src/hooks/useThemeState.ts +3 -1
- package/src/index.ts +1 -0
- package/src/style.ts +3 -1
- package/src/styled.tsx +14 -26
- package/src/views/TamaguiProvider.tsx +4 -1
- package/src/views/Theme.tsx +6 -4
- package/src/views/ThemeDebug.tsx +8 -2
- package/types/Tamagui.d.ts.map +1 -1
- package/types/_withStableStyle.d.ts.map +1 -1
- package/types/config.d.ts.map +1 -1
- package/types/constants/constants.d.ts.map +1 -1
- package/types/constants/isDevTools.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariable.d.ts.map +1 -1
- package/types/helpers/createDesignSystem.d.ts.map +1 -1
- package/types/helpers/formatDiagnostic.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/log.d.ts.map +1 -1
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/helpers/noteOnce.d.ts.map +1 -1
- package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -1
- package/types/helpers/resolveSizing.d.ts.map +1 -1
- package/types/helpers/skipProps.d.ts.map +1 -1
- package/types/helpers/styledDynamic.d.ts.map +1 -1
- package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
- package/types/helpers/variableValue.d.ts.map +1 -1
- package/types/helpers/variables.d.ts.map +1 -1
- package/types/helpers/warnOnce.d.ts.map +1 -1
- package/types/hooks/getThemeProxied.d.ts.map +1 -1
- package/types/hooks/useAnimationDriver.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +1 -1
- package/types/index.d.ts.map +1 -1
- package/types/style.d.ts.map +1 -1
- package/types/styled.d.ts +1 -2
- package/types/styled.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts.map +1 -1
|
@@ -111,11 +111,14 @@ export type {
|
|
|
111
111
|
StyleTokenBinding,
|
|
112
112
|
StyleTokenProvenance,
|
|
113
113
|
} from './styleProvenance'
|
|
114
|
+
|
|
115
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
114
116
|
export { styleOriginalValues }
|
|
115
117
|
|
|
116
118
|
export type SplitStyles = ReturnType<typeof getSplitStyles>
|
|
117
119
|
|
|
118
120
|
const shouldTrackStyleTokenProvenance =
|
|
121
|
+
!isProd &&
|
|
119
122
|
process.env.NODE_ENV === 'development' &&
|
|
120
123
|
process.env.TAMAGUI_ENABLE_STYLE_TOKEN_PROVENANCE === '1'
|
|
121
124
|
export type SplitStyleResult = ReturnType<typeof getSplitStyles>
|
|
@@ -185,7 +188,7 @@ function createCondition(parent?: Condition | null): Condition {
|
|
|
185
188
|
|
|
186
189
|
function setConditionUnresolved(condition: Condition, name = '') {
|
|
187
190
|
condition[conditionValue] &= ~conditionResolvedFlag
|
|
188
|
-
if (process.env.NODE_ENV !== 'production') condition.problem ||= name
|
|
191
|
+
if (!isProd && process.env.NODE_ENV !== 'production') condition.problem ||= name
|
|
189
192
|
}
|
|
190
193
|
|
|
191
194
|
function appendConditionWrapper(condition: Condition, wrapper: string) {
|
|
@@ -273,6 +276,7 @@ function resolveConditionModifier(
|
|
|
273
276
|
const component = state.componentState.group?.[groupName]
|
|
274
277
|
const context = state.flatGroupContext?.[groupName]
|
|
275
278
|
if (
|
|
279
|
+
!isProd &&
|
|
276
280
|
process.env.NODE_ENV === 'development' &&
|
|
277
281
|
containerName &&
|
|
278
282
|
!component &&
|
|
@@ -368,7 +372,7 @@ function commitCondition(condition: Condition): number {
|
|
|
368
372
|
const ranks = condition[conditionRanks]
|
|
369
373
|
const depth = ranks.length
|
|
370
374
|
if (depth > 5) {
|
|
371
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
375
|
+
if (!isProd && process.env.NODE_ENV !== 'production') {
|
|
372
376
|
throw new Error(
|
|
373
377
|
`a flat value clause supports at most 5 non-platform conditions; received ${depth} in "${condition[conditionKey]}:"`
|
|
374
378
|
)
|
|
@@ -565,6 +569,7 @@ function contributeProp(
|
|
|
565
569
|
}
|
|
566
570
|
|
|
567
571
|
if (
|
|
572
|
+
!isProd &&
|
|
568
573
|
process.env.NODE_ENV === 'development' &&
|
|
569
574
|
(debug === 'profile' || (globalThis as any).time)
|
|
570
575
|
) {
|
|
@@ -572,7 +577,7 @@ function contributeProp(
|
|
|
572
577
|
time`before-prop-${keyInit}`
|
|
573
578
|
}
|
|
574
579
|
|
|
575
|
-
if (process.env.NODE_ENV === 'test' && keyInit === 'jestAnimatedStyle') {
|
|
580
|
+
if (!isProd && process.env.NODE_ENV === 'test' && keyInit === 'jestAnimatedStyle') {
|
|
576
581
|
return
|
|
577
582
|
}
|
|
578
583
|
|
|
@@ -619,7 +624,7 @@ function contributeProp(
|
|
|
619
624
|
if (condition !== undefined) {
|
|
620
625
|
if (isValidStyleKey(property, validStyles)) {
|
|
621
626
|
contributeValue(styleState, property, entry[1], undefined, false, condition)
|
|
622
|
-
} else if (process.env.NODE_ENV === 'development') {
|
|
627
|
+
} else if (!isProd && process.env.NODE_ENV === 'development') {
|
|
623
628
|
console.warn(
|
|
624
629
|
`[tamagui] "${property}" is not a valid style on this component; the frontend value is dropped.`
|
|
625
630
|
)
|
|
@@ -645,7 +650,7 @@ function contributeProp(
|
|
|
645
650
|
? resolveClassName(candidate, conf, sink)
|
|
646
651
|
: true
|
|
647
652
|
if (preserveRaw === null) {
|
|
648
|
-
if (process.env.NODE_ENV === 'development') {
|
|
653
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
649
654
|
warnOnce(
|
|
650
655
|
`[tamagui] frontend candidate "${candidate}" is unavailable on this platform and was dropped.`
|
|
651
656
|
)
|
|
@@ -829,7 +834,7 @@ function contributeProp(
|
|
|
829
834
|
}
|
|
830
835
|
}
|
|
831
836
|
|
|
832
|
-
if (process.env.NODE_ENV === 'development') {
|
|
837
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
833
838
|
if (
|
|
834
839
|
!isValidStyleKey(keyInit, validStyles) &&
|
|
835
840
|
(keyInit === 'animation' || !(keyInit in stylePropsAll)) &&
|
|
@@ -942,7 +947,7 @@ function contributeProp(
|
|
|
942
947
|
!styledContextKeys?.has(keyInit) &&
|
|
943
948
|
!(styledContext && keyInit in styledContext)
|
|
944
949
|
) {
|
|
945
|
-
if (process.env.NODE_ENV === 'development') {
|
|
950
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
946
951
|
warnOnce(
|
|
947
952
|
`variant-non-style:${keyInit}`,
|
|
948
953
|
`a variant set "${keyInit}", which is not a style. Variants hold styles and aria/data attributes only: set "${keyInit}" on the component one level up.`
|
|
@@ -1020,7 +1025,7 @@ function contributeProp(
|
|
|
1020
1025
|
|
|
1021
1026
|
const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough
|
|
1022
1027
|
|
|
1023
|
-
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1028
|
+
if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1024
1029
|
// console.groupEnd() // react native was not nesting right
|
|
1025
1030
|
console.groupCollapsed(
|
|
1026
1031
|
` 🔑 ${keyOg}${
|
|
@@ -1044,7 +1049,7 @@ function contributeProp(
|
|
|
1044
1049
|
if (keyInit in viewProps) delete viewProps[keyInit]
|
|
1045
1050
|
viewProps[keyInit] = valInit
|
|
1046
1051
|
|
|
1047
|
-
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1052
|
+
if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1048
1053
|
console.groupEnd()
|
|
1049
1054
|
}
|
|
1050
1055
|
|
|
@@ -1067,7 +1072,7 @@ function contributeProp(
|
|
|
1067
1072
|
!getTransitionResolver()?.resolve(valInit, { animations: driverAnimations }).fused
|
|
1068
1073
|
)
|
|
1069
1074
|
) {
|
|
1070
|
-
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1075
|
+
if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1071
1076
|
console.groupEnd()
|
|
1072
1077
|
}
|
|
1073
1078
|
return
|
|
@@ -1158,7 +1163,7 @@ function contributeProp(
|
|
|
1158
1163
|
: { default: previous }
|
|
1159
1164
|
transport[condition[conditionKey]] = valInit
|
|
1160
1165
|
viewProps[keyInit] = transport
|
|
1161
|
-
} else if (process.env.NODE_ENV === 'development') {
|
|
1166
|
+
} else if (!isProd && process.env.NODE_ENV === 'development') {
|
|
1162
1167
|
console.warn(
|
|
1163
1168
|
`[tamagui] "${keyInit}" is not a valid style on this component; the conditional variant value is dropped.`
|
|
1164
1169
|
)
|
|
@@ -1168,7 +1173,11 @@ function contributeProp(
|
|
|
1168
1173
|
|
|
1169
1174
|
if (keyInit in stylePropsAll || isRemovedVendorStyleProp(keyInit)) {
|
|
1170
1175
|
// shared css authoring intentionally drops unsupported keys on native.
|
|
1171
|
-
if (
|
|
1176
|
+
if (
|
|
1177
|
+
!isProd &&
|
|
1178
|
+
process.env.NODE_ENV === 'development' &&
|
|
1179
|
+
process.env.TAMAGUI_TARGET === 'web'
|
|
1180
|
+
) {
|
|
1172
1181
|
console.warn(
|
|
1173
1182
|
`[tamagui] "${keyInit}" is a text style prop and this component is not text — it would render on neither platform. Use a Text-based component, or html.* for raw web elements.`
|
|
1174
1183
|
)
|
|
@@ -1177,7 +1186,7 @@ function contributeProp(
|
|
|
1177
1186
|
}
|
|
1178
1187
|
viewProps[keyInit] = valInit
|
|
1179
1188
|
|
|
1180
|
-
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1189
|
+
if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1181
1190
|
try {
|
|
1182
1191
|
log(` ✔️ expand complete`, keyInit)
|
|
1183
1192
|
log('style', { ...styleState.style })
|
|
@@ -1266,6 +1275,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1266
1275
|
: validStylesView)
|
|
1267
1276
|
|
|
1268
1277
|
if (
|
|
1278
|
+
!isProd &&
|
|
1269
1279
|
process.env.NODE_ENV === 'development' &&
|
|
1270
1280
|
(debug === 'profile' || (globalThis as any).time)
|
|
1271
1281
|
) {
|
|
@@ -1311,6 +1321,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1311
1321
|
}
|
|
1312
1322
|
|
|
1313
1323
|
if (
|
|
1324
|
+
!isProd &&
|
|
1314
1325
|
process.env.NODE_ENV === 'development' &&
|
|
1315
1326
|
(debug === 'profile' || (globalThis as any).time)
|
|
1316
1327
|
) {
|
|
@@ -1318,7 +1329,12 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1318
1329
|
time`style-state`
|
|
1319
1330
|
}
|
|
1320
1331
|
|
|
1321
|
-
if (
|
|
1332
|
+
if (
|
|
1333
|
+
!isProd &&
|
|
1334
|
+
process.env.NODE_ENV === 'development' &&
|
|
1335
|
+
debug === 'verbose' &&
|
|
1336
|
+
isClient
|
|
1337
|
+
) {
|
|
1322
1338
|
if (isDevTools) {
|
|
1323
1339
|
console.groupCollapsed('🔹 getSplitStyles 👇')
|
|
1324
1340
|
log({
|
|
@@ -1395,7 +1411,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1395
1411
|
styledContextKeys,
|
|
1396
1412
|
stylePassFlags,
|
|
1397
1413
|
debug,
|
|
1398
|
-
process.env.NODE_ENV === 'development' ? parentStaticConfig : undefined,
|
|
1414
|
+
!isProd && process.env.NODE_ENV === 'development' ? parentStaticConfig : undefined,
|
|
1399
1415
|
defaultProps,
|
|
1400
1416
|
driverAnimations,
|
|
1401
1417
|
driverOutputStyle,
|
|
@@ -1523,6 +1539,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1523
1539
|
}
|
|
1524
1540
|
|
|
1525
1541
|
if (
|
|
1542
|
+
!isProd &&
|
|
1526
1543
|
process.env.NODE_ENV === 'development' &&
|
|
1527
1544
|
(debug === 'profile' || (globalThis as any).time)
|
|
1528
1545
|
) {
|
|
@@ -1714,7 +1731,12 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1714
1731
|
delete style.fontStyle
|
|
1715
1732
|
}
|
|
1716
1733
|
}
|
|
1717
|
-
if (
|
|
1734
|
+
if (
|
|
1735
|
+
!isProd &&
|
|
1736
|
+
process.env.NODE_ENV === 'development' &&
|
|
1737
|
+
debug &&
|
|
1738
|
+
debug !== 'profile'
|
|
1739
|
+
) {
|
|
1718
1740
|
log(`Found fontFamily native: ${style.fontFamily}`, faceInfo)
|
|
1719
1741
|
}
|
|
1720
1742
|
}
|
|
@@ -1724,6 +1746,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1724
1746
|
}
|
|
1725
1747
|
|
|
1726
1748
|
if (
|
|
1749
|
+
!isProd &&
|
|
1727
1750
|
process.env.NODE_ENV === 'development' &&
|
|
1728
1751
|
(debug === 'profile' || (globalThis as any).time)
|
|
1729
1752
|
) {
|
|
@@ -1897,7 +1920,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1897
1920
|
}
|
|
1898
1921
|
}
|
|
1899
1922
|
|
|
1900
|
-
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1923
|
+
if (!isProd && process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
1901
1924
|
if (isClient && isDevTools) {
|
|
1902
1925
|
// end collapsed log above
|
|
1903
1926
|
console.groupEnd()
|
|
@@ -1927,6 +1950,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1927
1950
|
}
|
|
1928
1951
|
|
|
1929
1952
|
if (
|
|
1953
|
+
!isProd &&
|
|
1930
1954
|
process.env.NODE_ENV === 'development' &&
|
|
1931
1955
|
(debug === 'profile' || (globalThis as any).time)
|
|
1932
1956
|
) {
|
|
@@ -2698,7 +2722,7 @@ function emitUnderCondition(
|
|
|
2698
2722
|
): number {
|
|
2699
2723
|
const condition = cursor[conditionValue]
|
|
2700
2724
|
if (!(condition & conditionResolvedFlag)) {
|
|
2701
|
-
if (warnMode && process.env.NODE_ENV !== 'production') {
|
|
2725
|
+
if (warnMode && !isProd && process.env.NODE_ENV !== 'production') {
|
|
2702
2726
|
warnRefusedValue(property!, warnSource, `unknown modifier "${cursor.problem}"`)
|
|
2703
2727
|
}
|
|
2704
2728
|
return 0
|
|
@@ -2744,7 +2768,7 @@ const warnScanFailure = (
|
|
|
2744
2768
|
failure: string | undefined | null,
|
|
2745
2769
|
failureIndex: number
|
|
2746
2770
|
) => {
|
|
2747
|
-
if (process.env.NODE_ENV === 'development') {
|
|
2771
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
2748
2772
|
warnRefusedValue(property, source, formatScanFailure(failure, source, failureIndex))
|
|
2749
2773
|
}
|
|
2750
2774
|
}
|
|
@@ -2904,7 +2928,7 @@ function configuredValue(
|
|
|
2904
2928
|
}
|
|
2905
2929
|
}
|
|
2906
2930
|
|
|
2907
|
-
if (process.env.NODE_ENV === 'development') {
|
|
2931
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
2908
2932
|
const category =
|
|
2909
2933
|
grammar.tokenCategory(property) ||
|
|
2910
2934
|
grammar.tokenCategory(state.conf.shorthands[property] || property)
|
|
@@ -3172,7 +3196,7 @@ function emitProperty(
|
|
|
3172
3196
|
!condition &&
|
|
3173
3197
|
property === 'transform'
|
|
3174
3198
|
) {
|
|
3175
|
-
if (process.env.NODE_ENV === 'development' && state.transformAccumulator) {
|
|
3199
|
+
if (!isProd && process.env.NODE_ENV === 'development' && state.transformAccumulator) {
|
|
3176
3200
|
for (const part of getTransformPartKeys(state.transformAccumulator)) {
|
|
3177
3201
|
warnOnce(
|
|
3178
3202
|
`legacy transform part "${part}" is dropped because "transform" owns the property`
|
|
@@ -3243,7 +3267,7 @@ function emitBorder(
|
|
|
3243
3267
|
process.env.TAMAGUI_TARGET === 'native' &&
|
|
3244
3268
|
(property === 'borderBlock' || property === 'borderInline')
|
|
3245
3269
|
) {
|
|
3246
|
-
if (process.env.NODE_ENV === 'development') {
|
|
3270
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
3247
3271
|
warnOnce(`RN has no logical border shorthand "${property}"; dropping it`)
|
|
3248
3272
|
}
|
|
3249
3273
|
return
|
|
@@ -3524,7 +3548,7 @@ function emitValue(
|
|
|
3524
3548
|
return
|
|
3525
3549
|
}
|
|
3526
3550
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
3527
|
-
if (process.env.NODE_ENV === 'development') {
|
|
3551
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
3528
3552
|
warnOnce(`native background cannot represent "${raw}"; dropping it`)
|
|
3529
3553
|
}
|
|
3530
3554
|
return
|
|
@@ -3550,7 +3574,7 @@ function emitValue(
|
|
|
3550
3574
|
!isFinite(numericUnitValue(value, 'deg', 'rad')) &&
|
|
3551
3575
|
(process.env.TAMAGUI_TARGET === 'native' || !startsValueFunction(value))
|
|
3552
3576
|
) {
|
|
3553
|
-
if (process.env.NODE_ENV === 'development') {
|
|
3577
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
3554
3578
|
warnOnce(
|
|
3555
3579
|
`native transform "${property}" cannot represent "${value}"; dropping it`
|
|
3556
3580
|
)
|
|
@@ -3810,7 +3834,7 @@ export function walkConditionalValue(
|
|
|
3810
3834
|
if (typeof value === 'string') {
|
|
3811
3835
|
const parsed = getConfigRevisionState(state.conf).parseFlatValue(value)
|
|
3812
3836
|
const [segments, failure, failureIndex] = parsed
|
|
3813
|
-
if (process.env.NODE_ENV === 'development') {
|
|
3837
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
3814
3838
|
const syntax = getSetting('styleValueSyntax')
|
|
3815
3839
|
if (syntax === 'object') {
|
|
3816
3840
|
const hasClause =
|
|
@@ -3861,6 +3885,7 @@ export function walkConditionalValue(
|
|
|
3861
3885
|
)
|
|
3862
3886
|
hasBase = true
|
|
3863
3887
|
} else if (
|
|
3888
|
+
!isProd &&
|
|
3864
3889
|
process.env.NODE_ENV !== 'production' &&
|
|
3865
3890
|
warnMode &&
|
|
3866
3891
|
!chainCount &&
|
|
@@ -3893,7 +3918,7 @@ export function walkConditionalValue(
|
|
|
3893
3918
|
}
|
|
3894
3919
|
lastPayloadStart = start
|
|
3895
3920
|
if (start === end) {
|
|
3896
|
-
if (warnMode && process.env.NODE_ENV === 'development') {
|
|
3921
|
+
if (warnMode && !isProd && process.env.NODE_ENV === 'development') {
|
|
3897
3922
|
warnRefusedValue(property, value, 'a conditional clause has no value')
|
|
3898
3923
|
}
|
|
3899
3924
|
continue
|
|
@@ -3917,7 +3942,8 @@ export function walkConditionalValue(
|
|
|
3917
3942
|
)
|
|
3918
3943
|
}
|
|
3919
3944
|
}
|
|
3920
|
-
if (process.env.NODE_ENV !== 'production')
|
|
3945
|
+
if (!isProd && process.env.NODE_ENV !== 'production')
|
|
3946
|
+
lastPayload = value.slice(lastPayloadStart)
|
|
3921
3947
|
} else {
|
|
3922
3948
|
if (
|
|
3923
3949
|
!value ||
|
|
@@ -3928,7 +3954,7 @@ export function walkConditionalValue(
|
|
|
3928
3954
|
) {
|
|
3929
3955
|
return false
|
|
3930
3956
|
}
|
|
3931
|
-
if (process.env.NODE_ENV === 'development') {
|
|
3957
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
3932
3958
|
const syntax = getSetting('styleValueSyntax')
|
|
3933
3959
|
if (syntax === 'string') {
|
|
3934
3960
|
warnOnce(
|
|
@@ -3971,6 +3997,7 @@ export function walkConditionalValue(
|
|
|
3971
3997
|
|
|
3972
3998
|
if (
|
|
3973
3999
|
warnMode &&
|
|
4000
|
+
!isProd &&
|
|
3974
4001
|
process.env.NODE_ENV === 'development' &&
|
|
3975
4002
|
typeof value === 'string' &&
|
|
3976
4003
|
!hasBase &&
|
|
@@ -4120,7 +4147,7 @@ function contributeValue(
|
|
|
4120
4147
|
!isVariable(value) &&
|
|
4121
4148
|
classifyConditionalObject(value, state)))
|
|
4122
4149
|
) {
|
|
4123
|
-
if (process.env.NODE_ENV === 'development') {
|
|
4150
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
4124
4151
|
warnOnce(`conditional "${property}" needs its composite property; dropping it`)
|
|
4125
4152
|
}
|
|
4126
4153
|
return true
|
|
@@ -7,6 +7,8 @@ import { getOrCreateVariable, getOrCreateMutatedVariable } from './registerCSSVa
|
|
|
7
7
|
import { sortString } from './sortString'
|
|
8
8
|
import { getAuthoredThemeScheme, themeSchemeSelectorPrefix } from './themes'
|
|
9
9
|
|
|
10
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
11
|
+
|
|
10
12
|
const darkLight = ['dark', 'light']
|
|
11
13
|
const lightDark = ['light', 'dark']
|
|
12
14
|
|
|
@@ -30,9 +32,9 @@ export function getThemeCSSRules(props: {
|
|
|
30
32
|
) {
|
|
31
33
|
const cssRuleSets: string[] = []
|
|
32
34
|
const { config, themeName, theme, names } = props
|
|
33
|
-
const whitespace = process.env.NODE_ENV === 'development' ? ' ' : ''
|
|
34
|
-
const mediaIndent = process.env.NODE_ENV === 'development' ? '\n ' : ''
|
|
35
|
-
const mediaClose = process.env.NODE_ENV === 'development' ? '\n ' : ''
|
|
35
|
+
const whitespace = !isProd && process.env.NODE_ENV === 'development' ? ' ' : ''
|
|
36
|
+
const mediaIndent = !isProd && process.env.NODE_ENV === 'development' ? '\n ' : ''
|
|
37
|
+
const mediaClose = !isProd && process.env.NODE_ENV === 'development' ? '\n ' : ''
|
|
36
38
|
|
|
37
39
|
// special case for SSR
|
|
38
40
|
const hasDarkLight =
|
|
@@ -10,6 +10,8 @@ import type {
|
|
|
10
10
|
TokensParsed,
|
|
11
11
|
} from '../types'
|
|
12
12
|
|
|
13
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
14
|
+
|
|
13
15
|
// only cache tamagui styles
|
|
14
16
|
// kept separate: allSelectors stores rule text for inspection, totalSelectorsInserted counts stylesheet insertions
|
|
15
17
|
const scannedCache = new WeakMap<CSSStyleSheet, string>()
|
|
@@ -62,7 +64,7 @@ export function scanAllSheets(
|
|
|
62
64
|
// runtime components still emit styles alongside the config CSS artifact.
|
|
63
65
|
// an island only scans when rebuilding empty client themes from that artifact
|
|
64
66
|
if (process.env.TAMAGUI_RUNTIME !== 'island' || collectThemes) {
|
|
65
|
-
if (process.env.NODE_ENV === 'test') return
|
|
67
|
+
if (!isProd && process.env.NODE_ENV === 'test') return
|
|
66
68
|
if (process.env.TAMAGUI_TARGET !== 'web') return
|
|
67
69
|
if (typeof document === 'undefined') return
|
|
68
70
|
|
|
@@ -405,7 +407,7 @@ export function insertStyleRules(rulesToInsert: RulesToInsert) {
|
|
|
405
407
|
sheet.insertRule(rule, sheet.cssRules.length)
|
|
406
408
|
}
|
|
407
409
|
} catch (err) {
|
|
408
|
-
if (process.env.NODE_ENV === 'development') {
|
|
410
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
409
411
|
const rule = rules[0] || ''
|
|
410
412
|
const selectorEnd = rule.indexOf('{')
|
|
411
413
|
const owner =
|
|
@@ -444,7 +446,7 @@ export function shouldInsertStyleRules(identifier: string) {
|
|
|
444
446
|
return true
|
|
445
447
|
}
|
|
446
448
|
const total = totalSelectorsInserted.get(identifier) || 0
|
|
447
|
-
if (process.env.NODE_ENV === 'development') {
|
|
449
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
448
450
|
if (total > +(process.env.TAMAGUI_STYLE_INSERTION_WARNING_LIMIT || 10)) {
|
|
449
451
|
console.warn(
|
|
450
452
|
`Warning: inserting many CSS rules, you may be animating something and generating many CSS insertions, which can degrade performance. Instead, try using the "disableClassName" property on elements that change styles often. To disable this warning set TAMAGUI_STYLE_INSERTION_WARNING_LIMIT from 50000 to something higher`
|
package/src/helpers/log.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { _disableMediaTouch } from '../hooks/useMedia'
|
|
2
2
|
|
|
3
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
4
|
+
|
|
3
5
|
export function log(...args: any[]) {
|
|
4
|
-
if (process.env.NODE_ENV === 'development') {
|
|
6
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
5
7
|
_disableMediaTouch(true)
|
|
6
8
|
try {
|
|
7
9
|
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
@@ -3,12 +3,14 @@ import { formatDiagnostic } from './formatDiagnostic'
|
|
|
3
3
|
import { mediaObjectToString } from './mediaObjectToString'
|
|
4
4
|
import { mediaQueryConfig } from './mediaState'
|
|
5
5
|
|
|
6
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
7
|
+
|
|
6
8
|
let matchMediaImpl: MatchMedia = matchMediaFallback
|
|
7
9
|
|
|
8
10
|
export const matchMedia: MatchMedia = (...args) => matchMediaImpl(...args)
|
|
9
11
|
|
|
10
12
|
function matchMediaFallback(query: string): MediaQueryList {
|
|
11
|
-
if (!process.env.IS_STATIC && process.env.NODE_ENV === 'development') {
|
|
13
|
+
if (!process.env.IS_STATIC && !isProd && process.env.NODE_ENV === 'development') {
|
|
12
14
|
const keys = Object.keys(mediaQueryConfig).filter(
|
|
13
15
|
(key) => mediaObjectToString(mediaQueryConfig[key]) === query
|
|
14
16
|
)
|
|
@@ -32,7 +34,7 @@ function matchMediaFallback(query: string): MediaQueryList {
|
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
export function setupMatchMedia(_: MatchMedia) {
|
|
35
|
-
if (process.env.NODE_ENV === 'development') {
|
|
37
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
36
38
|
if (typeof _ !== 'function') {
|
|
37
39
|
if (!process.env.IS_STATIC) {
|
|
38
40
|
console.trace(
|
package/src/helpers/noteOnce.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
1
2
|
const noted = new Set<string>()
|
|
2
3
|
|
|
3
4
|
export function noteOnce(message: string): void {
|
|
4
|
-
if (process.env.NODE_ENV === 'development' && !noted.has(message)) {
|
|
5
|
+
if (!isProd && process.env.NODE_ENV === 'development' && !noted.has(message)) {
|
|
5
6
|
if (noted.size > 1000) noted.clear()
|
|
6
7
|
noted.add(message)
|
|
7
8
|
console.warn(message)
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { getSafeArea } from '@tamagui/native'
|
|
2
2
|
|
|
3
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
4
|
+
|
|
3
5
|
let didWarnMissingSetup = false
|
|
4
6
|
|
|
5
7
|
export function resolveSafeAreaVariable(name: string): number | undefined {
|
|
@@ -11,7 +13,7 @@ export function resolveSafeAreaVariable(name: string): number | undefined {
|
|
|
11
13
|
const safeArea = getSafeArea()
|
|
12
14
|
const state = safeArea.state
|
|
13
15
|
if (!state.didSetup) {
|
|
14
|
-
if (process.env.NODE_ENV !== 'production' && !didWarnMissingSetup) {
|
|
16
|
+
if (!isProd && process.env.NODE_ENV !== 'production' && !didWarnMissingSetup) {
|
|
15
17
|
didWarnMissingSetup = true
|
|
16
18
|
console.warn(
|
|
17
19
|
'[tamagui] safe-area variables on native require importing @tamagui/native/setup-safe-area and wrapping the app in the SafeAreaProvider from react-native-safe-area-context.'
|
|
@@ -9,6 +9,8 @@ import type {
|
|
|
9
9
|
TokensParsed,
|
|
10
10
|
} from '../types'
|
|
11
11
|
|
|
12
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
13
|
+
|
|
12
14
|
/** the env slice resolveSizing reads: a styled.dynamic env or hand-built */
|
|
13
15
|
export type SizingEnv = {
|
|
14
16
|
sizing: GenericSizing
|
|
@@ -149,7 +151,7 @@ export function resolveSizing(
|
|
|
149
151
|
paddingBlock: toPx(getVariableValue(tokens?.space?.[rung.paddingBlock])),
|
|
150
152
|
}
|
|
151
153
|
if (!Object.values(px).every(Number.isFinite)) {
|
|
152
|
-
if (process.env.NODE_ENV === 'development') {
|
|
154
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
153
155
|
console.warn(
|
|
154
156
|
`[tamagui] size "${name}" references a missing token (fontSize "${rung.fontSize}", controlFontSize "${rung.controlFontSize}", paddingBlock "${rung.paddingBlock}"); resolving to no styles`
|
|
155
157
|
)
|
package/src/helpers/skipProps.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { nativeOnlyProps } from './nativeOnlyProps'
|
|
2
2
|
import { webPropsToSkip } from './webPropsToSkip'
|
|
3
3
|
|
|
4
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
5
|
+
|
|
4
6
|
export const HOC_CLASSNAME_MARKER = 'data-tamagui-hoc-class'
|
|
5
7
|
|
|
6
8
|
/**
|
|
@@ -24,11 +26,11 @@ export const skipProps = {
|
|
|
24
26
|
animatePresence: 1,
|
|
25
27
|
}
|
|
26
28
|
|
|
27
|
-
if (process.env.NODE_ENV === 'test') {
|
|
29
|
+
if (!isProd && process.env.NODE_ENV === 'test') {
|
|
28
30
|
skipProps['data-test-renders'] = 1
|
|
29
31
|
}
|
|
30
32
|
|
|
31
|
-
if (process.env.NODE_ENV === 'development') {
|
|
33
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
32
34
|
skipProps['__tamaguiStyleDebugReceipt'] = 1
|
|
33
35
|
}
|
|
34
36
|
|
|
@@ -12,6 +12,8 @@ import type {
|
|
|
12
12
|
} from '../types'
|
|
13
13
|
import { styledDynamicSymbol } from '../types'
|
|
14
14
|
|
|
15
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
16
|
+
|
|
15
17
|
// built per call: insertFont adds variants to the same fonts object, and a
|
|
16
18
|
// language without a variant for a font keeps that font
|
|
17
19
|
export function getFontsForLanguage(fonts: GenericFonts, language: LanguageContextType) {
|
|
@@ -143,7 +145,7 @@ export function styledDynamic<Val>(
|
|
|
143
145
|
): StyledDynamicFn<Val>
|
|
144
146
|
export function styledDynamic(fn?: any) {
|
|
145
147
|
if (!fn) return bareStyledDynamic
|
|
146
|
-
if (process.env.NODE_ENV === 'development') validateDynamicShape(fn)
|
|
148
|
+
if (!isProd && process.env.NODE_ENV === 'development') validateDynamicShape(fn)
|
|
147
149
|
fn[styledDynamicSymbol] = true
|
|
148
150
|
return fn
|
|
149
151
|
}
|
|
@@ -3,6 +3,8 @@ import { useRef } from 'react'
|
|
|
3
3
|
import { getMediaState } from '../hooks/useMedia'
|
|
4
4
|
import type { ComponentSetStateShallow, DisposeFn, AllGroupContexts } from '../types'
|
|
5
5
|
|
|
6
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
7
|
+
|
|
6
8
|
type SubscribeToContextGroupProps = {
|
|
7
9
|
setStateShallow: ComponentSetStateShallow
|
|
8
10
|
pseudoGroups?: Set<string>
|
|
@@ -42,7 +44,7 @@ const setsEqual = (a: Set<string> | undefined, b: Set<string> | undefined) => {
|
|
|
42
44
|
export const subscribeToContextGroup = (props: SubscribeToContextGroupProps) => {
|
|
43
45
|
const { pseudoGroups, mediaGroups, groupContext } = props
|
|
44
46
|
if (pseudoGroups || mediaGroups) {
|
|
45
|
-
if (process.env.NODE_ENV === 'development' && !groupContext) {
|
|
47
|
+
if (!isProd && process.env.NODE_ENV === 'development' && !groupContext) {
|
|
46
48
|
console.debug(`No context group found`)
|
|
47
49
|
}
|
|
48
50
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { TokensParsed, Variable } from '../types'
|
|
2
2
|
import { warnOnce } from './warnOnce'
|
|
3
3
|
|
|
4
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
5
|
+
|
|
4
6
|
const unitlessSuffixes = [
|
|
5
7
|
'opacity',
|
|
6
8
|
'scale',
|
|
@@ -24,7 +26,7 @@ export const findVariableToken = (
|
|
|
24
26
|
tokensParsed: TokensParsed,
|
|
25
27
|
name: string
|
|
26
28
|
): Variable | undefined => {
|
|
27
|
-
if (process.env.NODE_ENV === 'development') {
|
|
29
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
28
30
|
let found: Variable | undefined
|
|
29
31
|
let foundCategory: string | undefined
|
|
30
32
|
for (const category of tokenCategoryOrder) {
|
package/src/helpers/variables.ts
CHANGED
|
@@ -23,6 +23,8 @@ import type {
|
|
|
23
23
|
VariableValIn,
|
|
24
24
|
} from '../types'
|
|
25
25
|
|
|
26
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
27
|
+
|
|
26
28
|
export type InlineValues = {
|
|
27
29
|
values?: { [Key in ThemeKeys]?: VariableValIn }
|
|
28
30
|
themes?: {
|
|
@@ -42,7 +44,7 @@ export const getThemeKeySet = (conf: TamaguiInternalConfig): Set<string> => {
|
|
|
42
44
|
set.add(key)
|
|
43
45
|
}
|
|
44
46
|
}
|
|
45
|
-
if (process.env.NODE_ENV === 'development') {
|
|
47
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
46
48
|
// <ThemeUpdate> reads every non-reserved prop as a theme key, so a theme key or
|
|
47
49
|
// config variable sharing a name with one of Theme's own props could never
|
|
48
50
|
// be set inline. Caught once per config, at the source.
|
|
@@ -251,7 +253,7 @@ const getCycleDroppedKeys = (props: InlineValues): Set<string> | null => {
|
|
|
251
253
|
checkWithSchemes(merged)
|
|
252
254
|
}
|
|
253
255
|
|
|
254
|
-
if (dropped && process.env.NODE_ENV === 'development') {
|
|
256
|
+
if (dropped && !isProd && process.env.NODE_ENV === 'development') {
|
|
255
257
|
const names = [...dropped]
|
|
256
258
|
warnOnce(
|
|
257
259
|
`cycle:${names.join(',')}`,
|
|
@@ -292,7 +294,7 @@ export function getVariablesCSSRules(
|
|
|
292
294
|
// within a prefix chain (blue, blue_surface1) the more specific name wins
|
|
293
295
|
const themed: [string, ResolvedDeclarations][] = []
|
|
294
296
|
for (const name of getThemedBucketNames(props.themes)) {
|
|
295
|
-
if (process.env.NODE_ENV === 'development') {
|
|
297
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
296
298
|
warnOnUnknownThemeBucket(name, conf)
|
|
297
299
|
}
|
|
298
300
|
const declarations = resolveDeclarations(themes![name], conf, cycleDropped)
|
|
@@ -708,7 +710,7 @@ export function getMergedInlineTheme(
|
|
|
708
710
|
if (bucketNames.length) {
|
|
709
711
|
const baseName = name.replace(schemePrefix, '')
|
|
710
712
|
for (const bucketName of bucketNames) {
|
|
711
|
-
if (process.env.NODE_ENV === 'development') {
|
|
713
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
712
714
|
warnOnUnknownThemeBucket(bucketName, conf)
|
|
713
715
|
}
|
|
714
716
|
if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {
|
package/src/helpers/warnOnce.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const isProd = process.env.NODE_ENV === 'production'
|
|
1
2
|
// One development warning per key, for the whole runtime.
|
|
2
3
|
//
|
|
3
4
|
// The set is BOUNDED rather than trusted to stay small, and that bound is what
|
|
@@ -12,10 +13,10 @@
|
|
|
12
13
|
// signal back at a fixed cost. Past it the console already holds hundreds of
|
|
13
14
|
// distinct warnings and one more is not what is missing.
|
|
14
15
|
const warnLimit = 500
|
|
15
|
-
const warned = process.env.NODE_ENV !== 'production' ? new Set<string>() : null
|
|
16
|
+
const warned = !isProd && process.env.NODE_ENV !== 'production' ? new Set<string>() : null
|
|
16
17
|
|
|
17
18
|
export function warnOnce(key: string, message = key) {
|
|
18
|
-
if (process.env.NODE_ENV === 'development') {
|
|
19
|
+
if (!isProd && process.env.NODE_ENV === 'development') {
|
|
19
20
|
if (warned?.has(key) || (warned?.size ?? 0) >= warnLimit) return
|
|
20
21
|
warned?.add(key)
|
|
21
22
|
console.warn(`[tamagui] ${message}`)
|
|
@@ -23,7 +24,7 @@ export function warnOnce(key: string, message = key) {
|
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
export function resetWarned() {
|
|
26
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
27
|
+
if (!isProd && process.env.NODE_ENV !== 'production') {
|
|
27
28
|
warned?.clear()
|
|
28
29
|
}
|
|
29
30
|
}
|