@tamagui/web 2.0.0-rc.3 → 2.0.0-rc.31
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/.turbo/turbo-build.log +2 -0
- package/.turbo/turbo-test$colon$web.log +15 -0
- package/dist/cjs/Tamagui.cjs +2 -2
- package/dist/cjs/Tamagui.native.js +2 -2
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withStableStyle.cjs +17 -6
- package/dist/cjs/_withStableStyle.native.js +18 -5
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/animationDriverTypes.test-d.cjs +11 -0
- package/dist/cjs/animationDriverTypes.test-d.native.js +11 -0
- package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -1
- package/dist/cjs/config.cjs +5 -1
- package/dist/cjs/config.native.js +5 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +2 -16
- package/dist/cjs/constants/constants.native.js +1 -14
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +92 -79
- package/dist/cjs/createComponent.native.js +112 -88
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createTamagui.cjs +38 -37
- package/dist/cjs/createTamagui.native.js +41 -37
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/eventHandling.cjs +1 -1
- package/dist/cjs/eventHandling.native.js +84 -57
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +44 -7
- package/dist/cjs/helpers/createDesignSystem.native.js +36 -6
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.cjs +8 -5
- package/dist/cjs/helpers/createMediaStyle.native.js +10 -7
- package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.cjs +11 -7
- package/dist/cjs/helpers/createStyledContext.native.js +50 -46
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +0 -2
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -2
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.cjs +2 -1
- package/dist/cjs/helpers/expandStyle.native.js +9 -0
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +8 -8
- package/dist/cjs/helpers/getDefaultProps.cjs +3 -9
- package/dist/cjs/helpers/getDefaultProps.native.js +3 -4
- package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/cjs/helpers/getGroupPropParts.cjs +2 -2
- package/dist/cjs/helpers/getGroupPropParts.native.js +2 -2
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +59 -28
- package/dist/cjs/helpers/getSplitStyles.native.js +114 -77
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +17 -9
- package/dist/cjs/helpers/getTokenForKey.cjs +127 -0
- package/dist/cjs/helpers/getTokenForKey.native.js +145 -0
- package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -0
- package/dist/cjs/helpers/insertStyleRule.cjs +1 -1
- package/dist/cjs/helpers/insertStyleRule.native.js +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +63 -16
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.cjs +35 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js +43 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -0
- package/dist/cjs/helpers/mediaState.cjs +45 -0
- package/dist/cjs/helpers/mediaState.native.js +50 -0
- package/dist/cjs/helpers/mediaState.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeColor.cjs +6 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +2 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +2 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeStyle.cjs +133 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js +151 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -0
- package/dist/cjs/{createTheme.cjs → helpers/parseOutlineShorthand.cjs} +5 -5
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +58 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -0
- package/dist/cjs/helpers/platformResolveValue.cjs +33 -0
- package/dist/cjs/helpers/platformResolveValue.native.js +62 -0
- package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -0
- package/dist/cjs/helpers/propMapper.cjs +26 -96
- package/dist/cjs/helpers/propMapper.native.js +61 -108
- package/dist/cjs/helpers/propMapper.native.js.map +1 -1
- package/dist/cjs/helpers/pseudoTransitions.cjs +65 -0
- package/dist/cjs/helpers/pseudoTransitions.native.js +72 -0
- package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -0
- package/dist/cjs/{constants/webToNativeProps.cjs → helpers/resolveAnimationDriver.cjs} +7 -7
- package/dist/cjs/{views/Stack.native.js → helpers/resolveAnimationDriver.native.js} +9 -14
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -0
- package/dist/cjs/{views/Stack.cjs → helpers/resolveCompoundTokens.cjs} +16 -13
- package/dist/cjs/helpers/resolveCompoundTokens.native.js +40 -0
- package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -0
- package/dist/cjs/helpers/skipProps.cjs +1 -0
- package/dist/cjs/helpers/skipProps.native.js +1 -0
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/themeable.cjs +4 -2
- package/dist/cjs/helpers/themeable.native.js +4 -2
- package/dist/cjs/helpers/themeable.native.js.map +1 -1
- package/dist/cjs/helpers/useRenderElement.native.js +1 -1
- package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +9 -5
- package/dist/cjs/hooks/useComponentState.native.js +10 -6
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +25 -48
- package/dist/cjs/hooks/useMedia.native.js +25 -55
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useProps.cjs +3 -2
- package/dist/cjs/hooks/useProps.native.js +3 -2
- package/dist/cjs/hooks/useProps.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +4 -0
- package/dist/cjs/hooks/useTheme.native.js +4 -0
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +30 -12
- package/dist/cjs/hooks/useThemeState.native.js +28 -12
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +9 -5
- package/dist/cjs/index.native.js +9 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +20 -33
- package/dist/cjs/views/TamaguiProvider.native.js +28 -39
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/TamaguiRoot.cjs +68 -0
- package/dist/cjs/{createTheme.native.js → views/TamaguiRoot.native.js} +8 -8
- package/dist/cjs/views/TamaguiRoot.native.js.map +1 -0
- package/dist/cjs/views/Text.cjs +2 -10
- package/dist/cjs/views/Text.native.js +0 -1
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +2 -0
- package/dist/cjs/views/Theme.native.js +2 -0
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.cjs +3 -1
- package/dist/cjs/views/ThemeProvider.native.js +2 -0
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
- package/dist/cjs/views/View.cjs +0 -2
- package/dist/cjs/views/View.native.js +0 -2
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/Tamagui.mjs +1 -1
- package/dist/esm/Tamagui.native.js +1 -1
- package/dist/esm/_withStableStyle.mjs +18 -7
- package/dist/esm/_withStableStyle.mjs.map +1 -1
- package/dist/esm/_withStableStyle.native.js +19 -6
- package/dist/esm/_withStableStyle.native.js.map +1 -1
- package/dist/esm/animationDriverTypes.test-d.mjs +11 -0
- package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -1
- package/dist/esm/animationDriverTypes.test-d.native.js +11 -0
- package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -1
- package/dist/esm/config.mjs +5 -1
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +5 -1
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/constants.mjs +2 -14
- package/dist/esm/constants/constants.mjs.map +1 -1
- package/dist/esm/constants/constants.native.js +1 -12
- package/dist/esm/constants/constants.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +91 -79
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +112 -89
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createTamagui.mjs +38 -37
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +41 -37
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/eventHandling.mjs +1 -1
- package/dist/esm/eventHandling.mjs.map +1 -1
- package/dist/esm/eventHandling.native.js +84 -57
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/createDesignSystem.mjs +43 -7
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createDesignSystem.native.js +35 -7
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.mjs +7 -4
- package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
- package/dist/esm/helpers/createMediaStyle.native.js +9 -6
- package/dist/esm/helpers/createMediaStyle.native.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs +12 -8
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js +11 -7
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +0 -2
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -2
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/expandStyle.mjs +0 -1
- package/dist/esm/helpers/expandStyle.mjs.map +1 -1
- package/dist/esm/helpers/expandStyle.native.js +9 -1
- package/dist/esm/helpers/expandStyle.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +8 -8
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getDefaultProps.mjs +3 -9
- package/dist/esm/helpers/getDefaultProps.mjs.map +1 -1
- package/dist/esm/helpers/getDefaultProps.native.js +3 -4
- package/dist/esm/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/esm/helpers/getGroupPropParts.mjs +1 -1
- package/dist/esm/helpers/getGroupPropParts.native.js +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +59 -29
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +113 -77
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +17 -9
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/getTokenForKey.mjs +101 -0
- package/dist/esm/helpers/getTokenForKey.mjs.map +1 -0
- package/dist/esm/helpers/getTokenForKey.native.js +116 -0
- package/dist/esm/helpers/getTokenForKey.native.js.map +1 -0
- package/dist/esm/helpers/insertStyleRule.mjs +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +63 -16
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.mjs +12 -0
- package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -0
- package/dist/esm/helpers/mediaObjectToString.native.js +17 -0
- package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -0
- package/dist/esm/helpers/mediaState.mjs +18 -0
- package/dist/esm/helpers/mediaState.mjs.map +1 -0
- package/dist/esm/helpers/mediaState.native.js +20 -0
- package/dist/esm/helpers/mediaState.native.js.map +1 -0
- package/dist/esm/helpers/normalizeColor.mjs +6 -1
- package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +2 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +2 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeStyle.mjs +110 -0
- package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
- package/dist/esm/helpers/parseNativeStyle.native.js +125 -0
- package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs +3 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.native.js +32 -0
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -0
- package/dist/esm/helpers/platformResolveValue.mjs +10 -0
- package/dist/esm/helpers/platformResolveValue.mjs.map +1 -0
- package/dist/esm/helpers/platformResolveValue.native.js +36 -0
- package/dist/esm/helpers/platformResolveValue.native.js.map +1 -0
- package/dist/esm/helpers/propMapper.mjs +24 -96
- package/dist/esm/helpers/propMapper.mjs.map +1 -1
- package/dist/esm/helpers/propMapper.native.js +60 -107
- package/dist/esm/helpers/propMapper.native.js.map +1 -1
- package/dist/esm/helpers/pseudoTransitions.mjs +41 -0
- package/dist/esm/helpers/pseudoTransitions.mjs.map +1 -0
- package/dist/esm/helpers/pseudoTransitions.native.js +45 -0
- package/dist/esm/helpers/pseudoTransitions.native.js.map +1 -0
- package/dist/esm/helpers/resolveAnimationDriver.mjs +5 -0
- package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -0
- package/dist/esm/helpers/resolveAnimationDriver.native.js +6 -0
- package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -0
- package/dist/esm/helpers/resolveCompoundTokens.mjs +14 -0
- package/dist/esm/helpers/resolveCompoundTokens.mjs.map +1 -0
- package/dist/esm/helpers/resolveCompoundTokens.native.js +14 -0
- package/dist/esm/helpers/resolveCompoundTokens.native.js.map +1 -0
- package/dist/esm/helpers/skipProps.mjs +1 -1
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +1 -1
- package/dist/esm/helpers/skipProps.native.js.map +1 -1
- package/dist/esm/helpers/themeable.mjs +4 -2
- package/dist/esm/helpers/themeable.mjs.map +1 -1
- package/dist/esm/helpers/themeable.native.js +4 -2
- package/dist/esm/helpers/themeable.native.js.map +1 -1
- package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
- package/dist/esm/helpers/useRenderElement.native.js +1 -1
- package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.native.js +0 -2
- package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs +0 -3
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +9 -5
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +10 -6
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +21 -39
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +22 -47
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +2 -1
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +2 -1
- package/dist/esm/hooks/useProps.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +4 -0
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +4 -0
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +30 -13
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +28 -12
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +67 -107
- package/dist/esm/index.js.map +1 -6
- package/dist/esm/index.mjs +5 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +5 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/insertFont.native.js +0 -1
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +21 -34
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +28 -40
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/TamaguiRoot.mjs +34 -0
- package/dist/esm/views/TamaguiRoot.mjs.map +1 -0
- package/dist/esm/views/TamaguiRoot.native.js +5 -0
- package/dist/esm/views/TamaguiRoot.native.js.map +1 -0
- package/dist/esm/views/Text.mjs +1 -9
- package/dist/esm/views/Text.mjs.map +1 -1
- package/dist/esm/views/Text.native.js +0 -1
- package/dist/esm/views/Text.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +2 -0
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +2 -0
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeProvider.mjs +3 -1
- package/dist/esm/views/ThemeProvider.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.native.js +2 -2
- package/dist/esm/views/ThemeProvider.native.js.map +1 -1
- package/dist/esm/views/View.mjs +0 -2
- package/dist/esm/views/View.mjs.map +1 -1
- package/dist/esm/views/View.native.js +0 -2
- package/dist/esm/views/View.native.js.map +1 -1
- package/inject-styles/index.cjs +2 -0
- package/inject-styles/index.js +2 -0
- package/inject-styles.cjs +1 -0
- package/package.json +21 -27
- package/src/Tamagui.ts +1 -1
- package/src/_withStableStyle.tsx +44 -16
- package/src/animationDriverTypes.test-d.ts +76 -0
- package/src/config.ts +5 -1
- package/src/constants/constants.ts +0 -17
- package/src/createComponent.tsx +224 -93
- package/src/createTamagui.ts +20 -11
- package/src/createVariable.ts +1 -1
- package/src/eventHandling.native.ts +80 -53
- package/src/eventHandling.ts +2 -1
- package/src/helpers/createDesignSystem.ts +77 -6
- package/src/helpers/createMediaStyle.ts +12 -4
- package/src/helpers/createStyledContext.tsx +27 -18
- package/src/helpers/defaultAnimationDriver.tsx +0 -2
- package/src/helpers/expandStyle.ts +11 -0
- package/src/helpers/getCSSStylesAtomic.ts +13 -14
- package/src/helpers/getDefaultProps.ts +4 -15
- package/src/helpers/getGroupPropParts.ts +1 -1
- package/src/helpers/getSplitStyles.tsx +174 -40
- package/src/helpers/getThemeCSSRules.ts +16 -14
- package/src/helpers/getTokenForKey.ts +223 -0
- package/src/helpers/insertStyleRule.tsx +1 -1
- package/src/helpers/mainThreadPressEvents.native.ts +118 -25
- package/src/helpers/mediaObjectToString.ts +30 -0
- package/src/helpers/mediaState.ts +32 -0
- package/src/helpers/normalizeColor.ts +12 -8
- package/src/helpers/normalizeValueWithProperty.ts +8 -1
- package/src/helpers/parseNativeStyle.ts +193 -0
- package/src/helpers/parseOutlineShorthand.native.ts +62 -0
- package/src/helpers/parseOutlineShorthand.ts +6 -0
- package/src/helpers/platformResolveValue.native.ts +72 -0
- package/src/helpers/platformResolveValue.ts +22 -0
- package/src/helpers/propMapper.ts +65 -221
- package/src/helpers/pseudoTransitions.ts +97 -0
- package/src/helpers/resolveAnimationDriver.ts +23 -0
- package/src/helpers/resolveCompoundTokens.ts +28 -0
- package/src/helpers/skipProps.ts +1 -0
- package/src/helpers/themeable.tsx +7 -5
- package/src/helpers/useRenderElement.tsx +7 -0
- package/src/hooks/useComponentState.ts +11 -8
- package/src/hooks/useMedia.tsx +28 -75
- package/src/hooks/useProps.tsx +2 -1
- package/src/hooks/useTheme.tsx +4 -0
- package/src/hooks/useThemeState.ts +57 -14
- package/src/index.ts +4 -4
- package/src/styled.tsx +2 -2
- package/src/types.tsx +205 -57
- package/src/views/TamaguiProvider.tsx +35 -54
- package/src/views/TamaguiRoot.native.tsx +9 -0
- package/src/views/TamaguiRoot.tsx +64 -0
- package/src/views/Text.tsx +1 -9
- package/src/views/Theme.tsx +2 -0
- package/src/views/ThemeProvider.tsx +3 -1
- package/src/views/View.tsx +0 -2
- package/tsconfig.json +44 -0
- package/tsconfig.test.json +9 -0
- package/types/_withStableStyle.d.ts +1 -1
- package/types/_withStableStyle.d.ts.map +1 -1
- package/types/config.d.ts.map +1 -1
- package/types/constants/constants.d.ts +0 -3
- package/types/constants/constants.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createVariable.d.ts +1 -1
- package/types/createVariable.d.ts.map +1 -1
- package/types/eventHandling.d.ts +1 -1
- package/types/eventHandling.d.ts.map +1 -1
- package/types/eventHandling.native.d.ts +2 -2
- package/types/eventHandling.native.d.ts.map +1 -1
- package/types/helpers/createDesignSystem.d.ts +5 -2
- package/types/helpers/createDesignSystem.d.ts.map +1 -1
- package/types/helpers/createMediaStyle.d.ts.map +1 -1
- package/types/helpers/createStyledContext.d.ts +1 -1
- package/types/helpers/createStyledContext.d.ts.map +1 -1
- package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
- package/types/helpers/expandStyle.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getDefaultProps.d.ts +1 -1
- package/types/helpers/getDefaultProps.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +2 -2
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/getTokenForKey.d.ts +6 -0
- package/types/helpers/getTokenForKey.d.ts.map +1 -0
- package/types/helpers/mainThreadPressEvents.native.d.ts +4 -5
- package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
- package/types/helpers/mediaObjectToString.d.ts +3 -0
- package/types/helpers/mediaObjectToString.d.ts.map +1 -0
- package/types/helpers/mediaState.d.ts +7 -0
- package/types/helpers/mediaState.d.ts.map +1 -0
- package/types/helpers/normalizeColor.d.ts +1 -1
- package/types/helpers/normalizeColor.d.ts.map +1 -1
- package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
- package/types/helpers/parseNativeStyle.d.ts +14 -0
- package/types/helpers/parseNativeStyle.d.ts.map +1 -0
- package/types/helpers/parseOutlineShorthand.d.ts +3 -0
- package/types/helpers/parseOutlineShorthand.d.ts.map +1 -0
- package/types/helpers/parseOutlineShorthand.native.d.ts +3 -0
- package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -0
- package/types/helpers/platformResolveValue.d.ts +6 -0
- package/types/helpers/platformResolveValue.d.ts.map +1 -0
- package/types/helpers/platformResolveValue.native.d.ts +7 -0
- package/types/helpers/platformResolveValue.native.d.ts.map +1 -0
- package/types/helpers/propMapper.d.ts +2 -2
- package/types/helpers/propMapper.d.ts.map +1 -1
- package/types/helpers/pseudoTransitions.d.ts +29 -0
- package/types/helpers/pseudoTransitions.d.ts.map +1 -0
- package/types/helpers/resolveAnimationDriver.d.ts +7 -0
- package/types/helpers/resolveAnimationDriver.d.ts.map +1 -0
- package/types/helpers/resolveCompoundTokens.d.ts +9 -0
- package/types/helpers/resolveCompoundTokens.d.ts.map +1 -0
- package/types/helpers/skipProps.d.ts +1 -0
- package/types/helpers/skipProps.d.ts.map +1 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/helpers/useRenderElement.d.ts.map +1 -1
- package/types/helpers/webPropsToSkip.native.d.ts +20 -20
- package/types/hooks/useComponentState.d.ts +2 -1
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +1 -6
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useProps.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 +5 -1
- package/types/index.d.ts.map +1 -1
- package/types/styled.d.ts +2 -2
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +105 -30
- package/types/types.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts +1 -4
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/TamaguiRoot.d.ts +15 -0
- package/types/views/TamaguiRoot.d.ts.map +1 -0
- package/types/views/TamaguiRoot.native.d.ts +7 -0
- package/types/views/TamaguiRoot.native.d.ts.map +1 -0
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeProvider.d.ts.map +1 -1
- package/types/views/View.d.ts.map +1 -1
- package/vitest.config.d.ts +3 -0
- package/vitest.config.d.ts.map +1 -0
- package/vitest.config.ts +14 -0
- package/dist/cjs/Tamagui.js +0 -56
- package/dist/cjs/Tamagui.js.map +0 -6
- package/dist/cjs/_withStableStyle.js +0 -33
- package/dist/cjs/_withStableStyle.js.map +0 -6
- package/dist/cjs/animationDriverTypes.test-d.js +0 -51
- package/dist/cjs/animationDriverTypes.test-d.js.map +0 -6
- package/dist/cjs/config.js +0 -109
- package/dist/cjs/config.js.map +0 -6
- package/dist/cjs/constants/accessibilityDirectMap.js +0 -25
- package/dist/cjs/constants/accessibilityDirectMap.js.map +0 -6
- package/dist/cjs/constants/constants.js +0 -43
- package/dist/cjs/constants/constants.js.map +0 -6
- package/dist/cjs/constants/isDevTools.js +0 -28
- package/dist/cjs/constants/isDevTools.js.map +0 -6
- package/dist/cjs/constants/webToNativeProps.js +0 -22
- package/dist/cjs/constants/webToNativeProps.js.map +0 -6
- package/dist/cjs/constants/webToNativeProps.native.js +0 -115
- package/dist/cjs/constants/webToNativeProps.native.js.map +0 -1
- package/dist/cjs/contexts/ComponentContext.js +0 -30
- package/dist/cjs/contexts/ComponentContext.js.map +0 -6
- package/dist/cjs/contexts/GroupContext.js +0 -22
- package/dist/cjs/contexts/GroupContext.js.map +0 -6
- package/dist/cjs/createComponent.js +0 -697
- package/dist/cjs/createComponent.js.map +0 -6
- package/dist/cjs/createFont.js +0 -53
- package/dist/cjs/createFont.js.map +0 -6
- package/dist/cjs/createShorthands.js +0 -23
- package/dist/cjs/createShorthands.js.map +0 -6
- package/dist/cjs/createTamagui.js +0 -190
- package/dist/cjs/createTamagui.js.map +0 -6
- package/dist/cjs/createTheme.js +0 -21
- package/dist/cjs/createTheme.js.map +0 -6
- package/dist/cjs/createTheme.native.js.map +0 -1
- package/dist/cjs/createTokens.js +0 -24
- package/dist/cjs/createTokens.js.map +0 -6
- package/dist/cjs/createVariable.js +0 -89
- package/dist/cjs/createVariable.js.map +0 -6
- package/dist/cjs/createVariables.js +0 -56
- package/dist/cjs/createVariables.js.map +0 -6
- package/dist/cjs/defaultComponentState.js +0 -38
- package/dist/cjs/defaultComponentState.js.map +0 -6
- package/dist/cjs/eventHandling.js +0 -41
- package/dist/cjs/eventHandling.js.map +0 -6
- package/dist/cjs/helpers/createDesignSystem.js +0 -120
- package/dist/cjs/helpers/createDesignSystem.js.map +0 -6
- package/dist/cjs/helpers/createMediaStyle.js +0 -74
- package/dist/cjs/helpers/createMediaStyle.js.map +0 -6
- package/dist/cjs/helpers/createStyledContext.js +0 -52
- package/dist/cjs/helpers/createStyledContext.js.map +0 -6
- package/dist/cjs/helpers/defaultAnimationDriver.js +0 -39
- package/dist/cjs/helpers/defaultAnimationDriver.js.map +0 -6
- package/dist/cjs/helpers/defaultOffset.js +0 -21
- package/dist/cjs/helpers/defaultOffset.js.map +0 -6
- package/dist/cjs/helpers/expandStyle.js +0 -73
- package/dist/cjs/helpers/expandStyle.js.map +0 -6
- package/dist/cjs/helpers/expandStyles.js +0 -34
- package/dist/cjs/helpers/expandStyles.js.map +0 -6
- package/dist/cjs/helpers/getCSSStylesAtomic.js +0 -156
- package/dist/cjs/helpers/getCSSStylesAtomic.js.map +0 -6
- package/dist/cjs/helpers/getDefaultProps.js +0 -31
- package/dist/cjs/helpers/getDefaultProps.js.map +0 -6
- package/dist/cjs/helpers/getDynamicVal.js +0 -62
- package/dist/cjs/helpers/getDynamicVal.js.map +0 -6
- package/dist/cjs/helpers/getExpandedShorthands.js +0 -34
- package/dist/cjs/helpers/getExpandedShorthands.js.map +0 -6
- package/dist/cjs/helpers/getFontLanguage.js +0 -21
- package/dist/cjs/helpers/getFontLanguage.js.map +0 -6
- package/dist/cjs/helpers/getGroupPropParts.js +0 -34
- package/dist/cjs/helpers/getGroupPropParts.js.map +0 -6
- package/dist/cjs/helpers/getShorthandValue.js +0 -23
- package/dist/cjs/helpers/getShorthandValue.js.map +0 -6
- package/dist/cjs/helpers/getSplitStyles.js +0 -630
- package/dist/cjs/helpers/getSplitStyles.js.map +0 -6
- package/dist/cjs/helpers/getThemeCSSRules.js +0 -89
- package/dist/cjs/helpers/getThemeCSSRules.js.map +0 -6
- package/dist/cjs/helpers/getVariantExtras.js +0 -59
- package/dist/cjs/helpers/getVariantExtras.js.map +0 -6
- package/dist/cjs/helpers/insertStyleRule.js +0 -196
- package/dist/cjs/helpers/insertStyleRule.js.map +0 -6
- package/dist/cjs/helpers/isActivePlatform.js +0 -31
- package/dist/cjs/helpers/isActivePlatform.js.map +0 -6
- package/dist/cjs/helpers/isActiveTheme.js +0 -24
- package/dist/cjs/helpers/isActiveTheme.js.map +0 -6
- package/dist/cjs/helpers/isObj.js +0 -21
- package/dist/cjs/helpers/isObj.js.map +0 -6
- package/dist/cjs/helpers/isTamaguiComponent.js +0 -24
- package/dist/cjs/helpers/isTamaguiComponent.js.map +0 -6
- package/dist/cjs/helpers/isTamaguiElement.js +0 -30
- package/dist/cjs/helpers/isTamaguiElement.js.map +0 -6
- package/dist/cjs/helpers/log.js +0 -33
- package/dist/cjs/helpers/log.js.map +0 -6
- package/dist/cjs/helpers/mainThreadPressEvents.js +0 -22
- package/dist/cjs/helpers/mainThreadPressEvents.js.map +0 -6
- package/dist/cjs/helpers/matchMedia.js +0 -34
- package/dist/cjs/helpers/matchMedia.js.map +0 -6
- package/dist/cjs/helpers/mergeProps.js +0 -55
- package/dist/cjs/helpers/mergeProps.js.map +0 -6
- package/dist/cjs/helpers/mergeRenderElementProps.js +0 -25
- package/dist/cjs/helpers/mergeRenderElementProps.js.map +0 -6
- package/dist/cjs/helpers/mergeSlotStyleProps.js +0 -29
- package/dist/cjs/helpers/mergeSlotStyleProps.js.map +0 -6
- package/dist/cjs/helpers/mergeVariants.js +0 -38
- package/dist/cjs/helpers/mergeVariants.js.map +0 -6
- package/dist/cjs/helpers/nativeOnlyProps.js +0 -55
- package/dist/cjs/helpers/nativeOnlyProps.js.map +0 -6
- package/dist/cjs/helpers/normalizeColor.js +0 -26
- package/dist/cjs/helpers/normalizeColor.js.map +0 -6
- package/dist/cjs/helpers/normalizeShadow.js +0 -40
- package/dist/cjs/helpers/normalizeShadow.js.map +0 -6
- package/dist/cjs/helpers/normalizeStyle.js +0 -36
- package/dist/cjs/helpers/normalizeStyle.js.map +0 -6
- package/dist/cjs/helpers/normalizeStylePropKeys.js +0 -21
- package/dist/cjs/helpers/normalizeStylePropKeys.js.map +0 -6
- package/dist/cjs/helpers/normalizeValueWithProperty.js +0 -32
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +0 -6
- package/dist/cjs/helpers/objectIdentityKey.js +0 -38
- package/dist/cjs/helpers/objectIdentityKey.js.map +0 -6
- package/dist/cjs/helpers/parseBorderShorthand.js +0 -22
- package/dist/cjs/helpers/parseBorderShorthand.js.map +0 -6
- package/dist/cjs/helpers/pointerEvents.js +0 -22
- package/dist/cjs/helpers/pointerEvents.js.map +0 -6
- package/dist/cjs/helpers/propMapper.js +0 -257
- package/dist/cjs/helpers/propMapper.js.map +0 -6
- package/dist/cjs/helpers/proxyThemeToParents.js +0 -40
- package/dist/cjs/helpers/proxyThemeToParents.js.map +0 -6
- package/dist/cjs/helpers/proxyThemeVariables.js +0 -31
- package/dist/cjs/helpers/proxyThemeVariables.js.map +0 -6
- package/dist/cjs/helpers/pseudoDescriptors.js +0 -72
- package/dist/cjs/helpers/pseudoDescriptors.js.map +0 -6
- package/dist/cjs/helpers/registerCSSVariable.js +0 -47
- package/dist/cjs/helpers/registerCSSVariable.js.map +0 -6
- package/dist/cjs/helpers/resolveRem.js +0 -27
- package/dist/cjs/helpers/resolveRem.js.map +0 -6
- package/dist/cjs/helpers/resolveSafeArea.js +0 -29
- package/dist/cjs/helpers/resolveSafeArea.js.map +0 -6
- package/dist/cjs/helpers/setElementProps.js +0 -24
- package/dist/cjs/helpers/setElementProps.js.map +0 -6
- package/dist/cjs/helpers/skipProps.js +0 -38
- package/dist/cjs/helpers/skipProps.js.map +0 -6
- package/dist/cjs/helpers/sortString.js +0 -21
- package/dist/cjs/helpers/sortString.js.map +0 -6
- package/dist/cjs/helpers/subscribeToContextGroup.js +0 -74
- package/dist/cjs/helpers/subscribeToContextGroup.js.map +0 -6
- package/dist/cjs/helpers/themeable.js +0 -56
- package/dist/cjs/helpers/themeable.js.map +0 -6
- package/dist/cjs/helpers/themes.js +0 -33
- package/dist/cjs/helpers/themes.js.map +0 -6
- package/dist/cjs/helpers/timer.js +0 -27
- package/dist/cjs/helpers/timer.js.map +0 -6
- package/dist/cjs/helpers/transformsToString.js +0 -33
- package/dist/cjs/helpers/transformsToString.js.map +0 -6
- package/dist/cjs/helpers/useRenderElement.js +0 -42
- package/dist/cjs/helpers/useRenderElement.js.map +0 -6
- package/dist/cjs/helpers/webPropsToSkip.js +0 -21
- package/dist/cjs/helpers/webPropsToSkip.js.map +0 -6
- package/dist/cjs/helpers/wrapStyleTags.js +0 -38
- package/dist/cjs/helpers/wrapStyleTags.js.map +0 -6
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.js +0 -23
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.js.map +0 -6
- package/dist/cjs/hooks/getThemeProxied.js +0 -56
- package/dist/cjs/hooks/getThemeProxied.js.map +0 -6
- package/dist/cjs/hooks/useComponentState.js +0 -96
- package/dist/cjs/hooks/useComponentState.js.map +0 -6
- package/dist/cjs/hooks/useDisableSSR.js +0 -24
- package/dist/cjs/hooks/useDisableSSR.js.map +0 -6
- package/dist/cjs/hooks/useIsTouchDevice.js +0 -22
- package/dist/cjs/hooks/useIsTouchDevice.js.map +0 -6
- package/dist/cjs/hooks/useMedia.js +0 -183
- package/dist/cjs/hooks/useMedia.js.map +0 -6
- package/dist/cjs/hooks/useProps.js +0 -106
- package/dist/cjs/hooks/useProps.js.map +0 -6
- package/dist/cjs/hooks/useTheme.js +0 -35
- package/dist/cjs/hooks/useTheme.js.map +0 -6
- package/dist/cjs/hooks/useThemeName.js +0 -25
- package/dist/cjs/hooks/useThemeName.js.map +0 -6
- package/dist/cjs/hooks/useThemeState.js +0 -218
- package/dist/cjs/hooks/useThemeState.js.map +0 -6
- package/dist/cjs/index.js +0 -108
- package/dist/cjs/index.js.map +0 -6
- package/dist/cjs/inject-styles.js +0 -28
- package/dist/cjs/inject-styles.js.map +0 -6
- package/dist/cjs/insertFont.js +0 -68
- package/dist/cjs/insertFont.js.map +0 -6
- package/dist/cjs/interfaces/CSSColorNames.js +0 -14
- package/dist/cjs/interfaces/CSSColorNames.js.map +0 -6
- package/dist/cjs/interfaces/GetRef.js +0 -14
- package/dist/cjs/interfaces/GetRef.js.map +0 -6
- package/dist/cjs/interfaces/RNExclusiveTypes.js +0 -14
- package/dist/cjs/interfaces/RNExclusiveTypes.js.map +0 -6
- package/dist/cjs/interfaces/TamaguiComponentEvents.js +0 -14
- package/dist/cjs/interfaces/TamaguiComponentEvents.js.map +0 -6
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.js +0 -14
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.js.map +0 -6
- package/dist/cjs/setupHooks.js +0 -25
- package/dist/cjs/setupHooks.js.map +0 -6
- package/dist/cjs/setupReactNative.js +0 -43
- package/dist/cjs/setupReactNative.js.map +0 -6
- package/dist/cjs/styled.js +0 -116
- package/dist/cjs/styled.js.map +0 -6
- package/dist/cjs/styledHtml.test-d.js +0 -136
- package/dist/cjs/styledHtml.test-d.js.map +0 -6
- package/dist/cjs/type-utils.js +0 -14
- package/dist/cjs/type-utils.js.map +0 -6
- package/dist/cjs/types.js +0 -14
- package/dist/cjs/types.js.map +0 -6
- package/dist/cjs/views/Configuration.js +0 -33
- package/dist/cjs/views/Configuration.js.map +0 -6
- package/dist/cjs/views/FontLanguage.js +0 -32
- package/dist/cjs/views/FontLanguage.js.map +0 -6
- package/dist/cjs/views/Slot.js +0 -55
- package/dist/cjs/views/Slot.js.map +0 -6
- package/dist/cjs/views/Stack.js +0 -27
- package/dist/cjs/views/Stack.js.map +0 -6
- package/dist/cjs/views/Stack.native.js.map +0 -1
- package/dist/cjs/views/TamaguiProvider.js +0 -93
- package/dist/cjs/views/TamaguiProvider.js.map +0 -6
- package/dist/cjs/views/Text.js +0 -59
- package/dist/cjs/views/Text.js.map +0 -6
- package/dist/cjs/views/Theme.js +0 -124
- package/dist/cjs/views/Theme.js.map +0 -6
- package/dist/cjs/views/ThemeDebug.js +0 -81
- package/dist/cjs/views/ThemeDebug.js.map +0 -6
- package/dist/cjs/views/ThemeProvider.js +0 -42
- package/dist/cjs/views/ThemeProvider.js.map +0 -6
- package/dist/cjs/views/View.js +0 -26
- package/dist/cjs/views/View.js.map +0 -6
- package/dist/esm/Tamagui.js +0 -35
- package/dist/esm/Tamagui.js.map +0 -6
- package/dist/esm/_withStableStyle.js +0 -12
- package/dist/esm/_withStableStyle.js.map +0 -6
- package/dist/esm/animationDriverTypes.test-d.js +0 -51
- package/dist/esm/animationDriverTypes.test-d.js.map +0 -6
- package/dist/esm/config.js +0 -94
- package/dist/esm/config.js.map +0 -6
- package/dist/esm/constants/accessibilityDirectMap.js +0 -9
- package/dist/esm/constants/accessibilityDirectMap.js.map +0 -6
- package/dist/esm/constants/constants.js +0 -27
- package/dist/esm/constants/constants.js.map +0 -6
- package/dist/esm/constants/isDevTools.js +0 -12
- package/dist/esm/constants/isDevTools.js.map +0 -6
- package/dist/esm/constants/webToNativeProps.js +0 -6
- package/dist/esm/constants/webToNativeProps.js.map +0 -6
- package/dist/esm/constants/webToNativeProps.mjs +0 -4
- package/dist/esm/constants/webToNativeProps.mjs.map +0 -1
- package/dist/esm/constants/webToNativeProps.native.js +0 -88
- package/dist/esm/constants/webToNativeProps.native.js.map +0 -1
- package/dist/esm/contexts/ComponentContext.js +0 -15
- package/dist/esm/contexts/ComponentContext.js.map +0 -6
- package/dist/esm/contexts/GroupContext.js +0 -6
- package/dist/esm/contexts/GroupContext.js.map +0 -6
- package/dist/esm/createComponent.js +0 -702
- package/dist/esm/createComponent.js.map +0 -6
- package/dist/esm/createFont.js +0 -37
- package/dist/esm/createFont.js.map +0 -6
- package/dist/esm/createShorthands.js +0 -7
- package/dist/esm/createShorthands.js.map +0 -6
- package/dist/esm/createTamagui.js +0 -189
- package/dist/esm/createTamagui.js.map +0 -6
- package/dist/esm/createTheme.js +0 -5
- package/dist/esm/createTheme.js.map +0 -6
- package/dist/esm/createTheme.mjs +0 -3
- package/dist/esm/createTheme.mjs.map +0 -1
- package/dist/esm/createTheme.native.js +0 -5
- package/dist/esm/createTheme.native.js.map +0 -1
- package/dist/esm/createTokens.js +0 -8
- package/dist/esm/createTokens.js.map +0 -6
- package/dist/esm/createVariable.js +0 -75
- package/dist/esm/createVariable.js.map +0 -6
- package/dist/esm/createVariables.js +0 -42
- package/dist/esm/createVariables.js.map +0 -6
- package/dist/esm/defaultComponentState.js +0 -22
- package/dist/esm/defaultComponentState.js.map +0 -6
- package/dist/esm/eventHandling.js +0 -25
- package/dist/esm/eventHandling.js.map +0 -6
- package/dist/esm/helpers/createDesignSystem.js +0 -107
- package/dist/esm/helpers/createDesignSystem.js.map +0 -6
- package/dist/esm/helpers/createMediaStyle.js +0 -60
- package/dist/esm/helpers/createMediaStyle.js.map +0 -6
- package/dist/esm/helpers/createStyledContext.js +0 -31
- package/dist/esm/helpers/createStyledContext.js.map +0 -6
- package/dist/esm/helpers/defaultAnimationDriver.js +0 -23
- package/dist/esm/helpers/defaultAnimationDriver.js.map +0 -6
- package/dist/esm/helpers/defaultOffset.js +0 -5
- package/dist/esm/helpers/defaultOffset.js.map +0 -6
- package/dist/esm/helpers/expandStyle.js +0 -59
- package/dist/esm/helpers/expandStyle.js.map +0 -6
- package/dist/esm/helpers/expandStyles.js +0 -19
- package/dist/esm/helpers/expandStyles.js.map +0 -6
- package/dist/esm/helpers/getCSSStylesAtomic.js +0 -147
- package/dist/esm/helpers/getCSSStylesAtomic.js.map +0 -6
- package/dist/esm/helpers/getDefaultProps.js +0 -15
- package/dist/esm/helpers/getDefaultProps.js.map +0 -6
- package/dist/esm/helpers/getDynamicVal.js +0 -46
- package/dist/esm/helpers/getDynamicVal.js.map +0 -6
- package/dist/esm/helpers/getExpandedShorthands.js +0 -18
- package/dist/esm/helpers/getExpandedShorthands.js.map +0 -6
- package/dist/esm/helpers/getFontLanguage.js +0 -5
- package/dist/esm/helpers/getFontLanguage.js.map +0 -6
- package/dist/esm/helpers/getGroupPropParts.js +0 -19
- package/dist/esm/helpers/getGroupPropParts.js.map +0 -6
- package/dist/esm/helpers/getShorthandValue.js +0 -7
- package/dist/esm/helpers/getShorthandValue.js.map +0 -6
- package/dist/esm/helpers/getSplitStyles.js +0 -650
- package/dist/esm/helpers/getSplitStyles.js.map +0 -6
- package/dist/esm/helpers/getThemeCSSRules.js +0 -78
- package/dist/esm/helpers/getThemeCSSRules.js.map +0 -6
- package/dist/esm/helpers/getVariantExtras.js +0 -44
- package/dist/esm/helpers/getVariantExtras.js.map +0 -6
- package/dist/esm/helpers/insertStyleRule.js +0 -181
- package/dist/esm/helpers/insertStyleRule.js.map +0 -6
- package/dist/esm/helpers/isActivePlatform.js +0 -15
- package/dist/esm/helpers/isActivePlatform.js.map +0 -6
- package/dist/esm/helpers/isActiveTheme.js +0 -8
- package/dist/esm/helpers/isActiveTheme.js.map +0 -6
- package/dist/esm/helpers/isObj.js +0 -5
- package/dist/esm/helpers/isObj.js.map +0 -6
- package/dist/esm/helpers/isTamaguiComponent.js +0 -8
- package/dist/esm/helpers/isTamaguiComponent.js.map +0 -6
- package/dist/esm/helpers/isTamaguiElement.js +0 -7
- package/dist/esm/helpers/isTamaguiElement.js.map +0 -6
- package/dist/esm/helpers/log.js +0 -17
- package/dist/esm/helpers/log.js.map +0 -6
- package/dist/esm/helpers/mainThreadPressEvents.js +0 -6
- package/dist/esm/helpers/mainThreadPressEvents.js.map +0 -6
- package/dist/esm/helpers/matchMedia.js +0 -18
- package/dist/esm/helpers/matchMedia.js.map +0 -6
- package/dist/esm/helpers/mergeProps.js +0 -39
- package/dist/esm/helpers/mergeProps.js.map +0 -6
- package/dist/esm/helpers/mergeRenderElementProps.js +0 -9
- package/dist/esm/helpers/mergeRenderElementProps.js.map +0 -6
- package/dist/esm/helpers/mergeSlotStyleProps.js +0 -14
- package/dist/esm/helpers/mergeSlotStyleProps.js.map +0 -6
- package/dist/esm/helpers/mergeVariants.js +0 -22
- package/dist/esm/helpers/mergeVariants.js.map +0 -6
- package/dist/esm/helpers/nativeOnlyProps.js +0 -39
- package/dist/esm/helpers/nativeOnlyProps.js.map +0 -6
- package/dist/esm/helpers/normalizeColor.js +0 -10
- package/dist/esm/helpers/normalizeColor.js.map +0 -6
- package/dist/esm/helpers/normalizeShadow.js +0 -24
- package/dist/esm/helpers/normalizeShadow.js.map +0 -6
- package/dist/esm/helpers/normalizeStyle.js +0 -24
- package/dist/esm/helpers/normalizeStyle.js.map +0 -6
- package/dist/esm/helpers/normalizeStylePropKeys.js +0 -5
- package/dist/esm/helpers/normalizeStylePropKeys.js.map +0 -6
- package/dist/esm/helpers/normalizeValueWithProperty.js +0 -17
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +0 -6
- package/dist/esm/helpers/objectIdentityKey.js +0 -22
- package/dist/esm/helpers/objectIdentityKey.js.map +0 -6
- package/dist/esm/helpers/parseBorderShorthand.js +0 -6
- package/dist/esm/helpers/parseBorderShorthand.js.map +0 -6
- package/dist/esm/helpers/pointerEvents.js +0 -6
- package/dist/esm/helpers/pointerEvents.js.map +0 -6
- package/dist/esm/helpers/propMapper.js +0 -251
- package/dist/esm/helpers/propMapper.js.map +0 -6
- package/dist/esm/helpers/proxyThemeToParents.js +0 -24
- package/dist/esm/helpers/proxyThemeToParents.js.map +0 -6
- package/dist/esm/helpers/proxyThemeVariables.js +0 -15
- package/dist/esm/helpers/proxyThemeVariables.js.map +0 -6
- package/dist/esm/helpers/pseudoDescriptors.js +0 -56
- package/dist/esm/helpers/pseudoDescriptors.js.map +0 -6
- package/dist/esm/helpers/registerCSSVariable.js +0 -31
- package/dist/esm/helpers/registerCSSVariable.js.map +0 -6
- package/dist/esm/helpers/resolveRem.js +0 -11
- package/dist/esm/helpers/resolveRem.js.map +0 -6
- package/dist/esm/helpers/resolveSafeArea.js +0 -13
- package/dist/esm/helpers/resolveSafeArea.js.map +0 -6
- package/dist/esm/helpers/setElementProps.js +0 -8
- package/dist/esm/helpers/setElementProps.js.map +0 -6
- package/dist/esm/helpers/skipProps.js +0 -23
- package/dist/esm/helpers/skipProps.js.map +0 -6
- package/dist/esm/helpers/sortString.js +0 -5
- package/dist/esm/helpers/sortString.js.map +0 -6
- package/dist/esm/helpers/subscribeToContextGroup.js +0 -59
- package/dist/esm/helpers/subscribeToContextGroup.js.map +0 -6
- package/dist/esm/helpers/themeable.js +0 -35
- package/dist/esm/helpers/themeable.js.map +0 -6
- package/dist/esm/helpers/themes.js +0 -17
- package/dist/esm/helpers/themes.js.map +0 -6
- package/dist/esm/helpers/timer.js +0 -11
- package/dist/esm/helpers/timer.js.map +0 -6
- package/dist/esm/helpers/transformsToString.js +0 -17
- package/dist/esm/helpers/transformsToString.js.map +0 -6
- package/dist/esm/helpers/useRenderElement.js +0 -28
- package/dist/esm/helpers/useRenderElement.js.map +0 -6
- package/dist/esm/helpers/webPropsToSkip.js +0 -5
- package/dist/esm/helpers/webPropsToSkip.js.map +0 -6
- package/dist/esm/helpers/wrapStyleTags.js +0 -23
- package/dist/esm/helpers/wrapStyleTags.js.map +0 -6
- package/dist/esm/hooks/doesRootSchemeMatchSystem.js +0 -7
- package/dist/esm/hooks/doesRootSchemeMatchSystem.js.map +0 -6
- package/dist/esm/hooks/getThemeProxied.js +0 -44
- package/dist/esm/hooks/getThemeProxied.js.map +0 -6
- package/dist/esm/hooks/useComponentState.js +0 -91
- package/dist/esm/hooks/useComponentState.js.map +0 -6
- package/dist/esm/hooks/useDisableSSR.js +0 -8
- package/dist/esm/hooks/useDisableSSR.js.map +0 -6
- package/dist/esm/hooks/useIsTouchDevice.js +0 -7
- package/dist/esm/hooks/useIsTouchDevice.js.map +0 -6
- package/dist/esm/hooks/useMedia.js +0 -172
- package/dist/esm/hooks/useMedia.js.map +0 -6
- package/dist/esm/hooks/useProps.js +0 -92
- package/dist/esm/hooks/useProps.js.map +0 -6
- package/dist/esm/hooks/useTheme.js +0 -21
- package/dist/esm/hooks/useTheme.js.map +0 -6
- package/dist/esm/hooks/useThemeName.js +0 -9
- package/dist/esm/hooks/useThemeName.js.map +0 -6
- package/dist/esm/hooks/useThemeState.js +0 -212
- package/dist/esm/hooks/useThemeState.js.map +0 -6
- package/dist/esm/inject-styles.js +0 -12
- package/dist/esm/inject-styles.js.map +0 -6
- package/dist/esm/insertFont.js +0 -56
- package/dist/esm/insertFont.js.map +0 -6
- package/dist/esm/interfaces/CSSColorNames.js +0 -1
- package/dist/esm/interfaces/CSSColorNames.js.map +0 -6
- package/dist/esm/interfaces/GetRef.js +0 -1
- package/dist/esm/interfaces/GetRef.js.map +0 -6
- package/dist/esm/interfaces/RNExclusiveTypes.js +0 -1
- package/dist/esm/interfaces/RNExclusiveTypes.js.map +0 -6
- package/dist/esm/interfaces/TamaguiComponentEvents.js +0 -1
- package/dist/esm/interfaces/TamaguiComponentEvents.js.map +0 -6
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.js +0 -1
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.js.map +0 -6
- package/dist/esm/setupHooks.js +0 -9
- package/dist/esm/setupHooks.js.map +0 -6
- package/dist/esm/setupReactNative.js +0 -27
- package/dist/esm/setupReactNative.js.map +0 -6
- package/dist/esm/styled.js +0 -102
- package/dist/esm/styled.js.map +0 -6
- package/dist/esm/styledHtml.test-d.js +0 -137
- package/dist/esm/styledHtml.test-d.js.map +0 -6
- package/dist/esm/type-utils.js +0 -1
- package/dist/esm/type-utils.js.map +0 -6
- package/dist/esm/types.js +0 -1
- package/dist/esm/types.js.map +0 -6
- package/dist/esm/views/Configuration.js +0 -12
- package/dist/esm/views/Configuration.js.map +0 -6
- package/dist/esm/views/FontLanguage.js +0 -16
- package/dist/esm/views/FontLanguage.js.map +0 -6
- package/dist/esm/views/Slot.js +0 -43
- package/dist/esm/views/Slot.js.map +0 -6
- package/dist/esm/views/Stack.js +0 -13
- package/dist/esm/views/Stack.js.map +0 -6
- package/dist/esm/views/Stack.mjs +0 -11
- package/dist/esm/views/Stack.mjs.map +0 -1
- package/dist/esm/views/Stack.native.js +0 -11
- package/dist/esm/views/Stack.native.js.map +0 -1
- package/dist/esm/views/TamaguiProvider.js +0 -77
- package/dist/esm/views/TamaguiProvider.js.map +0 -6
- package/dist/esm/views/Text.js +0 -44
- package/dist/esm/views/Text.js.map +0 -6
- package/dist/esm/views/Theme.js +0 -110
- package/dist/esm/views/Theme.js.map +0 -6
- package/dist/esm/views/ThemeDebug.js +0 -69
- package/dist/esm/views/ThemeDebug.js.map +0 -6
- package/dist/esm/views/ThemeProvider.js +0 -31
- package/dist/esm/views/ThemeProvider.js.map +0 -6
- package/dist/esm/views/View.js +0 -12
- package/dist/esm/views/View.js.map +0 -6
- package/types/constants/webToNativeProps.d.ts.map +0 -1
- package/types/constants/webToNativeProps.native.d.ts.map +0 -1
- package/types/createTheme.d.ts.map +0 -1
- package/types/helpers/expandStyle.native.d.ts.map +0 -1
- package/types/helpers/propMapper.native.d.ts.map +0 -1
- package/types/views/Stack.d.ts.map +0 -1
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
StyleObjectProperty,
|
|
11
11
|
StyleObjectPseudo,
|
|
12
12
|
StyleObjectRules,
|
|
13
|
+
nonAnimatableStyleProps,
|
|
13
14
|
stylePropsText,
|
|
14
15
|
stylePropsTransform,
|
|
15
16
|
tokenCategories,
|
|
@@ -22,12 +23,12 @@ import { isDevTools } from '../constants/isDevTools'
|
|
|
22
23
|
import {
|
|
23
24
|
getMediaImportanceIfMoreImportant,
|
|
24
25
|
getMediaKey,
|
|
25
|
-
mediaState as globalMediaState,
|
|
26
26
|
mediaKeyMatch,
|
|
27
|
-
mediaQueryConfig,
|
|
28
27
|
} from '../hooks/useMedia'
|
|
28
|
+
import { mediaState as globalMediaState, mediaQueryConfig } from './mediaState'
|
|
29
29
|
import type {
|
|
30
30
|
AllGroupContexts,
|
|
31
|
+
AnimationDriver,
|
|
31
32
|
ClassNamesObject,
|
|
32
33
|
ComponentContextI,
|
|
33
34
|
DebugProp,
|
|
@@ -95,7 +96,9 @@ type StyleSplitter = (
|
|
|
95
96
|
// web-only
|
|
96
97
|
elementType?: string,
|
|
97
98
|
startedUnhydrated?: boolean,
|
|
98
|
-
debug?: DebugProp
|
|
99
|
+
debug?: DebugProp,
|
|
100
|
+
// resolved animation driver (respects animatedBy prop)
|
|
101
|
+
animationDriver?: AnimationDriver | null
|
|
99
102
|
) => null | GetStyleResult
|
|
100
103
|
|
|
101
104
|
export const PROP_SPLIT = '-'
|
|
@@ -114,7 +117,7 @@ function normalizeGroupKey(
|
|
|
114
117
|
(plen === 3 && pseudoPriorities[parts[parts.length - 1]])
|
|
115
118
|
) {
|
|
116
119
|
const name = parts[1]
|
|
117
|
-
if (groupContext && !groupContext[name]) {
|
|
120
|
+
if (name !== 'true' && groupContext && !groupContext[name]) {
|
|
118
121
|
return key.replace('$group-', '$group-true-')
|
|
119
122
|
}
|
|
120
123
|
}
|
|
@@ -162,10 +165,15 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
162
165
|
groupContext,
|
|
163
166
|
elementType,
|
|
164
167
|
startedUnhydrated,
|
|
165
|
-
debug
|
|
168
|
+
debug,
|
|
169
|
+
animationDriver
|
|
166
170
|
) => {
|
|
167
171
|
conf = conf || getConfig()
|
|
168
|
-
|
|
172
|
+
// use passed animationDriver or fall back to context/config
|
|
173
|
+
const driver =
|
|
174
|
+
animationDriver ||
|
|
175
|
+
componentContext?.animationDriver ||
|
|
176
|
+
(conf.animations as AnimationDriver)
|
|
169
177
|
|
|
170
178
|
if (props.passThrough) {
|
|
171
179
|
return null
|
|
@@ -175,7 +183,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
175
183
|
if (
|
|
176
184
|
isWeb &&
|
|
177
185
|
styleProps.isAnimated &&
|
|
178
|
-
|
|
186
|
+
driver?.isReactNative &&
|
|
179
187
|
!styleProps.noNormalize
|
|
180
188
|
) {
|
|
181
189
|
styleProps.noNormalize = 'values'
|
|
@@ -216,7 +224,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
216
224
|
staticConfig.validStyles ||
|
|
217
225
|
(staticConfig.isText || staticConfig.isInput ? stylePropsText : validStylesView)
|
|
218
226
|
|
|
219
|
-
if (
|
|
227
|
+
if (
|
|
228
|
+
process.env.NODE_ENV === 'development' &&
|
|
229
|
+
(debug === 'profile' || (globalThis as any).time)
|
|
230
|
+
) {
|
|
220
231
|
// @ts-expect-error
|
|
221
232
|
time`split-styles-setup`
|
|
222
233
|
}
|
|
@@ -237,6 +248,8 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
237
248
|
viewProps,
|
|
238
249
|
context: componentContext,
|
|
239
250
|
debug,
|
|
251
|
+
// resolved animation driver (respects animatedBy prop)
|
|
252
|
+
animationDriver: driver,
|
|
240
253
|
}
|
|
241
254
|
|
|
242
255
|
// only used by compiler
|
|
@@ -254,7 +267,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
254
267
|
}
|
|
255
268
|
}
|
|
256
269
|
|
|
257
|
-
if (
|
|
270
|
+
if (
|
|
271
|
+
process.env.NODE_ENV === 'development' &&
|
|
272
|
+
(debug === 'profile' || (globalThis as any).time)
|
|
273
|
+
) {
|
|
258
274
|
// @ts-expect-error
|
|
259
275
|
time`style-state`
|
|
260
276
|
}
|
|
@@ -289,7 +305,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
289
305
|
continue
|
|
290
306
|
}
|
|
291
307
|
|
|
292
|
-
if (
|
|
308
|
+
if (
|
|
309
|
+
process.env.NODE_ENV === 'development' &&
|
|
310
|
+
(debug === 'profile' || (globalThis as any).time)
|
|
311
|
+
) {
|
|
293
312
|
// @ts-expect-error
|
|
294
313
|
time`before-prop-${keyInit}`
|
|
295
314
|
}
|
|
@@ -351,7 +370,17 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
351
370
|
addStyleToInsertRules(rulesToInsert, containerCSS)
|
|
352
371
|
}
|
|
353
372
|
}
|
|
354
|
-
|
|
373
|
+
// transition prop is skipped when it's a named animation (e.g. 'quick')
|
|
374
|
+
// but raw CSS values (from $platform-web) should pass through as style
|
|
375
|
+
if (
|
|
376
|
+
keyInit === 'transition' &&
|
|
377
|
+
typeof valInit === 'string' &&
|
|
378
|
+
!driver?.animations?.[valInit]
|
|
379
|
+
) {
|
|
380
|
+
// not a known animation name, treat as raw CSS
|
|
381
|
+
} else {
|
|
382
|
+
continue
|
|
383
|
+
}
|
|
355
384
|
}
|
|
356
385
|
|
|
357
386
|
let isValidStyleKeyInit = isValidStyleKey(keyInit, validStyles, accept)
|
|
@@ -409,7 +438,16 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
409
438
|
}
|
|
410
439
|
|
|
411
440
|
if (keyInit === 'testID') {
|
|
412
|
-
|
|
441
|
+
if (isReactNative) {
|
|
442
|
+
viewProps.testID = valInit
|
|
443
|
+
} else {
|
|
444
|
+
viewProps['data-testid'] = valInit
|
|
445
|
+
// also keep testID when using RN animation driver (Animated.View
|
|
446
|
+
// from react-native-web only forwards testID, not data-testid)
|
|
447
|
+
if (styleProps.isAnimated && driver?.isReactNative) {
|
|
448
|
+
viewProps.testID = valInit
|
|
449
|
+
}
|
|
450
|
+
}
|
|
413
451
|
continue
|
|
414
452
|
}
|
|
415
453
|
|
|
@@ -515,7 +553,14 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
515
553
|
|
|
516
554
|
// after shouldPassThrough
|
|
517
555
|
if (!noSkip) {
|
|
518
|
-
if (
|
|
556
|
+
if (
|
|
557
|
+
keyInit in skipProps &&
|
|
558
|
+
!(
|
|
559
|
+
keyInit === 'transition' &&
|
|
560
|
+
typeof valInit === 'string' &&
|
|
561
|
+
!driver?.animations?.[valInit]
|
|
562
|
+
)
|
|
563
|
+
) {
|
|
519
564
|
if (process.env.NODE_ENV === 'development' && debug === 'verbose') {
|
|
520
565
|
console.groupEnd()
|
|
521
566
|
}
|
|
@@ -763,12 +808,9 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
763
808
|
const priority = mediaStylesSeen
|
|
764
809
|
mediaStylesSeen += 1
|
|
765
810
|
|
|
766
|
-
// for theme media ($theme-light, $theme-dark),
|
|
767
|
-
//
|
|
768
|
-
|
|
769
|
-
shouldDoClasses || (isWeb && isMedia === 'theme')
|
|
770
|
-
|
|
771
|
-
if (shouldDoClassesForThisMedia) {
|
|
811
|
+
// for theme media ($theme-light, $theme-dark), generate CSS classes for proper SSR
|
|
812
|
+
// when noClass is set (inline animation drivers), de-opt to inline styles so the
|
|
813
|
+
if (shouldDoClasses) {
|
|
772
814
|
const mediaStyle = getSubStyle(styleState, key, val, false)
|
|
773
815
|
const mediaStyles = getCSSStylesAtomic(mediaStyle)
|
|
774
816
|
|
|
@@ -978,6 +1020,14 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
978
1020
|
|
|
979
1021
|
const mediaOriginalValues = styleOriginalValues.get(mediaStyle)
|
|
980
1022
|
|
|
1023
|
+
// extract transition from group pseudo styles (e.g., $group-scenario4-hover.transition)
|
|
1024
|
+
if (isGroupMedia && mediaStyle.transition) {
|
|
1025
|
+
styleState.pseudoTransitions ||= {}
|
|
1026
|
+
styleState.pseudoTransitions[
|
|
1027
|
+
`$${mediaKeyShort}` as keyof typeof styleState.pseudoTransitions
|
|
1028
|
+
] = mediaStyle.transition as any
|
|
1029
|
+
}
|
|
1030
|
+
|
|
981
1031
|
function mergeMediaStyle(key: string, val: any, originalVal?: any) {
|
|
982
1032
|
styleState.style ||= {}
|
|
983
1033
|
const didMerge = mergeMediaByImportance(
|
|
@@ -1044,7 +1094,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1044
1094
|
}
|
|
1045
1095
|
} // end prop loop
|
|
1046
1096
|
|
|
1047
|
-
if (
|
|
1097
|
+
if (
|
|
1098
|
+
process.env.NODE_ENV === 'development' &&
|
|
1099
|
+
(debug === 'profile' || (globalThis as any).time)
|
|
1100
|
+
) {
|
|
1048
1101
|
// @ts-expect-error
|
|
1049
1102
|
time`split-styles-propsend`
|
|
1050
1103
|
}
|
|
@@ -1059,7 +1112,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1059
1112
|
|
|
1060
1113
|
if (!styleProps.noExpand && !styleProps.noMergeStyle) {
|
|
1061
1114
|
// shouldn't this be better? but breaks some tests weirdly, need to check
|
|
1062
|
-
if (isWeb && (isReactNative ?
|
|
1115
|
+
if (isWeb && (isReactNative ? driver?.inputStyle !== 'css' : true)) {
|
|
1063
1116
|
styleToCSS(styleState.style)
|
|
1064
1117
|
}
|
|
1065
1118
|
}
|
|
@@ -1110,7 +1163,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1110
1163
|
!styleProps.noNormalize &&
|
|
1111
1164
|
!staticConfig.isReactNative &&
|
|
1112
1165
|
!staticConfig.isHOC &&
|
|
1113
|
-
(!styleProps.isAnimated ||
|
|
1166
|
+
(!styleProps.isAnimated || driver?.inputStyle === 'css')
|
|
1114
1167
|
|
|
1115
1168
|
if (shouldStringifyTransforms && Array.isArray(styleState.style?.transform)) {
|
|
1116
1169
|
styleState.style.transform = transformsToString(styleState.style!.transform) as any
|
|
@@ -1129,16 +1182,20 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1129
1182
|
|
|
1130
1183
|
for (const atomicStyle of atomic) {
|
|
1131
1184
|
const [key, value, identifier] = atomicStyle
|
|
1185
|
+
|
|
1132
1186
|
const isAnimatedAndTransitionOnly =
|
|
1133
1187
|
styleProps.isAnimated &&
|
|
1134
1188
|
styleProps.noClass &&
|
|
1135
1189
|
props.animateOnly?.includes(key)
|
|
1136
1190
|
|
|
1137
|
-
//
|
|
1138
|
-
//
|
|
1191
|
+
// animateOnly properties should always use className on server and initial
|
|
1192
|
+
// client render to avoid hydration mismatch (server has isAnimated=false but
|
|
1193
|
+
// client has isAnimated=true for CSS driver, causing different style output)
|
|
1139
1194
|
const nonAnimatedTransitionOnly =
|
|
1140
1195
|
!isAnimatedAndTransitionOnly &&
|
|
1141
1196
|
!styleProps.isAnimated &&
|
|
1197
|
+
isClient &&
|
|
1198
|
+
driver?.outputStyle === 'css' &&
|
|
1142
1199
|
props.animateOnly?.includes(key)
|
|
1143
1200
|
|
|
1144
1201
|
if (isAnimatedAndTransitionOnly) {
|
|
@@ -1167,6 +1224,38 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1167
1224
|
}
|
|
1168
1225
|
}
|
|
1169
1226
|
}
|
|
1227
|
+
|
|
1228
|
+
// when noClass is true (inline animation driver) extract non-animatable
|
|
1229
|
+
// base styles to atomic CSS classNames so the driver doesn't manage them
|
|
1230
|
+
// skip for RNW animation drivers since their AnimatedView doesn't forward classNames
|
|
1231
|
+
if (
|
|
1232
|
+
!styleProps.noMergeStyle &&
|
|
1233
|
+
styleState.style &&
|
|
1234
|
+
!shouldDoClasses &&
|
|
1235
|
+
styleProps.isAnimated &&
|
|
1236
|
+
!driver?.isReactNative
|
|
1237
|
+
) {
|
|
1238
|
+
if (!styleState.style['$$css']) {
|
|
1239
|
+
const toConvert: Record<string, any> = {}
|
|
1240
|
+
let hasProps = false
|
|
1241
|
+
const animateOnly = props.animateOnly as string[] | undefined
|
|
1242
|
+
for (const key in styleState.style) {
|
|
1243
|
+
if (key in nonAnimatableStyleProps) {
|
|
1244
|
+
toConvert[key] = styleState.style[key]
|
|
1245
|
+
delete styleState.style[key]
|
|
1246
|
+
hasProps = true
|
|
1247
|
+
}
|
|
1248
|
+
}
|
|
1249
|
+
if (hasProps) {
|
|
1250
|
+
const atomic = getCSSStylesAtomic(toConvert)
|
|
1251
|
+
for (const atomicStyle of atomic) {
|
|
1252
|
+
addStyleToInsertRules(rulesToInsert, atomicStyle)
|
|
1253
|
+
classNames[atomicStyle[StyleObjectProperty]] =
|
|
1254
|
+
atomicStyle[StyleObjectIdentifier]
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1170
1259
|
}
|
|
1171
1260
|
|
|
1172
1261
|
// merge after the prop loop - and always keep it on style dont turn into className except if RN gives us
|
|
@@ -1219,7 +1308,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1219
1308
|
}
|
|
1220
1309
|
}
|
|
1221
1310
|
|
|
1222
|
-
if (
|
|
1311
|
+
if (
|
|
1312
|
+
process.env.NODE_ENV === 'development' &&
|
|
1313
|
+
(debug === 'profile' || (globalThis as any).time)
|
|
1314
|
+
) {
|
|
1223
1315
|
// @ts-expect-error
|
|
1224
1316
|
time`split-styles-pre-result`
|
|
1225
1317
|
}
|
|
@@ -1236,6 +1328,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1236
1328
|
pseudoGroups,
|
|
1237
1329
|
mediaGroups,
|
|
1238
1330
|
overriddenContextProps: styleState.overriddenContextProps,
|
|
1331
|
+
pseudoTransitions: styleState.pseudoTransitions,
|
|
1239
1332
|
}
|
|
1240
1333
|
|
|
1241
1334
|
const asChildExceptStyleLike =
|
|
@@ -1247,35 +1340,43 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1247
1340
|
|
|
1248
1341
|
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
1249
1342
|
// merge className and style back into viewProps:
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
? styleState.fontFamily || staticConfig.defaultProps?.fontFamily
|
|
1253
|
-
: null
|
|
1343
|
+
// only emit font class if fontFamily was explicitly in props (not from defaults)
|
|
1344
|
+
let fontFamily = isText || isInput ? styleState.fontFamily : null
|
|
1254
1345
|
if (fontFamily && fontFamily[0] === '$') {
|
|
1255
1346
|
fontFamily = fontFamily.slice(1)
|
|
1256
1347
|
}
|
|
1257
1348
|
const fontFamilyClassName = fontFamily ? `font_${fontFamily}` : ''
|
|
1258
1349
|
const groupClassName = props.group ? `t_group_${props.group}` : ''
|
|
1259
1350
|
const componentNameFinal = props.componentName || staticConfig.componentName
|
|
1260
|
-
const
|
|
1261
|
-
props.asChild || !componentNameFinal
|
|
1351
|
+
const componentNameClassName =
|
|
1352
|
+
props.asChild || !componentNameFinal || componentNameFinal === 'Text'
|
|
1353
|
+
? ''
|
|
1354
|
+
: `is_${componentNameFinal}`
|
|
1262
1355
|
|
|
1263
1356
|
let classList: string[] = []
|
|
1264
|
-
if (
|
|
1357
|
+
if (componentNameClassName) classList.push(componentNameClassName)
|
|
1358
|
+
// is_View gets base flex styles + font reset, is_Text gets base text styles
|
|
1359
|
+
if (!isText) classList.push('is_View')
|
|
1360
|
+
else classList.push('is_Text')
|
|
1265
1361
|
if (fontFamilyClassName) classList.push(fontFamilyClassName)
|
|
1266
1362
|
if (classNames) classList.push(Object.values(classNames).join(' '))
|
|
1267
1363
|
if (groupClassName) classList.push(groupClassName)
|
|
1268
1364
|
if (props.className) classList.push(props.className)
|
|
1269
1365
|
const finalClassName = classList.join(' ')
|
|
1270
1366
|
|
|
1271
|
-
|
|
1367
|
+
// use $$css for RNW components OR when animated with RNW driver
|
|
1368
|
+
// (driver's AnimatedView doesn't forward className)
|
|
1369
|
+
const needsCssStyles =
|
|
1370
|
+
isReactNative || (styleProps.isAnimated && driver?.isReactNative)
|
|
1371
|
+
|
|
1372
|
+
if (styleProps.isAnimated && driver?.inputStyle === 'css') {
|
|
1373
|
+
// CSS animation driver uses className directly
|
|
1374
|
+
viewProps.className = finalClassName
|
|
1272
1375
|
if (style) {
|
|
1273
1376
|
viewProps.style = style as any
|
|
1274
1377
|
}
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
}
|
|
1278
|
-
} else if (isReactNative) {
|
|
1378
|
+
} else if (needsCssStyles) {
|
|
1379
|
+
// RNW or RNW-animated: apply classNames via $$css
|
|
1279
1380
|
let cnStyles: Record<string, unknown> | undefined
|
|
1280
1381
|
for (const name of finalClassName.split(' ')) {
|
|
1281
1382
|
cnStyles ||= { $$css: true }
|
|
@@ -1285,6 +1386,7 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1285
1386
|
? [...(Array.isArray(style) ? style : [style]), cnStyles]
|
|
1286
1387
|
: [style]
|
|
1287
1388
|
} else {
|
|
1389
|
+
// regular web: use className directly
|
|
1288
1390
|
if (finalClassName) {
|
|
1289
1391
|
viewProps.className = finalClassName
|
|
1290
1392
|
}
|
|
@@ -1327,7 +1429,10 @@ export const getSplitStyles: StyleSplitter = (
|
|
|
1327
1429
|
}
|
|
1328
1430
|
}
|
|
1329
1431
|
|
|
1330
|
-
if (
|
|
1432
|
+
if (
|
|
1433
|
+
process.env.NODE_ENV === 'development' &&
|
|
1434
|
+
(debug === 'profile' || (globalThis as any).time)
|
|
1435
|
+
) {
|
|
1331
1436
|
// @ts-expect-error
|
|
1332
1437
|
time`split-styles-done`
|
|
1333
1438
|
}
|
|
@@ -1410,6 +1515,33 @@ export const getSubStyle = (
|
|
|
1410
1515
|
const val = styleIn[key]
|
|
1411
1516
|
key = conf.shorthands[key] || key
|
|
1412
1517
|
|
|
1518
|
+
// extract transition from pseudo-style props (e.g., hoverStyle.transition)
|
|
1519
|
+
// store it separately for animation drivers to use for enter/exit timing
|
|
1520
|
+
if (key === 'transition') {
|
|
1521
|
+
styleState.pseudoTransitions ||= {}
|
|
1522
|
+
styleState.pseudoTransitions[subKey as keyof typeof styleState.pseudoTransitions] =
|
|
1523
|
+
val
|
|
1524
|
+
// for CSS driver, also add transition to CSS output so native CSS transitions work
|
|
1525
|
+
// group styles ($group-*) need !important to override inline base transition
|
|
1526
|
+
const driver = styleState.animationDriver
|
|
1527
|
+
if (driver?.outputStyle === 'css') {
|
|
1528
|
+
const animationConfig = driver.animations?.[val as string]
|
|
1529
|
+
if (animationConfig) {
|
|
1530
|
+
const important = subKey[0] === '$' ? ' !important' : ''
|
|
1531
|
+
styleOut['transition'] = `all ${animationConfig}${important}`
|
|
1532
|
+
}
|
|
1533
|
+
}
|
|
1534
|
+
// not a known animation name, pass through as raw CSS
|
|
1535
|
+
if (
|
|
1536
|
+
!styleOut['transition'] &&
|
|
1537
|
+
typeof val === 'string' &&
|
|
1538
|
+
!driver?.animations?.[val]
|
|
1539
|
+
) {
|
|
1540
|
+
styleOut['transition'] = val
|
|
1541
|
+
}
|
|
1542
|
+
continue
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1413
1545
|
const shouldSkip = !staticConfig.isHOC && key in skipProps && !styleProps.noSkip
|
|
1414
1546
|
if (shouldSkip) {
|
|
1415
1547
|
continue
|
|
@@ -1498,8 +1630,10 @@ const useInsertEffectCompat = isWeb
|
|
|
1498
1630
|
: () => {}
|
|
1499
1631
|
|
|
1500
1632
|
// perf: ...args a bit expensive on native
|
|
1501
|
-
export const useSplitStyles: StyleSplitter = (a, b, c, d, e, f, g, h, i, j, k, l) => {
|
|
1502
|
-
|
|
1633
|
+
export const useSplitStyles: StyleSplitter = (a, b, c, d, e, f, g, h, i, j, k, l, m) => {
|
|
1634
|
+
'use no memo'
|
|
1635
|
+
|
|
1636
|
+
const res = getSplitStyles(a, b, c, d, e, f, g, h, i, j, k, l, m)
|
|
1503
1637
|
|
|
1504
1638
|
if (process.env.TAMAGUI_TARGET !== 'native') {
|
|
1505
1639
|
useInsertEffectCompat(() => {
|
|
@@ -113,13 +113,10 @@ export function getThemeCSSRules(props: {
|
|
|
113
113
|
const selectorsString =
|
|
114
114
|
selectors
|
|
115
115
|
.map((x) => {
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
? ''
|
|
121
|
-
: ' '
|
|
122
|
-
return `:root${rootSep}${x}`
|
|
116
|
+
const addTo = getSetting('addThemeClassName')
|
|
117
|
+
const isOnRoot = isBaseTheme(x) && (addTo === 'html' || addTo === 'body')
|
|
118
|
+
if (!isOnRoot) return `:root ${x}`
|
|
119
|
+
return `${addTo === 'body' ? 'body' : ':root'}${x}`
|
|
123
120
|
})
|
|
124
121
|
.join(', ') + `, .tm_xxt`
|
|
125
122
|
|
|
@@ -127,11 +124,6 @@ export function getThemeCSSRules(props: {
|
|
|
127
124
|
cssRuleSets.push(css)
|
|
128
125
|
|
|
129
126
|
if (getSetting('shouldAddPrefersColorThemes')) {
|
|
130
|
-
const bgString = theme.background
|
|
131
|
-
? `background:${variableToString(theme.background)};`
|
|
132
|
-
: ''
|
|
133
|
-
const fgString = theme.color ? `color:${variableToString(theme.color)}` : ''
|
|
134
|
-
const bodyRules = `body{${bgString}${fgString}}`
|
|
135
127
|
const isDark = themeName.startsWith('dark')
|
|
136
128
|
const baseName = isDark ? 'dark' : 'light'
|
|
137
129
|
const lessSpecificSelectors = selectors
|
|
@@ -148,10 +140,20 @@ export function getThemeCSSRules(props: {
|
|
|
148
140
|
.filter(Boolean)
|
|
149
141
|
.join(', ')
|
|
150
142
|
|
|
143
|
+
// only emit body background/color for base themes, not every sub-theme
|
|
144
|
+
const isBase = !themeName.includes('_')
|
|
145
|
+
let bodyRulesString = ''
|
|
146
|
+
if (isBase) {
|
|
147
|
+
const bgString = theme.background
|
|
148
|
+
? `background:${variableToString(theme.background)};`
|
|
149
|
+
: ''
|
|
150
|
+
const fgString = theme.color ? `color:${variableToString(theme.color)}` : ''
|
|
151
|
+
bodyRulesString = bgString || fgString ? `body{${bgString}${fgString}}\n ` : ''
|
|
152
|
+
}
|
|
153
|
+
|
|
151
154
|
const themeRules = `${lessSpecificSelectors} {${vars}}`
|
|
152
155
|
const prefersMediaSelectors = `@media(prefers-color-scheme:${baseName}){
|
|
153
|
-
${
|
|
154
|
-
${themeRules}
|
|
156
|
+
${bodyRulesString}${themeRules}
|
|
155
157
|
}`
|
|
156
158
|
cssRuleSets.push(prefersMediaSelectors)
|
|
157
159
|
}
|