@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/types.tsx
CHANGED
|
@@ -426,7 +426,7 @@ export type FontLanguageProps = LanguageContextType & {
|
|
|
426
426
|
|
|
427
427
|
export type ThemeProviderProps = {
|
|
428
428
|
className?: string
|
|
429
|
-
defaultTheme: string
|
|
429
|
+
defaultTheme: string | null | undefined
|
|
430
430
|
/** @deprecated moved to createTamagui({ settings: { disableRootThemeClass } }) */
|
|
431
431
|
disableRootThemeClass?: boolean
|
|
432
432
|
/** @deprecated moved to createTamagui({ settings: { themeClassNameOnRoot } }) */
|
|
@@ -612,6 +612,14 @@ export type TamaguiComponentStateRef = {
|
|
|
612
612
|
|
|
613
613
|
// cleanup function for media emit listener
|
|
614
614
|
mediaEmitCleanup?: () => void
|
|
615
|
+
|
|
616
|
+
// previous pseudo state for detecting enter vs exit transitions
|
|
617
|
+
prevPseudoState?: {
|
|
618
|
+
hover?: boolean
|
|
619
|
+
press?: boolean
|
|
620
|
+
focus?: boolean
|
|
621
|
+
groups?: Record<string, { hover?: boolean; press?: boolean; focus?: boolean }>
|
|
622
|
+
}
|
|
615
623
|
}
|
|
616
624
|
|
|
617
625
|
export type ComponentGroupEmitter = {
|
|
@@ -789,6 +797,12 @@ export type OnlyAllowShorthandsSetting = TamaguiConfig['settings'] extends {
|
|
|
789
797
|
? X
|
|
790
798
|
: false
|
|
791
799
|
|
|
800
|
+
export type OnlyShorthandStylePropsSetting = TamaguiConfig['settings'] extends {
|
|
801
|
+
onlyShorthandStyleProps: infer X
|
|
802
|
+
}
|
|
803
|
+
? X
|
|
804
|
+
: false
|
|
805
|
+
|
|
792
806
|
export type CreateTamaguiConfig<
|
|
793
807
|
A extends GenericTokens,
|
|
794
808
|
B extends GenericThemes,
|
|
@@ -797,6 +811,9 @@ export type CreateTamaguiConfig<
|
|
|
797
811
|
E extends GenericAnimations = GenericAnimations,
|
|
798
812
|
F extends GenericFonts = GenericFonts,
|
|
799
813
|
H extends GenericTamaguiSettings = GenericTamaguiSettings,
|
|
814
|
+
// preserve the raw animation driver keys ('default' | 'css' | etc)
|
|
815
|
+
// defaults to string so generic TamaguiInternalConfig accepts any driver keys
|
|
816
|
+
AnimDriverKeys extends string = string,
|
|
800
817
|
> = {
|
|
801
818
|
fonts: RemoveLanguagePostfixes<F>
|
|
802
819
|
fontLanguages: GetLanguagePostfixes<F> extends never
|
|
@@ -815,6 +832,8 @@ export type CreateTamaguiConfig<
|
|
|
815
832
|
// Multi-driver: { default: cssDriver, spring: motiDriver }
|
|
816
833
|
// Single: AnimationDriver<E>
|
|
817
834
|
animations: AnimationDriver<E> | AnimationsConfigObject
|
|
835
|
+
// phantom type for preserving driver keys - never set at runtime, only for type inference
|
|
836
|
+
animationDriverKeys?: AnimDriverKeys
|
|
818
837
|
settings: H
|
|
819
838
|
}
|
|
820
839
|
|
|
@@ -880,6 +899,16 @@ type ExtractAnimationConfig<E> =
|
|
|
880
899
|
? E
|
|
881
900
|
: EmptyAnimations
|
|
882
901
|
|
|
902
|
+
// Helper to extract animation driver keys from raw animations prop
|
|
903
|
+
// Single driver: returns 'default'
|
|
904
|
+
// Multi-driver { default: x, css: y }: returns 'default' | 'css'
|
|
905
|
+
type ExtractAnimationDriverKeys<E> =
|
|
906
|
+
E extends AnimationDriver<any>
|
|
907
|
+
? 'default'
|
|
908
|
+
: E extends { default: AnimationDriver<any> }
|
|
909
|
+
? Extract<keyof E, string>
|
|
910
|
+
: 'default'
|
|
911
|
+
|
|
883
912
|
export type InferTamaguiConfig<Conf> =
|
|
884
913
|
Conf extends ConfProps<infer A, infer B, infer C, infer D, infer E, infer F, infer H>
|
|
885
914
|
? TamaguiInternalConfig<
|
|
@@ -889,7 +918,8 @@ export type InferTamaguiConfig<Conf> =
|
|
|
889
918
|
D extends GenericMedia ? D : EmptyMedia,
|
|
890
919
|
ExtractAnimationConfig<E>,
|
|
891
920
|
F extends GenericFonts ? F : EmptyFonts,
|
|
892
|
-
H extends GenericTamaguiSettings ? H : EmptyTamaguiSettings
|
|
921
|
+
H extends GenericTamaguiSettings ? H : EmptyTamaguiSettings,
|
|
922
|
+
ExtractAnimationDriverKeys<E>
|
|
893
923
|
>
|
|
894
924
|
: unknown
|
|
895
925
|
|
|
@@ -948,7 +978,10 @@ export type ThemeTokens = `$${ThemeKeys}`
|
|
|
948
978
|
// Animation names (slow, fast, bouncy) for the `transition` prop
|
|
949
979
|
// Extract animation keys from the driver's `animations` property
|
|
950
980
|
// The AnimationDriver<Config> has an `animations: Config` property
|
|
951
|
-
|
|
981
|
+
// Use Extract<keyof A, string> to filter out number/symbol keys from fallback case
|
|
982
|
+
type GetAnimationsFromDriver<T> = T extends { animations: infer A }
|
|
983
|
+
? Extract<keyof A, string>
|
|
984
|
+
: never
|
|
952
985
|
|
|
953
986
|
// For multi-driver configs like { default: AnimationDriver, css: AnimationDriver }
|
|
954
987
|
// Extract from the 'default' driver or first driver found
|
|
@@ -970,21 +1003,18 @@ type InferredTransitionKeys =
|
|
|
970
1003
|
export type TransitionKeys = InferredTransitionKeys
|
|
971
1004
|
|
|
972
1005
|
// Driver keys (default, css, spring) for the `animatedBy` prop
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
? keyof TamaguiConfig['animations']
|
|
978
|
-
: 'default'
|
|
979
|
-
|
|
980
|
-
// Combine inferred keys from config with TypeOverride keys
|
|
981
|
-
// This ensures both config-defined drivers AND lazy-loaded drivers are available
|
|
1006
|
+
// Gets driver keys directly from TamaguiConfig.animationDriverKeys
|
|
1007
|
+
// Falls back to 'default' only when TamaguiCustomConfig is empty (no augmentation)
|
|
1008
|
+
// The Exclude<X, undefined> handles optional property, then we intersect with string
|
|
1009
|
+
// to ensure only string keys (not symbols/numbers)
|
|
982
1010
|
export type AnimationDriverKeys =
|
|
983
1011
|
| 'default'
|
|
984
|
-
|
|
|
1012
|
+
| Extract<Exclude<TamaguiConfig['animationDriverKeys'], undefined>, string>
|
|
1013
|
+
// add TypeOverride keys for lazy-loaded drivers
|
|
985
1014
|
| (ReturnType<TypeOverride['animationDrivers']> extends 1
|
|
986
1015
|
? never
|
|
987
1016
|
: ReturnType<TypeOverride['animationDrivers']>)
|
|
1017
|
+
|
|
988
1018
|
export type FontLanguages = ArrayIntersection<TamaguiConfig['fontLanguages']>
|
|
989
1019
|
|
|
990
1020
|
export interface ThemeProps {
|
|
@@ -1208,6 +1238,23 @@ export interface GenericTamaguiSettings {
|
|
|
1208
1238
|
* @default 16
|
|
1209
1239
|
*/
|
|
1210
1240
|
remBaseFontSize?: number
|
|
1241
|
+
|
|
1242
|
+
/**
|
|
1243
|
+
* When true, removes the individual longhand style props for border,
|
|
1244
|
+
* outline, and shadow (borderWidth, borderStyle, borderColor,
|
|
1245
|
+
* outlineWidth, outlineStyle, outlineColor, outlineOffset,
|
|
1246
|
+
* shadowColor, shadowOffset, shadowOpacity, shadowRadius) from the
|
|
1247
|
+
* type system, encouraging use of the combined shorthand props instead
|
|
1248
|
+
* (`border`, `outline`, `boxShadow`).
|
|
1249
|
+
*
|
|
1250
|
+
* This avoids specificity issues when mixing shorthand and longhand
|
|
1251
|
+
* props in atomic CSS output.
|
|
1252
|
+
*
|
|
1253
|
+
* Note: this is type-level only - it does not change runtime behavior.
|
|
1254
|
+
*
|
|
1255
|
+
* @default false
|
|
1256
|
+
*/
|
|
1257
|
+
onlyShorthandStyleProps?: boolean
|
|
1211
1258
|
}
|
|
1212
1259
|
|
|
1213
1260
|
export type TamaguiSettings = TamaguiConfig['settings']
|
|
@@ -1282,8 +1329,11 @@ export type TamaguiInternalConfig<
|
|
|
1282
1329
|
E extends GenericAnimations = GenericAnimations,
|
|
1283
1330
|
F extends GenericFonts = GenericFonts,
|
|
1284
1331
|
G extends GenericTamaguiSettings = GenericTamaguiSettings,
|
|
1332
|
+
// preserve the raw animation driver keys ('default' | 'css' | etc)
|
|
1333
|
+
// defaults to string so generic TamaguiInternalConfig accepts any driver keys
|
|
1334
|
+
AnimDriverKeys extends string = string,
|
|
1285
1335
|
> = Omit<CreateTamaguiProps, keyof GenericTamaguiConfig> &
|
|
1286
|
-
Omit<CreateTamaguiConfig<A, B, C, D, E, F, G>, 'tokens'> & {
|
|
1336
|
+
Omit<CreateTamaguiConfig<A, B, C, D, E, F, G, AnimDriverKeys>, 'tokens'> & {
|
|
1287
1337
|
// TODO need to make it this but this breaks types, revisit
|
|
1288
1338
|
// animations: E //AnimationDriver<E>
|
|
1289
1339
|
// with $ prefixes for fast lookups (one time cost at startup vs every render)
|
|
@@ -1302,6 +1352,9 @@ export type TamaguiInternalConfig<
|
|
|
1302
1352
|
settings: Omit<GenericTamaguiSettings, keyof G> & G
|
|
1303
1353
|
defaultFont?: string
|
|
1304
1354
|
defaultFontToken: `${string}`
|
|
1355
|
+
// multi-driver animation config (e.g., { default: motionDriver, css: cssDriver })
|
|
1356
|
+
// used for component-level driver selection via animatedBy prop
|
|
1357
|
+
animationDrivers?: Record<string, AnimationDriver>
|
|
1305
1358
|
}
|
|
1306
1359
|
|
|
1307
1360
|
export type GetAnimationKeys<A extends GenericTamaguiConfig> = keyof A['animations']
|
|
@@ -1374,19 +1427,14 @@ export type WithMediaProps<A> = {
|
|
|
1374
1427
|
[Key in PlatformMediaKeys]?: AddWebOnlyStyleProps<A>
|
|
1375
1428
|
}
|
|
1376
1429
|
: Key extends `$platform-web`
|
|
1377
|
-
? AddWebOnlyStyleProps<A>
|
|
1378
|
-
: A
|
|
1430
|
+
? AddWebOnlyStyleProps<A> & { [Key in MediaPropKeys]?: AddWebOnlyStyleProps<A> }
|
|
1431
|
+
: A & { [Key in MediaPropKeys]?: A }
|
|
1379
1432
|
}
|
|
1380
1433
|
|
|
1381
|
-
type AddWebOnlyStyleProps<A> =
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
? A[SubKey]
|
|
1386
|
-
: SubKey extends keyof WebOnlyValidStyleValues
|
|
1387
|
-
? WebOnlyValidStyleValues[SubKey]
|
|
1388
|
-
: never
|
|
1389
|
-
}
|
|
1434
|
+
export type AddWebOnlyStyleProps<A> = Partial<CSSProperties> &
|
|
1435
|
+
Partial<WebOnlyValidStyleValues> & {
|
|
1436
|
+
[K in Exclude<keyof A, keyof CSSProperties>]?: A[K]
|
|
1437
|
+
}
|
|
1390
1438
|
|
|
1391
1439
|
export type WebOnlyValidStyleValues = {
|
|
1392
1440
|
position: '-webkit-sticky'
|
|
@@ -1414,29 +1462,58 @@ export type MatchMedia = (query: string) => MediaQueryList
|
|
|
1414
1462
|
// TODO can override for better types
|
|
1415
1463
|
export type AnimationConfigType = any
|
|
1416
1464
|
|
|
1465
|
+
/**
|
|
1466
|
+
* Spring configuration parameters that can override preset defaults.
|
|
1467
|
+
* Use with array syntax: transition={['bouncy', { stiffness: 1000, damping: 70 }]}
|
|
1468
|
+
*/
|
|
1469
|
+
export type TransitionSpringConfig = {
|
|
1470
|
+
stiffness?: number
|
|
1471
|
+
damping?: number
|
|
1472
|
+
mass?: number
|
|
1473
|
+
tension?: number
|
|
1474
|
+
friction?: number
|
|
1475
|
+
velocity?: number
|
|
1476
|
+
overshootClamping?: boolean
|
|
1477
|
+
duration?: number
|
|
1478
|
+
bounciness?: number
|
|
1479
|
+
speed?: number
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1417
1482
|
export type TransitionProp =
|
|
1418
1483
|
| TransitionKeys
|
|
1419
|
-
| {
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
}
|
|
1426
|
-
}
|
|
1427
|
-
| [
|
|
1428
|
-
TransitionKeys,
|
|
1429
|
-
{
|
|
1430
|
-
delay?: number
|
|
1484
|
+
| ({
|
|
1485
|
+
default?: TransitionKeys
|
|
1486
|
+
enter?: TransitionKeys
|
|
1487
|
+
exit?: TransitionKeys
|
|
1488
|
+
delay?: number
|
|
1489
|
+
} & TransitionSpringConfig & {
|
|
1431
1490
|
[key: string]:
|
|
1432
1491
|
| TransitionKeys
|
|
1433
1492
|
| {
|
|
1434
|
-
type
|
|
1493
|
+
type: TransitionKeys
|
|
1435
1494
|
[key: string]: any
|
|
1436
1495
|
}
|
|
1437
1496
|
| number
|
|
1497
|
+
| boolean
|
|
1438
1498
|
| undefined
|
|
1439
|
-
}
|
|
1499
|
+
})
|
|
1500
|
+
| [
|
|
1501
|
+
TransitionKeys,
|
|
1502
|
+
{
|
|
1503
|
+
delay?: number
|
|
1504
|
+
enter?: TransitionKeys
|
|
1505
|
+
exit?: TransitionKeys
|
|
1506
|
+
} & TransitionSpringConfig & {
|
|
1507
|
+
[key: string]:
|
|
1508
|
+
| TransitionKeys
|
|
1509
|
+
| {
|
|
1510
|
+
type?: TransitionKeys
|
|
1511
|
+
[key: string]: any
|
|
1512
|
+
}
|
|
1513
|
+
| number
|
|
1514
|
+
| boolean
|
|
1515
|
+
| undefined
|
|
1516
|
+
},
|
|
1440
1517
|
]
|
|
1441
1518
|
|
|
1442
1519
|
/**
|
|
@@ -1615,11 +1692,13 @@ export type ColorTokens =
|
|
|
1615
1692
|
export type ZIndexTokens =
|
|
1616
1693
|
| SpecificTokensSpecial
|
|
1617
1694
|
| GetTokenString<keyof Tokens['zIndex']>
|
|
1695
|
+
| ThemeValueFallbackZIndex
|
|
1618
1696
|
| number
|
|
1619
1697
|
|
|
1620
1698
|
export type RadiusTokens =
|
|
1621
1699
|
| SpecificTokensSpecial
|
|
1622
1700
|
| GetTokenString<keyof Tokens['radius']>
|
|
1701
|
+
| ThemeValueFallbackRadius
|
|
1623
1702
|
| number
|
|
1624
1703
|
| RemString
|
|
1625
1704
|
|
|
@@ -1719,16 +1798,18 @@ export type ThemeValueByCategory<K extends string | number | symbol> = K extends
|
|
|
1719
1798
|
? ColorTokens
|
|
1720
1799
|
: K extends 'zIndex'
|
|
1721
1800
|
? ZIndexTokens
|
|
1722
|
-
: K extends '
|
|
1723
|
-
?
|
|
1724
|
-
: K extends '
|
|
1725
|
-
?
|
|
1726
|
-
: K extends '
|
|
1727
|
-
?
|
|
1728
|
-
: K extends
|
|
1729
|
-
?
|
|
1730
|
-
|
|
1731
|
-
|
|
1801
|
+
: K extends 'radius'
|
|
1802
|
+
? RadiusTokens
|
|
1803
|
+
: K extends 'lineHeight'
|
|
1804
|
+
? FontLineHeightTokens
|
|
1805
|
+
: K extends 'fontWeight'
|
|
1806
|
+
? FontWeightTokens
|
|
1807
|
+
: K extends 'letterSpacing'
|
|
1808
|
+
? FontLetterSpacingTokens
|
|
1809
|
+
: K extends keyof Tokens
|
|
1810
|
+
? // fallback to user-defined tokens
|
|
1811
|
+
GetTokenString<keyof Tokens[K]>
|
|
1812
|
+
: never
|
|
1732
1813
|
|
|
1733
1814
|
export type FontKeys = 'fontFamily'
|
|
1734
1815
|
export type FontSizeKeys = 'fontSize'
|
|
@@ -1741,21 +1822,21 @@ export type OpacityKeys = 'opacity'
|
|
|
1741
1822
|
export type ThemeValueGet<K extends string | number | symbol> = K extends 'theme'
|
|
1742
1823
|
? ThemeTokens
|
|
1743
1824
|
: K extends SizeKeys
|
|
1744
|
-
? SizeTokens
|
|
1825
|
+
? SizeTokens
|
|
1745
1826
|
: K extends FontKeys
|
|
1746
1827
|
? FontTokens
|
|
1747
1828
|
: K extends FontSizeKeys
|
|
1748
1829
|
? FontSizeTokens
|
|
1749
1830
|
: K extends `${`border${string | ''}Radius`}`
|
|
1750
|
-
? RadiusTokens
|
|
1831
|
+
? RadiusTokens
|
|
1751
1832
|
: K extends SpaceKeys
|
|
1752
1833
|
? K extends 'shadowOffset'
|
|
1753
1834
|
? { width: SpaceTokens; height: SpaceTokens }
|
|
1754
|
-
: SpaceTokens
|
|
1835
|
+
: SpaceTokens
|
|
1755
1836
|
: K extends ColorKeys
|
|
1756
1837
|
? ColorTokens | ThemeValueFallbackColor
|
|
1757
1838
|
: K extends ZIndexKeys
|
|
1758
|
-
? ZIndexTokens
|
|
1839
|
+
? ZIndexTokens
|
|
1759
1840
|
: K extends LineHeightKeys
|
|
1760
1841
|
? FontLineHeightTokens
|
|
1761
1842
|
: K extends FontWeightKeys
|
|
@@ -1787,6 +1868,21 @@ export type NarrowShorthands = Narrow<Shorthands>
|
|
|
1787
1868
|
export type Longhands = NarrowShorthands[keyof NarrowShorthands]
|
|
1788
1869
|
|
|
1789
1870
|
type OnlyAllowShorthands = TamaguiConfig['settings']['onlyAllowShorthands']
|
|
1871
|
+
type OnlyShorthandStyleProps = TamaguiConfig['settings']['onlyShorthandStyleProps']
|
|
1872
|
+
|
|
1873
|
+
// longhand style props that overlap with border/outline/shadow shorthands
|
|
1874
|
+
type ShorthandLonghandProps =
|
|
1875
|
+
| 'borderWidth'
|
|
1876
|
+
| 'borderStyle'
|
|
1877
|
+
| 'borderColor'
|
|
1878
|
+
| 'outlineWidth'
|
|
1879
|
+
| 'outlineStyle'
|
|
1880
|
+
| 'outlineColor'
|
|
1881
|
+
| 'outlineOffset'
|
|
1882
|
+
| 'shadowColor'
|
|
1883
|
+
| 'shadowOffset'
|
|
1884
|
+
| 'shadowOpacity'
|
|
1885
|
+
| 'shadowRadius'
|
|
1790
1886
|
|
|
1791
1887
|
// adds shorthand props
|
|
1792
1888
|
export type WithShorthands<StyleProps> = {
|
|
@@ -1796,15 +1892,30 @@ export type WithShorthands<StyleProps> = {
|
|
|
1796
1892
|
}
|
|
1797
1893
|
|
|
1798
1894
|
// adds pseudo props
|
|
1895
|
+
// PseudoStyleWithTransition allows transition inside pseudo-style props for enter/exit timing
|
|
1896
|
+
export type PseudoStyleWithTransition<A> = A & { transition?: TransitionProp | null }
|
|
1897
|
+
|
|
1799
1898
|
export type WithPseudoProps<A> = {
|
|
1800
|
-
hoverStyle?: A | null
|
|
1801
|
-
pressStyle?: A | null
|
|
1802
|
-
focusStyle?: A | null
|
|
1803
|
-
focusWithinStyle?: A | null
|
|
1804
|
-
focusVisibleStyle?: A | null
|
|
1805
|
-
disabledStyle?: A | null
|
|
1806
|
-
exitStyle?: A | null
|
|
1807
|
-
enterStyle?: A | null
|
|
1899
|
+
hoverStyle?: PseudoStyleWithTransition<A> | null
|
|
1900
|
+
pressStyle?: PseudoStyleWithTransition<A> | null
|
|
1901
|
+
focusStyle?: PseudoStyleWithTransition<A> | null
|
|
1902
|
+
focusWithinStyle?: PseudoStyleWithTransition<A> | null
|
|
1903
|
+
focusVisibleStyle?: PseudoStyleWithTransition<A> | null
|
|
1904
|
+
disabledStyle?: PseudoStyleWithTransition<A> | null
|
|
1905
|
+
exitStyle?: PseudoStyleWithTransition<A> | null
|
|
1906
|
+
enterStyle?: PseudoStyleWithTransition<A> | null
|
|
1907
|
+
}
|
|
1908
|
+
|
|
1909
|
+
// type for transitions extracted from pseudo-style props (e.g., hoverStyle.transition)
|
|
1910
|
+
// includes $group-*-hover, $group-*-press, $group-*-focus patterns
|
|
1911
|
+
export type PseudoTransitions = Partial<
|
|
1912
|
+
Record<keyof WithPseudoProps<any>, TransitionProp | null>
|
|
1913
|
+
> & {
|
|
1914
|
+
// allow $group-{name}-{pseudo} keys dynamically
|
|
1915
|
+
[key: `$group-${string}-${'hover' | 'press' | 'focus'}`]:
|
|
1916
|
+
| TransitionProp
|
|
1917
|
+
| null
|
|
1918
|
+
| undefined
|
|
1808
1919
|
}
|
|
1809
1920
|
|
|
1810
1921
|
export type PseudoPropKeys = keyof WithPseudoProps<any>
|
|
@@ -1820,19 +1931,32 @@ export type PseudoStyles = {
|
|
|
1820
1931
|
exitStyle?: ViewStyle
|
|
1821
1932
|
}
|
|
1822
1933
|
|
|
1823
|
-
export type AllPlatforms =
|
|
1934
|
+
export type AllPlatforms =
|
|
1935
|
+
| 'web'
|
|
1936
|
+
| 'native'
|
|
1937
|
+
| 'android'
|
|
1938
|
+
| 'ios'
|
|
1939
|
+
| 'tv'
|
|
1940
|
+
| 'androidtv'
|
|
1941
|
+
| 'tvos'
|
|
1824
1942
|
|
|
1825
1943
|
// MUST EXPORT ALL IN BETWEEN or else it expands declarations like crazy
|
|
1826
1944
|
|
|
1827
1945
|
//
|
|
1828
1946
|
// add both theme and shorthands
|
|
1829
1947
|
//
|
|
1948
|
+
type MaybeOmitLonghands<A> = OnlyShorthandStyleProps extends true
|
|
1949
|
+
? Omit<A, ShorthandLonghandProps>
|
|
1950
|
+
: A
|
|
1951
|
+
|
|
1830
1952
|
export type WithThemeAndShorthands<
|
|
1831
1953
|
A extends object,
|
|
1832
1954
|
Variants = {},
|
|
1833
1955
|
> = OnlyAllowShorthands extends true
|
|
1834
|
-
? WithThemeValues<Omit<A, Longhands
|
|
1835
|
-
|
|
1956
|
+
? WithThemeValues<MaybeOmitLonghands<Omit<A, Longhands>>> &
|
|
1957
|
+
Variants &
|
|
1958
|
+
WithShorthands<WithThemeValues<A>>
|
|
1959
|
+
: WithThemeValues<MaybeOmitLonghands<A>> & Variants & WithShorthands<WithThemeValues<A>>
|
|
1836
1960
|
|
|
1837
1961
|
//
|
|
1838
1962
|
// combines all of theme, shorthands, pseudos...
|
|
@@ -1932,6 +2056,18 @@ type BorderPreset =
|
|
|
1932
2056
|
// Note: on native, only supports a single border (all sides)
|
|
1933
2057
|
export type BorderValue = BorderPreset | (string & {})
|
|
1934
2058
|
|
|
2059
|
+
// outline shorthand presets - examples for autocomplete hints
|
|
2060
|
+
type OutlinePreset =
|
|
2061
|
+
| '1px solid' // width + style
|
|
2062
|
+
| '1px solid $outlineColor' // width + style + color token
|
|
2063
|
+
| '2px dashed $outlineColor' // width + style + color
|
|
2064
|
+
| '1px dotted red' // width + style + color
|
|
2065
|
+
| 'none'
|
|
2066
|
+
|
|
2067
|
+
// Outline - CSS shorthand string format (e.g. "2px solid $outlineColor")
|
|
2068
|
+
// Expands to outlineWidth, outlineStyle, outlineColor on native
|
|
2069
|
+
export type OutlineValue = OutlinePreset | (string & {})
|
|
2070
|
+
|
|
1935
2071
|
interface ExtraStyleProps {
|
|
1936
2072
|
/**
|
|
1937
2073
|
* Controls the curve style of rounded corners.
|
|
@@ -1965,6 +2101,12 @@ interface ExtraStyleProps {
|
|
|
1965
2101
|
* Outline width. Supported on web and native.
|
|
1966
2102
|
*/
|
|
1967
2103
|
outlineWidth?: SpaceValue
|
|
2104
|
+
/**
|
|
2105
|
+
* CSS outline shorthand string. Supports tokens: "2px solid $outlineColor"
|
|
2106
|
+
* Expands to outlineWidth, outlineStyle, outlineColor on native.
|
|
2107
|
+
* Works on web and native.
|
|
2108
|
+
*/
|
|
2109
|
+
outline?: OutlineValue
|
|
1968
2110
|
/**
|
|
1969
2111
|
* On native, maps to the `selectable` prop on Text (userSelect !== 'none')
|
|
1970
2112
|
*/
|
|
@@ -2329,6 +2471,7 @@ export interface StackStyleBase
|
|
|
2329
2471
|
export interface TextStylePropsBase
|
|
2330
2472
|
extends Omit<RNTextStyle, keyof ExtendedBaseProps>, ExtendedBaseProps {
|
|
2331
2473
|
ellipsis?: boolean
|
|
2474
|
+
numberOfLines?: number
|
|
2332
2475
|
textDecorationDistance?: number
|
|
2333
2476
|
textOverflow?: Properties['textOverflow']
|
|
2334
2477
|
whiteSpace?: Properties['whiteSpace']
|
|
@@ -2613,6 +2756,10 @@ export type GetStyleState = {
|
|
|
2613
2756
|
// Track original token values (like '$8') before they get resolved to CSS vars
|
|
2614
2757
|
// This is used to preserve token strings in overriddenContextProps
|
|
2615
2758
|
originalContextPropValues?: Record<string, any>
|
|
2759
|
+
// Transitions extracted from pseudo-style props (e.g., hoverStyle.transition)
|
|
2760
|
+
pseudoTransitions?: PseudoTransitions | null
|
|
2761
|
+
// Resolved animation driver (respects animatedBy prop)
|
|
2762
|
+
animationDriver?: AnimationDriver | null
|
|
2616
2763
|
}
|
|
2617
2764
|
|
|
2618
2765
|
export type StyleResolver<Response = PropMappedValue> = (
|
|
@@ -3045,24 +3192,25 @@ export type UseAnimatedNumberStyle<
|
|
|
3045
3192
|
V extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>,
|
|
3046
3193
|
> = (val: V, getStyle: (current: any) => any) => any
|
|
3047
3194
|
|
|
3195
|
+
export type UseAnimatedNumbersStyle<
|
|
3196
|
+
V extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>,
|
|
3197
|
+
> = (vals: V[], getStyle: (...currentValues: any[]) => any) => any
|
|
3198
|
+
|
|
3048
3199
|
export type UseAnimatedNumber<
|
|
3049
3200
|
N extends UniversalAnimatedNumber<any> = UniversalAnimatedNumber<any>,
|
|
3050
3201
|
> = (initial: number) => N
|
|
3051
3202
|
|
|
3052
3203
|
export type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {
|
|
3053
3204
|
isReactNative?: boolean
|
|
3054
|
-
supportsCSS?: boolean
|
|
3055
3205
|
/** What style format the driver expects as input: 'css' (CSS variables) or 'value' (resolved values) */
|
|
3056
3206
|
inputStyle?: 'css' | 'value'
|
|
3057
3207
|
/** How the driver outputs styles: 'css' (className-based) or 'inline' (style object) */
|
|
3058
3208
|
outputStyle?: 'css' | 'inline'
|
|
3059
|
-
|
|
3209
|
+
needsCustomComponent?: boolean
|
|
3060
3210
|
avoidReRenders?: boolean
|
|
3061
3211
|
onMount?: () => void
|
|
3062
3212
|
/** When true, this is a stub driver with no real animation support */
|
|
3063
3213
|
isStub?: boolean
|
|
3064
|
-
/** When true, the driver uses CSS classes for animations (doesn't need inline styles) */
|
|
3065
|
-
classNameAnimation?: boolean
|
|
3066
3214
|
useAnimations: UseAnimationHook
|
|
3067
3215
|
usePresence: () => UsePresenceResult
|
|
3068
3216
|
ResetPresence: (props: {
|
|
@@ -3071,6 +3219,7 @@ export type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {
|
|
|
3071
3219
|
}) => React.ReactNode
|
|
3072
3220
|
useAnimatedNumber: UseAnimatedNumber
|
|
3073
3221
|
useAnimatedNumberStyle: UseAnimatedNumberStyle
|
|
3222
|
+
useAnimatedNumbersStyle?: UseAnimatedNumbersStyle
|
|
3074
3223
|
useAnimatedNumberReaction: UseAnimatedNumberReaction
|
|
3075
3224
|
animations: A
|
|
3076
3225
|
View?: any
|
|
@@ -3079,7 +3228,10 @@ export type AnimationDriver<A extends AnimationConfig = AnimationConfig> = {
|
|
|
3079
3228
|
|
|
3080
3229
|
export type UseAnimationProps = TamaguiComponentPropsBase & Record<string, any>
|
|
3081
3230
|
|
|
3082
|
-
type UseStyleListener = (
|
|
3231
|
+
type UseStyleListener = (
|
|
3232
|
+
nextStyle: Record<string, unknown>,
|
|
3233
|
+
effectiveTransition?: TransitionProp | null
|
|
3234
|
+
) => void
|
|
3083
3235
|
export type UseStyleEmitter = (cb: UseStyleListener) => void
|
|
3084
3236
|
|
|
3085
3237
|
export type UseAnimationHook = (props: {
|
|
@@ -3123,6 +3275,10 @@ export type GetStyleResult = {
|
|
|
3123
3275
|
mediaGroups?: Set<string>
|
|
3124
3276
|
// Style values that override context props (for issues #3670, #3676)
|
|
3125
3277
|
overriddenContextProps?: Record<string, any>
|
|
3278
|
+
// Transitions extracted from pseudo-style props (e.g., hoverStyle.transition)
|
|
3279
|
+
pseudoTransitions?: PseudoTransitions | null
|
|
3280
|
+
// Effective transition to use (accounts for entering pseudo states)
|
|
3281
|
+
effectiveTransition?: TransitionProp | null
|
|
3126
3282
|
}
|
|
3127
3283
|
|
|
3128
3284
|
export type ClassNamesObject = Record<string, string>
|
|
@@ -1,22 +1,39 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useIsomorphicLayoutEffect } from '@tamagui/constants'
|
|
2
2
|
import { ClientOnly } from '@tamagui/use-did-finish-ssr'
|
|
3
3
|
import React, { useEffect } from 'react'
|
|
4
|
-
import {
|
|
4
|
+
import { getSetting } from '../config'
|
|
5
5
|
import { ComponentContext } from '../contexts/ComponentContext'
|
|
6
6
|
import { stopAccumulatingRules } from '../helpers/insertStyleRule'
|
|
7
7
|
import { updateMediaListeners } from '../hooks/useMedia'
|
|
8
|
+
import { resolveAnimationDriver } from '../helpers/resolveAnimationDriver'
|
|
8
9
|
import type { AnimationDriver, TamaguiProviderProps } from '../types'
|
|
10
|
+
import { TamaguiRoot } from './TamaguiRoot'
|
|
9
11
|
import { ThemeProvider } from './ThemeProvider'
|
|
10
12
|
|
|
13
|
+
// cache first theme key per config to avoid Object.keys allocation on every render
|
|
14
|
+
let _cachedFirstKey: string | undefined
|
|
15
|
+
let _cachedConfig: any
|
|
16
|
+
|
|
17
|
+
function firstThemeKey(config: any): string | undefined {
|
|
18
|
+
if (config !== _cachedConfig) {
|
|
19
|
+
_cachedConfig = config
|
|
20
|
+
_cachedFirstKey = config?.themes ? Object.keys(config.themes)[0] : undefined
|
|
21
|
+
}
|
|
22
|
+
return _cachedFirstKey
|
|
23
|
+
}
|
|
24
|
+
|
|
11
25
|
export function TamaguiProvider({
|
|
12
26
|
children,
|
|
13
27
|
disableInjectCSS,
|
|
14
28
|
config,
|
|
15
29
|
className,
|
|
16
|
-
defaultTheme,
|
|
30
|
+
defaultTheme: defaultThemeProp,
|
|
17
31
|
reset,
|
|
18
32
|
insets,
|
|
19
33
|
}: TamaguiProviderProps) {
|
|
34
|
+
// fall back to first theme when defaultTheme is null/undefined
|
|
35
|
+
// (e.g. useColorScheme() returns null on first render in RN 0.83+)
|
|
36
|
+
const defaultTheme = defaultThemeProp || firstThemeKey(config) || 'light'
|
|
20
37
|
useIsomorphicLayoutEffect(() => {
|
|
21
38
|
stopAccumulatingRules()
|
|
22
39
|
updateMediaListeners()
|
|
@@ -28,31 +45,28 @@ export function TamaguiProvider({
|
|
|
28
45
|
)
|
|
29
46
|
|
|
30
47
|
// Get the default animation driver from config
|
|
31
|
-
// animations
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
return animations
|
|
39
|
-
}, [config?.animations])
|
|
48
|
+
// config.animations is already normalized to the default driver in createTamagui
|
|
49
|
+
// resolveAnimationDriver handles edge cases where raw multi-driver object leaks through
|
|
50
|
+
const defaultAnimationDriver: AnimationDriver | null = React.useMemo(
|
|
51
|
+
() => resolveAnimationDriver(config?.animations),
|
|
52
|
+
[config?.animations]
|
|
53
|
+
)
|
|
40
54
|
|
|
41
55
|
useEffect(() => {
|
|
42
56
|
defaultAnimationDriver?.onMount?.()
|
|
43
57
|
}, [])
|
|
44
58
|
|
|
45
59
|
let contents = (
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
>
|
|
51
|
-
<
|
|
60
|
+
<ComponentContext.Provider
|
|
61
|
+
animationDriver={defaultAnimationDriver}
|
|
62
|
+
insets={memoizedInsets}
|
|
63
|
+
>
|
|
64
|
+
<ThemeProvider defaultTheme={defaultTheme} reset={reset} className={className}>
|
|
65
|
+
<TamaguiRoot theme={defaultTheme} isRootRoot>
|
|
52
66
|
{children}
|
|
53
|
-
</
|
|
54
|
-
</
|
|
55
|
-
</
|
|
67
|
+
</TamaguiRoot>
|
|
68
|
+
</ThemeProvider>
|
|
69
|
+
</ComponentContext.Provider>
|
|
56
70
|
)
|
|
57
71
|
|
|
58
72
|
if (getSetting('disableSSR')) {
|
|
@@ -79,36 +93,3 @@ export function TamaguiProvider({
|
|
|
79
93
|
</>
|
|
80
94
|
)
|
|
81
95
|
}
|
|
82
|
-
|
|
83
|
-
// for CSS animations and default font inheritance
|
|
84
|
-
function UnmountedClassName(props: { children: React.ReactNode }) {
|
|
85
|
-
const [mounted, setMounted] = React.useState(false)
|
|
86
|
-
|
|
87
|
-
React.useEffect(() => {
|
|
88
|
-
setMounted(true)
|
|
89
|
-
}, [])
|
|
90
|
-
|
|
91
|
-
if (!isWeb) {
|
|
92
|
-
return props.children
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
const config = getConfig()
|
|
96
|
-
const defaultFont = config.defaultFont
|
|
97
|
-
const fontClass = defaultFont ? `font_${defaultFont}` : ''
|
|
98
|
-
const className = [mounted ? '' : 't_unmounted', fontClass].filter(Boolean).join(' ')
|
|
99
|
-
|
|
100
|
-
return (
|
|
101
|
-
<span
|
|
102
|
-
style={{
|
|
103
|
-
display: 'contents',
|
|
104
|
-
// set default font so nested text inherits
|
|
105
|
-
fontFamily: defaultFont ? 'var(--f-family)' : undefined,
|
|
106
|
-
}}
|
|
107
|
-
className={className || undefined}
|
|
108
|
-
>
|
|
109
|
-
{props.children}
|
|
110
|
-
</span>
|
|
111
|
-
)
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
TamaguiProvider['displayName'] = 'TamaguiProvider'
|