@tamagui/core 1.0.1-beta.140 → 1.0.1-beta.143
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 +2 -2
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/addTheme.js +28 -22
- package/dist/cjs/addTheme.js.map +2 -2
- package/dist/cjs/conf.js +0 -0
- package/dist/cjs/conf.js.map +0 -0
- package/dist/cjs/config.js +75 -0
- package/dist/cjs/config.js.map +7 -0
- package/dist/cjs/constants/constants.js +0 -0
- package/dist/cjs/constants/constants.js.map +0 -0
- package/dist/cjs/constants/platform.js +7 -1
- package/dist/cjs/constants/platform.js.map +2 -2
- package/dist/cjs/constants/platform.native.js +62 -0
- package/dist/cjs/constants/platform.native.js.map +7 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js +0 -0
- package/dist/cjs/contexts/ButtonInsideButtonContext.js.map +0 -0
- package/dist/cjs/contexts/FontLanguageContext.js +0 -0
- package/dist/cjs/contexts/FontLanguageContext.js.map +0 -0
- package/dist/cjs/contexts/TextAncestorContext.js +0 -0
- package/dist/cjs/contexts/TextAncestorContext.js.map +0 -0
- package/dist/cjs/contexts/ThemeContext.js +0 -0
- package/dist/cjs/contexts/ThemeContext.js.map +0 -0
- package/dist/cjs/createComponent.js +77 -71
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createComponent.server.js +431 -0
- package/dist/cjs/createComponent.server.js.map +7 -0
- package/dist/cjs/createFont.js +0 -0
- package/dist/cjs/createFont.js.map +0 -0
- package/dist/cjs/createShorthands.js +0 -0
- package/dist/cjs/createShorthands.js.map +0 -0
- package/dist/cjs/createTamagui.js +31 -32
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +0 -0
- package/dist/cjs/createTheme.js.map +0 -0
- package/dist/cjs/createTokens.js +0 -0
- package/dist/cjs/createTokens.js.map +0 -0
- package/dist/cjs/createVariable.js +21 -35
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/createVariables.js +5 -2
- package/dist/cjs/createVariables.js.map +2 -2
- package/dist/cjs/helpers/RNComponents.js +11 -11
- package/dist/cjs/helpers/RNComponents.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.js +7 -9
- package/dist/cjs/helpers/ThemeManager.js.map +2 -2
- package/dist/cjs/helpers/areEqualSets.js +0 -0
- package/dist/cjs/helpers/areEqualSets.js.map +0 -0
- package/dist/cjs/helpers/assignNativePropsToWeb.js +0 -1
- package/dist/cjs/helpers/assignNativePropsToWeb.js.map +2 -2
- package/dist/cjs/helpers/assignNativePropsToWeb.native.js +0 -0
- package/dist/cjs/helpers/assignNativePropsToWeb.native.js.map +0 -0
- package/dist/cjs/helpers/calc.js +0 -0
- package/dist/cjs/helpers/calc.js.map +0 -0
- package/dist/cjs/helpers/createMediaStyle.js +0 -0
- package/dist/cjs/helpers/createMediaStyle.js.map +0 -0
- package/dist/cjs/helpers/createPropMapper.js +3 -3
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createShallowUpdate.js +0 -0
- package/dist/cjs/helpers/createShallowUpdate.js.map +0 -0
- package/dist/cjs/helpers/cssHash.js +0 -0
- package/dist/cjs/helpers/cssHash.js.map +0 -0
- package/dist/cjs/helpers/expandStyle.js +0 -0
- package/dist/cjs/helpers/expandStyle.js.map +0 -0
- package/dist/cjs/helpers/expandStyles.js +4 -4
- package/dist/cjs/helpers/expandStyles.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +0 -0
- package/dist/cjs/helpers/extendStaticConfig.js.map +0 -0
- package/dist/cjs/helpers/fixNativeShadow.js +0 -0
- package/dist/cjs/helpers/fixNativeShadow.js.map +0 -0
- package/dist/cjs/{Pressability.js → helpers/getAnimationDriver.js} +10 -10
- package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
- package/dist/cjs/helpers/getExpandedShorthands.js +3 -3
- package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/cjs/helpers/getFont.js +1 -1
- package/dist/cjs/helpers/getFont.js.map +2 -2
- package/dist/cjs/helpers/getFontLanguage.js +0 -0
- package/dist/cjs/helpers/getFontLanguage.js.map +0 -0
- package/dist/cjs/helpers/getSize.js +2 -2
- package/dist/cjs/helpers/getSize.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js +12 -13
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStackSize.js +0 -0
- package/dist/cjs/helpers/getStackSize.js.map +0 -0
- package/dist/cjs/helpers/getStylesAtomic.js +6 -4
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +0 -0
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +0 -0
- package/dist/cjs/helpers/getThemeCSSRules.js +0 -0
- package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +0 -0
- package/dist/cjs/helpers/getVariantExtras.js +2 -2
- package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
- package/dist/cjs/helpers/insertStyleRule.js +0 -0
- package/dist/cjs/helpers/insertStyleRule.js.map +0 -0
- package/dist/cjs/helpers/isObj.js +0 -0
- package/dist/cjs/helpers/isObj.js.map +0 -0
- package/dist/cjs/helpers/isTamaguiComponent.js +0 -0
- package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -0
- package/dist/cjs/helpers/isTamaguiElement.js +0 -0
- package/dist/cjs/helpers/isTamaguiElement.js.map +0 -0
- package/dist/cjs/helpers/matchMedia.js +0 -0
- package/dist/cjs/helpers/matchMedia.js.map +0 -0
- package/dist/cjs/helpers/matchMedia.native.js +0 -0
- package/dist/cjs/helpers/matchMedia.native.js.map +0 -0
- package/dist/cjs/helpers/mergeProps.js +0 -0
- package/dist/cjs/helpers/mergeProps.js.map +0 -0
- package/dist/cjs/helpers/mergeTransform.js +0 -0
- package/dist/cjs/helpers/mergeTransform.js.map +0 -0
- package/dist/cjs/helpers/normalizeColor.js +2 -2
- package/dist/cjs/helpers/normalizeColor.js.map +2 -2
- package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/cjs/helpers/proxyThemeVariables.js +0 -0
- package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -0
- package/dist/cjs/helpers/pseudoDescriptors.js +0 -0
- package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -0
- package/dist/cjs/helpers/registerCSSVariable.js +0 -0
- package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
- package/dist/cjs/helpers/startTransition.js +0 -0
- package/dist/cjs/helpers/startTransition.js.map +0 -0
- package/dist/cjs/helpers/themeable.js +0 -0
- package/dist/cjs/helpers/themeable.js.map +0 -0
- package/dist/cjs/helpers/themes.js +0 -0
- package/dist/cjs/helpers/themes.js.map +0 -0
- package/dist/cjs/helpers/useAnimationDriver.js +2 -0
- package/dist/cjs/{defaultComponentState.js.map → helpers/useAnimationDriver.js.map} +0 -0
- package/dist/cjs/helpers/validate.js +0 -0
- package/dist/cjs/helpers/validate.js.map +0 -0
- package/dist/cjs/helpers/withStaticProperties.js +0 -0
- package/dist/cjs/helpers/withStaticProperties.js.map +0 -0
- package/dist/cjs/hooks/getThemeUnwrapped.js +2 -0
- package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/cjs/hooks/useAnimationDriver.js +2 -0
- package/dist/{esm/defaultComponentState.js.map → cjs/hooks/useAnimationDriver.js.map} +0 -0
- package/dist/cjs/hooks/useConstant.js +3 -0
- package/dist/cjs/hooks/useConstant.js.map +2 -2
- package/dist/cjs/hooks/useFeatures.js +10 -2
- package/dist/cjs/hooks/useFeatures.js.map +2 -2
- package/dist/cjs/hooks/useId.js +0 -0
- package/dist/cjs/hooks/useId.js.map +0 -0
- package/dist/cjs/hooks/useIsMounted.js +0 -0
- package/dist/cjs/hooks/useIsMounted.js.map +0 -0
- package/dist/cjs/hooks/useIsSSR.js +2 -2
- package/dist/cjs/hooks/useIsSSR.js.map +2 -2
- package/dist/cjs/hooks/useIsTouchDevice.js +0 -0
- package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -0
- package/dist/cjs/hooks/useMedia.js +0 -0
- package/dist/cjs/hooks/useMedia.js.map +0 -0
- package/dist/cjs/hooks/usePressable.js +0 -0
- package/dist/cjs/hooks/usePressable.js.map +0 -0
- package/dist/cjs/hooks/useSafeRef.js +0 -0
- package/dist/cjs/hooks/useSafeRef.js.map +0 -0
- package/dist/cjs/{helpers/nativeGestureHandler.native.js → hooks/useServerContext.js} +8 -6
- package/dist/cjs/hooks/useServerContext.js.map +7 -0
- package/dist/cjs/{ThemeContext.js → hooks/useServerHooks.js} +13 -7
- package/dist/cjs/hooks/useServerHooks.js.map +7 -0
- package/dist/cjs/hooks/useTheme.js +72 -44
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useUnmountEffect.js +0 -0
- package/dist/cjs/hooks/useUnmountEffect.js.map +0 -0
- package/dist/cjs/index.js +8 -6
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/{Pressability.native.js → injectStyles.js} +18 -10
- package/dist/cjs/injectStyles.js.map +7 -0
- package/dist/cjs/insertFont.js +2 -2
- package/dist/cjs/insertFont.js.map +2 -2
- package/dist/cjs/static.js +0 -0
- package/dist/cjs/static.js.map +0 -0
- package/dist/cjs/styled.js +11 -1
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types-rnw.js +0 -0
- package/dist/cjs/types-rnw.js.map +0 -0
- package/dist/cjs/types.js +0 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/updateTheme.js +0 -0
- package/dist/cjs/updateTheme.js.map +0 -0
- package/dist/cjs/vendor/Pressability.js +0 -0
- package/dist/cjs/vendor/Pressability.js.map +0 -0
- package/dist/cjs/vendor/Pressability.native.js +0 -0
- package/dist/cjs/vendor/Pressability.native.js.map +0 -0
- package/dist/cjs/views/FontLanguage.js +0 -0
- package/dist/cjs/views/FontLanguage.js.map +0 -0
- package/dist/cjs/views/FontLanguage.native.js +0 -0
- package/dist/cjs/views/FontLanguage.native.js.map +0 -0
- package/dist/cjs/views/FontLanguage.types.js +0 -0
- package/dist/cjs/views/FontLanguage.types.js.map +0 -0
- package/dist/cjs/views/Slot.js +0 -0
- package/dist/cjs/views/Slot.js.map +0 -0
- package/dist/cjs/views/Stack.js +0 -0
- package/dist/cjs/views/Stack.js.map +0 -0
- package/dist/cjs/{helpers/createTamaguiProvider.js → views/TamaguiProvider.js} +41 -37
- package/dist/cjs/views/TamaguiProvider.js.map +7 -0
- package/dist/cjs/views/Text.js +0 -0
- package/dist/cjs/views/Text.js.map +0 -0
- package/dist/cjs/views/Theme.js +4 -3
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeInverse.js +0 -0
- package/dist/cjs/views/ThemeInverse.js.map +0 -0
- package/dist/cjs/views/ThemeProvider.js +10 -6
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/cjs/views/ThemeReset.js +0 -0
- package/dist/cjs/views/ThemeReset.js.map +0 -0
- package/dist/esm/Tamagui.js +1 -1
- package/dist/esm/Tamagui.js.map +1 -1
- package/dist/esm/addTheme.js +27 -21
- package/dist/esm/addTheme.js.map +2 -2
- package/dist/esm/conf.js +0 -0
- package/dist/esm/conf.js.map +0 -0
- package/dist/esm/config.js +43 -0
- package/dist/esm/config.js.map +7 -0
- package/dist/esm/constants/constants.js +0 -0
- package/dist/esm/constants/constants.js.map +0 -0
- package/dist/esm/constants/platform.js +5 -1
- package/dist/esm/constants/platform.js.map +2 -2
- package/dist/esm/constants/platform.native.js +28 -0
- package/dist/esm/constants/platform.native.js.map +7 -0
- package/dist/esm/contexts/ButtonInsideButtonContext.js +0 -0
- package/dist/esm/contexts/ButtonInsideButtonContext.js.map +0 -0
- package/dist/esm/contexts/FontLanguageContext.js +0 -0
- package/dist/esm/contexts/FontLanguageContext.js.map +0 -0
- package/dist/esm/contexts/TextAncestorContext.js +0 -0
- package/dist/esm/contexts/TextAncestorContext.js.map +0 -0
- package/dist/esm/contexts/ThemeContext.js +0 -0
- package/dist/esm/contexts/ThemeContext.js.map +0 -0
- package/dist/esm/createComponent.js +77 -73
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createComponent.server.js +408 -0
- package/dist/esm/createComponent.server.js.map +7 -0
- package/dist/esm/createFont.js +0 -0
- package/dist/esm/createFont.js.map +0 -0
- package/dist/esm/createShorthands.js +0 -0
- package/dist/esm/createShorthands.js.map +0 -0
- package/dist/esm/createTamagui.js +30 -31
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTheme.js +0 -0
- package/dist/esm/createTheme.js.map +0 -0
- package/dist/esm/createTokens.js +0 -0
- package/dist/esm/createTokens.js.map +0 -0
- package/dist/esm/createVariable.js +19 -33
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/createVariables.js +5 -2
- package/dist/esm/createVariables.js.map +2 -2
- package/dist/esm/helpers/RNComponents.js +11 -8
- package/dist/esm/helpers/RNComponents.js.map +2 -2
- package/dist/esm/helpers/ThemeManager.js +6 -8
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/areEqualSets.js +0 -0
- package/dist/esm/helpers/areEqualSets.js.map +0 -0
- package/dist/esm/helpers/assignNativePropsToWeb.js +0 -1
- package/dist/esm/helpers/assignNativePropsToWeb.js.map +2 -2
- package/dist/esm/helpers/assignNativePropsToWeb.native.js +0 -0
- package/dist/esm/helpers/assignNativePropsToWeb.native.js.map +0 -0
- package/dist/esm/helpers/calc.js +0 -0
- package/dist/esm/helpers/calc.js.map +0 -0
- package/dist/esm/helpers/createMediaStyle.js +0 -0
- package/dist/esm/helpers/createMediaStyle.js.map +0 -0
- package/dist/esm/helpers/createPropMapper.js +2 -2
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createShallowUpdate.js +0 -0
- package/dist/esm/helpers/createShallowUpdate.js.map +0 -0
- package/dist/esm/helpers/cssHash.js +0 -0
- package/dist/esm/helpers/cssHash.js.map +0 -0
- package/dist/esm/helpers/expandStyle.js +0 -0
- package/dist/esm/helpers/expandStyle.js.map +0 -0
- package/dist/esm/helpers/expandStyles.js +3 -3
- package/dist/esm/helpers/expandStyles.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +0 -0
- package/dist/esm/helpers/extendStaticConfig.js.map +0 -0
- package/dist/esm/helpers/fixNativeShadow.js +0 -0
- package/dist/esm/helpers/fixNativeShadow.js.map +0 -0
- package/dist/esm/helpers/getAnimationDriver.js +8 -0
- package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
- package/dist/esm/helpers/getExpandedShorthands.js +2 -2
- package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/esm/helpers/getFont.js +1 -1
- package/dist/esm/helpers/getFont.js.map +2 -2
- package/dist/esm/helpers/getFontLanguage.js +0 -0
- package/dist/esm/helpers/getFontLanguage.js.map +0 -0
- package/dist/esm/helpers/getSize.js +1 -1
- package/dist/esm/helpers/getSize.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.js +12 -13
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getStackSize.js +0 -0
- package/dist/esm/helpers/getStackSize.js.map +0 -0
- package/dist/esm/helpers/getStylesAtomic.js +5 -3
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.js +0 -0
- package/dist/esm/helpers/getStylesAtomic.native.js.map +0 -0
- package/dist/esm/helpers/getThemeCSSRules.js +0 -0
- package/dist/esm/helpers/getThemeCSSRules.js.map +0 -0
- package/dist/esm/helpers/getThemeCSSRules.native.js +0 -0
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +0 -0
- package/dist/esm/helpers/getVariantExtras.js +1 -1
- package/dist/esm/helpers/getVariantExtras.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.js +0 -0
- package/dist/esm/helpers/insertStyleRule.js.map +0 -0
- package/dist/esm/helpers/isObj.js +0 -0
- package/dist/esm/helpers/isObj.js.map +0 -0
- package/dist/esm/helpers/isTamaguiComponent.js +0 -0
- package/dist/esm/helpers/isTamaguiComponent.js.map +0 -0
- package/dist/esm/helpers/isTamaguiElement.js +0 -0
- package/dist/esm/helpers/isTamaguiElement.js.map +0 -0
- package/dist/esm/helpers/matchMedia.js +0 -0
- package/dist/esm/helpers/matchMedia.js.map +0 -0
- package/dist/esm/helpers/matchMedia.native.js +0 -0
- package/dist/esm/helpers/matchMedia.native.js.map +0 -0
- package/dist/esm/helpers/mergeProps.js +0 -0
- package/dist/esm/helpers/mergeProps.js.map +0 -0
- package/dist/esm/helpers/mergeTransform.js +0 -0
- package/dist/esm/helpers/mergeTransform.js.map +0 -0
- package/dist/esm/helpers/normalizeColor.js +1 -1
- package/dist/esm/helpers/normalizeColor.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.js +0 -0
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +0 -0
- package/dist/esm/helpers/proxyThemeVariables.js.map +0 -0
- package/dist/esm/helpers/pseudoDescriptors.js +0 -0
- package/dist/esm/helpers/pseudoDescriptors.js.map +0 -0
- package/dist/esm/helpers/registerCSSVariable.js +0 -0
- package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
- package/dist/esm/helpers/startTransition.js +0 -0
- package/dist/esm/helpers/startTransition.js.map +0 -0
- package/dist/esm/helpers/themeable.js +0 -0
- package/dist/esm/helpers/themeable.js.map +0 -0
- package/dist/esm/helpers/themes.js +0 -0
- package/dist/esm/helpers/themes.js.map +0 -0
- package/dist/esm/helpers/useAnimationDriver.js +1 -0
- package/dist/esm/helpers/useAnimationDriver.js.map +7 -0
- package/dist/esm/helpers/validate.js +0 -0
- package/dist/esm/helpers/validate.js.map +0 -0
- package/dist/esm/helpers/withStaticProperties.js +0 -0
- package/dist/esm/helpers/withStaticProperties.js.map +0 -0
- package/dist/esm/hooks/getThemeUnwrapped.js +2 -0
- package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.js +1 -0
- package/dist/esm/hooks/useAnimationDriver.js.map +7 -0
- package/dist/esm/hooks/useConstant.js +4 -1
- package/dist/esm/hooks/useConstant.js.map +2 -2
- package/dist/esm/hooks/useFeatures.js +9 -1
- package/dist/esm/hooks/useFeatures.js.map +2 -2
- package/dist/esm/hooks/useId.js +0 -0
- package/dist/esm/hooks/useId.js.map +0 -0
- package/dist/esm/hooks/useIsMounted.js +0 -0
- package/dist/esm/hooks/useIsMounted.js.map +0 -0
- package/dist/esm/hooks/useIsSSR.js +4 -4
- package/dist/esm/hooks/useIsSSR.js.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.js +0 -0
- package/dist/esm/hooks/useIsTouchDevice.js.map +0 -0
- package/dist/esm/hooks/useMedia.js +0 -0
- package/dist/esm/hooks/useMedia.js.map +0 -0
- package/dist/esm/hooks/usePressable.js +0 -0
- package/dist/esm/hooks/usePressable.js.map +0 -0
- package/dist/esm/hooks/useSafeRef.js +0 -0
- package/dist/esm/hooks/useSafeRef.js.map +0 -0
- package/dist/esm/hooks/useServerContext.js +4 -0
- package/dist/esm/hooks/useServerContext.js.map +7 -0
- package/dist/esm/hooks/useServerHooks.js +11 -0
- package/dist/esm/hooks/useServerHooks.js.map +7 -0
- package/dist/esm/hooks/useTheme.js +73 -45
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useUnmountEffect.js +0 -0
- package/dist/esm/hooks/useUnmountEffect.js.map +0 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/injectStyles.js +16 -0
- package/dist/esm/injectStyles.js.map +7 -0
- package/dist/esm/insertFont.js +1 -1
- package/dist/esm/insertFont.js.map +1 -1
- package/dist/esm/static.js +0 -0
- package/dist/esm/static.js.map +0 -0
- package/dist/esm/styled.js +11 -1
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/types-rnw.js +0 -0
- package/dist/esm/types-rnw.js.map +0 -0
- package/dist/esm/types.js +0 -0
- package/dist/esm/types.js.map +0 -0
- package/dist/esm/updateTheme.js +0 -0
- package/dist/esm/updateTheme.js.map +0 -0
- package/dist/esm/vendor/Pressability.js +0 -0
- package/dist/esm/vendor/Pressability.js.map +0 -0
- package/dist/esm/vendor/Pressability.native.js +0 -0
- package/dist/esm/vendor/Pressability.native.js.map +0 -0
- package/dist/esm/views/FontLanguage.js +0 -0
- package/dist/esm/views/FontLanguage.js.map +0 -0
- package/dist/esm/views/FontLanguage.native.js +0 -0
- package/dist/esm/views/FontLanguage.native.js.map +0 -0
- package/dist/esm/views/FontLanguage.types.js +0 -0
- package/dist/esm/views/FontLanguage.types.js.map +0 -0
- package/dist/esm/views/Slot.js +0 -0
- package/dist/esm/views/Slot.js.map +0 -0
- package/dist/esm/views/Stack.js +0 -0
- package/dist/esm/views/Stack.js.map +0 -0
- package/dist/esm/views/TamaguiProvider.js +46 -0
- package/dist/esm/views/TamaguiProvider.js.map +7 -0
- package/dist/esm/views/Text.js +0 -0
- package/dist/esm/views/Text.js.map +0 -0
- package/dist/esm/views/Theme.js +4 -3
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/ThemeInverse.js +0 -0
- package/dist/esm/views/ThemeInverse.js.map +0 -0
- package/dist/esm/views/ThemeProvider.js +10 -6
- package/dist/esm/views/ThemeProvider.js.map +2 -2
- package/dist/esm/views/ThemeReset.js +0 -0
- package/dist/esm/views/ThemeReset.js.map +0 -0
- package/package.json +36 -14
- package/src/Tamagui.ts +44 -0
- package/src/addTheme.ts +66 -0
- package/src/config.ts +38 -0
- package/src/constants/constants.ts +15 -0
- package/src/constants/platform.native.ts +14 -0
- package/src/constants/platform.ts +24 -0
- package/src/contexts/ButtonInsideButtonContext.tsx +3 -0
- package/src/contexts/FontLanguageContext.tsx +5 -0
- package/src/contexts/TextAncestorContext.tsx +10 -0
- package/src/contexts/ThemeContext.tsx +5 -0
- package/src/createComponent.tsx +1338 -0
- package/src/createFont.ts +26 -0
- package/src/createShorthands.ts +5 -0
- package/src/createTamagui.ts +232 -0
- package/src/createTheme.ts +13 -0
- package/src/createTokens.ts +35 -0
- package/src/createVariable.ts +77 -0
- package/src/createVariables.ts +42 -0
- package/src/helpers/RNComponents.tsx +14 -0
- package/src/helpers/ThemeManager.tsx +229 -0
- package/src/helpers/areEqualSets.tsx +9 -0
- package/src/helpers/assignNativePropsToWeb.native.tsx +1 -0
- package/src/helpers/assignNativePropsToWeb.tsx +178 -0
- package/src/helpers/calc.ts +65 -0
- package/src/helpers/createMediaStyle.ts +48 -0
- package/src/helpers/createPropMapper.ts +457 -0
- package/src/helpers/createShallowUpdate.tsx +20 -0
- package/src/helpers/cssHash.ts +28 -0
- package/src/helpers/expandStyle.ts +81 -0
- package/src/helpers/expandStyles.ts +105 -0
- package/src/helpers/extendStaticConfig.ts +76 -0
- package/src/helpers/fixNativeShadow.tsx +2 -0
- package/src/helpers/getAnimationDriver.tsx +5 -0
- package/src/helpers/getExpandedShorthands.ts +15 -0
- package/src/helpers/getFont.tsx +40 -0
- package/src/helpers/getFontLanguage.ts +2 -0
- package/src/helpers/getSize.ts +22 -0
- package/src/helpers/getSplitStyles.tsx +685 -0
- package/src/helpers/getStackSize.ts +22 -0
- package/src/helpers/getStylesAtomic.native.ts +3 -0
- package/src/helpers/getStylesAtomic.ts +292 -0
- package/src/helpers/getThemeCSSRules.native.ts +3 -0
- package/src/helpers/getThemeCSSRules.ts +105 -0
- package/src/helpers/getVariantExtras.tsx +83 -0
- package/src/helpers/insertStyleRule.tsx +150 -0
- package/src/helpers/isObj.ts +1 -0
- package/src/helpers/isTamaguiComponent.tsx +15 -0
- package/src/helpers/isTamaguiElement.tsx +14 -0
- package/src/helpers/matchMedia.native.ts +6 -0
- package/src/helpers/matchMedia.ts +16 -0
- package/src/helpers/mergeProps.ts +56 -0
- package/src/helpers/mergeTransform.ts +14 -0
- package/src/helpers/normalizeColor.ts +53 -0
- package/src/helpers/normalizeValueWithProperty.ts +78 -0
- package/src/helpers/proxyThemeVariables.tsx +13 -0
- package/src/helpers/pseudoDescriptors.ts +18 -0
- package/src/helpers/registerCSSVariable.ts +11 -0
- package/src/helpers/startTransition.ts +4 -0
- package/src/helpers/themeable.tsx +45 -0
- package/src/helpers/themes.ts +69 -0
- package/src/helpers/validate.ts +80 -0
- package/src/helpers/withStaticProperties.tsx +7 -0
- package/src/hooks/getThemeUnwrapped.tsx +8 -0
- package/src/hooks/useConstant.tsx +19 -0
- package/src/hooks/useFeatures.tsx +289 -0
- package/src/hooks/useId.tsx +1 -0
- package/src/hooks/useIsMounted.ts +17 -0
- package/src/hooks/useIsSSR.tsx +20 -0
- package/src/hooks/useIsTouchDevice.tsx +21 -0
- package/src/hooks/useMedia.tsx +167 -0
- package/src/hooks/usePressable.tsx +9 -0
- package/src/hooks/useSafeRef.ts +50 -0
- package/src/hooks/useServerHooks.tsx +13 -0
- package/src/hooks/useTheme.tsx +264 -0
- package/src/hooks/useUnmountEffect.ts +5 -0
- package/src/index.ts +80 -0
- package/src/injectStyles.ts +20 -0
- package/src/insertFont.ts +69 -0
- package/src/static.ts +15 -0
- package/src/styled.tsx +149 -0
- package/src/types-rnw.tsx +162 -0
- package/src/types.tsx +1267 -0
- package/src/updateTheme.ts +23 -0
- package/src/vendor/Pressability.native.tsx +3 -0
- package/src/vendor/Pressability.tsx +2 -0
- package/src/views/FontLanguage.native.tsx +9 -0
- package/src/views/FontLanguage.tsx +18 -0
- package/src/views/FontLanguage.types.ts +13 -0
- package/src/views/Slot.tsx +152 -0
- package/src/views/Stack.tsx +24 -0
- package/src/views/TamaguiProvider.tsx +57 -0
- package/src/views/Text.tsx +79 -0
- package/src/views/Theme.tsx +72 -0
- package/src/views/ThemeInverse.tsx +33 -0
- package/src/views/ThemeProvider.tsx +62 -0
- package/src/views/ThemeReset.tsx +43 -0
- package/types/conf.d.ts +1 -1
- package/types/config.d.ts +27 -0
- package/types/constants/platform.d.ts +3 -2
- package/types/constants/platform.native.d.ts +13 -0
- package/types/createComponent.server.d.ts +36 -0
- package/types/createTamagui.d.ts +1 -1
- package/types/createTheme.d.ts +1 -1
- package/types/createVariable.d.ts +15 -12
- package/types/helpers/RNComponents.d.ts +1 -1
- package/types/helpers/ThemeManager.d.ts +2 -8
- package/types/helpers/getAnimationDriver.d.ts +6 -0
- package/types/helpers/registerCSSVariable.d.ts +2 -2
- package/types/helpers/useAnimationDriver.d.ts +1 -0
- package/types/hooks/useAnimationDriver.d.ts +1 -0
- package/types/hooks/useServerContext.d.ts +2 -0
- package/types/hooks/useServerHooks.d.ts +4 -0
- package/types/hooks/useTheme.d.ts +5 -21
- package/types/index.d.ts +3 -1
- package/types/injectStyles.d.ts +7 -0
- package/types/types.d.ts +24 -1
- package/types/views/TamaguiProvider.d.ts +4 -0
- package/types/views/ThemeProvider.d.ts +0 -1
- package/dist/cjs/Pressability.js.map +0 -7
- package/dist/cjs/Pressability.native.js.map +0 -7
- package/dist/cjs/ThemeContext.js.map +0 -7
- package/dist/cjs/ThemeManager.js +0 -211
- package/dist/cjs/ThemeManager.js.map +0 -7
- package/dist/cjs/defaultComponentState.js +0 -2
- package/dist/cjs/ensureThemeVariable.js +0 -152
- package/dist/cjs/ensureThemeVariable.js.map +0 -7
- package/dist/cjs/helpers/createTamaguiProvider.js.map +0 -7
- package/dist/cjs/helpers/ensureThemeVariable.js +0 -152
- package/dist/cjs/helpers/ensureThemeVariable.js.map +0 -7
- package/dist/cjs/helpers/nativeGestureHandler.native.js.map +0 -7
- package/dist/cjs/loadTheme.js +0 -64
- package/dist/cjs/loadTheme.js.map +0 -7
- package/dist/cjs/views/TextAncestorContext.js +0 -44
- package/dist/cjs/views/TextAncestorContext.js.map +0 -7
- package/dist/esm/Pressability.js +0 -7
- package/dist/esm/Pressability.js.map +0 -7
- package/dist/esm/Pressability.native.js +0 -7
- package/dist/esm/Pressability.native.js.map +0 -7
- package/dist/esm/ThemeContext.js +0 -6
- package/dist/esm/ThemeContext.js.map +0 -7
- package/dist/esm/ThemeManager.js +0 -185
- package/dist/esm/ThemeManager.js.map +0 -7
- package/dist/esm/defaultComponentState.js +0 -1
- package/dist/esm/ensureThemeVariable.js +0 -125
- package/dist/esm/ensureThemeVariable.js.map +0 -7
- package/dist/esm/helpers/createTamaguiProvider.js +0 -42
- package/dist/esm/helpers/createTamaguiProvider.js.map +0 -7
- package/dist/esm/helpers/ensureThemeVariable.js +0 -125
- package/dist/esm/helpers/ensureThemeVariable.js.map +0 -7
- package/dist/esm/helpers/nativeGestureHandler.native.js +0 -2
- package/dist/esm/helpers/nativeGestureHandler.native.js.map +0 -7
- package/dist/esm/loadTheme.js +0 -40
- package/dist/esm/loadTheme.js.map +0 -7
- package/dist/esm/views/TextAncestorContext.js +0 -15
- package/dist/esm/views/TextAncestorContext.js.map +0 -7
- package/types/helpers/createTamaguiProvider.d.ts +0 -3
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
let conf;
|
|
2
|
+
const setConfig = (next) => {
|
|
3
|
+
conf = next;
|
|
4
|
+
if (configListeners.size) {
|
|
5
|
+
configListeners.forEach((cb) => cb(conf));
|
|
6
|
+
configListeners.clear();
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
const setConfigFont = (name, font, fontParsed) => {
|
|
10
|
+
if (process.env.NODE_ENV === "development") {
|
|
11
|
+
if (!conf)
|
|
12
|
+
throw new Error(`Haven't called createTamagui yet`);
|
|
13
|
+
}
|
|
14
|
+
Object.assign(conf.fonts, { [name]: font });
|
|
15
|
+
Object.assign(conf.fontsParsed, { [`$${name}`]: fontParsed });
|
|
16
|
+
};
|
|
17
|
+
const getHasConfigured = () => !!conf;
|
|
18
|
+
const getConfig = () => conf;
|
|
19
|
+
const getTokens = () => conf.tokensParsed;
|
|
20
|
+
const getThemes = () => conf.themes;
|
|
21
|
+
const configListeners = /* @__PURE__ */ new Set();
|
|
22
|
+
const onConfiguredOnce = (cb) => {
|
|
23
|
+
if (conf) {
|
|
24
|
+
cb(conf);
|
|
25
|
+
} else {
|
|
26
|
+
configListeners.add(cb);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const updateConfig = (key, value) => {
|
|
30
|
+
Object.assign(key, value);
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
configListeners,
|
|
34
|
+
getConfig,
|
|
35
|
+
getHasConfigured,
|
|
36
|
+
getThemes,
|
|
37
|
+
getTokens,
|
|
38
|
+
onConfiguredOnce,
|
|
39
|
+
setConfig,
|
|
40
|
+
setConfigFont,
|
|
41
|
+
updateConfig
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/config.ts"],
|
|
4
|
+
"sourcesContent": ["import { ConfigListener, TamaguiInternalConfig } from './types'\n\nlet conf: TamaguiInternalConfig | null\n\nexport const setConfig = (next: TamaguiInternalConfig) => {\n conf = next\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(conf!))\n configListeners.clear()\n }\n}\n\nexport const setConfigFont = (name: string, font: any, fontParsed: any) => {\n if (process.env.NODE_ENV === 'development') {\n if (!conf) throw new Error(`Haven't called createTamagui yet`)\n }\n Object.assign(conf!.fonts, { [name]: font })\n Object.assign(conf!.fontsParsed, { [`$${name}`]: fontParsed })\n}\n\nexport const getHasConfigured = () => !!conf\nexport const getConfig = () => conf!\nexport const getTokens = () => conf!.tokensParsed\nexport const getThemes = () => conf!.themes\n\nexport const configListeners = new Set<ConfigListener>()\n\nexport const onConfiguredOnce = (cb: ConfigListener) => {\n if (conf) {\n cb(conf!)\n } else {\n configListeners.add(cb)\n }\n}\n\nexport const updateConfig = (key: string, value: any) => {\n Object.assign(key, value)\n}\n"],
|
|
5
|
+
"mappings": "AAEA,IAAI;AAEG,MAAM,YAAY,CAAC,SAAgC;AACxD,SAAO;AACP,MAAI,gBAAgB,MAAM;AACxB,oBAAgB,QAAQ,CAAC,OAAO,GAAG,IAAK,CAAC;AACzC,oBAAgB,MAAM;AAAA,EACxB;AACF;AAEO,MAAM,gBAAgB,CAAC,MAAc,MAAW,eAAoB;AACzE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC;AAAM,YAAM,IAAI,MAAM,kCAAkC;AAAA,EAC/D;AACA,SAAO,OAAO,KAAM,OAAO,EAAE,CAAC,OAAO,KAAK,CAAC;AAC3C,SAAO,OAAO,KAAM,aAAa,EAAE,CAAC,IAAI,SAAS,WAAW,CAAC;AAC/D;AAEO,MAAM,mBAAmB,MAAM,CAAC,CAAC;AACjC,MAAM,YAAY,MAAM;AACxB,MAAM,YAAY,MAAM,KAAM;AAC9B,MAAM,YAAY,MAAM,KAAM;AAE9B,MAAM,kBAAkB,oBAAI,IAAoB;AAEhD,MAAM,mBAAmB,CAAC,OAAuB;AACtD,MAAI,MAAM;AACR,OAAG,IAAK;AAAA,EACV,OAAO;AACL,oBAAgB,IAAI,EAAE;AAAA,EACxB;AACF;AAEO,MAAM,eAAe,CAAC,KAAa,UAAe;AACvD,SAAO,OAAO,KAAK,KAAK;AAC1B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -7,7 +7,10 @@ const isWeb = process.env.TAMAGUI_TARGET === "web";
|
|
|
7
7
|
const isWindowDefined = typeof window !== "undefined";
|
|
8
8
|
const isSSR = isWeb && !isWindowDefined;
|
|
9
9
|
const isClient = isWeb && isWindowDefined;
|
|
10
|
-
const
|
|
10
|
+
const isRSC = process.env.ENABLE_RSC ? import.meta.env ? import.meta.env.SSR : false : false;
|
|
11
|
+
const idFn = () => {
|
|
12
|
+
};
|
|
13
|
+
const useIsomorphicLayoutEffect = isRSC ? idFn : isSSR ? useEffect : useLayoutEffect;
|
|
11
14
|
const isChrome = typeof navigator !== "undefined" && /Chrome/.test(navigator.userAgent || "");
|
|
12
15
|
const isWebTouchable = isClient && "ontouchstart" in window;
|
|
13
16
|
const isTouchable = !isWeb || isWebTouchable;
|
|
@@ -16,6 +19,7 @@ export {
|
|
|
16
19
|
isChrome,
|
|
17
20
|
isClient,
|
|
18
21
|
isIOS,
|
|
22
|
+
isRSC,
|
|
19
23
|
isSSR,
|
|
20
24
|
isTouchable,
|
|
21
25
|
isWeb,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/constants/platform.ts"],
|
|
4
|
-
"sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web'\nexport const isWindowDefined = typeof window !== 'undefined'\nexport const isSSR = isWeb && !isWindowDefined\nexport const isClient = isWeb && isWindowDefined\nexport const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const isWebTouchable = isClient && 'ontouchstart' in window\nexport const isTouchable = !isWeb || isWebTouchable\n"],
|
|
5
|
-
"mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ,QAAQ,IAAI,mBAAmB;AAC7C,MAAM,kBAAkB,OAAO,WAAW;AAC1C,MAAM,QAAQ,SAAS,CAAC;AACxB,MAAM,WAAW,SAAS;
|
|
4
|
+
"sourcesContent": ["import { useEffect, useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = process.env.TAMAGUI_TARGET === 'web'\nexport const isWindowDefined = typeof window !== 'undefined'\nexport const isSSR = isWeb && !isWindowDefined\nexport const isClient = isWeb && isWindowDefined\n\nexport const isRSC = process.env.ENABLE_RSC\n ? // note this is statically analyzed so no funny business, just access it without optional chaining\n // @ts-ignore\n import.meta.env\n ? // @ts-ignore\n import.meta.env.SSR\n : false\n : false\n\nconst idFn = () => {}\nexport const useIsomorphicLayoutEffect = isRSC ? idFn : isSSR ? useEffect : useLayoutEffect\nexport const isChrome = typeof navigator !== 'undefined' && /Chrome/.test(navigator.userAgent || '')\nexport const isWebTouchable = isClient && 'ontouchstart' in window\nexport const isTouchable = !isWeb || isWebTouchable\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ,QAAQ,IAAI,mBAAmB;AAC7C,MAAM,kBAAkB,OAAO,WAAW;AAC1C,MAAM,QAAQ,SAAS,CAAC;AACxB,MAAM,WAAW,SAAS;AAE1B,MAAM,QAAQ,QAAQ,IAAI,aAG7B,YAAY,MAEV,YAAY,IAAI,MAChB,QACF;AAEJ,MAAM,OAAO,MAAM;AAAC;AACb,MAAM,4BAA4B,QAAQ,OAAO,QAAQ,YAAY;AACrE,MAAM,WAAW,OAAO,cAAc,eAAe,SAAS,KAAK,UAAU,aAAa,EAAE;AAC5F,MAAM,iBAAiB,YAAY,kBAAkB;AACrD,MAAM,cAAc,CAAC,SAAS;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
var _a, _b;
|
|
2
|
+
import { useLayoutEffect } from "react";
|
|
3
|
+
import { Platform } from "react-native";
|
|
4
|
+
const isAndroid = ((_a = Platform) == null ? void 0 : _a.OS) === "android";
|
|
5
|
+
const isIOS = ((_b = Platform) == null ? void 0 : _b.OS) === "ios";
|
|
6
|
+
const isWeb = false;
|
|
7
|
+
const isWindowDefined = false;
|
|
8
|
+
const isSSR = false;
|
|
9
|
+
const isClient = false;
|
|
10
|
+
const isRSC = false;
|
|
11
|
+
const useIsomorphicLayoutEffect = useLayoutEffect;
|
|
12
|
+
const isChrome = false;
|
|
13
|
+
const isWebTouchable = false;
|
|
14
|
+
const isTouchable = true;
|
|
15
|
+
export {
|
|
16
|
+
isAndroid,
|
|
17
|
+
isChrome,
|
|
18
|
+
isClient,
|
|
19
|
+
isIOS,
|
|
20
|
+
isRSC,
|
|
21
|
+
isSSR,
|
|
22
|
+
isTouchable,
|
|
23
|
+
isWeb,
|
|
24
|
+
isWebTouchable,
|
|
25
|
+
isWindowDefined,
|
|
26
|
+
useIsomorphicLayoutEffect
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=platform.native.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/constants/platform.native.ts"],
|
|
4
|
+
"sourcesContent": ["import { useLayoutEffect } from 'react'\nimport { Platform } from 'react-native'\n\nexport const isAndroid = Platform?.OS === 'android'\nexport const isIOS = Platform?.OS === 'ios'\nexport const isWeb = false\nexport const isWindowDefined = false\nexport const isSSR = false\nexport const isClient = false\nexport const isRSC = false\nexport const useIsomorphicLayoutEffect = useLayoutEffect\nexport const isChrome = false\nexport const isWebTouchable = false\nexport const isTouchable = true\n"],
|
|
5
|
+
"mappings": "AAAA;AAAA;AACA;AAEO,MAAM,YAAY,uCAAU,QAAO;AACnC,MAAM,QAAQ,uCAAU,QAAO;AAC/B,MAAM,QAAQ;AACd,MAAM,kBAAkB;AACxB,MAAM,QAAQ;AACd,MAAM,WAAW;AACjB,MAAM,QAAQ;AACd,MAAM,4BAA4B;AAClC,MAAM,WAAW;AACjB,MAAM,iBAAiB;AACvB,MAAM,cAAc;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -18,14 +18,12 @@ import React, {
|
|
|
18
18
|
forwardRef,
|
|
19
19
|
memo,
|
|
20
20
|
useCallback,
|
|
21
|
-
useContext
|
|
22
|
-
useRef,
|
|
23
|
-
useState
|
|
21
|
+
useContext
|
|
24
22
|
} from "react";
|
|
25
23
|
import { StyleSheet, Text, View } from "react-native";
|
|
26
|
-
import { getConfig, onConfiguredOnce } from "./
|
|
24
|
+
import { getConfig, onConfiguredOnce } from "./config";
|
|
27
25
|
import { stackDefaultStyles } from "./constants/constants";
|
|
28
|
-
import { isWeb, useIsomorphicLayoutEffect } from "./constants/platform";
|
|
26
|
+
import { isClient, isRSC, isWeb, useIsomorphicLayoutEffect } from "./constants/platform";
|
|
29
27
|
import { FontLanguageContext } from "./contexts/FontLanguageContext";
|
|
30
28
|
import { TextAncestorContext } from "./contexts/TextAncestorContext";
|
|
31
29
|
import { assignNativePropsToWeb } from "./helpers/assignNativePropsToWeb";
|
|
@@ -39,6 +37,7 @@ import { proxyThemeVariables } from "./helpers/proxyThemeVariables";
|
|
|
39
37
|
import { useFeatures } from "./hooks/useFeatures";
|
|
40
38
|
import { mediaState } from "./hooks/useMedia";
|
|
41
39
|
import { usePressable } from "./hooks/usePressable";
|
|
40
|
+
import { useServerRef, useServerState } from "./hooks/useServerHooks";
|
|
42
41
|
import { getThemeManager, useTheme } from "./hooks/useTheme";
|
|
43
42
|
import { usePressability } from "./vendor/Pressability";
|
|
44
43
|
import { Slot, mergeEvent } from "./views/Slot";
|
|
@@ -54,21 +53,16 @@ const defaultComponentState = Object.freeze({
|
|
|
54
53
|
});
|
|
55
54
|
const mouseUps = /* @__PURE__ */ new Set();
|
|
56
55
|
if (typeof document !== "undefined") {
|
|
57
|
-
|
|
56
|
+
const cancelTouches = () => {
|
|
58
57
|
mouseUps.forEach((x) => x());
|
|
59
58
|
mouseUps.clear();
|
|
60
|
-
}
|
|
61
|
-
document.addEventListener("
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
});
|
|
65
|
-
document.addEventListener("touchcancel", () => {
|
|
66
|
-
mouseUps.forEach((x) => x());
|
|
67
|
-
mouseUps.clear();
|
|
68
|
-
});
|
|
59
|
+
};
|
|
60
|
+
document.addEventListener("mouseup", cancelTouches);
|
|
61
|
+
document.addEventListener("touchend", cancelTouches);
|
|
62
|
+
document.addEventListener("touchcancel", cancelTouches);
|
|
69
63
|
}
|
|
70
64
|
function mergeShorthands({ defaultProps }, { shorthands }) {
|
|
71
|
-
for (const key
|
|
65
|
+
for (const key of Object.keys(defaultProps)) {
|
|
72
66
|
defaultProps[shorthands[key] || key] = defaultProps[key];
|
|
73
67
|
}
|
|
74
68
|
}
|
|
@@ -100,29 +94,14 @@ function createComponent(configIn, ParentComponent) {
|
|
|
100
94
|
} else {
|
|
101
95
|
props = propsIn;
|
|
102
96
|
}
|
|
103
|
-
const hostRef = useRef(null);
|
|
104
97
|
const { Component, isText, isZStack } = staticConfig;
|
|
105
98
|
const componentName = props.componentName || staticConfig.componentName;
|
|
106
99
|
const componentClassName = props.asChild ? "" : props.componentName ? `is_${props.componentName}` : defaultComponentClassName;
|
|
107
|
-
if (process.env.NODE_ENV === "development") {
|
|
108
|
-
if (props["debug"]) {
|
|
109
|
-
const name = `${componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]"}`;
|
|
110
|
-
const banner = `${name} ${propsIn["data-is"] || ""}`;
|
|
111
|
-
console.group(`%c \u{1F41B} ${banner}`, "background: yellow;");
|
|
112
|
-
console.log("props", propsIn);
|
|
113
|
-
console.log("ref", hostRef, "(click to view)");
|
|
114
|
-
if (props["debug"] === "break") {
|
|
115
|
-
debugger;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
100
|
const forceUpdate = useForceUpdate();
|
|
101
|
+
config = config || getConfig();
|
|
120
102
|
const theme = useTheme(props.theme, componentName, props, forceUpdate);
|
|
121
|
-
const states =
|
|
103
|
+
const states = useServerState(defaultComponentState);
|
|
122
104
|
const state = propsIn.forceStyle ? { ...states[0], [propsIn.forceStyle]: true } : states[0];
|
|
123
|
-
const setState = states[1];
|
|
124
|
-
const setStateShallow = createShallowUpdate(setState);
|
|
125
|
-
const languageContext = useContext(FontLanguageContext);
|
|
126
105
|
const shouldAvoidClasses = !!(props.animation && avoidClasses);
|
|
127
106
|
const shouldForcePseudo = !!propsIn.forceStyle;
|
|
128
107
|
const hasTextAncestor = !!(isWeb && isText ? useContext(TextAncestorContext) : false);
|
|
@@ -137,9 +116,28 @@ function createComponent(configIn, ParentComponent) {
|
|
|
137
116
|
hasTextAncestor,
|
|
138
117
|
resolveVariablesAs: "value"
|
|
139
118
|
};
|
|
140
|
-
const
|
|
119
|
+
const languageContext = isRSC ? null : useContext(FontLanguageContext);
|
|
120
|
+
const splitStyles = useSplitStyles(props, staticConfig, theme, splitStyleState, props.asChild ? null : initialSplitStyles == null ? void 0 : initialSplitStyles.classNames, languageContext || void 0, props["debug"]);
|
|
121
|
+
const hostRef = useServerRef(null);
|
|
122
|
+
const setState = states[1];
|
|
123
|
+
const setStateShallow = createShallowUpdate(setState);
|
|
124
|
+
if (process.env.NODE_ENV === "development") {
|
|
125
|
+
if (props["debug"]) {
|
|
126
|
+
const name = `${componentName || (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || "[Unnamed Component]"}`;
|
|
127
|
+
const type = staticConfig.isReactNativeWeb ? "rnw" : "tamagui";
|
|
128
|
+
const banner = `${name} ${propsIn["data-is"] || ""} ${type}`;
|
|
129
|
+
console.group(`%c \u{1F41B} ${banner}`, "background: yellow;");
|
|
130
|
+
console.log("props in", propsIn);
|
|
131
|
+
if (typeof window !== "undefined") {
|
|
132
|
+
console.log("ref", hostRef, "(click to view)");
|
|
133
|
+
}
|
|
134
|
+
if (props["debug"] === "break") {
|
|
135
|
+
debugger;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
141
139
|
const { viewProps: viewPropsIn, pseudos, medias, style, classNames } = splitStyles;
|
|
142
|
-
const useAnimations = (_a = tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
|
|
140
|
+
const useAnimations = (_a = tamaguiConfig == null ? void 0 : tamaguiConfig.animations) == null ? void 0 : _a.useAnimations;
|
|
143
141
|
const isAnimated = !!(useAnimations && props.animation);
|
|
144
142
|
const hasEnterStyle = !!props.enterStyle;
|
|
145
143
|
const animationFeatureStylesIn = props.animation ? { ...defaultNativeStyle, ...style } : null;
|
|
@@ -265,28 +263,30 @@ function createComponent(configIn, ParentComponent) {
|
|
|
265
263
|
} = nonTamaguiProps;
|
|
266
264
|
viewProps = webProps;
|
|
267
265
|
assignNativePropsToWeb(elementType, viewProps, nonTamaguiProps);
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
266
|
+
if (!isRSC) {
|
|
267
|
+
useElementLayout(hostRef, onLayout);
|
|
268
|
+
useResponderEvents(hostRef, {
|
|
269
|
+
onMoveShouldSetResponder,
|
|
270
|
+
onMoveShouldSetResponderCapture,
|
|
271
|
+
onResponderEnd,
|
|
272
|
+
onResponderGrant,
|
|
273
|
+
onResponderMove,
|
|
274
|
+
onResponderReject,
|
|
275
|
+
onResponderRelease,
|
|
276
|
+
onResponderStart,
|
|
277
|
+
onResponderTerminate,
|
|
278
|
+
onResponderTerminationRequest,
|
|
279
|
+
onScrollShouldSetResponder,
|
|
280
|
+
onScrollShouldSetResponderCapture,
|
|
281
|
+
onSelectionChangeShouldSetResponder,
|
|
282
|
+
onSelectionChangeShouldSetResponderCapture,
|
|
283
|
+
onStartShouldSetResponder,
|
|
284
|
+
onStartShouldSetResponderCapture
|
|
285
|
+
});
|
|
286
|
+
const platformMethodsRef = usePlatformMethods(viewProps);
|
|
287
|
+
const setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);
|
|
288
|
+
viewProps.ref = setRef;
|
|
289
|
+
}
|
|
290
290
|
if (props.href != void 0 && hrefAttrs != void 0) {
|
|
291
291
|
const { download, rel, target } = hrefAttrs;
|
|
292
292
|
if (download != null) {
|
|
@@ -329,14 +329,14 @@ function createComponent(configIn, ParentComponent) {
|
|
|
329
329
|
}
|
|
330
330
|
});
|
|
331
331
|
}
|
|
332
|
-
const internal =
|
|
332
|
+
const internal = useServerRef();
|
|
333
333
|
if (!internal.current) {
|
|
334
334
|
internal.current = {
|
|
335
335
|
isMounted: true
|
|
336
336
|
};
|
|
337
337
|
}
|
|
338
338
|
useIsomorphicLayoutEffect(() => {
|
|
339
|
-
if (
|
|
339
|
+
if (isClient && (hasEnterStyle || props.animation) && !state.mounted) {
|
|
340
340
|
setStateShallow({
|
|
341
341
|
mounted: true
|
|
342
342
|
});
|
|
@@ -363,7 +363,7 @@ function createComponent(configIn, ParentComponent) {
|
|
|
363
363
|
animationStyles ?? style,
|
|
364
364
|
medias
|
|
365
365
|
];
|
|
366
|
-
if (!animationStyles) {
|
|
366
|
+
if (!animationStyles && initialSplitStyles) {
|
|
367
367
|
const initPseudos = initialSplitStyles.pseudos;
|
|
368
368
|
const force = shouldForcePseudo;
|
|
369
369
|
!state.mounted && addPseudoToStyles(styles, initPseudos, pseudos, "enterStyle");
|
|
@@ -401,8 +401,13 @@ function createComponent(configIn, ParentComponent) {
|
|
|
401
401
|
className,
|
|
402
402
|
id: props.id
|
|
403
403
|
};
|
|
404
|
-
if (
|
|
405
|
-
viewProps.
|
|
404
|
+
if (process.env.NODE_ENV === "development") {
|
|
405
|
+
Object.keys(viewProps).forEach((key) => {
|
|
406
|
+
if (key.startsWith("data-")) {
|
|
407
|
+
viewProps.dataSet[key.replace("data-", "")] = viewProps[key];
|
|
408
|
+
delete viewProps[key];
|
|
409
|
+
}
|
|
410
|
+
});
|
|
406
411
|
}
|
|
407
412
|
} else {
|
|
408
413
|
viewProps.className = className;
|
|
@@ -411,7 +416,7 @@ function createComponent(configIn, ParentComponent) {
|
|
|
411
416
|
} else {
|
|
412
417
|
viewProps.style = styles;
|
|
413
418
|
}
|
|
414
|
-
const initialPseudos = initialSplitStyles.pseudos;
|
|
419
|
+
const initialPseudos = initialSplitStyles == null ? void 0 : initialSplitStyles.pseudos;
|
|
415
420
|
const attachPress = !!((pseudos == null ? void 0 : pseudos.pressStyle) || (initialPseudos == null ? void 0 : initialPseudos.pressStyle) || onPress || onPressOut || onPressIn || onClick);
|
|
416
421
|
const isHoverable = isWeb;
|
|
417
422
|
const attachHover = isHoverable && !!(pseudos && pseudos.hoverStyle || onHoverIn || onHoverOut || onMouseEnter || onMouseLeave);
|
|
@@ -428,7 +433,7 @@ function createComponent(configIn, ParentComponent) {
|
|
|
428
433
|
pressIn: false
|
|
429
434
|
});
|
|
430
435
|
}, []);
|
|
431
|
-
const events = shouldAttach ? {
|
|
436
|
+
const events = shouldAttach && !isRSC ? {
|
|
432
437
|
[pressOutKey]: attachPress ? (e) => {
|
|
433
438
|
unPress();
|
|
434
439
|
onPressOut == null ? void 0 : onPressOut(e);
|
|
@@ -524,7 +529,7 @@ function createComponent(configIn, ParentComponent) {
|
|
|
524
529
|
onPressOut
|
|
525
530
|
};
|
|
526
531
|
}
|
|
527
|
-
if (isWeb) {
|
|
532
|
+
if (!isRSC && isWeb) {
|
|
528
533
|
const [pressableProps] = usePressable(events ? {
|
|
529
534
|
disabled,
|
|
530
535
|
...hitSlop && {
|
|
@@ -554,8 +559,6 @@ function createComponent(configIn, ParentComponent) {
|
|
|
554
559
|
setStateShallow({ focus: false });
|
|
555
560
|
});
|
|
556
561
|
}
|
|
557
|
-
}
|
|
558
|
-
if (process.env.TAMAGUI_TARGET === "native") {
|
|
559
562
|
const pressability = usePressability(events);
|
|
560
563
|
if (attachPress && events) {
|
|
561
564
|
const dontComposePressabilityKeys = {
|
|
@@ -575,7 +578,7 @@ function createComponent(configIn, ParentComponent) {
|
|
|
575
578
|
if (process.env.TAMAGUI_TARGET === "web") {
|
|
576
579
|
const isAnimatedRNWView = isAnimated && typeof elementType !== "string";
|
|
577
580
|
const shouldWrapWithComponentTheme = isAnimatedRNWView && getReturnVariablesAs(props, splitStyleState) === "non-color-value";
|
|
578
|
-
const shouldWrapWithHover = events && attachHover;
|
|
581
|
+
const shouldWrapWithHover = Boolean(events || isRSC) && attachHover;
|
|
579
582
|
if (shouldWrapWithHover || shouldWrapWithComponentTheme) {
|
|
580
583
|
const themeClassName = shouldWrapWithComponentTheme ? `${theme.className}` : "";
|
|
581
584
|
const hoverClassName = shouldWrapWithHover ? "t_Hoverable" : "";
|
|
@@ -584,7 +587,7 @@ function createComponent(configIn, ParentComponent) {
|
|
|
584
587
|
style: {
|
|
585
588
|
display: "contents"
|
|
586
589
|
},
|
|
587
|
-
...shouldWrapWithHover && {
|
|
590
|
+
...events && shouldWrapWithHover && {
|
|
588
591
|
onMouseEnter: events.onMouseEnter,
|
|
589
592
|
onMouseLeave: events.onMouseLeave
|
|
590
593
|
}
|
|
@@ -593,7 +596,8 @@ function createComponent(configIn, ParentComponent) {
|
|
|
593
596
|
}
|
|
594
597
|
if (process.env.NODE_ENV === "development") {
|
|
595
598
|
if (props["debug"]) {
|
|
596
|
-
|
|
599
|
+
const element2 = typeof elementType === "string" ? elementType : "Component";
|
|
600
|
+
console.groupCollapsed(`render <${element2} /> with props`, viewProps);
|
|
597
601
|
for (const key in viewProps) {
|
|
598
602
|
console.log(key, viewProps[key]);
|
|
599
603
|
}
|
|
@@ -605,15 +609,14 @@ function createComponent(configIn, ParentComponent) {
|
|
|
605
609
|
console.groupEnd();
|
|
606
610
|
}
|
|
607
611
|
}
|
|
608
|
-
return features.elements.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, features.elements, content) : content;
|
|
612
|
+
return !isRSC && features.elements.length ? /* @__PURE__ */ React.createElement(React.Fragment, null, features.elements, content) : content;
|
|
609
613
|
});
|
|
610
614
|
if (staticConfig.componentName) {
|
|
611
615
|
component.displayName = staticConfig.componentName;
|
|
612
616
|
}
|
|
613
617
|
onConfiguredOnce((conf) => {
|
|
614
|
-
if (process.env.IS_STATIC === "is_static")
|
|
618
|
+
if (process.env.IS_STATIC === "is_static")
|
|
615
619
|
return;
|
|
616
|
-
}
|
|
617
620
|
tamaguiConfig = conf;
|
|
618
621
|
mergeShorthands(staticConfig, tamaguiConfig);
|
|
619
622
|
if (tamaguiConfig.animations) {
|
|
@@ -714,6 +717,7 @@ const Spacer = createComponent({
|
|
|
714
717
|
validStyles,
|
|
715
718
|
defaultProps: {
|
|
716
719
|
...stackDefaultStyles,
|
|
720
|
+
tag: "span",
|
|
717
721
|
size: true
|
|
718
722
|
},
|
|
719
723
|
variants: {
|