@tamagui/web 2.0.0-rc.3 → 2.0.0-rc.30
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 +1 -1
- 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.js +86 -74
- package/dist/cjs/index.js.map +1 -1
- 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 +1 -1
- 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 +78 -50
- 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 +2 -1
- 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 +1 -1
- 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.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/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
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
import { composeEventHandlers } from '@tamagui/helpers'
|
|
6
6
|
import { getGestureHandler } from '@tamagui/native'
|
|
7
7
|
import React, { useRef } from 'react'
|
|
8
|
-
import type { StaticConfig, TamaguiComponentStateRef } from './types'
|
|
9
|
-
|
|
10
|
-
// TODO conditional improt - the way we bundle core test.native.js breaks if inline require need to fix
|
|
11
8
|
import { useMainThreadPressEvents } from './helpers/mainThreadPressEvents'
|
|
9
|
+
import type { StaticConfig, TamaguiComponentStateRef } from './types'
|
|
12
10
|
|
|
13
11
|
// web events not used on native
|
|
14
12
|
export function getWebEvents() {
|
|
@@ -20,7 +18,8 @@ export function useEvents(
|
|
|
20
18
|
viewProps: any,
|
|
21
19
|
stateRef: { current: TamaguiComponentStateRef },
|
|
22
20
|
staticConfig: StaticConfig,
|
|
23
|
-
isHOC?: boolean
|
|
21
|
+
isHOC?: boolean,
|
|
22
|
+
isInsideNativeMenu?: boolean
|
|
24
23
|
) {
|
|
25
24
|
// focus/blur events always attached directly
|
|
26
25
|
if (events) {
|
|
@@ -32,39 +31,6 @@ export function useEvents(
|
|
|
32
31
|
}
|
|
33
32
|
}
|
|
34
33
|
|
|
35
|
-
// input special case - TextInput needs press events attached directly (not via RNGH)
|
|
36
|
-
if (staticConfig.isInput && events) {
|
|
37
|
-
const { onPressIn, onPressOut, onPress } = events
|
|
38
|
-
const inputEvents: any = {
|
|
39
|
-
onPressIn,
|
|
40
|
-
onPressOut: onPressOut || onPress,
|
|
41
|
-
}
|
|
42
|
-
if (onPressOut && onPress) {
|
|
43
|
-
// only supports onPressIn and onPressOut so combine them
|
|
44
|
-
inputEvents.onPressOut = composeEventHandlers(onPress, onPressOut)
|
|
45
|
-
}
|
|
46
|
-
Object.assign(viewProps, inputEvents)
|
|
47
|
-
// inputs don't use gesture handler
|
|
48
|
-
return null
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// HOC special case - pass press events to the inner component instead of wrapping
|
|
52
|
-
// HOC components may return null which crashes GestureDetector (it tries to access
|
|
53
|
-
// _internalInstanceHandle on a null native view). By passing events down, the inner
|
|
54
|
-
// component handles gesture detection at its own level.
|
|
55
|
-
if (isHOC && events) {
|
|
56
|
-
const { onPressIn, onPressOut, onPress, onLongPress, delayLongPress } = events
|
|
57
|
-
Object.assign(viewProps, {
|
|
58
|
-
onPressIn,
|
|
59
|
-
onPressOut,
|
|
60
|
-
onPress,
|
|
61
|
-
onLongPress,
|
|
62
|
-
delayLongPress,
|
|
63
|
-
})
|
|
64
|
-
// HOCs don't use gesture handler at this level
|
|
65
|
-
return null
|
|
66
|
-
}
|
|
67
|
-
|
|
68
34
|
const hasPressEvents =
|
|
69
35
|
// its stable and always on if you have in/out/regular
|
|
70
36
|
events?.onPress
|
|
@@ -78,11 +44,53 @@ export function useEvents(
|
|
|
78
44
|
|
|
79
45
|
// avoid hooks/reparenting
|
|
80
46
|
const everEnabled = Boolean(hasPressEvents || stateRef.current.hasHadEvents)
|
|
47
|
+
const isUsingRNGH = gh.isEnabled
|
|
48
|
+
|
|
49
|
+
// NOW handle early returns (after all hooks are called)
|
|
50
|
+
// THESE BRANCHES ARE NEVER CHANGING RENDER-TO-RENDER
|
|
51
|
+
|
|
52
|
+
// input special case - TextInput needs press events attached directly (not via RNGH)
|
|
53
|
+
if (staticConfig.isInput) {
|
|
54
|
+
if (events) {
|
|
55
|
+
const { onPressIn, onPressOut, onPress } = events
|
|
56
|
+
const inputEvents: any = {
|
|
57
|
+
onPressIn,
|
|
58
|
+
onPressOut: onPressOut || onPress,
|
|
59
|
+
}
|
|
60
|
+
if (onPressOut && onPress) {
|
|
61
|
+
// only supports onPressIn and onPressOut so combine them
|
|
62
|
+
inputEvents.onPressOut = composeEventHandlers(onPress, onPressOut)
|
|
63
|
+
}
|
|
64
|
+
Object.assign(viewProps, inputEvents)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// inputs don't use gesture handler
|
|
68
|
+
return null
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// HOC special case - pass press events to the inner component instead of wrapping
|
|
72
|
+
// HOC components may return null which crashes GestureDetector (it tries to access
|
|
73
|
+
// _internalInstanceHandle on a null native view). By passing events down, the inner
|
|
74
|
+
// component handles gesture detection at its own level.
|
|
75
|
+
if (isHOC) {
|
|
76
|
+
if (events) {
|
|
77
|
+
const { onPressIn, onPressOut, onPress, onLongPress, delayLongPress } = events
|
|
78
|
+
Object.assign(viewProps, {
|
|
79
|
+
onPressIn,
|
|
80
|
+
onPressOut,
|
|
81
|
+
onPress,
|
|
82
|
+
onLongPress,
|
|
83
|
+
delayLongPress,
|
|
84
|
+
})
|
|
85
|
+
}
|
|
86
|
+
// HOCs don't use gesture handler at this level
|
|
87
|
+
return null
|
|
88
|
+
}
|
|
81
89
|
|
|
82
|
-
// rngh
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
const callbacksRef = useRef<any>({})
|
|
90
|
+
// rngh path - logic (hooks already called above)
|
|
91
|
+
if (isUsingRNGH) {
|
|
92
|
+
// rngh path - hooks
|
|
93
|
+
const callbacksRef = useRef<any>(isUsingRNGH ? {} : null)
|
|
86
94
|
const gestureRef = useRef<any>(null)
|
|
87
95
|
|
|
88
96
|
if (everEnabled) {
|
|
@@ -98,21 +106,41 @@ export function useEvents(
|
|
|
98
106
|
|
|
99
107
|
// only create gesture once, callbacks are read from ref
|
|
100
108
|
if (!gestureRef.current) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
+
if (isInsideNativeMenu) {
|
|
110
|
+
// Inside native menus on Android: use Manual gesture with manualActivation
|
|
111
|
+
// so it never goes ACTIVE (which would send ACTION_CANCEL to MenuView).
|
|
112
|
+
// Press callbacks fire via onTouchesDown/Up instead.
|
|
113
|
+
const { Gesture } = gh.state
|
|
114
|
+
const manual = Gesture.Manual()
|
|
115
|
+
.runOnJS(true)
|
|
116
|
+
.manualActivation(true)
|
|
117
|
+
.onTouchesDown(() => {
|
|
118
|
+
callbacksRef.current.onPressIn?.({})
|
|
119
|
+
})
|
|
120
|
+
.onTouchesUp(() => {
|
|
121
|
+
callbacksRef.current.onPress?.({})
|
|
122
|
+
callbacksRef.current.onPressOut?.({})
|
|
123
|
+
})
|
|
124
|
+
.onTouchesCancelled(() => {
|
|
125
|
+
callbacksRef.current.onPressOut?.({})
|
|
126
|
+
})
|
|
127
|
+
gestureRef.current = manual
|
|
128
|
+
} else {
|
|
129
|
+
gestureRef.current = gh.createPressGesture({
|
|
130
|
+
onPressIn: (e: any) => callbacksRef.current.onPressIn?.(e),
|
|
131
|
+
onPressOut: (e: any) => callbacksRef.current.onPressOut?.(e),
|
|
132
|
+
onPress: (e: any) => callbacksRef.current.onPress?.(e),
|
|
133
|
+
onLongPress: (e: any) => callbacksRef.current.onLongPress?.(e),
|
|
134
|
+
delayLongPress: events?.delayLongPress,
|
|
135
|
+
hitSlop: viewProps.hitSlop,
|
|
136
|
+
})
|
|
137
|
+
}
|
|
109
138
|
}
|
|
110
139
|
// TODO update viewProps.hitSlop / events.delayLongPress!
|
|
111
140
|
|
|
112
141
|
return gestureRef.current
|
|
113
142
|
}
|
|
114
143
|
|
|
115
|
-
// don't fall through to useMainThreadPressEvents
|
|
116
144
|
return null
|
|
117
145
|
}
|
|
118
146
|
|
package/src/eventHandling.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isWeb } from '@tamagui/constants'
|
|
2
2
|
import type { CreateTamaguiProps, Variable } from '../types'
|
|
3
|
+
import { getVariableVariable, isVariable } from '../createVariable'
|
|
3
4
|
import { autoVariables, registerCSSVariable, variableToCSS } from './registerCSSVariable'
|
|
4
5
|
import { getThemeCSSRules } from './getThemeCSSRules'
|
|
5
6
|
import { getAllRules } from './insertStyleRule'
|
|
@@ -9,6 +10,38 @@ type ThemeConfig = {
|
|
|
9
10
|
getThemeRulesSets: () => string[]
|
|
10
11
|
}
|
|
11
12
|
|
|
13
|
+
// helper to get font property CSS declarations
|
|
14
|
+
function getFontPropertyDeclarations(
|
|
15
|
+
fontParsed: any,
|
|
16
|
+
tokenKey: string = '$true'
|
|
17
|
+
): string[] {
|
|
18
|
+
const props: string[] = ['font-family: var(--f-family)']
|
|
19
|
+
|
|
20
|
+
const getVarRef = (obj: any) => {
|
|
21
|
+
const val = obj?.[tokenKey]
|
|
22
|
+
if (isVariable(val)) {
|
|
23
|
+
return getVariableVariable(val)
|
|
24
|
+
}
|
|
25
|
+
return undefined
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const letterSpacing = getVarRef(fontParsed.letterSpacing)
|
|
29
|
+
if (letterSpacing) props.push(`letter-spacing: ${letterSpacing}`)
|
|
30
|
+
|
|
31
|
+
const lineHeight = getVarRef(fontParsed.lineHeight)
|
|
32
|
+
if (lineHeight) props.push(`line-height: ${lineHeight}`)
|
|
33
|
+
|
|
34
|
+
const fontStyle = getVarRef(fontParsed.style)
|
|
35
|
+
if (fontStyle) props.push(`font-style: ${fontStyle}`)
|
|
36
|
+
|
|
37
|
+
const fontWeight = getVarRef(fontParsed.weight)
|
|
38
|
+
if (fontWeight) props.push(`font-weight: ${fontWeight}`)
|
|
39
|
+
|
|
40
|
+
return props
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { getFontPropertyDeclarations }
|
|
44
|
+
|
|
12
45
|
/**
|
|
13
46
|
* Generates CSS for tokens - registers CSS variables and builds declaration strings
|
|
14
47
|
*/
|
|
@@ -46,11 +79,14 @@ export function createTokenCSS(
|
|
|
46
79
|
export function createFontCSS(
|
|
47
80
|
fontsParsed: Record<string, any> | undefined,
|
|
48
81
|
registerFontVariables: (fontParsed: any) => string[]
|
|
49
|
-
): Record<
|
|
82
|
+
): Record<
|
|
83
|
+
string,
|
|
84
|
+
{ name: string; declarations: string[]; language?: string; fontParsed: any }
|
|
85
|
+
> {
|
|
50
86
|
if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {
|
|
51
87
|
const fontDeclarations: Record<
|
|
52
88
|
string,
|
|
53
|
-
{ name: string; declarations: string[]; language?: string }
|
|
89
|
+
{ name: string; declarations: string[]; language?: string; fontParsed: any }
|
|
54
90
|
> = {}
|
|
55
91
|
|
|
56
92
|
if (!fontsParsed) return fontDeclarations
|
|
@@ -64,6 +100,7 @@ export function createFontCSS(
|
|
|
64
100
|
name: name.slice(1),
|
|
65
101
|
declarations: fontVars,
|
|
66
102
|
language,
|
|
103
|
+
fontParsed,
|
|
67
104
|
}
|
|
68
105
|
}
|
|
69
106
|
|
|
@@ -79,8 +116,9 @@ export function buildCSSRuleSets(
|
|
|
79
116
|
declarations: string[],
|
|
80
117
|
fontDeclarations: Record<
|
|
81
118
|
string,
|
|
82
|
-
{ name: string; declarations: string[]; language?: string }
|
|
83
|
-
|
|
119
|
+
{ name: string; declarations: string[]; language?: string; fontParsed: any }
|
|
120
|
+
>,
|
|
121
|
+
defaultFontToken: string = '$true'
|
|
84
122
|
): string[] {
|
|
85
123
|
if (!process.env.TAMAGUI_DID_OUTPUT_CSS) {
|
|
86
124
|
const cssRuleSets: string[] = []
|
|
@@ -95,11 +133,13 @@ export function buildCSSRuleSets(
|
|
|
95
133
|
cssRuleSets.push(declarationsToRuleSet(declarations))
|
|
96
134
|
}
|
|
97
135
|
|
|
98
|
-
// fonts
|
|
136
|
+
// fonts - each font_* sets CSS variables
|
|
137
|
+
const fontSelectors: string[] = []
|
|
99
138
|
const sortedFontDeclarationKeys = Object.keys(fontDeclarations).sort()
|
|
100
139
|
for (const key of sortedFontDeclarationKeys) {
|
|
101
140
|
const { name, declarations, language = 'default' } = fontDeclarations[key]
|
|
102
141
|
const fontSelector = `.font_${name}`
|
|
142
|
+
fontSelectors.push(fontSelector)
|
|
103
143
|
const langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`
|
|
104
144
|
const selectors =
|
|
105
145
|
language === 'default' ? ` ${fontSelector}, ${langSelector}` : langSelector
|
|
@@ -107,6 +147,20 @@ export function buildCSSRuleSets(
|
|
|
107
147
|
cssRuleSets.push(specificRuleSet)
|
|
108
148
|
}
|
|
109
149
|
|
|
150
|
+
// shared rule: all font_* classes + is_View apply font properties
|
|
151
|
+
// this resets fonts on Views like React Native does
|
|
152
|
+
if (fontSelectors.length) {
|
|
153
|
+
const firstFont = fontDeclarations[sortedFontDeclarationKeys[0]]
|
|
154
|
+
if (firstFont?.fontParsed) {
|
|
155
|
+
const fontProps = getFontPropertyDeclarations(
|
|
156
|
+
firstFont.fontParsed,
|
|
157
|
+
defaultFontToken
|
|
158
|
+
)
|
|
159
|
+
const sharedSelectors = [...fontSelectors, '.is_View'].join(', ')
|
|
160
|
+
cssRuleSets.push(`${sharedSelectors} {${fontProps.join('; ')}}`)
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
110
164
|
return cssRuleSets
|
|
111
165
|
}
|
|
112
166
|
return []
|
|
@@ -176,12 +230,29 @@ export function getCSS(
|
|
|
176
230
|
? `:root{${autoVariables.map((v) => `--${v.name}:${v.val}`).join(';')}}`
|
|
177
231
|
: ''
|
|
178
232
|
|
|
233
|
+
// notes:
|
|
234
|
+
// @scope (.is_Text) to (.is_View) - inherit text styles in nested Text without View boundary
|
|
235
|
+
// display: inline breaks css transform styles
|
|
236
|
+
|
|
237
|
+
// !important or else random css easily overrides, the prop is absolute (local-first styling)
|
|
238
|
+
const hideScrollBarsCSS = `._hsb-x::-webkit-scrollbar:horizontal { display: none !important; }
|
|
239
|
+
._hsb-y::-webkit-scrollbar:vertical { display: none !important; }
|
|
240
|
+
._hsb-x { scrollbar-width: none !important; }
|
|
241
|
+
._hsb-y { scrollbar-width: none !important; }`
|
|
242
|
+
const pointerEventsCSS = `:root ._pe-boxonly>* {pointer-events:none;}
|
|
243
|
+
:root ._pe-boxnone>* {pointer-events:auto;}`
|
|
244
|
+
|
|
179
245
|
const designSystem = `._ovs-contain {overscroll-behavior:contain;}
|
|
180
|
-
.
|
|
246
|
+
.t_unmounted .is_View, .t_unmounted .is_Text { transition: none !important; }
|
|
247
|
+
.is_View { display: flex; align-items: stretch; flex-direction: column; flex-basis: auto; box-sizing: border-box; min-height: 0; min-width: 0; flex-shrink: 0; }
|
|
248
|
+
.is_Text { display: inline; box-sizing: border-box; word-wrap: break-word; white-space: pre-wrap; margin: 0; }
|
|
249
|
+
@scope (.is_Text) to (.is_View) { .is_Text { white-space: inherit; word-wrap: inherit; } }
|
|
181
250
|
._dsp_contents {display:contents;}
|
|
182
251
|
._no_backdrop::backdrop {display: none;}
|
|
183
252
|
.is_Input::selection, .is_TextArea::selection {background-color: var(--selectionColor);}
|
|
184
253
|
.is_Input::placeholder, .is_TextArea::placeholder {color: var(--placeholderColor);}
|
|
254
|
+
${pointerEventsCSS}
|
|
255
|
+
${hideScrollBarsCSS}
|
|
185
256
|
${autoVarCSS}
|
|
186
257
|
${themeConfig.cssRuleSets.join(separator)}`
|
|
187
258
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getSetting } from '../config'
|
|
2
|
-
import { mediaObjectToString } from '
|
|
2
|
+
import { mediaObjectToString } from './mediaObjectToString'
|
|
3
3
|
import type { IsMediaType, MediaQueries, MediaStyleObject, StyleObject } from '../types'
|
|
4
4
|
import { getGroupPropParts, type GroupParts } from './getGroupPropParts'
|
|
5
5
|
|
|
@@ -22,7 +22,7 @@ const groupPseudoToPseudoCSSMap = {
|
|
|
22
22
|
focusWithin: 'focus-within',
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
const specificities = new Array(
|
|
25
|
+
const specificities = new Array(12)
|
|
26
26
|
.fill(0)
|
|
27
27
|
.map((_, i) => new Array(i).fill(':root').join(''))
|
|
28
28
|
|
|
@@ -73,7 +73,9 @@ export const createMediaStyle = (
|
|
|
73
73
|
let groupMediaKey: string | undefined
|
|
74
74
|
let containerName: string | undefined
|
|
75
75
|
let nextIdentifier = identifier.replace(ogPrefix, id)
|
|
76
|
-
let styleInner = rules
|
|
76
|
+
let styleInner = rules
|
|
77
|
+
.map((rule) => rule.replaceAll(identifier, nextIdentifier))
|
|
78
|
+
.join(';')
|
|
77
79
|
let isHover = false
|
|
78
80
|
|
|
79
81
|
if (isNonWindowMedia) {
|
|
@@ -104,7 +106,13 @@ export const createMediaStyle = (
|
|
|
104
106
|
// add back in the { we used to split
|
|
105
107
|
styleRule = styleInner.replace(selector, nextSelector)
|
|
106
108
|
} else {
|
|
107
|
-
|
|
109
|
+
const prefix = specificities[specificity]
|
|
110
|
+
// when styleInner is wrapped in @media (eg hover), inject specificity
|
|
111
|
+
// inside the block — `:root@media ...` is invalid CSS
|
|
112
|
+
styleRule =
|
|
113
|
+
prefix && styleInner[0] === '@'
|
|
114
|
+
? styleInner.replace('{', `{${prefix}`)
|
|
115
|
+
: `${prefix}${styleInner}`
|
|
108
116
|
}
|
|
109
117
|
}
|
|
110
118
|
|
|
@@ -1,25 +1,34 @@
|
|
|
1
1
|
import type { Context, ReactNode } from 'react'
|
|
2
|
-
import React
|
|
2
|
+
import React from 'react'
|
|
3
3
|
import type { StyledContext } from '../types'
|
|
4
4
|
import { mergeProps } from './mergeProps'
|
|
5
5
|
import { objectIdentityKey } from './objectIdentityKey'
|
|
6
6
|
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
|
|
11
|
-
// size: '$4',
|
|
12
|
-
// })
|
|
13
|
-
// const z = useContext(ButtonContext.context)
|
|
14
|
-
|
|
15
|
-
// avoid react compiler - we aren't breaking its rules but it shouldn't compile this file because
|
|
16
|
-
// it will mis-interpret how we change the context value. in
|
|
17
|
-
const createReactContext = React[Math.random() ? 'createContext' : 'createContext']
|
|
18
|
-
|
|
19
|
-
export function createStyledContext<VariantProps extends Record<string, any>>(
|
|
7
|
+
// use const (not function declaration) to prevent esbuild from hoisting
|
|
8
|
+
// above __esm lazy init - function declarations get hoisted before
|
|
9
|
+
// import_react is initialized, causing undefined.default errors in SSR
|
|
10
|
+
export const createStyledContext = <VariantProps extends Record<string, any>>(
|
|
20
11
|
defaultValues?: VariantProps,
|
|
21
12
|
namespace = ''
|
|
22
|
-
): StyledContext<VariantProps> {
|
|
13
|
+
): StyledContext<VariantProps> => {
|
|
14
|
+
// avoid react compiler - we aren't breaking its rules but it mis-interprets
|
|
15
|
+
// how we change the context value
|
|
16
|
+
'use no memo'
|
|
17
|
+
|
|
18
|
+
// lazy initialization fixes vite ssr hmr - module-level assignments can fail
|
|
19
|
+
// when React is undefined during __esm re-initialization order issues.
|
|
20
|
+
// also React.createContext is optimized oddly by React compiler and our
|
|
21
|
+
// uncommon usage confuses it, so we use dynamic access
|
|
22
|
+
const createReactContext = React[
|
|
23
|
+
Math.random() ? 'createContext' : 'createContext'
|
|
24
|
+
] as typeof React.createContext
|
|
25
|
+
const useReactMemo = React[
|
|
26
|
+
Math.random() ? 'useMemo' : 'useMemo'
|
|
27
|
+
] as typeof React.useMemo
|
|
28
|
+
const useReactContext = React[
|
|
29
|
+
Math.random() ? 'useContext' : 'useContext'
|
|
30
|
+
] as typeof React.useContext
|
|
31
|
+
|
|
23
32
|
const OGContext = createReactContext<VariantProps | undefined>(defaultValues)
|
|
24
33
|
const OGProvider = OGContext.Provider
|
|
25
34
|
const Context = OGContext as any as StyledContext<VariantProps>
|
|
@@ -47,7 +56,7 @@ export function createStyledContext<VariantProps extends Record<string, any>>(
|
|
|
47
56
|
}: VariantProps & { children?: ReactNode; scope: string }) => {
|
|
48
57
|
const scope = getNamespacedScope(scopeIn)
|
|
49
58
|
|
|
50
|
-
const next =
|
|
59
|
+
const next = useReactMemo(() => {
|
|
51
60
|
if (__disableMergeDefaultValues) {
|
|
52
61
|
// we already merged and want to keep ordering
|
|
53
62
|
return values
|
|
@@ -68,14 +77,14 @@ export function createStyledContext<VariantProps extends Record<string, any>>(
|
|
|
68
77
|
|
|
69
78
|
// use consumerComponent just to give a better error message
|
|
70
79
|
const useStyledContext = (scopeIn = '') => {
|
|
71
|
-
const lastScopeInNamespace =
|
|
80
|
+
const lastScopeInNamespace = useReactContext(LastScopeInNamespace)
|
|
72
81
|
const scope = namespace
|
|
73
82
|
? scopeIn
|
|
74
83
|
? getNamespacedScope(scopeIn)
|
|
75
84
|
: lastScopeInNamespace
|
|
76
85
|
: scopeIn
|
|
77
86
|
const context = scope ? getOrCreateScopedContext(scope) : OGContext
|
|
78
|
-
const value =
|
|
87
|
+
const value = useReactContext(context!) as VariantProps
|
|
79
88
|
return value
|
|
80
89
|
}
|
|
81
90
|
|
|
@@ -8,10 +8,8 @@ const noAnimationDriver = (method: string): any => {
|
|
|
8
8
|
|
|
9
9
|
const createEmptyAnimationDriver = (): AnimationDriver => ({
|
|
10
10
|
isReactNative: false,
|
|
11
|
-
supportsCSS: true,
|
|
12
11
|
inputStyle: 'css',
|
|
13
12
|
outputStyle: 'css',
|
|
14
|
-
classNameAnimation: true,
|
|
15
13
|
isStub: true,
|
|
16
14
|
animations: {},
|
|
17
15
|
useAnimations: () => noAnimationDriver('animations'),
|
|
@@ -8,6 +8,7 @@ import { isAndroid, isWeb } from '@tamagui/constants'
|
|
|
8
8
|
import { getSetting } from '../config'
|
|
9
9
|
import type { PropMappedValue } from '../types'
|
|
10
10
|
import { parseBorderShorthand } from './parseBorderShorthand'
|
|
11
|
+
import { parseOutlineShorthand } from './parseOutlineShorthand'
|
|
11
12
|
|
|
12
13
|
const neg1Flex = [
|
|
13
14
|
['flexGrow', 0],
|
|
@@ -65,6 +66,7 @@ export function expandStyle(key: string, value: any): PropMappedValue {
|
|
|
65
66
|
}
|
|
66
67
|
case 'backgroundImage': {
|
|
67
68
|
// RN 0.76+ uses experimental_backgroundImage
|
|
69
|
+
// value may be a parsed array (from parseNativeStyle) or a plain string
|
|
68
70
|
return [['experimental_backgroundImage', value]]
|
|
69
71
|
}
|
|
70
72
|
case 'border': {
|
|
@@ -78,6 +80,15 @@ export function expandStyle(key: string, value: any): PropMappedValue {
|
|
|
78
80
|
}
|
|
79
81
|
return
|
|
80
82
|
}
|
|
83
|
+
case 'outline': {
|
|
84
|
+
if (typeof value === 'string') {
|
|
85
|
+
const parsed = parseOutlineShorthand(value)
|
|
86
|
+
if (parsed) {
|
|
87
|
+
return parsed
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return
|
|
91
|
+
}
|
|
81
92
|
}
|
|
82
93
|
|
|
83
94
|
// native-only key expansions (logical properties)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import type { StyleObject } from '@tamagui/helpers'
|
|
7
|
-
import { simpleHash } from '@tamagui/helpers'
|
|
7
|
+
import { cssShorthandLonghands, simpleHash } from '@tamagui/helpers'
|
|
8
8
|
import { getConfigMaybe } from '../config'
|
|
9
9
|
import { isMediaKey } from '../hooks/useMedia'
|
|
10
10
|
import type { TamaguiInternalConfig, ViewStyleWithPseudos } from '../types'
|
|
@@ -79,7 +79,11 @@ const getStyleObject = (
|
|
|
79
79
|
const pseudoPrefix = pseudo ? `0${pseudo.name}-` : ''
|
|
80
80
|
conf ||= getConfigMaybe()
|
|
81
81
|
const shortProp = conf?.inverseShorthands[key] || key
|
|
82
|
-
|
|
82
|
+
let identifier = `_${shortProp}-${pseudoPrefix}${hash}`
|
|
83
|
+
if (key === 'pointerEvents' && !pseudo) {
|
|
84
|
+
if (value === 'box-none') identifier = '_pe-boxnone'
|
|
85
|
+
else if (value === 'box-only') identifier = '_pe-boxonly'
|
|
86
|
+
}
|
|
83
87
|
const rules = createAtomicRules(identifier, key, value, pseudo)
|
|
84
88
|
return [
|
|
85
89
|
// array for performance
|
|
@@ -173,11 +177,15 @@ function createAtomicRules(
|
|
|
173
177
|
: ''
|
|
174
178
|
const pseudoSelector = pseudo?.selector
|
|
175
179
|
|
|
180
|
+
// longhands get .cls.cls for higher specificity over shorthands
|
|
181
|
+
const cls =
|
|
182
|
+
property in cssShorthandLonghands ? `.${identifier}.${identifier}` : `.${identifier}`
|
|
183
|
+
|
|
176
184
|
let selector = pseudo
|
|
177
185
|
? pseudoSelector
|
|
178
|
-
? `${pseudoSelector}
|
|
179
|
-
: `${selectorPriority[pseudo.name]}
|
|
180
|
-
: `:root
|
|
186
|
+
? `${pseudoSelector} ${cls}`
|
|
187
|
+
: `${selectorPriority[pseudo.name]} ${cls}${pseudoIdPostfix}`
|
|
188
|
+
: `:root ${cls}`
|
|
181
189
|
|
|
182
190
|
// enter style on css driver needs both:
|
|
183
191
|
// .t_unmounted .selector
|
|
@@ -227,14 +235,8 @@ function createAtomicRules(
|
|
|
227
235
|
let finalValue = value
|
|
228
236
|
if (value === 'auto' || value === 'box-only') {
|
|
229
237
|
finalValue = 'auto'
|
|
230
|
-
if (value === 'box-only') {
|
|
231
|
-
rules.push(`${selector}>*${boxOnly}`)
|
|
232
|
-
}
|
|
233
238
|
} else if (value === 'none' || value === 'box-none') {
|
|
234
239
|
finalValue = 'none'
|
|
235
|
-
if (value === 'box-none') {
|
|
236
|
-
rules.push(`${selector}>*${boxNone}`)
|
|
237
|
-
}
|
|
238
240
|
}
|
|
239
241
|
const block = createDeclarationBlock([['pointerEvents', finalValue]], true)
|
|
240
242
|
rules.push(`${selector}${block}`)
|
|
@@ -259,6 +261,3 @@ function createAtomicRules(
|
|
|
259
261
|
|
|
260
262
|
return rules
|
|
261
263
|
}
|
|
262
|
-
|
|
263
|
-
const boxNone = createDeclarationBlock([['pointerEvents', 'auto']], true)
|
|
264
|
-
const boxOnly = createDeclarationBlock([['pointerEvents', 'none']], true)
|
|
@@ -4,8 +4,7 @@ import type { StaticConfig } from '../types'
|
|
|
4
4
|
// merge both default props, styled context props, and default text props
|
|
5
5
|
export const getDefaultProps = (
|
|
6
6
|
staticConfig: StaticConfig,
|
|
7
|
-
propsComponentName?: string
|
|
8
|
-
isSubText?: boolean
|
|
7
|
+
propsComponentName?: string
|
|
9
8
|
) => {
|
|
10
9
|
let defaultProps = staticConfig?.defaultProps
|
|
11
10
|
|
|
@@ -20,19 +19,9 @@ export const getDefaultProps = (
|
|
|
20
19
|
|
|
21
20
|
if (userDefaultProps) {
|
|
22
21
|
// component's staticConfig.defaultProps wins over global config defaults
|
|
23
|
-
defaultProps =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
if (process.env.TAMAGUI_TARGET === 'web' && isSubText) {
|
|
27
|
-
// for nested text, inherit from parent unless component explicitly set a fontFamily
|
|
28
|
-
// staticConfig.defaultProps contains explicit component defaults (e.g., SizableText sets $body)
|
|
29
|
-
// userDefaultProps contains global config defaults - these should be overridden for nested text
|
|
30
|
-
const hasExplicitFontFamily = staticConfig?.defaultProps?.fontFamily
|
|
31
|
-
defaultProps = { ...defaultProps }
|
|
32
|
-
if (!hasExplicitFontFamily) defaultProps.fontFamily = 'inherit'
|
|
33
|
-
if (!defaultProps.color) defaultProps.color = 'inherit'
|
|
34
|
-
if (defaultProps.whiteSpace === 'pre-wrap') defaultProps.whiteSpace = 'inherit'
|
|
35
|
-
if (defaultProps.wordWrap === 'break-word') defaultProps.wordWrap = 'inherit'
|
|
22
|
+
defaultProps = defaultProps
|
|
23
|
+
? { ...userDefaultProps, ...defaultProps }
|
|
24
|
+
: userDefaultProps
|
|
36
25
|
}
|
|
37
26
|
|
|
38
27
|
return defaultProps
|