@tamagui/web 2.0.0-rc.4 → 2.0.0-rc.40
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 +3 -0
- package/.turbo/turbo-test$colon$web.log +15 -0
- package/dist/cjs/Tamagui.cjs +57 -53
- package/dist/cjs/Tamagui.native.js +95 -79
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withStableStyle.cjs +56 -35
- package/dist/cjs/_withStableStyle.native.js +64 -46
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/animationDriverTypes.test-d.cjs +39 -11
- package/dist/cjs/animationDriverTypes.test-d.native.js +39 -11
- package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -1
- package/dist/cjs/config.cjs +130 -75
- package/dist/cjs/config.native.js +152 -106
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/accessibilityDirectMap.cjs +17 -15
- package/dist/cjs/constants/accessibilityDirectMap.native.js +17 -15
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +17 -29
- package/dist/cjs/constants/constants.native.js +18 -29
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.cjs +18 -14
- package/dist/cjs/constants/isDevTools.native.js +18 -14
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.cjs +24 -20
- package/dist/cjs/contexts/ComponentContext.native.js +25 -23
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
- package/dist/cjs/contexts/GroupContext.cjs +12 -10
- package/dist/cjs/contexts/GroupContext.native.js +14 -12
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +919 -635
- package/dist/cjs/createComponent.native.js +919 -691
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createFont.cjs +33 -27
- package/dist/cjs/createFont.native.js +35 -32
- package/dist/cjs/createFont.native.js.map +1 -1
- package/dist/cjs/createShorthands.cjs +12 -10
- package/dist/cjs/createShorthands.native.js +12 -10
- package/dist/cjs/createShorthands.native.js.map +1 -1
- package/dist/cjs/createTamagui.cjs +118 -97
- package/dist/cjs/createTamagui.native.js +155 -141
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +12 -10
- package/dist/cjs/createTokens.native.js +12 -10
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +57 -31
- package/dist/cjs/createVariable.native.js +67 -42
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/createVariables.cjs +55 -49
- package/dist/cjs/createVariables.native.js +57 -51
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/defaultComponentState.cjs +29 -27
- package/dist/cjs/defaultComponentState.native.js +29 -27
- package/dist/cjs/defaultComponentState.native.js.map +1 -1
- package/dist/cjs/eventHandling.cjs +15 -13
- package/dist/cjs/eventHandling.native.js +160 -92
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/consoleLog.native.js +14 -12
- package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +82 -42
- package/dist/cjs/helpers/createDesignSystem.native.js +118 -88
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createMediaStyle.cjs +91 -61
- package/dist/cjs/helpers/createMediaStyle.native.js +98 -69
- package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.cjs +84 -61
- package/dist/cjs/helpers/createStyledContext.native.js +88 -68
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +29 -28
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +45 -42
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/defaultOffset.cjs +12 -10
- package/dist/cjs/helpers/defaultOffset.native.js +12 -10
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.cjs +40 -37
- package/dist/cjs/helpers/expandStyle.native.js +69 -70
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.cjs +24 -23
- package/dist/cjs/helpers/expandStyles.native.js +27 -21
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +111 -73
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +17 -15
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getDefaultProps.cjs +22 -23
- package/dist/cjs/helpers/getDefaultProps.native.js +27 -23
- package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/cjs/helpers/getDynamicVal.cjs +32 -27
- package/dist/cjs/helpers/getDynamicVal.native.js +37 -32
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.cjs +15 -11
- package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -13
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/cjs/helpers/getFontLanguage.cjs +12 -10
- package/dist/cjs/helpers/getFontLanguage.native.js +12 -10
- package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
- package/dist/cjs/helpers/getGroupPropParts.cjs +27 -18
- package/dist/cjs/helpers/getGroupPropParts.native.js +28 -19
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
- package/dist/cjs/helpers/getShorthandValue.cjs +16 -11
- package/dist/cjs/helpers/getShorthandValue.native.js +19 -17
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +628 -395
- package/dist/cjs/helpers/getSplitStyles.native.js +742 -597
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +96 -82
- package/dist/cjs/helpers/getThemeCSSRules.native.js +12 -10
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/cjs/helpers/getTokenForKey.cjs +171 -0
- package/dist/cjs/helpers/getTokenForKey.native.js +183 -0
- package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -0
- package/dist/cjs/helpers/getVariantExtras.cjs +56 -44
- package/dist/cjs/helpers/getVariantExtras.native.js +56 -44
- package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.cjs +109 -75
- package/dist/cjs/helpers/insertStyleRule.native.js +52 -263
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/isActivePlatform.cjs +21 -17
- package/dist/cjs/helpers/isActivePlatform.native.js +21 -17
- package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -1
- package/dist/cjs/helpers/isActiveTheme.cjs +14 -11
- package/dist/cjs/helpers/isActiveTheme.native.js +14 -11
- package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -1
- package/dist/cjs/helpers/isObj.cjs +13 -11
- package/dist/cjs/helpers/isObj.native.js +14 -12
- package/dist/cjs/helpers/isObj.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.cjs +14 -12
- package/dist/cjs/helpers/isTamaguiComponent.native.js +14 -12
- package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.cjs +29 -25
- package/dist/cjs/helpers/isTamaguiElement.native.js +29 -27
- package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/cjs/helpers/log.cjs +20 -19
- package/dist/cjs/helpers/log.native.js +20 -19
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.cjs +13 -11
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +111 -26
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.cjs +15 -13
- package/dist/cjs/helpers/matchMedia.native.js +34 -19
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.cjs +51 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js +57 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -0
- package/dist/cjs/helpers/mediaState.cjs +49 -0
- package/dist/cjs/helpers/mediaState.native.js +54 -0
- package/dist/cjs/helpers/mediaState.native.js.map +1 -0
- package/dist/cjs/helpers/mergeProps.cjs +54 -30
- package/dist/cjs/helpers/mergeProps.native.js +55 -30
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeRenderElementProps.cjs +14 -11
- package/dist/cjs/helpers/mergeRenderElementProps.native.js +14 -11
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.cjs +31 -18
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js +32 -19
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.cjs +28 -16
- package/dist/cjs/helpers/mergeVariants.native.js +30 -18
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.cjs +12 -10
- package/dist/cjs/helpers/nativeOnlyProps.native.js +12 -10
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeColor.cjs +30 -13
- package/dist/cjs/helpers/normalizeColor.native.js +33 -30
- package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeShadow.cjs +12 -10
- package/dist/cjs/helpers/normalizeShadow.native.js +25 -23
- package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.cjs +27 -20
- package/dist/cjs/helpers/normalizeStyle.native.js +34 -28
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.cjs +12 -10
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +22 -20
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +33 -16
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +34 -17
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/objectIdentityKey.cjs +19 -12
- package/dist/cjs/helpers/objectIdentityKey.native.js +22 -15
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -11
- package/dist/cjs/helpers/parseBorderShorthand.native.js +52 -24
- package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeStyle.cjs +167 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js +190 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -0
- package/dist/cjs/helpers/parseOutlineShorthand.cjs +30 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +80 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -0
- package/dist/cjs/helpers/platformResolveValue.cjs +38 -0
- package/dist/cjs/helpers/platformResolveValue.native.js +74 -0
- package/dist/cjs/helpers/platformResolveValue.native.js.map +1 -0
- package/dist/cjs/helpers/pointerEvents.cjs +12 -10
- package/dist/cjs/helpers/pointerEvents.native.js +124 -89
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/helpers/propMapper.cjs +195 -211
- package/dist/cjs/helpers/propMapper.native.js +276 -287
- package/dist/cjs/helpers/propMapper.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.cjs +33 -19
- package/dist/cjs/helpers/proxyThemeToParents.native.js +84 -55
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeVariables.cjs +13 -11
- package/dist/cjs/helpers/proxyThemeVariables.native.js +13 -11
- package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -1
- package/dist/cjs/helpers/pseudoDescriptors.cjs +60 -58
- package/dist/cjs/helpers/pseudoDescriptors.native.js +60 -58
- package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -1
- package/dist/cjs/helpers/pseudoTransitions.cjs +83 -0
- package/dist/cjs/helpers/pseudoTransitions.native.js +88 -0
- package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -0
- package/dist/cjs/helpers/registerCSSVariable.cjs +55 -38
- package/dist/cjs/helpers/registerCSSVariable.native.js +60 -45
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveAnimationDriver.cjs +37 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js +41 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -0
- package/dist/cjs/helpers/resolveCompoundTokens.cjs +41 -0
- package/dist/cjs/helpers/resolveCompoundTokens.native.js +44 -0
- package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -0
- package/dist/cjs/helpers/resolveRem.cjs +13 -11
- package/dist/cjs/helpers/resolveRem.native.js +31 -22
- package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeArea.cjs +12 -10
- package/dist/cjs/helpers/resolveSafeArea.native.js +18 -14
- package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/cjs/helpers/setElementProps.cjs +12 -10
- package/dist/cjs/helpers/setElementProps.native.js +19 -13
- package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.cjs +16 -14
- package/dist/cjs/helpers/skipProps.native.js +30 -28
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/sortString.cjs +12 -10
- package/dist/cjs/helpers/sortString.native.js +12 -10
- package/dist/cjs/helpers/sortString.native.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +83 -55
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +118 -92
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/themeable.cjs +77 -48
- package/dist/cjs/helpers/themeable.native.js +97 -69
- package/dist/cjs/helpers/themeable.native.js.map +1 -1
- package/dist/cjs/helpers/themes.cjs +27 -19
- package/dist/cjs/helpers/themes.native.js +27 -19
- package/dist/cjs/helpers/themes.native.js.map +1 -1
- package/dist/cjs/helpers/timer.cjs +13 -11
- package/dist/cjs/helpers/timer.native.js +13 -11
- package/dist/cjs/helpers/timer.native.js.map +1 -1
- package/dist/cjs/helpers/transformsToString.cjs +18 -13
- package/dist/cjs/helpers/transformsToString.native.js +18 -13
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
- package/dist/cjs/helpers/useRenderElement.cjs +29 -24
- package/dist/cjs/helpers/useRenderElement.native.js +33 -25
- package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
- package/dist/cjs/helpers/webPropsToSkip.cjs +12 -10
- package/dist/cjs/helpers/webPropsToSkip.native.js +60 -58
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.cjs +16 -15
- package/dist/cjs/helpers/wrapStyleTags.native.js +14 -12
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +13 -11
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +14 -12
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.cjs +45 -27
- package/dist/cjs/hooks/getThemeProxied.native.js +79 -65
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +141 -86
- package/dist/cjs/hooks/useComponentState.native.js +145 -97
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.cjs +12 -10
- package/dist/cjs/hooks/useDisableSSR.native.js +13 -11
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.cjs +17 -13
- package/dist/cjs/hooks/useIsTouchDevice.native.js +17 -15
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +155 -120
- package/dist/cjs/hooks/useMedia.native.js +165 -141
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useProps.cjs +83 -76
- package/dist/cjs/hooks/useProps.native.js +85 -78
- package/dist/cjs/hooks/useProps.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +40 -25
- package/dist/cjs/hooks/useTheme.native.js +40 -28
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.cjs +20 -18
- package/dist/cjs/hooks/useThemeName.native.js +24 -22
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +252 -172
- package/dist/cjs/hooks/useThemeState.native.js +318 -247
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +25 -19
- package/dist/cjs/index.native.js +25 -19
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inject-styles.cjs +27 -22
- package/dist/cjs/inject-styles.native.js +28 -23
- package/dist/cjs/inject-styles.native.js.map +1 -1
- package/dist/cjs/insertFont.cjs +37 -28
- package/dist/cjs/insertFont.native.js +35 -30
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/interfaces/CSSColorNames.cjs +7 -5
- package/dist/cjs/interfaces/CSSColorNames.native.js +7 -5
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/cjs/interfaces/GetRef.cjs +7 -5
- package/dist/cjs/interfaces/GetRef.native.js +7 -5
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.cjs +7 -5
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js +7 -5
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +7 -5
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +7 -5
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +7 -5
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +7 -5
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
- package/dist/cjs/setupHooks.cjs +12 -10
- package/dist/cjs/setupHooks.native.js +12 -10
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/setupReactNative.cjs +25 -18
- package/dist/cjs/setupReactNative.native.js +25 -21
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/styled.cjs +121 -77
- package/dist/cjs/styled.native.js +125 -87
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/styledHtml.test-d.cjs +58 -27
- package/dist/cjs/styledHtml.test-d.native.js +58 -27
- package/dist/cjs/styledHtml.test-d.native.js.map +1 -1
- package/dist/cjs/type-utils.cjs +7 -5
- package/dist/cjs/type-utils.native.js +7 -5
- package/dist/cjs/type-utils.native.js.map +1 -1
- package/dist/cjs/types.cjs +7 -5
- package/dist/cjs/types.native.js +7 -5
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/Configuration.cjs +28 -26
- package/dist/cjs/views/Configuration.native.js +39 -37
- package/dist/cjs/views/Configuration.native.js.map +1 -1
- package/dist/cjs/views/FontLanguage.cjs +22 -18
- package/dist/cjs/views/FontLanguage.native.js +34 -32
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/Slot.cjs +55 -37
- package/dist/cjs/views/Slot.native.js +57 -41
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +65 -69
- package/dist/cjs/views/TamaguiProvider.native.js +68 -71
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/TamaguiRoot.cjs +79 -0
- package/dist/cjs/views/TamaguiRoot.native.js +33 -0
- package/dist/cjs/views/TamaguiRoot.native.js.map +1 -0
- package/dist/cjs/views/Text.cjs +43 -48
- package/dist/cjs/views/Text.native.js +31 -32
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +139 -101
- package/dist/cjs/views/Theme.native.js +148 -113
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +39 -18
- package/dist/cjs/views/ThemeDebug.native.js +13 -11
- package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.cjs +25 -20
- package/dist/cjs/views/ThemeProvider.native.js +30 -28
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
- package/dist/cjs/views/View.cjs +15 -15
- package/dist/cjs/views/View.native.js +18 -18
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/Tamagui.mjs +30 -28
- package/dist/esm/Tamagui.mjs.map +1 -1
- package/dist/esm/Tamagui.native.js +68 -54
- package/dist/esm/Tamagui.native.js.map +1 -1
- package/dist/esm/_withStableStyle.mjs +29 -10
- package/dist/esm/_withStableStyle.mjs.map +1 -1
- package/dist/esm/_withStableStyle.native.js +32 -16
- package/dist/esm/_withStableStyle.native.js.map +1 -1
- package/dist/esm/animationDriverTypes.test-d.mjs +39 -11
- package/dist/esm/animationDriverTypes.test-d.mjs.map +1 -1
- package/dist/esm/animationDriverTypes.test-d.native.js +39 -11
- package/dist/esm/animationDriverTypes.test-d.native.js.map +1 -1
- package/dist/esm/config.mjs +116 -63
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +138 -94
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.mjs +5 -5
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.native.js +5 -5
- package/dist/esm/constants/accessibilityDirectMap.native.js.map +1 -1
- package/dist/esm/constants/constants.mjs +5 -17
- package/dist/esm/constants/constants.mjs.map +1 -1
- package/dist/esm/constants/constants.native.js +6 -17
- package/dist/esm/constants/constants.native.js.map +1 -1
- package/dist/esm/constants/isDevTools.mjs +6 -4
- package/dist/esm/constants/isDevTools.mjs.map +1 -1
- package/dist/esm/constants/isDevTools.native.js +6 -4
- package/dist/esm/constants/isDevTools.native.js.map +1 -1
- package/dist/esm/contexts/ComponentContext.mjs +10 -8
- package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
- package/dist/esm/contexts/ComponentContext.native.js +10 -10
- package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +864 -585
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +867 -644
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createFont.mjs +21 -17
- package/dist/esm/createFont.mjs.map +1 -1
- package/dist/esm/createFont.native.js +23 -22
- package/dist/esm/createFont.native.js.map +1 -1
- package/dist/esm/createTamagui.mjs +94 -77
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +130 -121
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createVariable.mjs +42 -18
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js +52 -29
- package/dist/esm/createVariable.native.js.map +1 -1
- package/dist/esm/createVariables.mjs +40 -36
- package/dist/esm/createVariables.mjs.map +1 -1
- package/dist/esm/createVariables.native.js +42 -38
- package/dist/esm/createVariables.native.js.map +1 -1
- package/dist/esm/defaultComponentState.mjs +17 -17
- package/dist/esm/defaultComponentState.mjs.map +1 -1
- package/dist/esm/defaultComponentState.native.js +17 -17
- package/dist/esm/defaultComponentState.native.js.map +1 -1
- package/dist/esm/eventHandling.mjs +3 -3
- package/dist/esm/eventHandling.mjs.map +1 -1
- package/dist/esm/eventHandling.native.js +132 -66
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/consoleLog.native.js +2 -2
- package/dist/esm/helpers/consoleLog.native.js.map +1 -1
- package/dist/esm/helpers/createDesignSystem.mjs +65 -28
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createDesignSystem.native.js +103 -76
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/esm/helpers/createMediaStyle.mjs +77 -49
- package/dist/esm/helpers/createMediaStyle.mjs.map +1 -1
- package/dist/esm/helpers/createMediaStyle.native.js +83 -56
- package/dist/esm/helpers/createMediaStyle.native.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs +57 -36
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js +61 -43
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +17 -18
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +33 -32
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/expandStyle.mjs +27 -26
- package/dist/esm/helpers/expandStyle.mjs.map +1 -1
- package/dist/esm/helpers/expandStyle.native.js +50 -53
- package/dist/esm/helpers/expandStyle.native.js.map +1 -1
- package/dist/esm/helpers/expandStyles.mjs +10 -11
- package/dist/esm/helpers/expandStyles.mjs.map +1 -1
- package/dist/esm/helpers/expandStyles.native.js +13 -9
- package/dist/esm/helpers/expandStyles.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +91 -55
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.native.js +5 -5
- package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/esm/helpers/getDefaultProps.mjs +10 -13
- package/dist/esm/helpers/getDefaultProps.mjs.map +1 -1
- package/dist/esm/helpers/getDefaultProps.native.js +14 -12
- package/dist/esm/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/esm/helpers/getDynamicVal.mjs +20 -17
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.native.js +25 -22
- package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs +3 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.native.js +5 -3
- package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/esm/helpers/getGroupPropParts.mjs +14 -7
- package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -1
- package/dist/esm/helpers/getGroupPropParts.native.js +15 -8
- package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -1
- package/dist/esm/helpers/getShorthandValue.mjs +4 -1
- package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
- package/dist/esm/helpers/getShorthandValue.native.js +6 -6
- package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +588 -358
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +699 -558
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +78 -66
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/getTokenForKey.mjs +143 -0
- package/dist/esm/helpers/getTokenForKey.mjs.map +1 -0
- package/dist/esm/helpers/getTokenForKey.native.js +152 -0
- package/dist/esm/helpers/getTokenForKey.native.js.map +1 -0
- package/dist/esm/helpers/getVariantExtras.mjs +42 -32
- package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
- package/dist/esm/helpers/getVariantExtras.native.js +42 -32
- package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs +95 -63
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +38 -251
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/isActivePlatform.mjs +10 -9
- package/dist/esm/helpers/isActivePlatform.mjs.map +1 -1
- package/dist/esm/helpers/isActivePlatform.native.js +10 -9
- package/dist/esm/helpers/isActivePlatform.native.js.map +1 -1
- package/dist/esm/helpers/isActiveTheme.mjs +2 -1
- package/dist/esm/helpers/isActiveTheme.mjs.map +1 -1
- package/dist/esm/helpers/isActiveTheme.native.js +2 -1
- package/dist/esm/helpers/isActiveTheme.native.js.map +1 -1
- package/dist/esm/helpers/isObj.mjs +1 -1
- package/dist/esm/helpers/isObj.mjs.map +1 -1
- package/dist/esm/helpers/isObj.native.js +2 -2
- package/dist/esm/helpers/isTamaguiComponent.mjs +2 -2
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
- package/dist/esm/helpers/isTamaguiComponent.native.js +2 -2
- package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.mjs +3 -1
- package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/esm/helpers/log.mjs +8 -9
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +8 -9
- package/dist/esm/helpers/log.native.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +99 -16
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/matchMedia.mjs +3 -3
- package/dist/esm/helpers/matchMedia.mjs.map +1 -1
- package/dist/esm/helpers/matchMedia.native.js +22 -9
- package/dist/esm/helpers/matchMedia.native.js.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.mjs +26 -0
- package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -0
- package/dist/esm/helpers/mediaObjectToString.native.js +29 -0
- package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -0
- package/dist/esm/helpers/mediaState.mjs +20 -0
- package/dist/esm/helpers/mediaState.mjs.map +1 -0
- package/dist/esm/helpers/mediaState.native.js +22 -0
- package/dist/esm/helpers/mediaState.native.js.map +1 -0
- package/dist/esm/helpers/mergeProps.mjs +42 -20
- package/dist/esm/helpers/mergeProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeProps.native.js +43 -20
- package/dist/esm/helpers/mergeProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeRenderElementProps.mjs +2 -1
- package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeRenderElementProps.native.js +2 -1
- package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeSlotStyleProps.mjs +17 -6
- package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeSlotStyleProps.native.js +17 -6
- package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeVariants.mjs +16 -6
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
- package/dist/esm/helpers/mergeVariants.native.js +18 -8
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
- package/dist/esm/helpers/normalizeColor.mjs +18 -3
- package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
- package/dist/esm/helpers/normalizeColor.native.js +18 -17
- package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
- package/dist/esm/helpers/normalizeShadow.native.js +11 -11
- package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStyle.mjs +10 -5
- package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
- package/dist/esm/helpers/normalizeStyle.native.js +17 -13
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +10 -10
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +19 -4
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +20 -5
- package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/esm/helpers/objectIdentityKey.mjs +7 -2
- package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
- package/dist/esm/helpers/objectIdentityKey.native.js +10 -5
- package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.mjs +3 -1
- package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.native.js +40 -14
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeStyle.mjs +142 -0
- package/dist/esm/helpers/parseNativeStyle.mjs.map +1 -0
- package/dist/esm/helpers/parseNativeStyle.native.js +162 -0
- package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs +5 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.native.js +52 -0
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -0
- package/dist/esm/helpers/platformResolveValue.mjs +13 -0
- package/dist/esm/helpers/platformResolveValue.mjs.map +1 -0
- package/dist/esm/helpers/platformResolveValue.native.js +46 -0
- package/dist/esm/helpers/platformResolveValue.native.js.map +1 -0
- package/dist/esm/helpers/pointerEvents.native.js +110 -77
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
- package/dist/esm/helpers/propMapper.mjs +176 -194
- package/dist/esm/helpers/propMapper.mjs.map +1 -1
- package/dist/esm/helpers/propMapper.native.js +256 -269
- package/dist/esm/helpers/propMapper.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs +21 -9
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.native.js +72 -45
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs +1 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeVariables.native.js +1 -1
- package/dist/esm/helpers/pseudoDescriptors.mjs +48 -48
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +1 -1
- package/dist/esm/helpers/pseudoDescriptors.native.js +48 -48
- package/dist/esm/helpers/pseudoDescriptors.native.js.map +1 -1
- package/dist/esm/helpers/pseudoTransitions.mjs +57 -0
- package/dist/esm/helpers/pseudoTransitions.mjs.map +1 -0
- package/dist/esm/helpers/pseudoTransitions.native.js +59 -0
- package/dist/esm/helpers/pseudoTransitions.native.js.map +1 -0
- package/dist/esm/helpers/registerCSSVariable.mjs +42 -27
- package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.native.js +46 -33
- package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/esm/helpers/resolveAnimationDriver.mjs +12 -0
- package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -0
- package/dist/esm/helpers/resolveAnimationDriver.native.js +13 -0
- package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -0
- package/dist/esm/helpers/resolveCompoundTokens.mjs +16 -0
- package/dist/esm/helpers/resolveCompoundTokens.mjs.map +1 -0
- package/dist/esm/helpers/resolveCompoundTokens.native.js +16 -0
- package/dist/esm/helpers/resolveCompoundTokens.native.js.map +1 -0
- package/dist/esm/helpers/resolveRem.mjs +1 -1
- package/dist/esm/helpers/resolveRem.mjs.map +1 -1
- package/dist/esm/helpers/resolveRem.native.js +16 -9
- package/dist/esm/helpers/resolveRem.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.native.js +6 -4
- package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/esm/helpers/setElementProps.native.js +7 -3
- package/dist/esm/helpers/setElementProps.native.js.map +1 -1
- package/dist/esm/helpers/skipProps.mjs +3 -3
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +3 -3
- package/dist/esm/helpers/skipProps.native.js.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.mjs +68 -42
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +103 -79
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/helpers/themeable.mjs +47 -20
- package/dist/esm/helpers/themeable.mjs.map +1 -1
- package/dist/esm/helpers/themeable.native.js +69 -43
- package/dist/esm/helpers/themeable.native.js.map +1 -1
- package/dist/esm/helpers/themes.mjs +15 -9
- package/dist/esm/helpers/themes.mjs.map +1 -1
- package/dist/esm/helpers/themes.native.js +15 -9
- package/dist/esm/helpers/themes.native.js.map +1 -1
- package/dist/esm/helpers/timer.mjs +1 -1
- package/dist/esm/helpers/timer.native.js +1 -1
- package/dist/esm/helpers/transformsToString.mjs +6 -3
- package/dist/esm/helpers/transformsToString.mjs.map +1 -1
- package/dist/esm/helpers/transformsToString.native.js +6 -3
- package/dist/esm/helpers/transformsToString.native.js.map +1 -1
- package/dist/esm/helpers/useRenderElement.mjs +14 -13
- package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
- package/dist/esm/helpers/useRenderElement.native.js +18 -13
- package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
- package/dist/esm/helpers/webPropsToSkip.native.js +46 -46
- package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.mjs +2 -3
- package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.native.js +2 -2
- package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs +32 -16
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/getThemeProxied.native.js +62 -50
- package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +121 -68
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +125 -79
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useDisableSSR.native.js +1 -1
- package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
- package/dist/esm/hooks/useIsTouchDevice.native.js +1 -1
- package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +137 -99
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +148 -121
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +49 -44
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +51 -46
- package/dist/esm/hooks/useProps.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +25 -12
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +25 -15
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeName.mjs +8 -8
- package/dist/esm/hooks/useThemeName.mjs.map +1 -1
- package/dist/esm/hooks/useThemeName.native.js +10 -10
- package/dist/esm/hooks/useThemeName.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +237 -159
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +301 -232
- 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/inject-styles.mjs +15 -12
- package/dist/esm/inject-styles.mjs.map +1 -1
- package/dist/esm/inject-styles.native.js +16 -13
- package/dist/esm/inject-styles.native.js.map +1 -1
- package/dist/esm/insertFont.mjs +19 -13
- package/dist/esm/insertFont.mjs.map +1 -1
- package/dist/esm/insertFont.native.js +18 -16
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/setupReactNative.mjs +13 -8
- package/dist/esm/setupReactNative.mjs.map +1 -1
- package/dist/esm/setupReactNative.native.js +13 -11
- package/dist/esm/setupReactNative.native.js.map +1 -1
- package/dist/esm/styled.mjs +106 -64
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +109 -73
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/styledHtml.test-d.mjs +56 -25
- package/dist/esm/styledHtml.test-d.mjs.map +1 -1
- package/dist/esm/styledHtml.test-d.native.js +56 -25
- package/dist/esm/styledHtml.test-d.native.js.map +1 -1
- package/dist/esm/views/Configuration.native.js +2 -2
- package/dist/esm/views/Configuration.native.js.map +1 -1
- package/dist/esm/views/FontLanguage.mjs +10 -8
- package/dist/esm/views/FontLanguage.mjs.map +1 -1
- package/dist/esm/views/FontLanguage.native.js +7 -7
- package/dist/esm/views/FontLanguage.native.js.map +1 -1
- package/dist/esm/views/Slot.mjs +38 -22
- package/dist/esm/views/Slot.mjs.map +1 -1
- package/dist/esm/views/Slot.native.js +40 -26
- package/dist/esm/views/Slot.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +33 -39
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +37 -42
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/TamaguiRoot.mjs +43 -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 +29 -36
- package/dist/esm/views/Text.mjs.map +1 -1
- package/dist/esm/views/Text.native.js +18 -20
- package/dist/esm/views/Text.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +108 -72
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +114 -81
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +22 -3
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/dist/esm/views/ThemeDebug.native.js +1 -1
- package/dist/esm/views/ThemeDebug.native.js.map +1 -1
- package/dist/esm/views/ThemeProvider.mjs +7 -4
- package/dist/esm/views/ThemeProvider.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.native.js +5 -5
- package/dist/esm/views/ThemeProvider.native.js.map +1 -1
- package/dist/esm/views/View.mjs +1 -3
- package/dist/esm/views/View.mjs.map +1 -1
- package/dist/esm/views/View.native.js +1 -3
- 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 +54 -19
- 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 +266 -97
- package/src/createTamagui.ts +37 -20
- package/src/createVariable.ts +1 -1
- package/src/eventHandling.native.ts +108 -58
- package/src/eventHandling.ts +5 -2
- 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 +1 -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 +262 -52
- package/src/helpers/getThemeCSSRules.ts +16 -14
- package/src/helpers/getTokenForKey.ts +223 -0
- package/src/helpers/insertStyleRule.tsx +1 -1
- package/src/helpers/isActivePlatform.ts +33 -4
- package/src/helpers/mainThreadPressEvents.native.ts +122 -25
- package/src/helpers/mainThreadPressEvents.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 +58 -14
- package/src/index.ts +4 -4
- package/src/styled.tsx +2 -2
- package/src/types.tsx +225 -69
- 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 +2 -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 -2
- 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 +2 -2
- package/types/eventHandling.d.ts.map +1 -1
- package/types/eventHandling.native.d.ts +3 -3
- 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/isActivePlatform.d.ts +14 -0
- package/types/helpers/isActivePlatform.d.ts.map +1 -1
- package/types/helpers/mainThreadPressEvents.d.ts +1 -1
- package/types/helpers/mainThreadPressEvents.d.ts.map +1 -1
- package/types/helpers/mainThreadPressEvents.native.d.ts +5 -6
- 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 +116 -34
- 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.cjs +0 -28
- 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.cjs +0 -26
- package/dist/cjs/createTheme.js +0 -21
- package/dist/cjs/createTheme.js.map +0 -6
- package/dist/cjs/createTheme.native.js +0 -31
- 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.cjs +0 -34
- package/dist/cjs/views/Stack.js +0 -27
- package/dist/cjs/views/Stack.js.map +0 -6
- package/dist/cjs/views/Stack.native.js +0 -37
- 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
package/src/createTamagui.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { isWeb } from '@tamagui/constants'
|
|
2
1
|
import { getConfigMaybe, setConfig, setTokens } from './config'
|
|
3
2
|
import type { DeepVariableObject } from './createVariables'
|
|
4
3
|
import { createVariables } from './createVariables'
|
|
5
4
|
import { defaultAnimationDriver } from './helpers/defaultAnimationDriver'
|
|
5
|
+
import { resolveAnimationDriver } from './helpers/resolveAnimationDriver'
|
|
6
6
|
import {
|
|
7
7
|
buildCSSRuleSets,
|
|
8
8
|
createFontCSS,
|
|
@@ -46,6 +46,13 @@ function shouldTokenCategoryHaveUnits(category: string): boolean {
|
|
|
46
46
|
return UNIT_CATEGORIES.has(category)
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
// code optimizers were causing issues by not calling both of these as esbuild had compiled them
|
|
50
|
+
// pulling them into a single initializeTamaguiConfig to prevent that
|
|
51
|
+
function initializeTamaguiConfig(config: TamaguiInternalConfig) {
|
|
52
|
+
setConfig(config)
|
|
53
|
+
configureMedia(config)
|
|
54
|
+
}
|
|
55
|
+
|
|
49
56
|
export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
50
57
|
configIn: Conf
|
|
51
58
|
): InferTamaguiConfig<Conf> {
|
|
@@ -182,9 +189,8 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
182
189
|
const defaultPositionSetting = configIn.settings?.defaultPosition || 'static'
|
|
183
190
|
|
|
184
191
|
const defaultProps = configIn.defaultProps || {}
|
|
185
|
-
//
|
|
186
|
-
|
|
187
|
-
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
192
|
+
// apply defaultPosition via defaultProps when not static
|
|
193
|
+
if (process.env.TAMAGUI_TARGET === 'web' && defaultPositionSetting !== 'static') {
|
|
188
194
|
defaultProps.View = {
|
|
189
195
|
...defaultProps.View,
|
|
190
196
|
position: defaultPositionSetting,
|
|
@@ -194,20 +200,30 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
194
200
|
// ensure prefixed with $
|
|
195
201
|
const defaultFontToken = defaultFont ? `$${defaultFont}` : ''
|
|
196
202
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
+
// Text inherits font from root via CSS, no need for default fontFamily
|
|
204
|
+
// only explicit fontFamily prop should add font_* class
|
|
205
|
+
|
|
206
|
+
// normalize multi-driver animation config to default driver
|
|
207
|
+
// supports format: { default: motionDriver, css: cssDriver }
|
|
208
|
+
// stores full config in animationDrivers for component-level selection via animatedBy
|
|
209
|
+
const inputAnimations = configIn.animations
|
|
210
|
+
const resolvedDriver = resolveAnimationDriver(inputAnimations)
|
|
211
|
+
// multi-driver when resolveAnimationDriver extracted .default (returned different ref)
|
|
212
|
+
const isMultiDriver = resolvedDriver !== null && resolvedDriver !== inputAnimations
|
|
213
|
+
const resolvedAnimations = resolvedDriver ?? inputAnimations
|
|
214
|
+
const animationDrivers = isMultiDriver
|
|
215
|
+
? (inputAnimations as Record<string, any>)
|
|
216
|
+
: undefined
|
|
203
217
|
|
|
204
218
|
const config: TamaguiInternalConfig = {
|
|
205
219
|
fonts: {},
|
|
206
220
|
onlyAllowShorthands: false,
|
|
207
221
|
fontLanguages: [],
|
|
208
|
-
animations: defaultAnimationDriver,
|
|
209
222
|
media: {},
|
|
210
223
|
...configIn,
|
|
224
|
+
// normalized animations (resolved from multi-driver format if needed)
|
|
225
|
+
animations: resolvedAnimations ?? defaultAnimationDriver,
|
|
226
|
+
animationDrivers,
|
|
211
227
|
defaultProps,
|
|
212
228
|
settings: {
|
|
213
229
|
webContainerType: 'inline-size',
|
|
@@ -235,16 +251,17 @@ export function createTamagui<Conf extends CreateTamaguiProps>(
|
|
|
235
251
|
// .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }
|
|
236
252
|
}
|
|
237
253
|
|
|
238
|
-
|
|
239
|
-
configureMedia(config)
|
|
254
|
+
initializeTamaguiConfig(config)
|
|
240
255
|
|
|
241
|
-
if (process.env.NODE_ENV
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
256
|
+
if (process.env.NODE_ENV !== 'development') {
|
|
257
|
+
return config as any
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
if (process.env.DEBUG?.startsWith('tamagui')) {
|
|
261
|
+
console.info('Tamagui config:', config)
|
|
262
|
+
}
|
|
263
|
+
if (!globalThis['Tamagui']) {
|
|
264
|
+
globalThis['Tamagui'] = Tamagui
|
|
248
265
|
}
|
|
249
266
|
|
|
250
267
|
return config as any
|
package/src/createVariable.ts
CHANGED
|
@@ -90,7 +90,7 @@ export function getVariableName(v: Variable | any) {
|
|
|
90
90
|
return v
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
export function getVariableVariable(v: Variable |
|
|
93
|
+
export function getVariableVariable(v: Variable | string | undefined) {
|
|
94
94
|
if (isVariable(v)) return v.variable
|
|
95
95
|
return v
|
|
96
96
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Native event handling - uses RNGH when available, falls back to
|
|
2
|
+
* Native event handling - uses RNGH when available, falls back to responder system
|
|
3
3
|
*/
|
|
4
4
|
|
|
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,9 @@ 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,
|
|
23
|
+
debugName?: string | null
|
|
24
24
|
) {
|
|
25
25
|
// focus/blur events always attached directly
|
|
26
26
|
if (events) {
|
|
@@ -32,42 +32,12 @@ export function useEvents(
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
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
35
|
const hasPressEvents =
|
|
69
36
|
// its stable and always on if you have in/out/regular
|
|
70
37
|
events?.onPress
|
|
38
|
+
const hasAnyPressCallbacks = Boolean(
|
|
39
|
+
events?.onPress || events?.onPressIn || events?.onPressOut || events?.onLongPress
|
|
40
|
+
)
|
|
71
41
|
|
|
72
42
|
const gh = getGestureHandler()
|
|
73
43
|
|
|
@@ -78,11 +48,63 @@ export function useEvents(
|
|
|
78
48
|
|
|
79
49
|
// avoid hooks/reparenting
|
|
80
50
|
const everEnabled = Boolean(hasPressEvents || stateRef.current.hasHadEvents)
|
|
51
|
+
const isUsingRNGH = gh.isEnabled
|
|
81
52
|
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
|
|
85
|
-
|
|
53
|
+
// NOW handle early returns (after all hooks are called)
|
|
54
|
+
// THESE BRANCHES ARE NEVER CHANGING RENDER-TO-RENDER
|
|
55
|
+
|
|
56
|
+
// input special case - TextInput needs press events attached directly (not via RNGH)
|
|
57
|
+
if (staticConfig.isInput) {
|
|
58
|
+
if (events) {
|
|
59
|
+
const { onPressIn, onPressOut, onPress } = events
|
|
60
|
+
const inputEvents: any = {
|
|
61
|
+
onPressIn,
|
|
62
|
+
onPressOut: onPressOut || onPress,
|
|
63
|
+
}
|
|
64
|
+
if (onPressOut && onPress) {
|
|
65
|
+
// only supports onPressIn and onPressOut so combine them
|
|
66
|
+
inputEvents.onPressOut = composeEventHandlers(onPress, onPressOut)
|
|
67
|
+
}
|
|
68
|
+
Object.assign(viewProps, inputEvents)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// inputs don't use gesture handler
|
|
72
|
+
return null
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// HOC special case - pass press events to the inner component instead of wrapping
|
|
76
|
+
// HOC components may return null which crashes GestureDetector (it tries to access
|
|
77
|
+
// _internalInstanceHandle on a null native view). By passing events down, the inner
|
|
78
|
+
// component handles gesture detection at its own level.
|
|
79
|
+
//
|
|
80
|
+
// Composite component special case - when styled() wraps a non-Tamagui component
|
|
81
|
+
// (e.g. React.forwardRef), the elementType becomes that composite component.
|
|
82
|
+
// GestureDetector/responder wrapping around a composite component breaks during
|
|
83
|
+
// re-renders triggered by pressStyle state changes (the gesture/responder loses
|
|
84
|
+
// attachment to the native view through the composite layers). Pass events as props
|
|
85
|
+
// so they flow through to the inner native View.
|
|
86
|
+
const isCompositeComponent =
|
|
87
|
+
!isHOC && staticConfig.Component && typeof staticConfig.Component !== 'string'
|
|
88
|
+
|
|
89
|
+
if (isHOC || isCompositeComponent) {
|
|
90
|
+
if (events) {
|
|
91
|
+
const { onPressIn, onPressOut, onPress, onLongPress, delayLongPress } = events
|
|
92
|
+
Object.assign(viewProps, {
|
|
93
|
+
onPressIn,
|
|
94
|
+
onPressOut,
|
|
95
|
+
onPress,
|
|
96
|
+
onLongPress,
|
|
97
|
+
delayLongPress,
|
|
98
|
+
})
|
|
99
|
+
}
|
|
100
|
+
// HOCs and composite components don't use gesture handler at this level
|
|
101
|
+
return null
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// rngh path - logic (hooks already called above)
|
|
105
|
+
if (isUsingRNGH) {
|
|
106
|
+
// rngh path - hooks
|
|
107
|
+
const callbacksRef = useRef<any>(isUsingRNGH ? {} : null)
|
|
86
108
|
const gestureRef = useRef<any>(null)
|
|
87
109
|
|
|
88
110
|
if (everEnabled) {
|
|
@@ -98,27 +120,54 @@ export function useEvents(
|
|
|
98
120
|
|
|
99
121
|
// only create gesture once, callbacks are read from ref
|
|
100
122
|
if (!gestureRef.current) {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
123
|
+
if (isInsideNativeMenu) {
|
|
124
|
+
// Inside native menus on Android: use Manual gesture with manualActivation
|
|
125
|
+
// so it never goes ACTIVE (which would send ACTION_CANCEL to MenuView).
|
|
126
|
+
// Press callbacks fire via onTouchesDown/Up instead.
|
|
127
|
+
const { Gesture } = gh.state
|
|
128
|
+
const manual = Gesture.Manual()
|
|
129
|
+
.runOnJS(true)
|
|
130
|
+
.manualActivation(true)
|
|
131
|
+
.onTouchesDown(() => {
|
|
132
|
+
callbacksRef.current.onPressIn?.({})
|
|
133
|
+
})
|
|
134
|
+
.onTouchesUp(() => {
|
|
135
|
+
callbacksRef.current.onPress?.({})
|
|
136
|
+
callbacksRef.current.onPressOut?.({})
|
|
137
|
+
})
|
|
138
|
+
.onTouchesCancelled(() => {
|
|
139
|
+
callbacksRef.current.onPressOut?.({})
|
|
140
|
+
})
|
|
141
|
+
gestureRef.current = manual
|
|
142
|
+
} else {
|
|
143
|
+
gestureRef.current = gh.createPressGesture({
|
|
144
|
+
debugName,
|
|
145
|
+
onPressIn: (e: any) => callbacksRef.current.onPressIn?.(e),
|
|
146
|
+
onPressOut: (e: any) => callbacksRef.current.onPressOut?.(e),
|
|
147
|
+
onPress: (e: any) => callbacksRef.current.onPress?.(e),
|
|
148
|
+
onLongPress: (e: any) => callbacksRef.current.onLongPress?.(e),
|
|
149
|
+
delayLongPress: events?.delayLongPress,
|
|
150
|
+
hitSlop: viewProps.hitSlop,
|
|
151
|
+
})
|
|
152
|
+
}
|
|
109
153
|
}
|
|
110
154
|
// TODO update viewProps.hitSlop / events.delayLongPress!
|
|
111
155
|
|
|
156
|
+
// Claim responder to block parent RN Pressable/TouchableOpacity from firing.
|
|
157
|
+
// RNGH handles the actual press, but we need to tell the responder system
|
|
158
|
+
// that we're handling this touch to prevent it bubbling to parent pressables.
|
|
159
|
+
if (hasPressEvents) {
|
|
160
|
+
viewProps.onStartShouldSetResponder = () => true
|
|
161
|
+
viewProps.onResponderTerminationRequest = () => false
|
|
162
|
+
}
|
|
163
|
+
|
|
112
164
|
return gestureRef.current
|
|
113
165
|
}
|
|
114
166
|
|
|
115
|
-
// don't fall through to useMainThreadPressEvents
|
|
116
167
|
return null
|
|
117
168
|
}
|
|
118
169
|
|
|
119
|
-
|
|
120
|
-
// split into separate file to avoid deep import warnings
|
|
121
|
-
useMainThreadPressEvents(events, viewProps, hasPressEvents)
|
|
170
|
+
useMainThreadPressEvents(events, viewProps, hasPressEvents, debugName)
|
|
122
171
|
|
|
123
172
|
return null
|
|
124
173
|
}
|
|
@@ -127,11 +176,12 @@ export function wrapWithGestureDetector(
|
|
|
127
176
|
content: any,
|
|
128
177
|
gesture: any,
|
|
129
178
|
stateRef: { current: TamaguiComponentStateRef },
|
|
130
|
-
isHOC?: boolean
|
|
179
|
+
isHOC?: boolean,
|
|
180
|
+
isCompositeComponent?: boolean
|
|
131
181
|
) {
|
|
132
|
-
// Skip wrapping for HOC components - they
|
|
133
|
-
//
|
|
134
|
-
if (isHOC) {
|
|
182
|
+
// Skip wrapping for HOC and composite components - they pass press events
|
|
183
|
+
// to the inner component via props instead of using GestureDetector
|
|
184
|
+
if (isHOC || isCompositeComponent) {
|
|
135
185
|
return content
|
|
136
186
|
}
|
|
137
187
|
|
package/src/eventHandling.ts
CHANGED
|
@@ -26,7 +26,8 @@ export function wrapWithGestureDetector(
|
|
|
26
26
|
content: any,
|
|
27
27
|
_gesture: any,
|
|
28
28
|
_stateRef: { current: any },
|
|
29
|
-
_isHOC?: boolean
|
|
29
|
+
_isHOC?: boolean,
|
|
30
|
+
_isCompositeComponent?: boolean
|
|
30
31
|
) {
|
|
31
32
|
return content
|
|
32
33
|
}
|
|
@@ -37,7 +38,9 @@ export function useEvents(
|
|
|
37
38
|
_viewProps: any,
|
|
38
39
|
_stateRef: { current: any },
|
|
39
40
|
_staticConfig: any,
|
|
40
|
-
_isHOC?: boolean
|
|
41
|
+
_isHOC?: boolean,
|
|
42
|
+
_isInsideNativeMenu?: boolean,
|
|
43
|
+
_debugName?: string | null
|
|
41
44
|
) {
|
|
42
45
|
return null
|
|
43
46
|
}
|
|
@@ -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'),
|
|
@@ -19,6 +17,7 @@ const createEmptyAnimationDriver = (): AnimationDriver => ({
|
|
|
19
17
|
ResetPresence: () => noAnimationDriver('ResetPresence'),
|
|
20
18
|
useAnimatedNumber: () => noAnimationDriver('useAnimatedNumber'),
|
|
21
19
|
useAnimatedNumberStyle: () => noAnimationDriver('useAnimatedNumberStyle'),
|
|
20
|
+
useAnimatedNumbersStyle: () => noAnimationDriver('useAnimatedNumbersStyle'),
|
|
22
21
|
useAnimatedNumberReaction: () => noAnimationDriver('useAnimatedNumberReaction'),
|
|
23
22
|
})
|
|
24
23
|
|
|
@@ -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)
|