@tamagui/web 2.7.7 → 3.0.0-beta.1097.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Tamagui.cjs +44 -53
- package/dist/cjs/Tamagui.native.cjs +123 -0
- package/dist/cjs/Tamagui.native.js +93 -96
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withNativeStyle.cjs +80 -0
- package/dist/cjs/_withNativeStyle.native.cjs +85 -0
- package/dist/cjs/_withNativeStyle.native.js +87 -0
- package/dist/cjs/_withNativeStyle.native.js.map +1 -0
- package/dist/cjs/_withStableStyle.cjs +58 -54
- package/dist/cjs/_withStableStyle.native.cjs +88 -0
- package/dist/cjs/_withStableStyle.native.js +65 -57
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/config.cjs +126 -133
- package/dist/cjs/config.native.cjs +198 -0
- package/dist/cjs/config.native.js +162 -173
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +17 -19
- package/dist/cjs/constants/constants.native.cjs +40 -0
- package/dist/cjs/constants/constants.native.js +17 -18
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.cjs +20 -24
- package/dist/cjs/constants/isDevTools.native.cjs +33 -0
- package/dist/cjs/constants/isDevTools.native.js +22 -25
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.cjs +31 -25
- package/dist/cjs/contexts/ComponentContext.native.cjs +49 -0
- package/dist/cjs/contexts/ComponentContext.native.js +32 -25
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
- package/dist/cjs/contexts/GroupContext.cjs +14 -18
- package/dist/cjs/contexts/GroupContext.native.cjs +27 -0
- package/dist/cjs/contexts/GroupContext.native.js +15 -18
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +1001 -1022
- package/dist/cjs/createComponent.native.cjs +1163 -0
- package/dist/cjs/createComponent.native.js +1098 -1001
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createFont.cjs +40 -36
- package/dist/cjs/createFont.native.cjs +56 -0
- package/dist/cjs/createFont.native.js +43 -38
- package/dist/cjs/createFont.native.js.map +1 -1
- package/dist/cjs/createShorthands.cjs +15 -19
- package/dist/cjs/createShorthands.native.cjs +28 -0
- package/dist/cjs/createShorthands.native.js +15 -18
- package/dist/cjs/createShorthands.native.js.map +1 -1
- package/dist/cjs/createStyledHOC.cjs +104 -0
- package/dist/cjs/createStyledHOC.native.cjs +107 -0
- package/dist/cjs/createStyledHOC.native.js +109 -0
- package/dist/cjs/createStyledHOC.native.js.map +1 -0
- package/dist/cjs/createTamagui.cjs +287 -224
- package/dist/cjs/createTamagui.native.cjs +354 -0
- package/dist/cjs/createTamagui.native.js +321 -272
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +27 -19
- package/dist/cjs/createTokens.native.cjs +42 -0
- package/dist/cjs/createTokens.native.js +28 -19
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +85 -90
- package/dist/cjs/createVariable.native.cjs +130 -0
- package/dist/cjs/createVariable.native.js +97 -106
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/createVariables.cjs +49 -60
- package/dist/cjs/createVariables.native.cjs +66 -0
- package/dist/cjs/createVariables.native.js +51 -66
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/defaultComponentState.cjs +28 -30
- package/dist/cjs/defaultComponentState.native.cjs +47 -0
- package/dist/cjs/defaultComponentState.native.js +28 -29
- package/dist/cjs/defaultComponentState.native.js.map +1 -1
- package/dist/cjs/dom/adapters.cjs +95 -0
- package/dist/cjs/dom/adapters.native.cjs +116 -0
- package/dist/cjs/dom/adapters.native.js +118 -0
- package/dist/cjs/dom/adapters.native.js.map +1 -0
- package/dist/cjs/dom/contract.cjs +16 -0
- package/dist/cjs/dom/contract.native.cjs +18 -0
- package/dist/cjs/dom/contract.native.js +20 -0
- package/dist/cjs/dom/contract.native.js.map +1 -0
- package/dist/cjs/dom/domEventProps.native.cjs +56 -0
- package/dist/cjs/dom/domEventProps.native.js +58 -0
- package/dist/cjs/dom/domEventProps.native.js.map +1 -0
- package/dist/cjs/dom/html.cjs +630 -0
- package/dist/cjs/dom/html.native.cjs +951 -0
- package/dist/cjs/dom/html.native.js +953 -0
- package/dist/cjs/dom/html.native.js.map +1 -0
- package/dist/cjs/dom/htmlRuntime.native.cjs +176 -0
- package/dist/cjs/dom/htmlRuntime.native.js +178 -0
- package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
- package/dist/cjs/dom/index.cjs +28 -0
- package/dist/cjs/dom/index.native.cjs +41 -0
- package/dist/cjs/dom/index.native.js +43 -0
- package/dist/cjs/dom/index.native.js.map +1 -0
- package/dist/cjs/dom/primitives.native.cjs +642 -0
- package/dist/cjs/dom/primitives.native.js +644 -0
- package/dist/cjs/dom/primitives.native.js.map +1 -0
- package/dist/cjs/dom/standalone.cjs +33 -0
- package/dist/cjs/dom/standalone.native.cjs +39 -0
- package/dist/cjs/dom/standalone.native.js +41 -0
- package/dist/cjs/dom/standalone.native.js.map +1 -0
- package/dist/cjs/dom/standaloneHtml.cjs +75 -0
- package/dist/cjs/dom/standaloneHtml.native.cjs +77 -0
- package/dist/cjs/dom/standaloneHtml.native.js +79 -0
- package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
- package/dist/cjs/dom/styleTypes.cjs +16 -0
- package/dist/cjs/dom/styleTypes.native.cjs +18 -0
- package/dist/cjs/dom/styleTypes.native.js +20 -0
- package/dist/cjs/dom/styleTypes.native.js.map +1 -0
- package/dist/cjs/eventDetails.cjs +38 -0
- package/dist/cjs/eventDetails.native.cjs +40 -0
- package/dist/cjs/eventDetails.native.js +42 -0
- package/dist/cjs/eventDetails.native.js.map +1 -0
- package/dist/cjs/eventHandling.cjs +29 -31
- package/dist/cjs/eventHandling.native.cjs +191 -0
- package/dist/cjs/eventHandling.native.js +158 -188
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/borderComponents.cjs +62 -0
- package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
- package/dist/cjs/helpers/borderComponents.native.js +84 -0
- package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
- package/dist/cjs/helpers/componentDisplayName.cjs +24 -0
- package/dist/cjs/helpers/componentDisplayName.native.cjs +26 -0
- package/dist/cjs/helpers/componentDisplayName.native.js +28 -0
- package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
- package/dist/cjs/helpers/configVariables.cjs +79 -0
- package/dist/cjs/helpers/configVariables.native.cjs +82 -0
- package/dist/cjs/helpers/configVariables.native.js +84 -0
- package/dist/cjs/helpers/configVariables.native.js.map +1 -0
- package/dist/cjs/helpers/consoleLog.native.cjs +30 -0
- package/dist/cjs/helpers/consoleLog.native.js +16 -17
- package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +146 -152
- package/dist/cjs/helpers/createDesignSystem.native.cjs +195 -0
- package/dist/cjs/helpers/createDesignSystem.native.js +167 -205
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.cjs +64 -84
- package/dist/cjs/helpers/createStyledContext.native.cjs +88 -0
- package/dist/cjs/helpers/createStyledContext.native.js +69 -88
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +23 -32
- package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +46 -0
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +32 -48
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/defaultOffset.cjs +16 -20
- package/dist/cjs/helpers/defaultOffset.native.cjs +29 -0
- package/dist/cjs/helpers/defaultOffset.native.js +16 -19
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.cjs +150 -84
- package/dist/cjs/helpers/expandStyle.native.cjs +185 -0
- package/dist/cjs/helpers/expandStyle.native.js +153 -124
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.cjs +27 -25
- package/dist/cjs/helpers/expandStyles.native.cjs +52 -0
- package/dist/cjs/helpers/expandStyles.native.js +34 -31
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/extractPseudoState.cjs +44 -0
- package/dist/cjs/helpers/extractPseudoState.native.cjs +47 -0
- package/dist/cjs/helpers/extractPseudoState.native.js +49 -0
- package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
- package/dist/cjs/helpers/fluid.cjs +56 -0
- package/dist/cjs/helpers/fluid.native.cjs +58 -0
- package/dist/cjs/helpers/fluid.native.js +60 -0
- package/dist/cjs/helpers/fluid.native.js.map +1 -0
- package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
- package/dist/cjs/helpers/formatDiagnostic.native.cjs +74 -0
- package/dist/cjs/helpers/formatDiagnostic.native.js +76 -0
- package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +242 -193
- package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +45 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +29 -20
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +44 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +48 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +50 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
- package/dist/cjs/helpers/getDynamicVal.cjs +48 -52
- package/dist/cjs/helpers/getDynamicVal.native.cjs +71 -0
- package/dist/cjs/helpers/getDynamicVal.native.js +48 -51
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.cjs +16 -30
- package/dist/cjs/helpers/getExpandedShorthands.native.cjs +31 -0
- package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -30
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/cjs/helpers/getShorthandValue.cjs +16 -20
- package/dist/cjs/helpers/getShorthandValue.native.cjs +32 -0
- package/dist/cjs/helpers/getShorthandValue.native.js +18 -21
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +1720 -919
- package/dist/cjs/helpers/getSplitStyles.native.cjs +1946 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +1911 -948
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +105 -109
- package/dist/cjs/helpers/getThemeCSSRules.native.cjs +28 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js +15 -18
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/cjs/helpers/grammarConfig.cjs +276 -0
- package/dist/cjs/helpers/grammarConfig.native.cjs +412 -0
- package/dist/cjs/helpers/grammarConfig.native.js +414 -0
- package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
- package/dist/cjs/helpers/insertStyleRule.cjs +253 -184
- package/dist/cjs/helpers/insertStyleRule.native.cjs +223 -0
- package/dist/cjs/helpers/insertStyleRule.native.js +189 -68
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/isObj.cjs +22 -16
- package/dist/cjs/helpers/isObj.native.cjs +38 -0
- package/dist/cjs/helpers/isObj.native.js +24 -22
- package/dist/cjs/helpers/isObj.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.cjs +17 -21
- package/dist/cjs/helpers/isTamaguiComponent.native.cjs +29 -0
- package/dist/cjs/helpers/isTamaguiComponent.native.js +17 -20
- package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.cjs +19 -28
- package/dist/cjs/helpers/isTamaguiElement.native.cjs +36 -0
- package/dist/cjs/helpers/isTamaguiElement.native.js +19 -27
- package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/cjs/helpers/log.cjs +24 -27
- package/dist/cjs/helpers/log.native.cjs +39 -0
- package/dist/cjs/helpers/log.native.js +25 -27
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.cjs +14 -18
- package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +155 -0
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +138 -142
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.cjs +21 -23
- package/dist/cjs/helpers/matchMedia.native.cjs +68 -0
- package/dist/cjs/helpers/matchMedia.native.js +49 -41
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.cjs +34 -38
- package/dist/cjs/helpers/mediaObjectToString.native.cjs +52 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js +37 -40
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/cjs/helpers/mediaState.cjs +34 -43
- package/dist/cjs/helpers/mediaState.native.cjs +52 -0
- package/dist/cjs/helpers/mediaState.native.js +37 -46
- package/dist/cjs/helpers/mediaState.native.js.map +1 -1
- package/dist/cjs/helpers/mergeProps.cjs +50 -63
- package/dist/cjs/helpers/mergeProps.native.cjs +68 -0
- package/dist/cjs/helpers/mergeProps.native.js +53 -70
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeRenderElementProps.cjs +17 -23
- package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +31 -0
- package/dist/cjs/helpers/mergeRenderElementProps.native.js +17 -22
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.cjs +34 -38
- package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +50 -0
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js +34 -37
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.cjs +82 -41
- package/dist/cjs/helpers/mergeVariants.native.cjs +130 -0
- package/dist/cjs/helpers/mergeVariants.native.js +118 -42
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.cjs +46 -51
- package/dist/cjs/helpers/nativeOnlyProps.native.cjs +59 -0
- package/dist/cjs/helpers/nativeOnlyProps.native.js +46 -50
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +269 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +400 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.js +402 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
- package/dist/cjs/helpers/nativeTransitionTarget.cjs +26 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +42 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.js +44 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeColor.cjs +22 -35
- package/dist/cjs/helpers/normalizeColor.native.cjs +49 -0
- package/dist/cjs/helpers/normalizeColor.native.js +32 -34
- package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeShadow.cjs +25 -39
- package/dist/cjs/helpers/normalizeShadow.native.cjs +41 -0
- package/dist/cjs/helpers/normalizeShadow.native.js +26 -37
- package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.cjs +59 -61
- package/dist/cjs/helpers/normalizeStyle.native.cjs +93 -0
- package/dist/cjs/helpers/normalizeStyle.native.js +76 -79
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -41
- package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +60 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -46
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/noteOnce.cjs +31 -0
- package/dist/cjs/helpers/noteOnce.native.cjs +33 -0
- package/dist/cjs/helpers/noteOnce.native.js +35 -0
- package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
- package/dist/cjs/helpers/objectIdentityKey.cjs +30 -34
- package/dist/cjs/helpers/objectIdentityKey.native.cjs +44 -0
- package/dist/cjs/helpers/objectIdentityKey.native.js +31 -39
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -19
- package/dist/cjs/helpers/parseBorderShorthand.native.cjs +65 -0
- package/dist/cjs/helpers/parseBorderShorthand.native.js +50 -69
- package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeStyle.native.cjs +205 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js +182 -165
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeTransform.native.cjs +67 -0
- package/dist/cjs/helpers/parseNativeTransform.native.js +69 -0
- package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
- package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -19
- package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +44 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +31 -65
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.cjs +14 -18
- package/dist/cjs/helpers/pointerEvents.native.cjs +131 -0
- package/dist/cjs/helpers/pointerEvents.native.js +116 -144
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.cjs +46 -48
- package/dist/cjs/helpers/proxyThemeToParents.native.cjs +167 -0
- package/dist/cjs/helpers/proxyThemeToParents.native.js +150 -142
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.cjs +97 -60
- package/dist/cjs/helpers/registerCSSVariable.native.cjs +135 -0
- package/dist/cjs/helpers/registerCSSVariable.native.js +113 -61
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveAnimationDriver.cjs +27 -26
- package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +40 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js +27 -26
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/resolveNativeUnits.cjs +32 -0
- package/dist/cjs/helpers/resolveNativeUnits.native.cjs +199 -0
- package/dist/cjs/helpers/resolveNativeUnits.native.js +201 -0
- package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
- package/dist/cjs/helpers/resolveRem.cjs +17 -19
- package/dist/cjs/helpers/resolveRem.native.cjs +53 -0
- package/dist/cjs/helpers/resolveRem.native.js +34 -38
- package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeArea.cjs +50 -25
- package/dist/cjs/helpers/resolveSafeArea.native.cjs +129 -0
- package/dist/cjs/helpers/resolveSafeArea.native.js +114 -29
- package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +33 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +51 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +53 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
- package/dist/cjs/helpers/resolveVariableValue.cjs +34 -0
- package/dist/cjs/helpers/resolveVariableValue.native.cjs +38 -0
- package/dist/cjs/helpers/resolveVariableValue.native.js +40 -0
- package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
- package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.cjs +63 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.js +65 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
- package/dist/cjs/helpers/setElementProps.cjs +16 -20
- package/dist/cjs/helpers/setElementProps.native.cjs +34 -0
- package/dist/cjs/helpers/setElementProps.native.js +21 -24
- package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.cjs +32 -29
- package/dist/cjs/helpers/skipProps.native.cjs +51 -0
- package/dist/cjs/helpers/skipProps.native.js +32 -28
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/sortString.cjs +14 -18
- package/dist/cjs/helpers/sortString.native.cjs +28 -0
- package/dist/cjs/helpers/sortString.native.js +16 -19
- package/dist/cjs/helpers/sortString.native.js.map +1 -1
- package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
- package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
- package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
- package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
- package/dist/cjs/helpers/styleFrontend.cjs +46 -0
- package/dist/cjs/helpers/styleFrontend.native.cjs +48 -0
- package/dist/cjs/helpers/styleFrontend.native.js +50 -0
- package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
- package/dist/cjs/helpers/styleOriginalValues.cjs +14 -18
- package/dist/cjs/helpers/styleOriginalValues.native.cjs +26 -0
- package/dist/cjs/helpers/styleOriginalValues.native.js +15 -18
- package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/cjs/helpers/styleProvenance.cjs +25 -27
- package/dist/cjs/helpers/styleProvenance.native.cjs +43 -0
- package/dist/cjs/helpers/styleProvenance.native.js +25 -26
- package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
- package/dist/cjs/helpers/styleStaticConfig.cjs +27 -0
- package/dist/cjs/helpers/styleStaticConfig.native.cjs +29 -0
- package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
- package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
- package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
- package/dist/cjs/helpers/styleToCSS.cjs +59 -0
- package/dist/cjs/helpers/styleToCSS.native.cjs +26 -0
- package/dist/cjs/helpers/styleToCSS.native.js +28 -0
- package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
- package/dist/cjs/helpers/styledDynamic.cjs +161 -0
- package/dist/cjs/helpers/styledDynamic.native.cjs +192 -0
- package/dist/cjs/helpers/styledDynamic.native.js +194 -0
- package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +110 -94
- package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +186 -0
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +169 -138
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/themeRef.cjs +41 -0
- package/dist/cjs/helpers/themeRef.native.cjs +43 -0
- package/dist/cjs/helpers/themeRef.native.js +45 -0
- package/dist/cjs/helpers/themeRef.native.js.map +1 -0
- package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
- package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
- package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
- package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
- package/dist/cjs/helpers/themes.cjs +29 -34
- package/dist/cjs/helpers/themes.native.cjs +43 -0
- package/dist/cjs/helpers/themes.native.js +29 -33
- package/dist/cjs/helpers/themes.native.js.map +1 -1
- package/dist/cjs/helpers/timer.cjs +15 -21
- package/dist/cjs/helpers/timer.native.cjs +30 -0
- package/dist/cjs/helpers/timer.native.js +17 -22
- package/dist/cjs/helpers/timer.native.js.map +1 -1
- package/dist/cjs/helpers/tokenCategories.cjs +40 -0
- package/dist/cjs/helpers/tokenCategories.native.cjs +42 -0
- package/dist/cjs/helpers/tokenCategories.native.js +44 -0
- package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
- package/dist/cjs/helpers/transformsToString.cjs +24 -31
- package/dist/cjs/helpers/transformsToString.native.cjs +55 -0
- package/dist/cjs/helpers/transformsToString.native.js +41 -30
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
- package/dist/cjs/helpers/variableValue.cjs +71 -0
- package/dist/cjs/helpers/variableValue.native.cjs +111 -0
- package/dist/cjs/helpers/variableValue.native.js +113 -0
- package/dist/cjs/helpers/variableValue.native.js.map +1 -0
- package/dist/cjs/helpers/variables.cjs +568 -0
- package/dist/cjs/helpers/variables.native.cjs +806 -0
- package/dist/cjs/helpers/variables.native.js +808 -0
- package/dist/cjs/helpers/variables.native.js.map +1 -0
- package/dist/cjs/helpers/warnOnce.cjs +44 -0
- package/dist/cjs/helpers/warnOnce.native.cjs +48 -0
- package/dist/cjs/helpers/warnOnce.native.js +50 -0
- package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
- package/dist/cjs/helpers/webPropsToSkip.cjs +14 -18
- package/dist/cjs/helpers/webPropsToSkip.native.cjs +67 -0
- package/dist/cjs/helpers/webPropsToSkip.native.js +53 -62
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.cjs +46 -48
- package/dist/cjs/helpers/wrapStyleTags.native.cjs +31 -0
- package/dist/cjs/helpers/wrapStyleTags.native.js +18 -18
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +15 -19
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +31 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +16 -19
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.cjs +60 -58
- package/dist/cjs/hooks/getThemeProxied.native.cjs +123 -0
- package/dist/cjs/hooks/getThemeProxied.native.js +97 -79
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +27 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +29 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +31 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
- package/dist/cjs/hooks/useAnimationDriver.cjs +51 -0
- package/dist/cjs/hooks/useAnimationDriver.native.cjs +59 -0
- package/dist/cjs/hooks/useAnimationDriver.native.js +61 -0
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
- package/dist/cjs/hooks/useComponentState.cjs +178 -200
- package/dist/cjs/hooks/useComponentState.native.cjs +212 -0
- package/dist/cjs/hooks/useComponentState.native.js +190 -211
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.cjs +15 -19
- package/dist/cjs/hooks/useDisableSSR.native.cjs +30 -0
- package/dist/cjs/hooks/useDisableSSR.native.js +16 -19
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.cjs +15 -19
- package/dist/cjs/hooks/useIsTouchDevice.native.cjs +30 -0
- package/dist/cjs/hooks/useIsTouchDevice.native.js +16 -19
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +317 -257
- package/dist/cjs/hooks/useMedia.native.cjs +519 -0
- package/dist/cjs/hooks/useMedia.native.js +470 -307
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/usePortalThemeState.cjs +40 -0
- package/dist/cjs/hooks/usePortalThemeState.native.cjs +42 -0
- package/dist/cjs/hooks/usePortalThemeState.native.js +44 -0
- package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
- package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
- package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
- package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
- package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
- package/dist/cjs/hooks/useStyle.cjs +30 -0
- package/dist/cjs/hooks/useStyle.native.cjs +32 -0
- package/dist/cjs/hooks/useStyle.native.js +34 -0
- package/dist/cjs/hooks/useStyle.native.js.map +1 -0
- package/dist/cjs/hooks/useTheme.cjs +40 -49
- package/dist/cjs/hooks/useTheme.native.cjs +64 -0
- package/dist/cjs/hooks/useTheme.native.js +43 -52
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.cjs +19 -25
- package/dist/cjs/hooks/useThemeName.native.cjs +38 -0
- package/dist/cjs/hooks/useThemeName.native.js +22 -27
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +282 -368
- package/dist/cjs/hooks/useThemeState.native.cjs +378 -0
- package/dist/cjs/hooks/useThemeState.native.js +334 -477
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +233 -105
- package/dist/cjs/index.native.cjs +255 -0
- package/dist/cjs/index.native.js +234 -105
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inject-styles.cjs +24 -31
- package/dist/cjs/inject-styles.native.cjs +38 -0
- package/dist/cjs/inject-styles.native.js +25 -31
- package/dist/cjs/inject-styles.native.js.map +1 -1
- package/dist/cjs/insertFont.cjs +60 -61
- package/dist/cjs/insertFont.native.cjs +79 -0
- package/dist/cjs/insertFont.native.js +54 -54
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/interfaces/CSSColorNames.cjs +166 -11
- package/dist/cjs/interfaces/CSSColorNames.native.cjs +175 -0
- package/dist/cjs/interfaces/CSSColorNames.native.js +166 -10
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/cjs/interfaces/GetRef.cjs +9 -11
- package/dist/cjs/interfaces/GetRef.native.cjs +18 -0
- package/dist/cjs/interfaces/GetRef.native.js +9 -10
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.cjs +9 -11
- package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +18 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js +9 -10
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +9 -11
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +18 -0
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +9 -10
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +9 -11
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +18 -0
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +9 -10
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
- package/dist/cjs/internal-runtime.cjs +123 -0
- package/dist/cjs/internal-runtime.native.cjs +125 -0
- package/dist/cjs/internal-runtime.native.js +127 -0
- package/dist/cjs/internal-runtime.native.js.map +1 -0
- package/dist/cjs/internalRuntimeTypes.cjs +16 -0
- package/dist/cjs/internalRuntimeTypes.native.cjs +18 -0
- package/dist/cjs/internalRuntimeTypes.native.js +20 -0
- package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
- package/dist/cjs/setupHooks.cjs +16 -18
- package/dist/cjs/setupHooks.native.cjs +32 -0
- package/dist/cjs/setupHooks.native.js +16 -17
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/setupReactNative.cjs +14 -44
- package/dist/cjs/setupReactNative.native.cjs +53 -0
- package/dist/cjs/setupReactNative.native.js +38 -41
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/static-resolve.cjs +230 -0
- package/dist/cjs/static-resolve.native.cjs +236 -0
- package/dist/cjs/static-resolve.native.js +238 -0
- package/dist/cjs/static-resolve.native.js.map +1 -0
- package/dist/cjs/style.cjs +91 -0
- package/dist/cjs/style.native.cjs +94 -0
- package/dist/cjs/style.native.js +96 -0
- package/dist/cjs/style.native.js.map +1 -0
- package/dist/cjs/styled.cjs +110 -143
- package/dist/cjs/styled.native.cjs +133 -0
- package/dist/cjs/styled.native.js +115 -145
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/theme-update.cjs +19 -0
- package/dist/cjs/theme-update.native.cjs +21 -0
- package/dist/cjs/theme-update.native.js +23 -0
- package/dist/cjs/theme-update.native.js.map +1 -0
- package/dist/cjs/type-utils.cjs +9 -11
- package/dist/cjs/type-utils.native.cjs +18 -0
- package/dist/cjs/type-utils.native.js +9 -10
- package/dist/cjs/type-utils.native.js.map +1 -1
- package/dist/cjs/types.cjs +21 -11
- package/dist/cjs/types.native.cjs +30 -0
- package/dist/cjs/types.native.js +21 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/ConfigRevisionCheck.cjs +68 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.cjs +73 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.js +75 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
- package/dist/cjs/views/Configuration.cjs +26 -35
- package/dist/cjs/views/Configuration.native.cjs +46 -0
- package/dist/cjs/views/Configuration.native.js +27 -35
- package/dist/cjs/views/Configuration.native.js.map +1 -1
- package/dist/cjs/views/FontLanguage.cjs +20 -29
- package/dist/cjs/views/FontLanguage.native.cjs +46 -0
- package/dist/cjs/views/FontLanguage.native.js +27 -38
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/SafeAreaTracker.cjs +32 -0
- package/dist/cjs/views/SafeAreaTracker.native.cjs +36 -0
- package/dist/cjs/views/SafeAreaTracker.native.js +38 -0
- package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
- package/dist/cjs/views/Slot.cjs +51 -59
- package/dist/cjs/views/Slot.native.cjs +77 -0
- package/dist/cjs/views/Slot.native.js +52 -59
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +69 -76
- package/dist/cjs/views/TamaguiProvider.native.cjs +98 -0
- package/dist/cjs/views/TamaguiProvider.native.js +68 -76
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/TamaguiRoot.cjs +46 -61
- package/dist/cjs/views/TamaguiRoot.native.cjs +28 -0
- package/dist/cjs/views/TamaguiRoot.native.js +15 -18
- package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
- package/dist/cjs/views/Text.cjs +50 -46
- package/dist/cjs/views/Text.native.cjs +49 -0
- package/dist/cjs/views/Text.native.js +34 -36
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +112 -171
- package/dist/cjs/views/Theme.native.cjs +156 -0
- package/dist/cjs/views/Theme.native.js +124 -173
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +73 -81
- package/dist/cjs/views/ThemeDebug.native.cjs +30 -0
- package/dist/cjs/views/ThemeDebug.native.js +16 -23
- package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.cjs +34 -39
- package/dist/cjs/views/ThemeProvider.native.cjs +43 -0
- package/dist/cjs/views/ThemeProvider.native.js +25 -28
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
- package/dist/cjs/views/ThemeUpdate.cjs +82 -0
- package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
- package/dist/cjs/views/ThemeUpdate.native.js +86 -0
- package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
- package/dist/cjs/views/View.cjs +21 -18
- package/dist/cjs/views/View.native.cjs +38 -0
- package/dist/cjs/views/View.native.js +21 -17
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/Tamagui.mjs +27 -27
- package/dist/esm/Tamagui.mjs.map +1 -1
- package/dist/esm/Tamagui.native.js +76 -71
- package/dist/esm/Tamagui.native.js.map +1 -1
- package/dist/esm/_withNativeStyle.mjs +55 -0
- package/dist/esm/_withNativeStyle.mjs.map +1 -0
- package/dist/esm/_withNativeStyle.native.js +58 -0
- package/dist/esm/_withNativeStyle.native.js.map +1 -0
- package/dist/esm/_withStableStyle.mjs +44 -29
- package/dist/esm/_withStableStyle.mjs.map +1 -1
- package/dist/esm/_withStableStyle.native.js +51 -33
- package/dist/esm/_withStableStyle.native.js.map +1 -1
- package/dist/esm/config.mjs +97 -100
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +121 -129
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/constants.mjs +1 -0
- package/dist/esm/constants/constants.mjs.map +1 -1
- package/dist/esm/constants/constants.native.js +1 -0
- package/dist/esm/constants/constants.native.js.map +1 -1
- package/dist/esm/constants/isDevTools.mjs +7 -6
- package/dist/esm/constants/isDevTools.mjs.map +1 -1
- package/dist/esm/constants/isDevTools.native.js +9 -8
- package/dist/esm/constants/isDevTools.native.js.map +1 -1
- package/dist/esm/contexts/ComponentContext.mjs +18 -8
- package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
- package/dist/esm/contexts/ComponentContext.native.js +19 -9
- package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
- package/dist/esm/contexts/GroupContext.mjs +2 -0
- package/dist/esm/contexts/GroupContext.mjs.map +1 -1
- package/dist/esm/contexts/GroupContext.native.js +3 -1
- package/dist/esm/contexts/GroupContext.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +991 -996
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +1090 -979
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createFont.mjs +27 -18
- package/dist/esm/createFont.mjs.map +1 -1
- package/dist/esm/createFont.native.js +30 -21
- package/dist/esm/createFont.native.js.map +1 -1
- package/dist/esm/createShorthands.mjs +2 -1
- package/dist/esm/createShorthands.mjs.map +1 -1
- package/dist/esm/createShorthands.native.js +2 -1
- package/dist/esm/createShorthands.native.js.map +1 -1
- package/dist/esm/createStyledHOC.mjs +79 -0
- package/dist/esm/createStyledHOC.mjs.map +1 -0
- package/dist/esm/createStyledHOC.native.js +80 -0
- package/dist/esm/createStyledHOC.native.js.map +1 -0
- package/dist/esm/createTamagui.mjs +275 -207
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +309 -255
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createTokens.mjs +15 -1
- package/dist/esm/createTokens.mjs.map +1 -1
- package/dist/esm/createTokens.native.js +16 -2
- package/dist/esm/createTokens.native.js.map +1 -1
- package/dist/esm/createVariable.mjs +66 -65
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js +77 -81
- package/dist/esm/createVariable.native.js.map +1 -1
- package/dist/esm/createVariables.mjs +37 -42
- package/dist/esm/createVariables.mjs.map +1 -1
- package/dist/esm/createVariables.native.js +38 -48
- package/dist/esm/createVariables.native.js.map +1 -1
- package/dist/esm/defaultComponentState.mjs +13 -12
- package/dist/esm/defaultComponentState.mjs.map +1 -1
- package/dist/esm/defaultComponentState.native.js +13 -12
- package/dist/esm/defaultComponentState.native.js.map +1 -1
- package/dist/esm/dom/adapters.mjs +67 -0
- package/dist/esm/dom/adapters.mjs.map +1 -0
- package/dist/esm/dom/adapters.native.js +86 -0
- package/dist/esm/dom/adapters.native.js.map +1 -0
- package/dist/esm/dom/contract.mjs +0 -0
- package/dist/esm/dom/contract.native.js +0 -0
- package/dist/esm/dom/domEventProps.native.js +34 -0
- package/dist/esm/dom/domEventProps.native.js.map +1 -0
- package/dist/esm/dom/html.mjs +611 -0
- package/dist/esm/dom/html.mjs.map +1 -0
- package/dist/esm/dom/html.native.js +930 -0
- package/dist/esm/dom/html.native.js.map +1 -0
- package/dist/esm/dom/htmlRuntime.native.js +152 -0
- package/dist/esm/dom/htmlRuntime.native.js.map +1 -0
- package/dist/esm/dom/index.mjs +4 -0
- package/dist/esm/dom/index.native.js +5 -0
- package/dist/esm/dom/primitives.native.js +609 -0
- package/dist/esm/dom/primitives.native.js.map +1 -0
- package/dist/esm/dom/standalone.mjs +10 -0
- package/dist/esm/dom/standalone.mjs.map +1 -0
- package/dist/esm/dom/standalone.native.js +14 -0
- package/dist/esm/dom/standalone.native.js.map +1 -0
- package/dist/esm/dom/standaloneHtml.mjs +56 -0
- package/dist/esm/dom/standaloneHtml.mjs.map +1 -0
- package/dist/esm/dom/standaloneHtml.native.js +56 -0
- package/dist/esm/dom/standaloneHtml.native.js.map +1 -0
- package/dist/esm/dom/styleTypes.mjs +0 -0
- package/dist/esm/dom/styleTypes.native.js +0 -0
- package/dist/esm/eventDetails.mjs +18 -0
- package/dist/esm/eventDetails.mjs.map +1 -0
- package/dist/esm/eventDetails.native.js +18 -0
- package/dist/esm/eventDetails.native.js.map +1 -0
- package/dist/esm/eventHandling.mjs +14 -13
- package/dist/esm/eventHandling.mjs.map +1 -1
- package/dist/esm/eventHandling.native.js +141 -163
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/borderComponents.mjs +37 -0
- package/dist/esm/helpers/borderComponents.mjs.map +1 -0
- package/dist/esm/helpers/borderComponents.native.js +55 -0
- package/dist/esm/helpers/borderComponents.native.js.map +1 -0
- package/dist/esm/helpers/componentDisplayName.mjs +4 -0
- package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
- package/dist/esm/helpers/componentDisplayName.native.js +4 -0
- package/dist/esm/helpers/componentDisplayName.native.js.map +1 -0
- package/dist/esm/helpers/configVariables.mjs +60 -0
- package/dist/esm/helpers/configVariables.mjs.map +1 -0
- package/dist/esm/helpers/configVariables.native.js +61 -0
- package/dist/esm/helpers/configVariables.native.js.map +1 -0
- package/dist/esm/helpers/consoleLog.native.js +2 -1
- package/dist/esm/helpers/consoleLog.native.js.map +1 -1
- package/dist/esm/helpers/createDesignSystem.mjs +133 -134
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createDesignSystem.native.js +151 -186
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs +49 -58
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js +54 -63
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +10 -14
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +19 -31
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/defaultOffset.mjs +3 -2
- package/dist/esm/helpers/defaultOffset.mjs.map +1 -1
- package/dist/esm/helpers/defaultOffset.native.js +3 -2
- package/dist/esm/helpers/defaultOffset.native.js.map +1 -1
- package/dist/esm/helpers/expandStyle.mjs +138 -66
- package/dist/esm/helpers/expandStyle.mjs.map +1 -1
- package/dist/esm/helpers/expandStyle.native.js +141 -107
- package/dist/esm/helpers/expandStyle.native.js.map +1 -1
- package/dist/esm/helpers/expandStyles.mjs +15 -7
- package/dist/esm/helpers/expandStyles.mjs.map +1 -1
- package/dist/esm/helpers/expandStyles.native.js +22 -14
- package/dist/esm/helpers/expandStyles.native.js.map +1 -1
- package/dist/esm/helpers/extractPseudoState.mjs +24 -0
- package/dist/esm/helpers/extractPseudoState.mjs.map +1 -0
- package/dist/esm/helpers/extractPseudoState.native.js +25 -0
- package/dist/esm/helpers/extractPseudoState.native.js.map +1 -0
- package/dist/esm/helpers/fluid.mjs +36 -0
- package/dist/esm/helpers/fluid.mjs.map +1 -0
- package/dist/esm/helpers/fluid.native.js +36 -0
- package/dist/esm/helpers/fluid.native.js.map +1 -0
- package/dist/esm/helpers/formatDiagnostic.mjs +49 -0
- package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
- package/dist/esm/helpers/formatDiagnostic.native.js +52 -0
- package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +224 -177
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.native.js +9 -4
- package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +16 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +18 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
- package/dist/esm/helpers/getDynamicVal.mjs +32 -33
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.native.js +32 -33
- package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs +5 -12
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.native.js +6 -13
- package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/esm/helpers/getShorthandValue.mjs +4 -2
- package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
- package/dist/esm/helpers/getShorthandValue.native.js +6 -4
- package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +1702 -893
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +1896 -915
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +94 -92
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.native.js +2 -1
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/esm/helpers/grammarConfig.mjs +253 -0
- package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
- package/dist/esm/helpers/grammarConfig.native.js +387 -0
- package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
- package/dist/esm/helpers/insertStyleRule.mjs +232 -160
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +135 -27
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/isObj.mjs +10 -2
- package/dist/esm/helpers/isObj.mjs.map +1 -1
- package/dist/esm/helpers/isObj.native.js +11 -8
- package/dist/esm/helpers/isObj.native.js.map +1 -1
- package/dist/esm/helpers/isTamaguiComponent.mjs +4 -3
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
- package/dist/esm/helpers/isTamaguiComponent.native.js +4 -3
- package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.mjs +4 -2
- package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.native.js +4 -2
- package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/esm/helpers/log.mjs +12 -9
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +13 -10
- package/dist/esm/helpers/log.native.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -0
- package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +126 -125
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/matchMedia.mjs +7 -6
- package/dist/esm/helpers/matchMedia.mjs.map +1 -1
- package/dist/esm/helpers/matchMedia.native.js +36 -25
- package/dist/esm/helpers/matchMedia.native.js.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.mjs +21 -20
- package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.native.js +24 -23
- package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/esm/helpers/mediaState.mjs +18 -24
- package/dist/esm/helpers/mediaState.mjs.map +1 -1
- package/dist/esm/helpers/mediaState.native.js +20 -27
- package/dist/esm/helpers/mediaState.native.js.map +1 -1
- package/dist/esm/helpers/mergeProps.mjs +37 -47
- package/dist/esm/helpers/mergeProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeProps.native.js +39 -54
- package/dist/esm/helpers/mergeProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeRenderElementProps.mjs +5 -5
- package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeRenderElementProps.native.js +5 -5
- package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeSlotStyleProps.mjs +22 -20
- package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeSlotStyleProps.native.js +22 -20
- package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeVariants.mjs +70 -23
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
- package/dist/esm/helpers/mergeVariants.native.js +106 -25
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.mjs +33 -33
- package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.native.js +33 -33
- package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs +237 -0
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
- package/dist/esm/helpers/nativeStyleEngine.native.js +366 -0
- package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -0
- package/dist/esm/helpers/nativeTransitionTarget.mjs +6 -0
- package/dist/esm/helpers/nativeTransitionTarget.mjs.map +1 -0
- package/dist/esm/helpers/nativeTransitionTarget.native.js +21 -0
- package/dist/esm/helpers/nativeTransitionTarget.native.js.map +1 -0
- package/dist/esm/helpers/normalizeColor.mjs +11 -18
- package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
- package/dist/esm/helpers/normalizeColor.native.js +19 -19
- package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
- package/dist/esm/helpers/normalizeShadow.mjs +13 -21
- package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
- package/dist/esm/helpers/normalizeShadow.native.js +14 -20
- package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStyle.mjs +47 -43
- package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
- package/dist/esm/helpers/normalizeStyle.native.js +64 -62
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +30 -23
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -28
- package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/esm/helpers/noteOnce.mjs +11 -0
- package/dist/esm/helpers/noteOnce.mjs.map +1 -0
- package/dist/esm/helpers/noteOnce.native.js +11 -0
- package/dist/esm/helpers/noteOnce.native.js.map +1 -0
- package/dist/esm/helpers/objectIdentityKey.mjs +18 -17
- package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
- package/dist/esm/helpers/objectIdentityKey.native.js +18 -22
- package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.mjs +2 -1
- package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.native.js +38 -55
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeStyle.native.js +167 -146
- package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeTransform.native.js +45 -0
- package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs +2 -1
- package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
- package/dist/esm/helpers/parseOutlineShorthand.native.js +19 -48
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/esm/helpers/pointerEvents.mjs +1 -0
- package/dist/esm/helpers/pointerEvents.mjs.map +1 -1
- package/dist/esm/helpers/pointerEvents.native.js +104 -127
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs +32 -31
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.native.js +136 -126
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.mjs +76 -39
- package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.native.js +95 -44
- package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/esm/helpers/resolveAnimationDriver.mjs +14 -8
- package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/resolveAnimationDriver.native.js +14 -9
- package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
- package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
- package/dist/esm/helpers/resolveNativeUnits.native.js +172 -0
- package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
- package/dist/esm/helpers/resolveRem.mjs +3 -2
- package/dist/esm/helpers/resolveRem.mjs.map +1 -1
- package/dist/esm/helpers/resolveRem.native.js +21 -22
- package/dist/esm/helpers/resolveRem.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.mjs +38 -8
- package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.native.js +101 -15
- package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeAreaVariable.mjs +10 -0
- package/dist/esm/helpers/resolveSafeAreaVariable.mjs.map +1 -0
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js +27 -0
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -0
- package/dist/esm/helpers/resolveVariableValue.mjs +15 -0
- package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -0
- package/dist/esm/helpers/resolveVariableValue.native.js +17 -0
- package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -0
- package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
- package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
- package/dist/esm/helpers/resolveVariantStyle.native.js +42 -0
- package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
- package/dist/esm/helpers/setElementProps.mjs +4 -2
- package/dist/esm/helpers/setElementProps.mjs.map +1 -1
- package/dist/esm/helpers/setElementProps.native.js +8 -7
- package/dist/esm/helpers/setElementProps.native.js.map +1 -1
- package/dist/esm/helpers/skipProps.mjs +20 -14
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +20 -14
- package/dist/esm/helpers/skipProps.native.js.map +1 -1
- package/dist/esm/helpers/sortString.mjs +1 -0
- package/dist/esm/helpers/sortString.mjs.map +1 -1
- package/dist/esm/helpers/sortString.native.js +3 -2
- package/dist/esm/helpers/sortString.native.js.map +1 -1
- package/dist/esm/helpers/splitStyleProps.mjs +27 -0
- package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
- package/dist/esm/helpers/splitStyleProps.native.js +28 -0
- package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
- package/dist/esm/helpers/styleFrontend.mjs +23 -0
- package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
- package/dist/esm/helpers/styleFrontend.native.js +23 -0
- package/dist/esm/helpers/styleFrontend.native.js.map +1 -0
- package/dist/esm/helpers/styleOriginalValues.mjs +2 -1
- package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -1
- package/dist/esm/helpers/styleOriginalValues.native.js +2 -1
- package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/esm/helpers/styleProvenance.mjs +10 -9
- package/dist/esm/helpers/styleProvenance.mjs.map +1 -1
- package/dist/esm/helpers/styleProvenance.native.js +10 -9
- package/dist/esm/helpers/styleProvenance.native.js.map +1 -1
- package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
- package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
- package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
- package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
- package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
- package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
- package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
- package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
- package/dist/esm/helpers/styleToCSS.mjs +40 -0
- package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
- package/dist/esm/helpers/styleToCSS.native.js +4 -0
- package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
- package/dist/esm/helpers/styledDynamic.mjs +137 -0
- package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
- package/dist/esm/helpers/styledDynamic.native.js +166 -0
- package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
- package/dist/esm/helpers/subscribeToContextGroup.mjs +98 -79
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +157 -124
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/helpers/themeRef.mjs +17 -0
- package/dist/esm/helpers/themeRef.mjs.map +1 -0
- package/dist/esm/helpers/themeRef.native.js +17 -0
- package/dist/esm/helpers/themeRef.native.js.map +1 -0
- package/dist/esm/helpers/themeUpdateState.mjs +4 -0
- package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
- package/dist/esm/helpers/themeUpdateState.native.js +4 -0
- package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
- package/dist/esm/helpers/themes.mjs +17 -16
- package/dist/esm/helpers/themes.mjs.map +1 -1
- package/dist/esm/helpers/themes.native.js +17 -16
- package/dist/esm/helpers/themes.native.js.map +1 -1
- package/dist/esm/helpers/timer.mjs +9 -5
- package/dist/esm/helpers/timer.mjs.map +1 -1
- package/dist/esm/helpers/timer.native.js +9 -5
- package/dist/esm/helpers/timer.native.js.map +1 -1
- package/dist/esm/helpers/tokenCategories.mjs +20 -0
- package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
- package/dist/esm/helpers/tokenCategories.native.js +20 -0
- package/dist/esm/helpers/tokenCategories.native.js.map +1 -0
- package/dist/esm/helpers/transformsToString.mjs +12 -13
- package/dist/esm/helpers/transformsToString.mjs.map +1 -1
- package/dist/esm/helpers/transformsToString.native.js +29 -13
- package/dist/esm/helpers/transformsToString.native.js.map +1 -1
- package/dist/esm/helpers/variableValue.mjs +49 -0
- package/dist/esm/helpers/variableValue.mjs.map +1 -0
- package/dist/esm/helpers/variableValue.native.js +87 -0
- package/dist/esm/helpers/variableValue.native.js.map +1 -0
- package/dist/esm/helpers/variables.mjs +542 -0
- package/dist/esm/helpers/variables.mjs.map +1 -0
- package/dist/esm/helpers/variables.native.js +778 -0
- package/dist/esm/helpers/variables.native.js.map +1 -0
- package/dist/esm/helpers/warnOnce.mjs +20 -0
- package/dist/esm/helpers/warnOnce.mjs.map +1 -0
- package/dist/esm/helpers/warnOnce.native.js +22 -0
- package/dist/esm/helpers/warnOnce.native.js.map +1 -0
- package/dist/esm/helpers/webPropsToSkip.mjs +1 -0
- package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -1
- package/dist/esm/helpers/webPropsToSkip.native.js +41 -45
- package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.mjs +34 -30
- package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.native.js +4 -1
- package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +2 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +4 -2
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs +47 -40
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/getThemeProxied.native.js +85 -62
- package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/esm/hooks/isOptimizedForFirstRender.mjs +8 -0
- package/dist/esm/hooks/isOptimizedForFirstRender.mjs.map +1 -0
- package/dist/esm/hooks/isOptimizedForFirstRender.native.js +8 -0
- package/dist/esm/hooks/isOptimizedForFirstRender.native.js.map +1 -0
- package/dist/esm/hooks/useAnimationDriver.mjs +26 -0
- package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
- package/dist/esm/hooks/useAnimationDriver.native.js +32 -0
- package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
- package/dist/esm/hooks/useComponentState.mjs +167 -183
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +178 -194
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useDisableSSR.mjs +3 -1
- package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
- package/dist/esm/hooks/useDisableSSR.native.js +4 -2
- 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 +4 -2
- package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +299 -233
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +451 -283
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/usePortalThemeState.mjs +21 -0
- package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -0
- package/dist/esm/hooks/usePortalThemeState.native.js +21 -0
- package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -0
- package/dist/esm/hooks/useSplitStyles.mjs +17 -0
- package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
- package/dist/esm/hooks/useSplitStyles.native.js +14 -0
- package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
- package/dist/esm/hooks/useStyle.mjs +11 -0
- package/dist/esm/hooks/useStyle.mjs.map +1 -0
- package/dist/esm/hooks/useStyle.native.js +11 -0
- package/dist/esm/hooks/useStyle.native.js.map +1 -0
- package/dist/esm/hooks/useTheme.mjs +27 -32
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +30 -36
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeName.mjs +7 -7
- 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 +261 -349
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +312 -458
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +64 -72
- package/dist/esm/index.mjs +64 -72
- package/dist/esm/index.native.js +64 -72
- package/dist/esm/inject-styles.mjs +11 -13
- package/dist/esm/inject-styles.mjs.map +1 -1
- package/dist/esm/inject-styles.native.js +12 -14
- package/dist/esm/inject-styles.native.js.map +1 -1
- package/dist/esm/insertFont.mjs +44 -41
- package/dist/esm/insertFont.mjs.map +1 -1
- package/dist/esm/insertFont.native.js +38 -35
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/interfaces/CSSColorNames.mjs +151 -0
- package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -1
- package/dist/esm/interfaces/CSSColorNames.native.js +151 -0
- package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/esm/interfaces/GetRef.mjs +0 -2
- package/dist/esm/interfaces/GetRef.native.js +0 -2
- package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -2
- package/dist/esm/interfaces/RNExclusiveTypes.native.js +0 -2
- package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -2
- package/dist/esm/interfaces/TamaguiComponentEvents.native.js +0 -2
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -2
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -2
- package/dist/esm/internal-runtime.mjs +83 -0
- package/dist/esm/internal-runtime.mjs.map +1 -0
- package/dist/esm/internal-runtime.native.js +83 -0
- package/dist/esm/internal-runtime.native.js.map +1 -0
- package/dist/esm/internalRuntimeTypes.mjs +0 -0
- package/dist/esm/internalRuntimeTypes.native.js +0 -0
- package/dist/esm/setupHooks.mjs +2 -1
- package/dist/esm/setupHooks.mjs.map +1 -1
- package/dist/esm/setupHooks.native.js +2 -1
- package/dist/esm/setupHooks.native.js.map +1 -1
- package/dist/esm/setupReactNative.mjs +2 -27
- package/dist/esm/setupReactNative.mjs.map +1 -1
- package/dist/esm/setupReactNative.native.js +25 -24
- package/dist/esm/setupReactNative.native.js.map +1 -1
- package/dist/esm/static-resolve.mjs +196 -0
- package/dist/esm/static-resolve.mjs.map +1 -0
- package/dist/esm/static-resolve.native.js +200 -0
- package/dist/esm/static-resolve.native.js.map +1 -0
- package/dist/esm/style.mjs +58 -0
- package/dist/esm/style.mjs.map +1 -0
- package/dist/esm/style.native.js +59 -0
- package/dist/esm/style.native.js.map +1 -0
- package/dist/esm/styled.mjs +97 -128
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +101 -130
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/theme-update.mjs +3 -0
- package/dist/esm/theme-update.native.js +3 -0
- package/dist/esm/type-utils.mjs +0 -2
- package/dist/esm/type-utils.native.js +0 -2
- package/dist/esm/types.mjs +3 -0
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +3 -0
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/views/ConfigRevisionCheck.mjs +43 -0
- package/dist/esm/views/ConfigRevisionCheck.mjs.map +1 -0
- package/dist/esm/views/ConfigRevisionCheck.native.js +46 -0
- package/dist/esm/views/ConfigRevisionCheck.native.js.map +1 -0
- package/dist/esm/views/Configuration.mjs +11 -9
- package/dist/esm/views/Configuration.mjs.map +1 -1
- package/dist/esm/views/Configuration.native.js +13 -11
- package/dist/esm/views/Configuration.native.js.map +1 -1
- package/dist/esm/views/FontLanguage.mjs +8 -11
- package/dist/esm/views/FontLanguage.mjs.map +1 -1
- package/dist/esm/views/FontLanguage.native.js +13 -14
- package/dist/esm/views/FontLanguage.native.js.map +1 -1
- package/dist/esm/views/SafeAreaTracker.mjs +9 -0
- package/dist/esm/views/SafeAreaTracker.mjs.map +1 -0
- package/dist/esm/views/SafeAreaTracker.native.js +12 -0
- package/dist/esm/views/SafeAreaTracker.native.js.map +1 -0
- package/dist/esm/views/Slot.mjs +39 -44
- package/dist/esm/views/Slot.mjs.map +1 -1
- package/dist/esm/views/Slot.native.js +41 -46
- package/dist/esm/views/Slot.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +54 -50
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +52 -51
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/TamaguiRoot.mjs +31 -35
- package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
- package/dist/esm/views/TamaguiRoot.native.js +2 -1
- package/dist/esm/views/TamaguiRoot.native.js.map +1 -1
- package/dist/esm/views/Text.mjs +38 -31
- package/dist/esm/views/Text.mjs.map +1 -1
- package/dist/esm/views/Text.native.js +19 -21
- package/dist/esm/views/Text.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +99 -145
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +110 -152
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +61 -63
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/dist/esm/views/ThemeDebug.native.js +3 -6
- package/dist/esm/views/ThemeDebug.native.js.map +1 -1
- package/dist/esm/views/ThemeProvider.mjs +21 -20
- package/dist/esm/views/ThemeProvider.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.native.js +12 -10
- package/dist/esm/views/ThemeProvider.native.js.map +1 -1
- package/dist/esm/views/ThemeUpdate.mjs +54 -0
- package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
- package/dist/esm/views/ThemeUpdate.native.js +53 -0
- package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
- package/dist/esm/views/View.mjs +9 -3
- package/dist/esm/views/View.mjs.map +1 -1
- package/dist/esm/views/View.native.js +9 -3
- package/dist/esm/views/View.native.js.map +1 -1
- package/internal-runtime/index.cjs +2 -0
- package/internal-runtime/index.js +4 -0
- package/internal-runtime/index.native.js +2 -0
- package/package.json +71 -18
- package/reset.css +15 -12
- package/src/_withNativeStyle.tsx +84 -0
- package/src/_withStableStyle.tsx +61 -43
- package/src/config.ts +36 -42
- package/src/contexts/ComponentContext.tsx +25 -8
- package/src/createComponent.tsx +628 -266
- package/src/createStyledHOC.tsx +137 -0
- package/src/createTamagui.ts +181 -92
- package/src/createTokens.ts +16 -0
- package/src/createVariable.ts +17 -12
- package/src/createVariables.ts +5 -17
- package/src/dom/adapters.ts +99 -0
- package/src/dom/contract.ts +60 -0
- package/src/dom/domEventProps.native.ts +40 -0
- package/src/dom/html.native.tsx +1412 -0
- package/src/dom/html.tsx +887 -0
- package/src/dom/htmlRuntime.native.tsx +230 -0
- package/src/dom/index.native.ts +28 -0
- package/src/dom/index.ts +16 -0
- package/src/dom/primitives.native.tsx +658 -0
- package/src/dom/standalone.ts +107 -0
- package/src/dom/standaloneHtml.ts +104 -0
- package/src/dom/styleTypes.ts +620 -0
- package/src/eventDetails.ts +85 -0
- package/src/eventHandling.native.ts +16 -16
- package/src/helpers/borderComponents.ts +62 -0
- package/src/helpers/componentDisplayName.ts +3 -0
- package/src/helpers/configVariables.ts +64 -0
- package/src/helpers/createDesignSystem.ts +127 -89
- package/src/helpers/createStyledContext.tsx +85 -43
- package/src/helpers/defaultAnimationDriver.tsx +0 -5
- package/src/helpers/expandStyle.ts +49 -2
- package/src/helpers/expandStyles.ts +6 -2
- package/src/helpers/extractPseudoState.ts +32 -0
- package/src/helpers/fluid.ts +66 -0
- package/src/helpers/formatDiagnostic.ts +69 -0
- package/src/helpers/getCSSStylesAtomic.native.ts +7 -3
- package/src/helpers/getCSSStylesAtomic.ts +306 -166
- package/src/helpers/getCSSStylesAtomicCompiled.ts +21 -0
- package/src/helpers/getDynamicVal.ts +4 -0
- package/src/helpers/getExpandedShorthands.ts +0 -17
- package/src/helpers/getSplitStyles.tsx +3429 -1635
- package/src/helpers/getThemeCSSRules.ts +16 -1
- package/src/helpers/grammarConfig.ts +369 -0
- package/src/helpers/insertStyleRule.tsx +110 -25
- package/src/helpers/isObj.ts +8 -0
- package/src/helpers/isTamaguiComponent.tsx +2 -5
- package/src/helpers/isTamaguiElement.tsx +2 -3
- package/src/helpers/log.ts +12 -11
- package/src/helpers/matchMedia.native.ts +16 -1
- package/src/helpers/mediaState.ts +18 -32
- package/src/helpers/mergeProps.ts +2 -32
- package/src/helpers/mergeVariants.ts +80 -21
- package/src/helpers/nativeOnlyProps.ts +0 -1
- package/src/helpers/nativeStyleEngine.ts +385 -0
- package/src/helpers/nativeTransitionTarget.native.ts +22 -0
- package/src/helpers/nativeTransitionTarget.ts +6 -0
- package/src/helpers/normalizeColor.native.ts +2 -3
- package/src/helpers/normalizeColor.ts +4 -14
- package/src/helpers/normalizeShadow.native.ts +1 -1
- package/src/helpers/normalizeStyle.ts +26 -15
- package/src/helpers/normalizeValueWithProperty.ts +18 -11
- package/src/helpers/noteOnce.ts +9 -0
- package/src/helpers/parseBorderShorthand.native.ts +23 -45
- package/src/helpers/parseNativeStyle.native.ts +238 -0
- package/src/helpers/parseNativeTransform.native.ts +35 -0
- package/src/helpers/parseOutlineShorthand.native.ts +9 -40
- package/src/helpers/proxyThemeToParents.ts +11 -1
- package/src/helpers/registerCSSVariable.ts +52 -4
- package/src/helpers/resolveAnimationDriver.ts +16 -13
- package/src/helpers/resolveNativeUnits.native.ts +238 -0
- package/src/helpers/resolveNativeUnits.ts +10 -0
- package/src/helpers/resolveRem.native.ts +25 -26
- package/src/helpers/resolveRem.ts +1 -1
- package/src/helpers/resolveSafeArea.native.ts +90 -10
- package/src/helpers/resolveSafeArea.ts +46 -7
- package/src/helpers/resolveSafeAreaVariable.native.ts +28 -0
- package/src/helpers/resolveSafeAreaVariable.ts +10 -0
- package/src/helpers/resolveVariableValue.ts +31 -0
- package/src/helpers/resolveVariantStyle.ts +77 -0
- package/src/helpers/skipProps.ts +11 -3
- package/src/helpers/splitStyleProps.ts +166 -0
- package/src/helpers/styleFrontend.ts +143 -0
- package/src/helpers/styleProvenance.ts +17 -2
- package/src/helpers/styleStaticConfig.ts +21 -0
- package/src/helpers/styleStaticConfigCore.ts +110 -0
- package/src/helpers/styleToCSS.native.ts +1 -0
- package/src/helpers/styleToCSS.ts +43 -0
- package/src/helpers/styledDynamic.ts +192 -0
- package/src/helpers/subscribeToContextGroup.tsx +46 -7
- package/src/helpers/themeRef.ts +34 -0
- package/src/helpers/themeUpdateState.ts +27 -0
- package/src/helpers/themes.ts +9 -10
- package/src/helpers/tokenCategories.ts +54 -0
- package/src/helpers/transformsToString.ts +18 -16
- package/src/helpers/variableValue.ts +50 -0
- package/src/helpers/variables.ts +856 -0
- package/src/helpers/warnOnce.ts +53 -0
- package/src/helpers/webPropsToSkip.native.ts +7 -8
- package/src/helpers/wrapStyleTags.tsx +4 -2
- package/src/hooks/getThemeProxied.ts +139 -101
- package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
- package/src/hooks/isOptimizedForFirstRender.ts +7 -0
- package/src/hooks/useAnimationDriver.ts +56 -0
- package/src/hooks/useComponentState.ts +128 -174
- package/src/hooks/useMedia.tsx +258 -131
- package/src/hooks/usePortalThemeState.ts +34 -0
- package/src/hooks/useSplitStyles.tsx +41 -0
- package/src/hooks/useStyle.ts +10 -0
- package/src/hooks/useTheme.tsx +20 -7
- package/src/hooks/useThemeState.ts +185 -332
- package/src/index.ts +328 -70
- package/src/insertFont.ts +9 -5
- package/src/interfaces/CSSColorNames.tsx +152 -149
- package/src/interfaces/RNExclusiveTypes.ts +2 -1
- package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
- package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
- package/src/internal-runtime.ts +169 -0
- package/src/internalRuntimeTypes.ts +18 -0
- package/src/setupHooks.ts +9 -1
- package/src/setupReactNative.ts +7 -30
- package/src/static-resolve.ts +403 -0
- package/src/style.ts +97 -0
- package/src/styled.tsx +290 -416
- package/src/theme-update.ts +2 -0
- package/src/types.tsx +909 -626
- package/src/views/ConfigRevisionCheck.tsx +55 -0
- package/src/views/SafeAreaTracker.native.tsx +10 -0
- package/src/views/SafeAreaTracker.tsx +7 -0
- package/src/views/Slot.tsx +3 -2
- package/src/views/TamaguiProvider.tsx +36 -24
- package/src/views/Text.tsx +33 -23
- package/src/views/Theme.tsx +64 -54
- package/src/views/ThemeDebug.tsx +0 -2
- package/src/views/ThemeProvider.tsx +6 -5
- package/src/views/ThemeUpdate.tsx +90 -0
- package/src/views/View.tsx +12 -4
- package/types/Tamagui.d.ts.map +1 -1
- package/types/_withNativeStyle.d.ts +5 -0
- package/types/_withNativeStyle.d.ts.map +1 -0
- package/types/_withStableStyle.d.ts +1 -1
- package/types/_withStableStyle.d.ts.map +1 -1
- package/types/config.d.ts +22 -32
- package/types/config.d.ts.map +1 -1
- package/types/contexts/ComponentContext.d.ts +1 -1
- package/types/contexts/ComponentContext.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createStyledHOC.d.ts +4 -0
- package/types/createStyledHOC.d.ts.map +1 -0
- package/types/createTamagui.d.ts +2 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariable.d.ts +0 -2
- package/types/createVariable.d.ts.map +1 -1
- package/types/createVariables.d.ts.map +1 -1
- package/types/dom/adapters.d.ts +42 -0
- package/types/dom/adapters.d.ts.map +1 -0
- package/types/dom/contract.d.ts +48 -0
- package/types/dom/contract.d.ts.map +1 -0
- package/types/dom/domEventProps.native.d.ts +7 -0
- package/types/dom/domEventProps.native.d.ts.map +1 -0
- package/types/dom/html.d.ts +58 -0
- package/types/dom/html.d.ts.map +1 -0
- package/types/dom/html.native.d.ts +67 -0
- package/types/dom/html.native.d.ts.map +1 -0
- package/types/dom/htmlRuntime.native.d.ts +63 -0
- package/types/dom/htmlRuntime.native.d.ts.map +1 -0
- package/types/dom/index.d.ts +11 -0
- package/types/dom/index.d.ts.map +1 -0
- package/types/dom/index.native.d.ts +12 -0
- package/types/dom/index.native.d.ts.map +1 -0
- package/types/dom/primitives.native.d.ts +43 -0
- package/types/dom/primitives.native.d.ts.map +1 -0
- package/types/dom/standalone.d.ts +89 -0
- package/types/dom/standalone.d.ts.map +1 -0
- package/types/dom/standaloneHtml.d.ts +67 -0
- package/types/dom/standaloneHtml.d.ts.map +1 -0
- package/types/dom/styleTypes.d.ts +486 -0
- package/types/dom/styleTypes.d.ts.map +1 -0
- package/types/eventDetails.d.ts +12 -0
- package/types/eventDetails.d.ts.map +1 -0
- package/types/helpers/borderComponents.d.ts +10 -0
- package/types/helpers/borderComponents.d.ts.map +1 -0
- package/types/helpers/componentDisplayName.d.ts +2 -0
- package/types/helpers/componentDisplayName.d.ts.map +1 -0
- package/types/helpers/configVariables.d.ts +3 -0
- package/types/helpers/configVariables.d.ts.map +1 -0
- package/types/helpers/createDesignSystem.d.ts +24 -6
- package/types/helpers/createDesignSystem.d.ts.map +1 -1
- package/types/helpers/createStyledContext.d.ts +29 -2
- package/types/helpers/createStyledContext.d.ts.map +1 -1
- package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
- package/types/helpers/defaultOffset.d.ts.map +1 -1
- package/types/helpers/expandStyle.d.ts.map +1 -1
- package/types/helpers/expandStyles.d.ts.map +1 -1
- package/types/helpers/extractPseudoState.d.ts +14 -0
- package/types/helpers/extractPseudoState.d.ts.map +1 -0
- package/types/helpers/fluid.d.ts +21 -0
- package/types/helpers/fluid.d.ts.map +1 -0
- package/types/helpers/formatDiagnostic.d.ts +2 -0
- package/types/helpers/formatDiagnostic.d.ts.map +1 -0
- package/types/helpers/getCSSStylesAtomic.d.ts +29 -6
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.native.d.ts +11 -3
- package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts +9 -0
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
- package/types/helpers/getDynamicVal.d.ts +1 -1
- package/types/helpers/getDynamicVal.d.ts.map +1 -1
- package/types/helpers/getExpandedShorthands.d.ts +0 -5
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
- package/types/helpers/getShorthandValue.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +14 -8
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/grammarConfig.d.ts +41 -0
- package/types/helpers/grammarConfig.d.ts.map +1 -0
- package/types/helpers/insertStyleRule.d.ts +4 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/isObj.d.ts +1 -0
- package/types/helpers/isObj.d.ts.map +1 -1
- package/types/helpers/isTamaguiComponent.d.ts +1 -1
- package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
- package/types/helpers/isTamaguiElement.d.ts +1 -1
- package/types/helpers/isTamaguiElement.d.ts.map +1 -1
- package/types/helpers/log.d.ts.map +1 -1
- package/types/helpers/matchMedia.d.ts +1 -1
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/helpers/mediaState.d.ts +5 -2
- package/types/helpers/mediaState.d.ts.map +1 -1
- package/types/helpers/mergeProps.d.ts +0 -2
- package/types/helpers/mergeProps.d.ts.map +1 -1
- package/types/helpers/mergeVariants.d.ts +1 -1
- package/types/helpers/mergeVariants.d.ts.map +1 -1
- package/types/helpers/nativeOnlyProps.d.ts +0 -1
- package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
- package/types/helpers/nativeStyleEngine.d.ts +77 -0
- package/types/helpers/nativeStyleEngine.d.ts.map +1 -0
- package/types/helpers/nativeTransitionTarget.d.ts +3 -0
- package/types/helpers/nativeTransitionTarget.d.ts.map +1 -0
- package/types/helpers/nativeTransitionTarget.native.d.ts +3 -0
- package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -0
- package/types/helpers/normalizeColor.d.ts +0 -6
- package/types/helpers/normalizeColor.d.ts.map +1 -1
- package/types/helpers/normalizeColor.native.d.ts.map +1 -1
- package/types/helpers/normalizeShadow.d.ts.map +1 -1
- package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
- package/types/helpers/normalizeStyle.d.ts +2 -2
- package/types/helpers/normalizeStyle.d.ts.map +1 -1
- package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
- package/types/helpers/noteOnce.d.ts +2 -0
- package/types/helpers/noteOnce.d.ts.map +1 -0
- package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
- package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
- package/types/helpers/parseNativeStyle.native.d.ts +14 -0
- package/types/helpers/parseNativeStyle.native.d.ts.map +1 -0
- package/types/helpers/parseNativeTransform.native.d.ts +2 -0
- package/types/helpers/parseNativeTransform.native.d.ts.map +1 -0
- package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
- package/types/helpers/proxyThemeToParents.d.ts +1 -1
- package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
- package/types/helpers/registerCSSVariable.d.ts +12 -0
- package/types/helpers/registerCSSVariable.d.ts.map +1 -1
- package/types/helpers/resolveAnimationDriver.d.ts +4 -4
- package/types/helpers/resolveAnimationDriver.d.ts.map +1 -1
- package/types/helpers/resolveNativeUnits.d.ts +6 -0
- package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
- package/types/helpers/resolveNativeUnits.native.d.ts +16 -0
- package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
- package/types/helpers/resolveRem.native.d.ts +6 -4
- package/types/helpers/resolveRem.native.d.ts.map +1 -1
- package/types/helpers/resolveSafeArea.d.ts +1 -1
- package/types/helpers/resolveSafeArea.d.ts.map +1 -1
- package/types/helpers/resolveSafeArea.native.d.ts +2 -1
- package/types/helpers/resolveSafeArea.native.d.ts.map +1 -1
- package/types/helpers/resolveSafeAreaVariable.d.ts +3 -0
- package/types/helpers/resolveSafeAreaVariable.d.ts.map +1 -0
- package/types/helpers/resolveSafeAreaVariable.native.d.ts +3 -0
- package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -0
- package/types/helpers/resolveVariableValue.d.ts +3 -0
- package/types/helpers/resolveVariableValue.d.ts.map +1 -0
- package/types/helpers/resolveVariantStyle.d.ts +3 -0
- package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
- package/types/helpers/setElementProps.d.ts.map +1 -1
- package/types/helpers/skipProps.d.ts +5 -2
- package/types/helpers/skipProps.d.ts.map +1 -1
- package/types/helpers/sortString.d.ts +1 -1
- package/types/helpers/sortString.d.ts.map +1 -1
- package/types/helpers/splitStyleProps.d.ts +44 -0
- package/types/helpers/splitStyleProps.d.ts.map +1 -0
- package/types/helpers/styleFrontend.d.ts +102 -0
- package/types/helpers/styleFrontend.d.ts.map +1 -0
- package/types/helpers/styleProvenance.d.ts +14 -1
- package/types/helpers/styleProvenance.d.ts.map +1 -1
- package/types/helpers/styleStaticConfig.d.ts +14 -0
- package/types/helpers/styleStaticConfig.d.ts.map +1 -0
- package/types/helpers/styleStaticConfigCore.d.ts +4 -0
- package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
- package/types/helpers/styleToCSS.d.ts +2 -0
- package/types/helpers/styleToCSS.d.ts.map +1 -0
- package/types/helpers/styleToCSS.native.d.ts +2 -0
- package/types/helpers/styleToCSS.native.d.ts.map +1 -0
- package/types/helpers/styledDynamic.d.ts +18 -0
- package/types/helpers/styledDynamic.d.ts.map +1 -0
- package/types/helpers/subscribeToContextGroup.d.ts +1 -0
- package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
- package/types/helpers/themeRef.d.ts +22 -0
- package/types/helpers/themeRef.d.ts.map +1 -0
- package/types/helpers/themeUpdateState.d.ts +23 -0
- package/types/helpers/themeUpdateState.d.ts.map +1 -0
- package/types/helpers/themes.d.ts.map +1 -1
- package/types/helpers/tokenCategories.d.ts +4 -0
- package/types/helpers/tokenCategories.d.ts.map +1 -0
- package/types/helpers/transformsToString.d.ts.map +1 -1
- package/types/helpers/variableValue.d.ts +4 -0
- package/types/helpers/variableValue.d.ts.map +1 -0
- package/types/helpers/variables.d.ts +73 -0
- package/types/helpers/variables.d.ts.map +1 -0
- package/types/helpers/warnOnce.d.ts +21 -0
- package/types/helpers/warnOnce.d.ts.map +1 -0
- package/types/helpers/webPropsToSkip.native.d.ts +68 -62
- package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
- package/types/helpers/wrapStyleTags.d.ts +1 -1
- package/types/helpers/wrapStyleTags.d.ts.map +1 -1
- package/types/hooks/getThemeProxied.d.ts +1 -1
- package/types/hooks/getThemeProxied.d.ts.map +1 -1
- package/types/hooks/isOptimizedForFirstRender.d.ts +2 -0
- package/types/hooks/isOptimizedForFirstRender.d.ts.map +1 -0
- package/types/hooks/isOptimizedForFirstRender.native.d.ts +2 -0
- package/types/hooks/isOptimizedForFirstRender.native.d.ts.map +1 -0
- package/types/hooks/useAnimationDriver.d.ts +7 -0
- package/types/hooks/useAnimationDriver.d.ts.map +1 -0
- package/types/hooks/useComponentState.d.ts +6 -4
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +14 -12
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/usePortalThemeState.d.ts +15 -0
- package/types/hooks/usePortalThemeState.d.ts.map +1 -0
- package/types/hooks/useSplitStyles.d.ts +3 -0
- package/types/hooks/useSplitStyles.d.ts.map +1 -0
- package/types/hooks/useStyle.d.ts +4 -0
- package/types/hooks/useStyle.d.ts.map +1 -0
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +13 -3
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +63 -70
- package/types/index.d.ts.map +1 -1
- package/types/inject-styles.d.ts.map +1 -1
- package/types/insertFont.d.ts.map +1 -1
- package/types/interfaces/CSSColorNames.d.ts +2 -1
- package/types/interfaces/CSSColorNames.d.ts.map +1 -1
- package/types/interfaces/RNExclusiveTypes.d.ts +2 -2
- package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentEvents.d.ts +0 -1
- package/types/interfaces/TamaguiComponentEvents.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -4
- package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
- package/types/internal-runtime.d.ts +56 -0
- package/types/internal-runtime.d.ts.map +1 -0
- package/types/internalRuntimeTypes.d.ts +11 -0
- package/types/internalRuntimeTypes.d.ts.map +1 -0
- package/types/setupHooks.d.ts +1 -1
- package/types/setupHooks.d.ts.map +1 -1
- package/types/setupReactNative.d.ts +2 -3
- package/types/setupReactNative.d.ts.map +1 -1
- package/types/static-resolve.d.ts +79 -0
- package/types/static-resolve.d.ts.map +1 -0
- package/types/style.d.ts +18 -0
- package/types/style.d.ts.map +1 -0
- package/types/styled.d.ts +41 -41
- package/types/styled.d.ts.map +1 -1
- package/types/theme-update.d.ts +3 -0
- package/types/theme-update.d.ts.map +1 -0
- package/types/types.d.ts +616 -315
- package/types/types.d.ts.map +1 -1
- package/types/views/ConfigRevisionCheck.d.ts +6 -0
- package/types/views/ConfigRevisionCheck.d.ts.map +1 -0
- package/types/views/Configuration.d.ts +1 -1
- package/types/views/Configuration.d.ts.map +1 -1
- package/types/views/FontLanguage.d.ts +4 -4
- package/types/views/FontLanguage.d.ts.map +1 -1
- package/types/views/FontLanguage.native.d.ts +2 -1
- package/types/views/FontLanguage.native.d.ts.map +1 -1
- package/types/views/SafeAreaTracker.d.ts +3 -0
- package/types/views/SafeAreaTracker.d.ts.map +1 -0
- package/types/views/SafeAreaTracker.native.d.ts +3 -0
- package/types/views/SafeAreaTracker.native.d.ts.map +1 -0
- package/types/views/Slot.d.ts +7 -7
- package/types/views/Slot.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts +2 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/TamaguiRoot.d.ts +1 -1
- package/types/views/TamaguiRoot.d.ts.map +1 -1
- package/types/views/Text.d.ts +6 -2
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts +3 -8
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts.map +1 -1
- package/types/views/ThemeProvider.d.ts +1 -1
- package/types/views/ThemeProvider.d.ts.map +1 -1
- package/types/views/ThemeUpdate.d.ts +15 -0
- package/types/views/ThemeUpdate.d.ts.map +1 -0
- package/types/views/View.d.ts +8 -2
- package/types/views/View.d.ts.map +1 -1
- package/.turbo/turbo-build.log +0 -2
- package/.turbo/turbo-test$colon$web.log +0 -25
- package/dist/cjs/animationDriverTypes.test-d.cjs +0 -77
- package/dist/cjs/animationDriverTypes.test-d.native.js +0 -80
- package/dist/cjs/animationDriverTypes.test-d.native.js.map +0 -1
- package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -36
- package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -39
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
- package/dist/cjs/helpers/createMediaStyle.cjs +0 -127
- package/dist/cjs/helpers/createMediaStyle.native.js +0 -140
- package/dist/cjs/helpers/createMediaStyle.native.js.map +0 -1
- package/dist/cjs/helpers/getDefaultProps.cjs +0 -43
- package/dist/cjs/helpers/getDefaultProps.native.js +0 -47
- package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
- package/dist/cjs/helpers/getFontLanguage.cjs +0 -28
- package/dist/cjs/helpers/getFontLanguage.native.js +0 -33
- package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
- package/dist/cjs/helpers/getGroupPropParts.cjs +0 -54
- package/dist/cjs/helpers/getGroupPropParts.native.js +0 -59
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +0 -1
- package/dist/cjs/helpers/getTokenForKey.cjs +0 -174
- package/dist/cjs/helpers/getTokenForKey.native.js +0 -186
- package/dist/cjs/helpers/getTokenForKey.native.js.map +0 -1
- package/dist/cjs/helpers/getVariantExtras.cjs +0 -85
- package/dist/cjs/helpers/getVariantExtras.native.js +0 -89
- package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
- package/dist/cjs/helpers/isActivePlatform.cjs +0 -40
- package/dist/cjs/helpers/isActivePlatform.native.js +0 -43
- package/dist/cjs/helpers/isActivePlatform.native.js.map +0 -1
- package/dist/cjs/helpers/isActiveTheme.cjs +0 -31
- package/dist/cjs/helpers/isActiveTheme.native.js +0 -34
- package/dist/cjs/helpers/isActiveTheme.native.js.map +0 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -28
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -42
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
- package/dist/cjs/helpers/parseNativeStyle.cjs +0 -167
- package/dist/cjs/helpers/platformResolveValue.cjs +0 -38
- package/dist/cjs/helpers/platformResolveValue.native.js +0 -74
- package/dist/cjs/helpers/platformResolveValue.native.js.map +0 -1
- package/dist/cjs/helpers/propMapper.cjs +0 -281
- package/dist/cjs/helpers/propMapper.native.js +0 -381
- package/dist/cjs/helpers/propMapper.native.js.map +0 -1
- package/dist/cjs/helpers/proxyThemeVariables.cjs +0 -38
- package/dist/cjs/helpers/proxyThemeVariables.native.js +0 -43
- package/dist/cjs/helpers/proxyThemeVariables.native.js.map +0 -1
- package/dist/cjs/helpers/pseudoDescriptors.cjs +0 -82
- package/dist/cjs/helpers/pseudoDescriptors.native.js +0 -85
- package/dist/cjs/helpers/pseudoDescriptors.native.js.map +0 -1
- package/dist/cjs/helpers/pseudoTransitions.cjs +0 -83
- package/dist/cjs/helpers/pseudoTransitions.native.js +0 -88
- package/dist/cjs/helpers/pseudoTransitions.native.js.map +0 -1
- package/dist/cjs/helpers/resolveCompoundTokens.cjs +0 -41
- package/dist/cjs/helpers/resolveCompoundTokens.native.js +0 -44
- package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +0 -1
- package/dist/cjs/helpers/themeable.cjs +0 -114
- package/dist/cjs/helpers/themeable.native.js +0 -119
- package/dist/cjs/helpers/themeable.native.js.map +0 -1
- package/dist/cjs/helpers/useRenderElement.cjs +0 -53
- package/dist/cjs/helpers/useRenderElement.native.js +0 -60
- package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
- package/dist/cjs/hooks/useProps.cjs +0 -120
- package/dist/cjs/hooks/useProps.native.js +0 -125
- package/dist/cjs/hooks/useProps.native.js.map +0 -1
- package/dist/cjs/opacityModifier.test-d.cjs +0 -36
- package/dist/cjs/opacityModifier.test-d.native.js +0 -39
- package/dist/cjs/opacityModifier.test-d.native.js.map +0 -1
- package/dist/cjs/styledHtml.test-d.cjs +0 -187
- package/dist/cjs/styledHtml.test-d.native.js +0 -190
- package/dist/cjs/styledHtml.test-d.native.js.map +0 -1
- package/dist/cjs/styledNonStyleProps.test-d.cjs +0 -63
- package/dist/cjs/styledNonStyleProps.test-d.native.js +0 -66
- package/dist/cjs/styledNonStyleProps.test-d.native.js.map +0 -1
- package/dist/esm/animationDriverTypes.test-d.mjs +0 -78
- package/dist/esm/animationDriverTypes.test-d.mjs.map +0 -1
- package/dist/esm/animationDriverTypes.test-d.native.js +0 -78
- package/dist/esm/animationDriverTypes.test-d.native.js.map +0 -1
- package/dist/esm/constants/accessibilityDirectMap.mjs +0 -7
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
- package/dist/esm/constants/accessibilityDirectMap.native.js +0 -7
- package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
- package/dist/esm/helpers/createMediaStyle.mjs +0 -100
- package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
- package/dist/esm/helpers/createMediaStyle.native.js +0 -110
- package/dist/esm/helpers/createMediaStyle.native.js.map +0 -1
- package/dist/esm/helpers/getDefaultProps.mjs +0 -18
- package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
- package/dist/esm/helpers/getDefaultProps.native.js +0 -19
- package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
- package/dist/esm/helpers/getFontLanguage.mjs +0 -3
- package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
- package/dist/esm/helpers/getFontLanguage.native.js +0 -5
- package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
- package/dist/esm/helpers/getGroupPropParts.mjs +0 -29
- package/dist/esm/helpers/getGroupPropParts.mjs.map +0 -1
- package/dist/esm/helpers/getGroupPropParts.native.js +0 -31
- package/dist/esm/helpers/getGroupPropParts.native.js.map +0 -1
- package/dist/esm/helpers/getTokenForKey.mjs +0 -146
- package/dist/esm/helpers/getTokenForKey.mjs.map +0 -1
- package/dist/esm/helpers/getTokenForKey.native.js +0 -155
- package/dist/esm/helpers/getTokenForKey.native.js.map +0 -1
- package/dist/esm/helpers/getVariantExtras.mjs +0 -59
- package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
- package/dist/esm/helpers/getVariantExtras.native.js +0 -60
- package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
- package/dist/esm/helpers/isActivePlatform.mjs +0 -14
- package/dist/esm/helpers/isActivePlatform.mjs.map +0 -1
- package/dist/esm/helpers/isActivePlatform.native.js +0 -14
- package/dist/esm/helpers/isActivePlatform.native.js.map +0 -1
- package/dist/esm/helpers/isActiveTheme.mjs +0 -6
- package/dist/esm/helpers/isActiveTheme.mjs.map +0 -1
- package/dist/esm/helpers/isActiveTheme.native.js +0 -6
- package/dist/esm/helpers/isActiveTheme.native.js.map +0 -1
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -3
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -14
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
- package/dist/esm/helpers/parseNativeStyle.mjs +0 -142
- package/dist/esm/helpers/parseNativeStyle.mjs.map +0 -1
- package/dist/esm/helpers/platformResolveValue.mjs +0 -13
- package/dist/esm/helpers/platformResolveValue.mjs.map +0 -1
- package/dist/esm/helpers/platformResolveValue.native.js +0 -46
- package/dist/esm/helpers/platformResolveValue.native.js.map +0 -1
- package/dist/esm/helpers/propMapper.mjs +0 -251
- package/dist/esm/helpers/propMapper.mjs.map +0 -1
- package/dist/esm/helpers/propMapper.native.js +0 -350
- package/dist/esm/helpers/propMapper.native.js.map +0 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs +0 -13
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
- package/dist/esm/helpers/proxyThemeVariables.native.js +0 -15
- package/dist/esm/helpers/proxyThemeVariables.native.js.map +0 -1
- package/dist/esm/helpers/pseudoDescriptors.mjs +0 -54
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
- package/dist/esm/helpers/pseudoDescriptors.native.js +0 -54
- package/dist/esm/helpers/pseudoDescriptors.native.js.map +0 -1
- package/dist/esm/helpers/pseudoTransitions.mjs +0 -57
- package/dist/esm/helpers/pseudoTransitions.mjs.map +0 -1
- package/dist/esm/helpers/pseudoTransitions.native.js +0 -59
- package/dist/esm/helpers/pseudoTransitions.native.js.map +0 -1
- package/dist/esm/helpers/resolveCompoundTokens.mjs +0 -16
- package/dist/esm/helpers/resolveCompoundTokens.mjs.map +0 -1
- package/dist/esm/helpers/resolveCompoundTokens.native.js +0 -16
- package/dist/esm/helpers/resolveCompoundTokens.native.js.map +0 -1
- package/dist/esm/helpers/themeable.mjs +0 -79
- package/dist/esm/helpers/themeable.mjs.map +0 -1
- package/dist/esm/helpers/themeable.native.js +0 -80
- package/dist/esm/helpers/themeable.native.js.map +0 -1
- package/dist/esm/helpers/useRenderElement.mjs +0 -26
- package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
- package/dist/esm/helpers/useRenderElement.native.js +0 -31
- package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
- package/dist/esm/hooks/useProps.mjs +0 -82
- package/dist/esm/hooks/useProps.mjs.map +0 -1
- package/dist/esm/hooks/useProps.native.js +0 -84
- package/dist/esm/hooks/useProps.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/interfaces/GetRef.mjs.map +0 -1
- package/dist/esm/interfaces/GetRef.native.js.map +0 -1
- package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +0 -1
- package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentEvents.mjs.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentEvents.native.js.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js.map +0 -1
- package/dist/esm/opacityModifier.test-d.mjs +0 -37
- package/dist/esm/opacityModifier.test-d.mjs.map +0 -1
- package/dist/esm/opacityModifier.test-d.native.js +0 -37
- package/dist/esm/opacityModifier.test-d.native.js.map +0 -1
- package/dist/esm/styledHtml.test-d.mjs +0 -188
- package/dist/esm/styledHtml.test-d.mjs.map +0 -1
- package/dist/esm/styledHtml.test-d.native.js +0 -188
- package/dist/esm/styledHtml.test-d.native.js.map +0 -1
- package/dist/esm/styledNonStyleProps.test-d.mjs +0 -64
- package/dist/esm/styledNonStyleProps.test-d.mjs.map +0 -1
- package/dist/esm/styledNonStyleProps.test-d.native.js +0 -64
- package/dist/esm/styledNonStyleProps.test-d.native.js.map +0 -1
- package/dist/esm/type-utils.mjs.map +0 -1
- package/dist/esm/type-utils.native.js.map +0 -1
- package/src/animationDriverTypes.test-d.ts +0 -332
- package/src/constants/accessibilityDirectMap.native.tsx +0 -10
- package/src/constants/accessibilityDirectMap.tsx +0 -11
- package/src/helpers/createMediaStyle.ts +0 -167
- package/src/helpers/getDefaultProps.ts +0 -28
- package/src/helpers/getFontLanguage.ts +0 -2
- package/src/helpers/getGroupPropParts.ts +0 -46
- package/src/helpers/getTokenForKey.ts +0 -236
- package/src/helpers/getVariantExtras.tsx +0 -68
- package/src/helpers/isActivePlatform.ts +0 -43
- package/src/helpers/isActiveTheme.ts +0 -4
- package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
- package/src/helpers/normalizeStylePropKeys.ts +0 -3
- package/src/helpers/parseNativeStyle.ts +0 -193
- package/src/helpers/platformResolveValue.native.ts +0 -75
- package/src/helpers/platformResolveValue.ts +0 -26
- package/src/helpers/propMapper.ts +0 -459
- package/src/helpers/proxyThemeVariables.tsx +0 -13
- package/src/helpers/pseudoDescriptors.ts +0 -74
- package/src/helpers/pseudoTransitions.ts +0 -97
- package/src/helpers/resolveCompoundTokens.ts +0 -28
- package/src/helpers/themeable.tsx +0 -104
- package/src/helpers/useRenderElement.tsx +0 -73
- package/src/hooks/useProps.tsx +0 -158
- package/src/opacityModifier.test-d.ts +0 -65
- package/src/styledHtml.test-d.ts +0 -286
- package/src/styledNonStyleProps.test-d.ts +0 -106
- package/tsconfig.json +0 -44
- package/tsconfig.test.json +0 -9
- package/types/constants/accessibilityDirectMap.d.ts +0 -6
- package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
- package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
- package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
- package/types/helpers/createMediaStyle.d.ts +0 -5
- package/types/helpers/createMediaStyle.d.ts.map +0 -1
- package/types/helpers/getDefaultProps.d.ts +0 -3
- package/types/helpers/getDefaultProps.d.ts.map +0 -1
- package/types/helpers/getFontLanguage.d.ts +0 -2
- package/types/helpers/getFontLanguage.d.ts.map +0 -1
- package/types/helpers/getGroupPropParts.d.ts +0 -7
- package/types/helpers/getGroupPropParts.d.ts.map +0 -1
- package/types/helpers/getTokenForKey.d.ts +0 -6
- package/types/helpers/getTokenForKey.d.ts.map +0 -1
- package/types/helpers/getVariantExtras.d.ts +0 -4
- package/types/helpers/getVariantExtras.d.ts.map +0 -1
- package/types/helpers/isActivePlatform.d.ts +0 -16
- package/types/helpers/isActivePlatform.d.ts.map +0 -1
- package/types/helpers/isActiveTheme.d.ts +0 -2
- package/types/helpers/isActiveTheme.d.ts.map +0 -1
- package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
- package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
- package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
- package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
- package/types/helpers/parseNativeStyle.d.ts +0 -14
- package/types/helpers/parseNativeStyle.d.ts.map +0 -1
- package/types/helpers/platformResolveValue.d.ts +0 -6
- package/types/helpers/platformResolveValue.d.ts.map +0 -1
- package/types/helpers/platformResolveValue.native.d.ts +0 -7
- package/types/helpers/platformResolveValue.native.d.ts.map +0 -1
- package/types/helpers/propMapper.d.ts +0 -5
- package/types/helpers/propMapper.d.ts.map +0 -1
- package/types/helpers/proxyThemeVariables.d.ts +0 -2
- package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
- package/types/helpers/pseudoDescriptors.d.ts +0 -51
- package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
- package/types/helpers/pseudoTransitions.d.ts +0 -29
- package/types/helpers/pseudoTransitions.d.ts.map +0 -1
- package/types/helpers/resolveCompoundTokens.d.ts +0 -9
- package/types/helpers/resolveCompoundTokens.d.ts.map +0 -1
- package/types/helpers/themeable.d.ts +0 -3
- package/types/helpers/themeable.d.ts.map +0 -1
- package/types/helpers/useRenderElement.d.ts +0 -13
- package/types/helpers/useRenderElement.d.ts.map +0 -1
- package/types/hooks/useProps.d.ts +0 -41
- package/types/hooks/useProps.d.ts.map +0 -1
- package/vitest.config.d.ts +0 -3
- package/vitest.config.d.ts.map +0 -1
- package/vitest.config.ts +0 -14
package/src/createComponent.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { composeRefs } from '@tamagui/compose-refs'
|
|
1
|
+
import { composeRefs, setRef } from '@tamagui/compose-refs'
|
|
2
2
|
import {
|
|
3
3
|
getPlatformDriver,
|
|
4
4
|
isAndroid,
|
|
@@ -19,29 +19,38 @@ import { GroupContext } from './contexts/GroupContext'
|
|
|
19
19
|
import { didGetVariableValue, setDidGetVariableValue } from './createVariable'
|
|
20
20
|
import { defaultComponentStateMounted } from './defaultComponentState'
|
|
21
21
|
import { getWebEvents, useEvents, wrapWithGestureDetector } from './eventHandling'
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
22
|
+
import { componentDisplayName } from './helpers/componentDisplayName'
|
|
23
|
+
import { getSplitStyles } from './helpers/getSplitStyles'
|
|
24
|
+
import { getConfigRevisionState } from './helpers/grammarConfig'
|
|
25
|
+
import { getStyleStaticConfig, type StyleStaticConfig } from './helpers/styleStaticConfig'
|
|
26
|
+
import {
|
|
27
|
+
getNativeStyleEngine,
|
|
28
|
+
queueNativeViewState,
|
|
29
|
+
updateNativeStyleLink,
|
|
30
|
+
} from './helpers/nativeStyleEngine'
|
|
31
|
+
import { getThemeProxied } from './hooks/getThemeProxied'
|
|
25
32
|
import { log } from './helpers/log'
|
|
26
33
|
import { type GenericProps, mergeComponentProps } from './helpers/mergeProps'
|
|
27
34
|
import { mergeRenderElementProps } from './helpers/mergeRenderElementProps'
|
|
28
|
-
import {
|
|
35
|
+
import { getMedia } from './helpers/mediaState'
|
|
29
36
|
import { usePointerEvents } from './helpers/pointerEvents'
|
|
30
|
-
import {
|
|
31
|
-
|
|
32
|
-
resolveEffectivePseudoTransition,
|
|
33
|
-
} from './helpers/pseudoTransitions'
|
|
37
|
+
import { extractPseudoState } from './helpers/extractPseudoState'
|
|
38
|
+
import { subscribeToSafeArea } from './helpers/resolveSafeAreaVariable'
|
|
34
39
|
import { setElementProps } from './helpers/setElementProps'
|
|
35
|
-
import {
|
|
36
|
-
|
|
40
|
+
import {
|
|
41
|
+
subscribeToContextGroup,
|
|
42
|
+
useGroupSetRevision,
|
|
43
|
+
} from './helpers/subscribeToContextGroup'
|
|
37
44
|
import { getStyleTags } from './helpers/wrapStyleTags'
|
|
38
45
|
import { useComponentState } from './hooks/useComponentState'
|
|
46
|
+
import { useSplitStyles } from './hooks/useSplitStyles'
|
|
39
47
|
import { setMediaShouldUpdate, useMedia } from './hooks/useMedia'
|
|
40
48
|
import { useThemeWithState } from './hooks/useTheme'
|
|
41
49
|
import type { TamaguiComponentEvents } from './interfaces/TamaguiComponentEvents'
|
|
42
50
|
import { hooks } from './setupHooks'
|
|
43
51
|
import type {
|
|
44
52
|
AllGroupContexts,
|
|
53
|
+
AnimationDriverLike,
|
|
45
54
|
ComponentGroupEmitter,
|
|
46
55
|
DebugProp,
|
|
47
56
|
GroupStateListener,
|
|
@@ -49,7 +58,6 @@ import type {
|
|
|
49
58
|
PseudoGroupState,
|
|
50
59
|
SingleGroupContext,
|
|
51
60
|
StaticConfig,
|
|
52
|
-
StyleableOptions,
|
|
53
61
|
TamaguiComponent,
|
|
54
62
|
TamaguiComponentState,
|
|
55
63
|
TamaguiElement,
|
|
@@ -83,7 +91,6 @@ const avoidReRenderKeys = new Set([
|
|
|
83
91
|
'focus',
|
|
84
92
|
'focusWithin',
|
|
85
93
|
'media',
|
|
86
|
-
'group',
|
|
87
94
|
])
|
|
88
95
|
|
|
89
96
|
const groupPseudoKeys = [
|
|
@@ -248,15 +255,75 @@ export function createComponent<
|
|
|
248
255
|
BaseProps = never,
|
|
249
256
|
BaseStyles extends object = never,
|
|
250
257
|
>(staticConfig: StaticConfig) {
|
|
258
|
+
// Zero-runtime mode: compiler reference erasure is what removes this module
|
|
259
|
+
// from the graph, and the bundle gate is what proves it. This is the loud
|
|
260
|
+
// secondary failure for a reference erasure missed, and it lets Vite and
|
|
261
|
+
// webpack fold the body to a stub. The full `process.env` comparison is
|
|
262
|
+
// written out here on purpose: anything between it and the bundler (a helper,
|
|
263
|
+
// a const, a config read) makes it unfoldable.
|
|
264
|
+
if (process.env.TAMAGUI_RUNTIME === 'zero') {
|
|
265
|
+
throw new Error(
|
|
266
|
+
process.env.NODE_ENV !== 'production'
|
|
267
|
+
? `[tamagui zero-runtime] createComponent ran in a zero-runtime graph. No Tamagui component renderer ships in this mode, so a component reference survived compilation. Fix the site or move the owning module to a declared full-runtime island.`
|
|
268
|
+
: '❌ Error 010'
|
|
269
|
+
)
|
|
270
|
+
}
|
|
271
|
+
|
|
251
272
|
let config: TamaguiInternalConfig | null = null
|
|
273
|
+
let resolvedDefaultProps: Record<string, any> | undefined
|
|
274
|
+
let resolvedStyleRevision = -1
|
|
275
|
+
let resolvedStyleStaticConfig: StyleStaticConfig | undefined
|
|
252
276
|
|
|
253
277
|
const { Component, isText, isHOC } = staticConfig
|
|
254
278
|
|
|
255
|
-
|
|
279
|
+
type ComponentType = TamaguiComponent<
|
|
280
|
+
ComponentPropTypes,
|
|
281
|
+
Ref,
|
|
282
|
+
BaseProps,
|
|
283
|
+
BaseStyles,
|
|
284
|
+
{}
|
|
285
|
+
>
|
|
286
|
+
|
|
287
|
+
let res: ComponentType
|
|
288
|
+
|
|
289
|
+
const { displayName } = staticConfig
|
|
290
|
+
|
|
291
|
+
const component = (propsInWithRef: ComponentPropTypes & { ref?: React.Ref<Ref> }) => {
|
|
256
292
|
'use no memo'
|
|
257
293
|
|
|
294
|
+
// read the forwarded ref directly off the incoming props — do NOT clone the
|
|
295
|
+
// whole object every render just to strip `ref`. the original props object is
|
|
296
|
+
// passed straight through; `ref` is skipped in the getSplitStyles pass (so it
|
|
297
|
+
// never forwards onto the host) and the composed ref is assigned explicitly
|
|
298
|
+
// onto viewProps below.
|
|
299
|
+
const forwardedRef = propsInWithRef.ref
|
|
300
|
+
const propsIn = propsInWithRef as Omit<typeof propsInWithRef, 'ref'>
|
|
301
|
+
|
|
258
302
|
config = config || getConfig()
|
|
259
303
|
|
|
304
|
+
const styleRevision = getConfigRevisionState(config).revision
|
|
305
|
+
if (resolvedStyleRevision !== styleRevision) {
|
|
306
|
+
resolvedStyleRevision = styleRevision
|
|
307
|
+
const nextStyleStaticConfig = getStyleStaticConfig(staticConfig, config)
|
|
308
|
+
resolvedStyleStaticConfig = nextStyleStaticConfig
|
|
309
|
+
resolvedDefaultProps = nextStyleStaticConfig.defaultProps
|
|
310
|
+
// the relative-position default is a style, so it joins the base layer
|
|
311
|
+
// under everything the call site writes
|
|
312
|
+
if (
|
|
313
|
+
isWeb &&
|
|
314
|
+
!staticConfig.isText &&
|
|
315
|
+
config.settings.defaultPosition === 'relative' &&
|
|
316
|
+
nextStyleStaticConfig.baseStyle?.position === undefined
|
|
317
|
+
) {
|
|
318
|
+
resolvedStyleStaticConfig = {
|
|
319
|
+
...nextStyleStaticConfig,
|
|
320
|
+
baseStyle: { position: 'relative', ...nextStyleStaticConfig.baseStyle },
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
const styleStaticConfig = resolvedStyleStaticConfig!
|
|
325
|
+
const styledContextKeys = styleStaticConfig.styledContextKeys
|
|
326
|
+
|
|
260
327
|
const internalID = process.env.NODE_ENV === 'development' ? React.useId() : ''
|
|
261
328
|
|
|
262
329
|
if (process.env.NODE_ENV === 'development') {
|
|
@@ -293,7 +360,7 @@ export function createComponent<
|
|
|
293
360
|
|
|
294
361
|
// set variants through context
|
|
295
362
|
// order is after default props but before props
|
|
296
|
-
const { context
|
|
363
|
+
const { context } = staticConfig
|
|
297
364
|
const debugProp = propsIn['debug'] as DebugProp
|
|
298
365
|
|
|
299
366
|
const styledContextValue: GenericProps | undefined = context
|
|
@@ -304,12 +371,12 @@ export function createComponent<
|
|
|
304
371
|
const componentContext = React.useContext(ComponentContext)
|
|
305
372
|
const hasTextAncestor = !!(isWeb && isText ? componentContext.inText : false)
|
|
306
373
|
|
|
307
|
-
//
|
|
308
|
-
//
|
|
309
|
-
//
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
//
|
|
374
|
+
// on Android, skip RNGH GestureDetector inside native menus and use direct
|
|
375
|
+
// press events instead. GestureDetector consumes touches before they reach the
|
|
376
|
+
// native menu handler, preventing the menu from opening. NativeMenuContext only
|
|
377
|
+
// affects Android RNGH press arbitration inside native menus (see
|
|
378
|
+
// eventHandling.native.ts:182). isAndroid is constant for the whole app run,
|
|
379
|
+
// so on iOS we skip this context read for every component. the branch
|
|
313
380
|
// never flips at runtime, so hook order stays stable (rules-of-hooks safe).
|
|
314
381
|
const isInsideNativeMenu =
|
|
315
382
|
process.env.TAMAGUI_TARGET === 'native' && isAndroid
|
|
@@ -337,14 +404,10 @@ export function createComponent<
|
|
|
337
404
|
// order important so we do loops, you can't just spread because JS does weird things
|
|
338
405
|
let props: ViewProps | TextProps = propsIn
|
|
339
406
|
|
|
340
|
-
const componentName = props.componentName || staticConfig.componentName
|
|
341
|
-
|
|
342
407
|
// merge both default props and styled context props - ensure order is preserved
|
|
343
|
-
const defaultProps = getDefaultProps(staticConfig, props.componentName)
|
|
344
|
-
|
|
345
408
|
// merge styled context props over defaults, ensure order is preserved
|
|
346
409
|
const [nextProps, overrides] = mergeComponentProps(
|
|
347
|
-
|
|
410
|
+
resolvedDefaultProps,
|
|
348
411
|
styledContextValue,
|
|
349
412
|
propsIn
|
|
350
413
|
)
|
|
@@ -396,7 +459,7 @@ export function createComponent<
|
|
|
396
459
|
tooltip.style.fontSize = '12px'
|
|
397
460
|
tooltip.style.lineHeight = '12px'
|
|
398
461
|
tooltip.style.fontFamily = 'monospace'
|
|
399
|
-
tooltip.innerText = `${
|
|
462
|
+
tooltip.innerText = `${displayName || ''} ${dataAt} ${dataIn}`.trim()
|
|
400
463
|
|
|
401
464
|
overlay.appendChild(tooltip)
|
|
402
465
|
node.appendChild(overlay)
|
|
@@ -412,34 +475,35 @@ export function createComponent<
|
|
|
412
475
|
remove()
|
|
413
476
|
debugKeyListeners?.delete(debugVisualizerHandler)
|
|
414
477
|
}
|
|
415
|
-
}, [
|
|
478
|
+
}, [displayName])
|
|
416
479
|
}
|
|
417
480
|
|
|
418
481
|
const groupContextParent = React.useContext(GroupContext)
|
|
419
482
|
|
|
420
483
|
// Get animation driver - either from animatedBy prop lookup or context/config fallback
|
|
421
|
-
const animationDriver = (() => {
|
|
484
|
+
const animationDriver: AnimationDriverLike | null = (() => {
|
|
422
485
|
if (props.animatedBy && config) {
|
|
423
486
|
// check animationDrivers for multi-driver config
|
|
424
487
|
if (config.animationDrivers) {
|
|
425
488
|
return (
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
489
|
+
props.animatedBy in config.animationDrivers
|
|
490
|
+
? config.animationDrivers[props.animatedBy]
|
|
491
|
+
: config.animations
|
|
492
|
+
) as AnimationDriverLike | null
|
|
429
493
|
}
|
|
430
494
|
// single driver config - only 'default' makes sense
|
|
431
|
-
return props.animatedBy === 'default'
|
|
495
|
+
return props.animatedBy === 'default'
|
|
496
|
+
? (config.animations as AnimationDriverLike)
|
|
497
|
+
: null
|
|
432
498
|
}
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
resolveAnimationDriver(componentContext.animationDriver) ??
|
|
437
|
-
resolveAnimationDriver(config?.animations) ??
|
|
438
|
-
null
|
|
439
|
-
)
|
|
499
|
+
return (componentContext.animationDriver ??
|
|
500
|
+
config?.animations ??
|
|
501
|
+
null) as AnimationDriverLike | null
|
|
440
502
|
})()
|
|
441
503
|
|
|
442
|
-
const useAnimations = animationDriver?.
|
|
504
|
+
const useAnimations = animationDriver?.isStub
|
|
505
|
+
? undefined
|
|
506
|
+
: (animationDriver?.useAnimations as UseAnimationHook | undefined)
|
|
443
507
|
|
|
444
508
|
const componentState = useComponentState(
|
|
445
509
|
props,
|
|
@@ -450,10 +514,7 @@ export function createComponent<
|
|
|
450
514
|
|
|
451
515
|
const {
|
|
452
516
|
disabled,
|
|
453
|
-
groupName,
|
|
454
517
|
hasAnimationProp,
|
|
455
|
-
hasEnterStyle,
|
|
456
|
-
isAnimated,
|
|
457
518
|
isExiting,
|
|
458
519
|
isHydrated,
|
|
459
520
|
presence,
|
|
@@ -464,13 +525,30 @@ export function createComponent<
|
|
|
464
525
|
stateRef,
|
|
465
526
|
inputStyle,
|
|
466
527
|
outputStyle,
|
|
528
|
+
startedUnhydrated,
|
|
529
|
+
} = componentState
|
|
530
|
+
let { groupName } = componentState
|
|
531
|
+
let {
|
|
532
|
+
hasEnterStyle,
|
|
533
|
+
isAnimated,
|
|
467
534
|
willBeAnimated,
|
|
468
535
|
willBeAnimatedClient,
|
|
469
536
|
platformPseudo,
|
|
470
|
-
startedUnhydrated,
|
|
471
537
|
} = componentState
|
|
472
538
|
|
|
473
|
-
|
|
539
|
+
// adopt the props object useComponentState resolved: on the enter/exit presence
|
|
540
|
+
// path it injects presence variants onto a fresh copy instead of mutating our
|
|
541
|
+
// input (which, with no clone above, would be React's own props object)
|
|
542
|
+
props = componentState.props as typeof props
|
|
543
|
+
|
|
544
|
+
// latch on first render: animationDriver derives from the per-render
|
|
545
|
+
// animatedBy prop, and the layout effect below is conditioned on
|
|
546
|
+
// avoidReRenders — letting it flip between renders would change the hook
|
|
547
|
+
// count mid-lifecycle (same latch pattern as hasAnimated in
|
|
548
|
+
// useComponentState). ??= keeps the first value: false stays false.
|
|
549
|
+
stateRef.current.avoidReRenders ??= !!animationDriver?.avoidReRenders
|
|
550
|
+
|
|
551
|
+
if (stateRef.current.avoidReRenders) {
|
|
474
552
|
// post-commit reconciliation of `nextState` with the committed React state.
|
|
475
553
|
// `nextState` is the source of truth for the fast `setStateShallow` path; it
|
|
476
554
|
// must stay populated until React actually commits the corresponding update,
|
|
@@ -483,7 +561,7 @@ export function createComponent<
|
|
|
483
561
|
// keeps the last-emitted snapshot latched across re-renders (so an unrelated
|
|
484
562
|
// render doesn't snap a hovered style back to base), but a render can change
|
|
485
563
|
// the styles that FEED the pseudo merge — e.g. a row becoming active removes
|
|
486
|
-
// its
|
|
564
|
+
// its hover clause while still hovered — and the stale snapshot would keep
|
|
487
565
|
// painting over the new base (hover-beats-active-during-scrub).
|
|
488
566
|
// `updateStyleListener` is rebuilt each render over fresh props/state and
|
|
489
567
|
// reads `nextState || state`, so re-invoking it re-emits the correct merged
|
|
@@ -525,49 +603,6 @@ export function createComponent<
|
|
|
525
603
|
})
|
|
526
604
|
}, [platformPseudo, props.disabled])
|
|
527
605
|
|
|
528
|
-
// create new context with groups, or else sublings will grab the same one
|
|
529
|
-
const allGroupContexts = useMemo((): AllGroupContexts | null => {
|
|
530
|
-
if (!groupName || props.passThrough) {
|
|
531
|
-
return groupContextParent
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
const listeners = new Set<GroupStateListener>()
|
|
535
|
-
stateRef.current.group?.listeners?.clear()
|
|
536
|
-
stateRef.current.group = {
|
|
537
|
-
listeners,
|
|
538
|
-
emit(state) {
|
|
539
|
-
listeners.forEach((l) => l(state))
|
|
540
|
-
},
|
|
541
|
-
subscribe(cb) {
|
|
542
|
-
listeners.add(cb)
|
|
543
|
-
if (listeners.size === 1) {
|
|
544
|
-
setStateShallow({ hasDynGroupChildren: true })
|
|
545
|
-
}
|
|
546
|
-
return () => {
|
|
547
|
-
listeners.delete(cb)
|
|
548
|
-
if (listeners.size === 0) {
|
|
549
|
-
setStateShallow({ hasDynGroupChildren: false })
|
|
550
|
-
}
|
|
551
|
-
}
|
|
552
|
-
},
|
|
553
|
-
}
|
|
554
|
-
|
|
555
|
-
return {
|
|
556
|
-
...groupContextParent,
|
|
557
|
-
[groupName]: {
|
|
558
|
-
state: {
|
|
559
|
-
pseudo: defaultComponentStateMounted,
|
|
560
|
-
},
|
|
561
|
-
subscribe: (listener) => {
|
|
562
|
-
const dispose = stateRef.current.group?.subscribe(listener)
|
|
563
|
-
return () => {
|
|
564
|
-
dispose?.()
|
|
565
|
-
}
|
|
566
|
-
},
|
|
567
|
-
},
|
|
568
|
-
}
|
|
569
|
-
}, [stateRef, groupName, groupContextParent])
|
|
570
|
-
|
|
571
606
|
// if our animation driver supports avoidReRenders, we'll replace this below with
|
|
572
607
|
// a version that essentially uses an internall emitter rather than setting state
|
|
573
608
|
// but still stores the current state and applies if it it needs to during render
|
|
@@ -608,11 +643,9 @@ export function createComponent<
|
|
|
608
643
|
if (process.env.NODE_ENV === 'development' && time) time`theme-props`
|
|
609
644
|
|
|
610
645
|
const themeStateProps: UseThemeWithStateProps = {
|
|
611
|
-
componentName,
|
|
612
646
|
disable: disableTheme,
|
|
613
647
|
shallow: props.themeShallow,
|
|
614
648
|
debug: debugProp,
|
|
615
|
-
unstyled: props.unstyled,
|
|
616
649
|
}
|
|
617
650
|
|
|
618
651
|
// this is set conditionally if existing in props because we wrap children with
|
|
@@ -620,19 +653,27 @@ export function createComponent<
|
|
|
620
653
|
if ('theme' in props) {
|
|
621
654
|
themeStateProps.name = props.theme
|
|
622
655
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
656
|
+
if (!stateRef.current.optimizeForFirstRender) {
|
|
657
|
+
// this ensures components with dark/light theme clauses re-render on
|
|
658
|
+
// theme change even when using raw colors (not tokens), since
|
|
659
|
+
// isListeningToTheme is set after useSplitStyles.
|
|
660
|
+
themeStateProps.needsUpdate =
|
|
661
|
+
stateRef.current.themeNeedsUpdate ||
|
|
662
|
+
(stateRef.current.themeNeedsUpdate = () => !!stateRef.current.isListeningToTheme)
|
|
663
|
+
}
|
|
627
664
|
// on native we optimize theme changes if fastSchemeChange is enabled, otherwise deopt
|
|
628
665
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
629
666
|
themeStateProps.deopt = willBeAnimated
|
|
667
|
+
// native fast path (experimental): stable proxy so the theme
|
|
668
|
+
// subscription can hand updates to the per-render styled updater
|
|
669
|
+
themeStateProps.nativeUpdate = stateRef.current.nativeUpdateProxy ||= (next) =>
|
|
670
|
+
stateRef.current.nativeStyleUpdate?.(next) ?? false
|
|
630
671
|
}
|
|
631
672
|
|
|
632
673
|
if (process.env.NODE_ENV === 'development') {
|
|
633
674
|
if (debugProp && debugProp !== 'profile') {
|
|
634
675
|
const name = `${
|
|
635
|
-
|
|
676
|
+
displayName ||
|
|
636
677
|
Component?.displayName ||
|
|
637
678
|
Component?.name ||
|
|
638
679
|
'[Unnamed Component]'
|
|
@@ -641,7 +682,6 @@ export function createComponent<
|
|
|
641
682
|
const type =
|
|
642
683
|
(hasEnterStyle ? '(hasEnter)' : ' ') +
|
|
643
684
|
(isAnimated ? '(animated)' : ' ') +
|
|
644
|
-
(isReactNative ? '(rnw)' : ' ') +
|
|
645
685
|
(noClass ? '(noClass)' : ' ') +
|
|
646
686
|
(state.press || state.pressIn ? '(PRESSED)' : ' ') +
|
|
647
687
|
(state.hover ? '(HOVERED)' : ' ') +
|
|
@@ -669,7 +709,7 @@ export function createComponent<
|
|
|
669
709
|
|
|
670
710
|
console.groupCollapsed(`${childLog} [inspect props, state, context 👇]`)
|
|
671
711
|
log('props in:', propsIn)
|
|
672
|
-
log('final props:', props
|
|
712
|
+
log('final props:', props)
|
|
673
713
|
log({ state, staticConfig, elementType, themeStateProps })
|
|
674
714
|
log({
|
|
675
715
|
context,
|
|
@@ -696,10 +736,16 @@ export function createComponent<
|
|
|
696
736
|
|
|
697
737
|
if (process.env.NODE_ENV === 'development' && time) time`theme`
|
|
698
738
|
|
|
699
|
-
|
|
739
|
+
// don't replace the animated driver component (set above) with the base element,
|
|
740
|
+
// the render string is forwarded to it via viewProps.render instead
|
|
741
|
+
if (!isAnimatedCustomComponent) {
|
|
742
|
+
elementType = element || elementType
|
|
743
|
+
}
|
|
700
744
|
const isStringElement = typeof elementType === 'string'
|
|
701
745
|
|
|
702
|
-
|
|
746
|
+
// stateRef.current is this instance's key into useMedia's per-component
|
|
747
|
+
// States map (setMediaShouldUpdate below writes under the same key)
|
|
748
|
+
const mediaState = useMedia(componentContext, debugProp, stateRef.current)
|
|
703
749
|
|
|
704
750
|
setDidGetVariableValue(false)
|
|
705
751
|
|
|
@@ -719,6 +765,8 @@ export function createComponent<
|
|
|
719
765
|
isExiting,
|
|
720
766
|
isAnimated,
|
|
721
767
|
willBeAnimated,
|
|
768
|
+
canPlatformPseudo: componentState.platformPseudo,
|
|
769
|
+
displayName,
|
|
722
770
|
styledContext: styledContextValue,
|
|
723
771
|
} as const
|
|
724
772
|
|
|
@@ -735,17 +783,249 @@ export function createComponent<
|
|
|
735
783
|
styleProps,
|
|
736
784
|
null,
|
|
737
785
|
componentContext,
|
|
738
|
-
|
|
786
|
+
groupContextParent,
|
|
739
787
|
elementType,
|
|
740
788
|
startedUnhydrated,
|
|
741
789
|
debugProp,
|
|
742
|
-
animationDriver
|
|
790
|
+
animationDriver,
|
|
791
|
+
styleStaticConfig
|
|
792
|
+
)
|
|
793
|
+
|
|
794
|
+
const finalizedComponentState = componentState.finalizeStyleFlags(
|
|
795
|
+
!!splitStyles?.hasEnterStyle,
|
|
796
|
+
!!splitStyles?.platformPseudo
|
|
743
797
|
)
|
|
798
|
+
hasEnterStyle = finalizedComponentState.hasEnterStyle
|
|
799
|
+
isAnimated = finalizedComponentState.isAnimated
|
|
800
|
+
willBeAnimated = finalizedComponentState.willBeAnimated
|
|
801
|
+
willBeAnimatedClient = finalizedComponentState.willBeAnimatedClient
|
|
802
|
+
platformPseudo = finalizedComponentState.platformPseudo
|
|
803
|
+
|
|
804
|
+
groupName = (splitStyles?.frontendGroup ?? groupName) as typeof groupName
|
|
805
|
+
const containerProp = splitStyles?.frontendContainer ?? props.container
|
|
806
|
+
const containerName =
|
|
807
|
+
(props.containerName as string | undefined) ||
|
|
808
|
+
(typeof containerProp === 'string' ? containerProp : undefined)
|
|
809
|
+
const containerType =
|
|
810
|
+
(splitStyles?.frontendContainerType as string | undefined) ||
|
|
811
|
+
(props.containerType as string | undefined) ||
|
|
812
|
+
(containerProp ? 'inline-size' : undefined)
|
|
813
|
+
const isContainer = !!containerType && containerType !== 'normal'
|
|
814
|
+
|
|
815
|
+
// create new context with groups, or else siblings will grab the same one
|
|
816
|
+
const allGroupContexts = useMemo((): AllGroupContexts | null => {
|
|
817
|
+
if ((!groupName && !isContainer) || props.passThrough) {
|
|
818
|
+
return groupContextParent
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
const listeners = new Set<GroupStateListener>()
|
|
822
|
+
stateRef.current.group?.listeners?.clear()
|
|
823
|
+
stateRef.current.group = {
|
|
824
|
+
listeners,
|
|
825
|
+
emit(state) {
|
|
826
|
+
listeners.forEach((l) => l(state))
|
|
827
|
+
},
|
|
828
|
+
subscribe(cb) {
|
|
829
|
+
listeners.add(cb)
|
|
830
|
+
if (listeners.size === 1) {
|
|
831
|
+
setStateShallow({ hasDynGroupChildren: true })
|
|
832
|
+
}
|
|
833
|
+
return () => {
|
|
834
|
+
listeners.delete(cb)
|
|
835
|
+
if (listeners.size === 0) {
|
|
836
|
+
setStateShallow({ hasDynGroupChildren: false })
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
// one entry object serves every key this component provides: the group
|
|
843
|
+
// name and the container keys share the same state and emitter
|
|
844
|
+
const entry: SingleGroupContext = {
|
|
845
|
+
state: {
|
|
846
|
+
pseudo: defaultComponentStateMounted,
|
|
847
|
+
},
|
|
848
|
+
subscribe: (listener) => {
|
|
849
|
+
const dispose = stateRef.current.group?.subscribe(listener)
|
|
850
|
+
return () => {
|
|
851
|
+
dispose?.()
|
|
852
|
+
}
|
|
853
|
+
},
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
const next: AllGroupContexts = { ...groupContextParent }
|
|
857
|
+
if (groupName) {
|
|
858
|
+
next[groupName] = entry
|
|
859
|
+
}
|
|
860
|
+
if (isContainer) {
|
|
861
|
+
// `@sm:` reads the nearest container of any name, so every container
|
|
862
|
+
// writes the `@` key; a named one also writes `@name`. group names
|
|
863
|
+
// cannot contain `@`, so the namespaces never collide
|
|
864
|
+
next['@'] = entry
|
|
865
|
+
if (containerName) {
|
|
866
|
+
next[`@${containerName}`] = entry
|
|
867
|
+
}
|
|
868
|
+
}
|
|
869
|
+
return next
|
|
870
|
+
}, [stateRef, groupName, containerName, isContainer, groupContextParent])
|
|
744
871
|
|
|
745
872
|
const isPassthrough = !splitStyles
|
|
746
873
|
|
|
747
874
|
// splitStyles === null === passThrough
|
|
748
875
|
|
|
876
|
+
// native fast path (experimental, plans/native-fast-path.md): eligible
|
|
877
|
+
// leaves commit theme-driven style updates straight to the native tree
|
|
878
|
+
// and skip the re-render. eligibility is re-evaluated every render; the
|
|
879
|
+
// pushed-state cache resets every render so no native state entry can
|
|
880
|
+
// outlive the props/state that produced it. repeated toggles between
|
|
881
|
+
// already-pushed themes are pure native (no style computation at all).
|
|
882
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
883
|
+
const nativeEngine = getNativeStyleEngine()
|
|
884
|
+
const canNativeUpdate =
|
|
885
|
+
!!nativeEngine &&
|
|
886
|
+
!isPassthrough &&
|
|
887
|
+
!isHOC &&
|
|
888
|
+
!willBeAnimated &&
|
|
889
|
+
!groupName &&
|
|
890
|
+
!props.disableNativeStyle
|
|
891
|
+
stateRef.current.nativePushedStates = canNativeUpdate ? new Set() : undefined
|
|
892
|
+
// fresh render: the themeState captured below is current again, and the
|
|
893
|
+
// render itself commits this state's styles
|
|
894
|
+
stateRef.current.nativeThemeState = undefined
|
|
895
|
+
stateRef.current.nativeActiveState = canNativeUpdate ? themeState?.name : undefined
|
|
896
|
+
|
|
897
|
+
// push one state's full computed style. keys pushed earlier but absent
|
|
898
|
+
// from this style commit as null — reset-to-default, exactly what a real
|
|
899
|
+
// re-render's style diff does when a key disappears (media flip dropping
|
|
900
|
+
// a $sm style, a removed prop) — and the engine unsticks them from
|
|
901
|
+
// nativeProps_DEPRECATED so future React renders can set them again.
|
|
902
|
+
// nulled keys stay in nativePushedKeys: engine state tables retain them,
|
|
903
|
+
// so every later cold push must keep nulling until a value returns.
|
|
904
|
+
const pushViewState = canNativeUpdate
|
|
905
|
+
? (stateName: string, style: Record<string, unknown>) => {
|
|
906
|
+
const sr = stateRef.current
|
|
907
|
+
const outProps = nativeEngine.processStyleColors(style)
|
|
908
|
+
if (sr.nativePushedKeys) {
|
|
909
|
+
for (const key of sr.nativePushedKeys) {
|
|
910
|
+
if (!(key in style)) outProps[key] = null
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
const keys = (sr.nativePushedKeys ||= new Set())
|
|
914
|
+
for (const key in outProps) keys.add(key)
|
|
915
|
+
sr.nativePushedStates!.add(stateName)
|
|
916
|
+
queueNativeViewState({
|
|
917
|
+
id: sr.nativeLink!.id,
|
|
918
|
+
state: stateName,
|
|
919
|
+
props: outProps,
|
|
920
|
+
})
|
|
921
|
+
}
|
|
922
|
+
: undefined
|
|
923
|
+
|
|
924
|
+
stateRef.current.nativeStyleUpdate = canNativeUpdate
|
|
925
|
+
? (nextTheme) => {
|
|
926
|
+
const sr = stateRef.current
|
|
927
|
+
if (!sr.nativeLink || !nextTheme.theme) return false
|
|
928
|
+
sr.nativeThemeState = nextTheme
|
|
929
|
+
|
|
930
|
+
const stateName = nextTheme.name
|
|
931
|
+
// a cascade that resolves to the already-committed state (a
|
|
932
|
+
// pinned sub-theme under a toggling outer theme) changes nothing:
|
|
933
|
+
// a real re-render would commit identical styles, so skip both
|
|
934
|
+
// the push and the re-render
|
|
935
|
+
if (stateName === sr.nativeActiveState) return true
|
|
936
|
+
sr.nativeActiveState = stateName
|
|
937
|
+
|
|
938
|
+
if (sr.nativePushedStates!.has(stateName)) {
|
|
939
|
+
queueNativeViewState({ id: sr.nativeLink.id, state: stateName })
|
|
940
|
+
return true
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
const proxiedTheme = getThemeProxied(
|
|
944
|
+
themeStateProps,
|
|
945
|
+
nextTheme,
|
|
946
|
+
{ current: null },
|
|
947
|
+
{ current: null }
|
|
948
|
+
)
|
|
949
|
+
const nextStyles = getSplitStyles(
|
|
950
|
+
props,
|
|
951
|
+
staticConfig,
|
|
952
|
+
proxiedTheme,
|
|
953
|
+
stateName,
|
|
954
|
+
state,
|
|
955
|
+
// media may have changed since render: the captured
|
|
956
|
+
// styleProps.mediaState is a mount-time snapshot in
|
|
957
|
+
// first-render mode, so resolve against the live global
|
|
958
|
+
{ ...styleProps, mediaState: getMedia() },
|
|
959
|
+
null,
|
|
960
|
+
componentContext,
|
|
961
|
+
allGroupContexts,
|
|
962
|
+
elementType,
|
|
963
|
+
startedUnhydrated,
|
|
964
|
+
debugProp,
|
|
965
|
+
animationDriver,
|
|
966
|
+
styleStaticConfig
|
|
967
|
+
)
|
|
968
|
+
if (!nextStyles?.style) return false
|
|
969
|
+
|
|
970
|
+
pushViewState!(stateName, nextStyles.style as Record<string, unknown>)
|
|
971
|
+
return true
|
|
972
|
+
}
|
|
973
|
+
: undefined
|
|
974
|
+
|
|
975
|
+
// a relevant media key flipped: every cached state entry was computed
|
|
976
|
+
// under the old media state, so the warm cache clears and the current
|
|
977
|
+
// theme recomputes cold (against the live global media, see above).
|
|
978
|
+
// one dimension change fires one update per configured media key and in
|
|
979
|
+
// first-render mode every subscriber passes the snapshot check each
|
|
980
|
+
// time, so coalesce to a single recompute per event turn — by which
|
|
981
|
+
// point every key has settled
|
|
982
|
+
stateRef.current.nativeMediaUpdate = canNativeUpdate
|
|
983
|
+
? (onMiss) => {
|
|
984
|
+
const sr = stateRef.current
|
|
985
|
+
if (!sr.nativeLink) return false
|
|
986
|
+
if (!sr.nativeMediaQueued) {
|
|
987
|
+
sr.nativeMediaQueued = true
|
|
988
|
+
queueMicrotask(() => {
|
|
989
|
+
sr.nativeMediaQueued = false
|
|
990
|
+
if (!sr.nativeLink) return
|
|
991
|
+
sr.nativePushedStates!.clear()
|
|
992
|
+
// the same state name must recompute under the new media values
|
|
993
|
+
sr.nativeActiveState = undefined
|
|
994
|
+
if (!sr.nativeStyleUpdate!(sr.nativeThemeState || themeState)) {
|
|
995
|
+
// couldn't commit natively after all: fall back to the
|
|
996
|
+
// re-render this update path had skipped
|
|
997
|
+
onMiss?.()
|
|
998
|
+
}
|
|
999
|
+
})
|
|
1000
|
+
}
|
|
1001
|
+
return true
|
|
1002
|
+
}
|
|
1003
|
+
: undefined
|
|
1004
|
+
|
|
1005
|
+
// a real render supersedes everything pushed since: its style is the
|
|
1006
|
+
// truth React commits, and RN's nativeProps_DEPRECATED merge refreshes
|
|
1007
|
+
// shared keys from it. the one hazard is a previously-pushed key this
|
|
1008
|
+
// render dropped — RN's merge would resurrect the stale value — so
|
|
1009
|
+
// re-push the fresh style (with nulls for dropped keys) right behind
|
|
1010
|
+
// React's own commit.
|
|
1011
|
+
if (canNativeUpdate && stateRef.current.nativeLink) {
|
|
1012
|
+
const sr = stateRef.current
|
|
1013
|
+
const style = splitStyles.style as Record<string, unknown> | undefined
|
|
1014
|
+
if (style && sr.nativePushedKeys) {
|
|
1015
|
+
let dropped = false
|
|
1016
|
+
for (const key of sr.nativePushedKeys) {
|
|
1017
|
+
if (!(key in style)) {
|
|
1018
|
+
dropped = true
|
|
1019
|
+
break
|
|
1020
|
+
}
|
|
1021
|
+
}
|
|
1022
|
+
if (dropped) {
|
|
1023
|
+
pushViewState!(themeState?.name || '', style)
|
|
1024
|
+
}
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
|
|
749
1029
|
// Merge style-resolved context overrides (issues #3670, #3676)
|
|
750
1030
|
// When styles set values that are also context keys (from variants, pseudos, media, etc),
|
|
751
1031
|
// we need to add them to overriddenContextProps so they propagate to children
|
|
@@ -766,7 +1046,9 @@ export function createComponent<
|
|
|
766
1046
|
}
|
|
767
1047
|
}
|
|
768
1048
|
|
|
769
|
-
|
|
1049
|
+
// this component's own entry: same object under every key it provides
|
|
1050
|
+
const groupContext =
|
|
1051
|
+
groupName || isContainer ? allGroupContexts?.[groupName ?? '@'] || null : null
|
|
770
1052
|
|
|
771
1053
|
// one tiny mutation 🙏 get width/height optimistically from raw values if possible
|
|
772
1054
|
// if set hardcoded it avoids extra renders
|
|
@@ -774,7 +1056,7 @@ export function createComponent<
|
|
|
774
1056
|
!isPassthrough &&
|
|
775
1057
|
groupContext &&
|
|
776
1058
|
// avoids onLayout if we don't need it
|
|
777
|
-
|
|
1059
|
+
isContainer
|
|
778
1060
|
) {
|
|
779
1061
|
const groupState = groupContext?.state
|
|
780
1062
|
if (groupState && groupState.layout === undefined) {
|
|
@@ -841,17 +1123,14 @@ export function createComponent<
|
|
|
841
1123
|
elementType,
|
|
842
1124
|
startedUnhydrated,
|
|
843
1125
|
debugProp,
|
|
844
|
-
animationDriver
|
|
1126
|
+
animationDriver,
|
|
1127
|
+
styleStaticConfig
|
|
845
1128
|
)
|
|
846
1129
|
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
nextStyles?.pseudoTransitions,
|
|
852
|
-
// platform-pseudo with no declared transition = instant (CSS :hover semantics)
|
|
853
|
-
props.transition ?? (platformPseudo ? '0ms' : undefined)
|
|
854
|
-
)
|
|
1130
|
+
const effectiveTransition =
|
|
1131
|
+
nextStyles?.effectiveTransition ??
|
|
1132
|
+
props.transition ??
|
|
1133
|
+
(platformPseudo ? '0ms' : undefined)
|
|
855
1134
|
|
|
856
1135
|
// update prev state for next comparison (includes group states)
|
|
857
1136
|
stateRef.current.prevPseudoState = extractPseudoState(updatedState)
|
|
@@ -929,9 +1208,13 @@ export function createComponent<
|
|
|
929
1208
|
}
|
|
930
1209
|
|
|
931
1210
|
// one thing we have to handle here and where it gets a bit more complex is group styles
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
1211
|
+
let canAvoidReRender = true
|
|
1212
|
+
for (const key in next) {
|
|
1213
|
+
if (!avoidReRenderKeys.has(key)) {
|
|
1214
|
+
canAvoidReRender = false
|
|
1215
|
+
break
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
935
1218
|
|
|
936
1219
|
const updatedState = {
|
|
937
1220
|
...prev,
|
|
@@ -945,7 +1228,7 @@ export function createComponent<
|
|
|
945
1228
|
debugProp &&
|
|
946
1229
|
debugProp !== 'profile'
|
|
947
1230
|
) {
|
|
948
|
-
console.groupCollapsed(`[⚡️] avoid setState`,
|
|
1231
|
+
console.groupCollapsed(`[⚡️] avoid setState`, displayName, next, {
|
|
949
1232
|
updatedState,
|
|
950
1233
|
props,
|
|
951
1234
|
})
|
|
@@ -985,10 +1268,6 @@ export function createComponent<
|
|
|
985
1268
|
splitStyles.style = splitStyles.style || {}
|
|
986
1269
|
splitStyles.style.opacity = 0
|
|
987
1270
|
}
|
|
988
|
-
|
|
989
|
-
if (splitStyles.dynamicThemeAccess != null) {
|
|
990
|
-
stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess
|
|
991
|
-
}
|
|
992
1271
|
}
|
|
993
1272
|
|
|
994
1273
|
// only listen for changes if we are using raw theme values or media space, or dynamic media (native)
|
|
@@ -1006,16 +1285,21 @@ export function createComponent<
|
|
|
1006
1285
|
console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys)
|
|
1007
1286
|
}
|
|
1008
1287
|
|
|
1009
|
-
setMediaShouldUpdate(
|
|
1288
|
+
setMediaShouldUpdate(
|
|
1289
|
+
stateRef.current,
|
|
1290
|
+
shouldListenForMedia,
|
|
1291
|
+
mediaListeningKeys,
|
|
1292
|
+
stateRef.current.optimizeForFirstRender
|
|
1293
|
+
)
|
|
1010
1294
|
|
|
1011
1295
|
const {
|
|
1012
1296
|
viewProps: viewPropsIn,
|
|
1013
|
-
pseudos,
|
|
1014
1297
|
style: splitStylesStyle,
|
|
1015
1298
|
classNames,
|
|
1016
1299
|
pseudoGroups,
|
|
1017
1300
|
mediaGroups,
|
|
1018
1301
|
} = splitStyles || {}
|
|
1302
|
+
const groupSetRevision = useGroupSetRevision(pseudoGroups, mediaGroups)
|
|
1019
1303
|
|
|
1020
1304
|
const propsWithAnimation = props as UseAnimationProps
|
|
1021
1305
|
|
|
@@ -1036,7 +1320,7 @@ export function createComponent<
|
|
|
1036
1320
|
onMouseLeave,
|
|
1037
1321
|
onFocus,
|
|
1038
1322
|
onBlur,
|
|
1039
|
-
|
|
1323
|
+
onTransition,
|
|
1040
1324
|
separator,
|
|
1041
1325
|
// ignore from here on out
|
|
1042
1326
|
passThrough,
|
|
@@ -1047,8 +1331,7 @@ export function createComponent<
|
|
|
1047
1331
|
...nonTamaguiProps
|
|
1048
1332
|
} = viewPropsIn || {}
|
|
1049
1333
|
|
|
1050
|
-
// these can ultimately be for DOM
|
|
1051
|
-
// so the type is pretty loose
|
|
1334
|
+
// these can ultimately be for DOM or custom animated views, so the type is loose
|
|
1052
1335
|
let viewProps = nonTamaguiProps
|
|
1053
1336
|
|
|
1054
1337
|
if (props.forceStyle) {
|
|
@@ -1062,6 +1345,23 @@ export function createComponent<
|
|
|
1062
1345
|
if (typeof passThrough !== 'undefined') {
|
|
1063
1346
|
viewProps.passThrough = passThrough
|
|
1064
1347
|
}
|
|
1348
|
+
// an HOC only wraps another component - its inner render produces the real
|
|
1349
|
+
// styled frame that owns behavior (press handlers, aria/data-state). forward
|
|
1350
|
+
// asChild to that inner frame so IT becomes the slot boundary, instead of the
|
|
1351
|
+
// wrapper consuming asChild here and forwarding only its own (often
|
|
1352
|
+
// behavior-less) props. fixes asChild items whose interaction is injected
|
|
1353
|
+
// below the wrapper (e.g. ToggleGroup.Item asChild -> XGroup.Item -> Button).
|
|
1354
|
+
if (typeof asChild !== 'undefined') {
|
|
1355
|
+
viewProps.asChild = asChild
|
|
1356
|
+
}
|
|
1357
|
+
// an HOC layer doesn't animate itself (shouldUseAnimation is false for
|
|
1358
|
+
// isHOC); forward the animation lifecycle callback to the inner component
|
|
1359
|
+
// that does, so a user onTransition on a styled/HOC-wrapped animated
|
|
1360
|
+
// component (e.g. a skinned Dialog.Content) still reaches the driver and
|
|
1361
|
+
// composes with the component's own onTransition.
|
|
1362
|
+
if (typeof onTransition !== 'undefined') {
|
|
1363
|
+
viewProps.onTransition = onTransition
|
|
1364
|
+
}
|
|
1065
1365
|
}
|
|
1066
1366
|
|
|
1067
1367
|
// once you set animation prop don't remove it, you can set to undefined/false
|
|
@@ -1082,15 +1382,10 @@ export function createComponent<
|
|
|
1082
1382
|
}
|
|
1083
1383
|
: undefined
|
|
1084
1384
|
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
state,
|
|
1090
|
-
splitStyles?.pseudoTransitions,
|
|
1091
|
-
// platform-pseudo with no declared transition = instant (CSS :hover semantics)
|
|
1092
|
-
props.transition ?? (platformPseudo ? '0ms' : undefined)
|
|
1093
|
-
)
|
|
1385
|
+
const effectiveTransition =
|
|
1386
|
+
splitStyles?.effectiveTransition ??
|
|
1387
|
+
props.transition ??
|
|
1388
|
+
(platformPseudo ? '0ms' : undefined)
|
|
1094
1389
|
|
|
1095
1390
|
// add effectiveTransition to splitStyles for drivers to consume
|
|
1096
1391
|
if (splitStyles) {
|
|
@@ -1106,7 +1401,6 @@ export function createComponent<
|
|
|
1106
1401
|
// clone style to prevent animation driver mutations from leaking to viewProps
|
|
1107
1402
|
// during SSR/pre-hydration (CSS driver mutates style.transition in place)
|
|
1108
1403
|
style: isHydrated ? splitStylesStyle || {} : { ...splitStylesStyle },
|
|
1109
|
-
// @ts-ignore
|
|
1110
1404
|
styleState: splitStyles,
|
|
1111
1405
|
useStyleEmitter,
|
|
1112
1406
|
presence,
|
|
@@ -1114,10 +1408,9 @@ export function createComponent<
|
|
|
1114
1408
|
styleProps,
|
|
1115
1409
|
theme,
|
|
1116
1410
|
themeName,
|
|
1117
|
-
pseudos: pseudos || null,
|
|
1118
1411
|
staticConfig,
|
|
1119
1412
|
stateRef,
|
|
1120
|
-
|
|
1413
|
+
onTransition,
|
|
1121
1414
|
})
|
|
1122
1415
|
|
|
1123
1416
|
if (animations) {
|
|
@@ -1138,9 +1431,13 @@ export function createComponent<
|
|
|
1138
1431
|
if (process.env.NODE_ENV === 'development' && time) time`animations`
|
|
1139
1432
|
}
|
|
1140
1433
|
|
|
1141
|
-
if (
|
|
1434
|
+
if (isWeb && isExiting) {
|
|
1435
|
+
viewProps.className = `t_exiting ${viewProps.className || ''}`
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
if (process.env.NODE_ENV === 'development' && props.untilMeasured && !isContainer) {
|
|
1142
1439
|
console.warn(
|
|
1143
|
-
`You set
|
|
1440
|
+
`You set untilMeasured without establishing a container. Set it on the parent with container or container="name", not on the child using a container clause.`
|
|
1144
1441
|
)
|
|
1145
1442
|
}
|
|
1146
1443
|
|
|
@@ -1149,7 +1446,7 @@ export function createComponent<
|
|
|
1149
1446
|
if (
|
|
1150
1447
|
!isPassthrough &&
|
|
1151
1448
|
groupContext && // avoids onLayout if we don't need it
|
|
1152
|
-
|
|
1449
|
+
isContainer
|
|
1153
1450
|
) {
|
|
1154
1451
|
nonTamaguiProps.onLayout = composeEventHandlers(
|
|
1155
1452
|
nonTamaguiProps.onLayout,
|
|
@@ -1178,10 +1475,24 @@ export function createComponent<
|
|
|
1178
1475
|
stateRef.current.willHydrate
|
|
1179
1476
|
) || nonTamaguiProps
|
|
1180
1477
|
|
|
1478
|
+
// the composed ref keeps one identity for the life of the component so react
|
|
1479
|
+
// never detaches and reattaches the host mid-life. that means it can't close
|
|
1480
|
+
// over forwardedRef, which would pin the first render's ref forever - read it
|
|
1481
|
+
// off stateRef instead, and record what it actually attached to so a swapped
|
|
1482
|
+
// ref can be handed the host below (#4031)
|
|
1483
|
+
stateRef.current.composedForwardedRef = forwardedRef
|
|
1484
|
+
|
|
1181
1485
|
if (!stateRef.current.composedRef) {
|
|
1182
1486
|
stateRef.current.composedRef = composeRefs<TamaguiElement>(
|
|
1183
|
-
(x) =>
|
|
1184
|
-
|
|
1487
|
+
(x) => {
|
|
1488
|
+
stateRef.current.host = x as TamaguiElement
|
|
1489
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
1490
|
+
updateNativeStyleLink(stateRef.current, x)
|
|
1491
|
+
}
|
|
1492
|
+
const current = stateRef.current.composedForwardedRef
|
|
1493
|
+
stateRef.current.attachedForwardedRef = x ? current : undefined
|
|
1494
|
+
setRef<TamaguiElement>(current, x as TamaguiElement)
|
|
1495
|
+
},
|
|
1185
1496
|
setElementProps,
|
|
1186
1497
|
animatedRef
|
|
1187
1498
|
)
|
|
@@ -1189,16 +1500,43 @@ export function createComponent<
|
|
|
1189
1500
|
|
|
1190
1501
|
viewProps.ref = stateRef.current.composedRef
|
|
1191
1502
|
|
|
1503
|
+
if (
|
|
1504
|
+
process.env.TAMAGUI_TARGET === 'native' &&
|
|
1505
|
+
onClick !== undefined &&
|
|
1506
|
+
staticConfig.neverSkipProps?.onClick
|
|
1507
|
+
) {
|
|
1508
|
+
// native has no click of its own: a component that declares onClick as its
|
|
1509
|
+
// own prop (the DOM primitives, which build the payload from a press)
|
|
1510
|
+
// receives it untouched, rather than through the web press path below
|
|
1511
|
+
viewProps.onClick = onClick
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
// react only re-runs a ref callback when its identity changes, and ours never
|
|
1515
|
+
// does, so hand the host over by hand when a parent swaps the forwarded ref -
|
|
1516
|
+
// react-hook-form re-registering a field after reset() is the common case.
|
|
1517
|
+
// the comparison reads what the ref callback attached, never a value written
|
|
1518
|
+
// during render: a render-phase "previous" pointer reads back its own write
|
|
1519
|
+
// on react's second pass and the handover silently no-ops under StrictMode
|
|
1520
|
+
useIsomorphicLayoutEffect(() => {
|
|
1521
|
+
const attached = stateRef.current.attachedForwardedRef
|
|
1522
|
+
if (attached === forwardedRef) return
|
|
1523
|
+
if (attached) setRef<TamaguiElement | null>(attached, null)
|
|
1524
|
+
stateRef.current.attachedForwardedRef = forwardedRef
|
|
1525
|
+
if (stateRef.current.host) {
|
|
1526
|
+
setRef<TamaguiElement>(forwardedRef, stateRef.current.host)
|
|
1527
|
+
}
|
|
1528
|
+
}, [forwardedRef])
|
|
1529
|
+
|
|
1192
1530
|
// handle pointer events (native: maps to touch events, web: no-op)
|
|
1193
1531
|
usePointerEvents(props, viewProps)
|
|
1194
1532
|
|
|
1195
1533
|
if (process.env.NODE_ENV === 'development') {
|
|
1196
|
-
if (!
|
|
1534
|
+
if (!isText && isWeb && !isHOC) {
|
|
1197
1535
|
React.Children.toArray(props.children).forEach((item) => {
|
|
1198
1536
|
// allow newlines because why not its annoying with mdx
|
|
1199
1537
|
if (typeof item === 'string' && item !== '\n') {
|
|
1200
1538
|
console.error(
|
|
1201
|
-
`Unexpected text node: ${item}. A text node cannot be a child of a <${
|
|
1539
|
+
`Unexpected text node: ${item}. A text node cannot be a child of a <${displayName || propsIn.tag || 'View'}>.`,
|
|
1202
1540
|
props
|
|
1203
1541
|
)
|
|
1204
1542
|
}
|
|
@@ -1237,7 +1575,7 @@ export function createComponent<
|
|
|
1237
1575
|
}
|
|
1238
1576
|
|
|
1239
1577
|
// Animation enter state machine: true -> 'should-enter' -> false
|
|
1240
|
-
// Stage 1: Set 'should-enter' synchronously before paint to apply
|
|
1578
|
+
// Stage 1: Set 'should-enter' synchronously before paint to apply enter clauses
|
|
1241
1579
|
// Stage 2: After browser paint, set false to trigger CSS transition
|
|
1242
1580
|
//
|
|
1243
1581
|
// CRITICAL: useEffect does NOT guarantee post-paint execution!
|
|
@@ -1251,7 +1589,7 @@ export function createComponent<
|
|
|
1251
1589
|
}
|
|
1252
1590
|
|
|
1253
1591
|
if (state.unmounted) {
|
|
1254
|
-
// For CSS transitions,
|
|
1592
|
+
// For CSS transitions, the browser must paint enter clauses before removing them.
|
|
1255
1593
|
// Double RAF guarantees paint: first RAF schedules after current frame,
|
|
1256
1594
|
// second RAF schedules after that frame completes (including paint).
|
|
1257
1595
|
if (inputStyle === 'css') {
|
|
@@ -1270,30 +1608,53 @@ export function createComponent<
|
|
|
1270
1608
|
// Non-CSS drivers handle their own animation timing
|
|
1271
1609
|
setStateShallow({ unmounted: false })
|
|
1272
1610
|
}
|
|
1611
|
+
}, [state.unmounted, inputStyle])
|
|
1273
1612
|
|
|
1613
|
+
// unmount-only cleanup. this must NOT live on the enter effect above: that
|
|
1614
|
+
// effect re-runs on every unmounted transition (true -> 'should-enter' ->
|
|
1615
|
+
// false), and a cleanup returned there ran mid-lifecycle — dropping the
|
|
1616
|
+
// mediaEmit listener right after mount for value-input avoidReRenders
|
|
1617
|
+
// drivers, with no re-registration (render only registers while
|
|
1618
|
+
// mediaEmitCleanup is unset), so media styles silently stopped applying
|
|
1619
|
+
useIsomorphicLayoutEffect(() => {
|
|
1274
1620
|
return () => {
|
|
1275
1621
|
componentSetStates.delete(setState)
|
|
1276
1622
|
stateRef.current.mediaEmitCleanup?.()
|
|
1623
|
+
// clear so a render after a simulated unmount (StrictMode dev) can re-register
|
|
1624
|
+
stateRef.current.mediaEmitCleanup = undefined
|
|
1277
1625
|
}
|
|
1278
|
-
}, [
|
|
1626
|
+
}, [])
|
|
1279
1627
|
|
|
1280
1628
|
useIsomorphicLayoutEffect(() => {
|
|
1281
|
-
|
|
1629
|
+
let disposeSafeArea: (() => void) | undefined
|
|
1630
|
+
if (splitStyles?.usesSafeArea) {
|
|
1631
|
+
const updateSafeArea = () => {
|
|
1632
|
+
setState((previous) => ({ ...previous }))
|
|
1633
|
+
}
|
|
1634
|
+
disposeSafeArea = subscribeToSafeArea(updateSafeArea)
|
|
1635
|
+
// close the render-to-subscribe race: the provider tracker may have
|
|
1636
|
+
// published new insets after this component evaluated its styles.
|
|
1637
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
1638
|
+
updateSafeArea()
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
|
|
1642
|
+
if (disabled) return disposeSafeArea
|
|
1282
1643
|
|
|
1283
|
-
if (!pseudoGroups && !mediaGroups) return
|
|
1284
|
-
if (!allGroupContexts) return
|
|
1285
|
-
|
|
1644
|
+
if (!pseudoGroups && !mediaGroups) return disposeSafeArea
|
|
1645
|
+
if (!allGroupContexts) return disposeSafeArea
|
|
1646
|
+
const disposeGroup = subscribeToContextGroup({
|
|
1286
1647
|
groupContext: allGroupContexts,
|
|
1287
1648
|
setStateShallow,
|
|
1288
1649
|
mediaGroups,
|
|
1289
1650
|
pseudoGroups,
|
|
1290
1651
|
})
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
])
|
|
1652
|
+
if (!disposeSafeArea) return disposeGroup
|
|
1653
|
+
return () => {
|
|
1654
|
+
disposeSafeArea()
|
|
1655
|
+
disposeGroup?.()
|
|
1656
|
+
}
|
|
1657
|
+
}, [allGroupContexts, disabled, splitStyles?.usesSafeArea, groupSetRevision])
|
|
1297
1658
|
|
|
1298
1659
|
const groupEmitter = stateRef.current.group
|
|
1299
1660
|
useIsomorphicLayoutEffect(() => {
|
|
@@ -1304,9 +1665,14 @@ export function createComponent<
|
|
|
1304
1665
|
|
|
1305
1666
|
// if its a group its gotta listen for pseudos to emit them to children
|
|
1306
1667
|
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
const
|
|
1668
|
+
// native flat-value clauses surface the interaction states they reference
|
|
1669
|
+
// so the component attaches the matching events.
|
|
1670
|
+
const conditionalStates = !disabled ? splitStyles?.programStates : undefined
|
|
1671
|
+
|
|
1672
|
+
const runtimePressStyle =
|
|
1673
|
+
!disabled && (conditionalStates?.has('press') || conditionalStates?.has('active'))
|
|
1674
|
+
const runtimeFocusStyle = !disabled && conditionalStates?.has('focus')
|
|
1675
|
+
const runtimeFocusVisibleStyle = !disabled && conditionalStates?.has('focus-visible')
|
|
1310
1676
|
|
|
1311
1677
|
const attachFocus = Boolean(
|
|
1312
1678
|
runtimePressStyle ||
|
|
@@ -1328,11 +1694,11 @@ export function createComponent<
|
|
|
1328
1694
|
onMouseDown ||
|
|
1329
1695
|
onMouseUp ||
|
|
1330
1696
|
onLongPress ||
|
|
1331
|
-
onClick
|
|
1332
|
-
|
|
1697
|
+
// only web routes onClick through the press path (see onPress below)
|
|
1698
|
+
(process.env.TAMAGUI_TARGET === 'web' && onClick)
|
|
1333
1699
|
)
|
|
1334
1700
|
|
|
1335
|
-
const runtimeHoverStyle = !disabled &&
|
|
1701
|
+
const runtimeHoverStyle = !disabled && conditionalStates?.has('hover')
|
|
1336
1702
|
// with a platform pseudo driver the hover STATE is driver-sourced; only keep
|
|
1337
1703
|
// the JS hover listeners when something else needs them (dynamic group
|
|
1338
1704
|
// children, or the user's own onMouseEnter/Leave handlers below).
|
|
@@ -1372,7 +1738,6 @@ export function createComponent<
|
|
|
1372
1738
|
attachHover,
|
|
1373
1739
|
shouldAttach,
|
|
1374
1740
|
needsHoverState,
|
|
1375
|
-
pseudos,
|
|
1376
1741
|
})
|
|
1377
1742
|
}
|
|
1378
1743
|
|
|
@@ -1439,7 +1804,7 @@ export function createComponent<
|
|
|
1439
1804
|
// @ts-ignore
|
|
1440
1805
|
onClick?.(e)
|
|
1441
1806
|
// matches RN pressable behavior - only when an explicit press
|
|
1442
|
-
// handler is set, so
|
|
1807
|
+
// handler is set, so a press clause alone doesn't swallow clicks
|
|
1443
1808
|
if (onPress || onClick) {
|
|
1444
1809
|
e.stopPropagation()
|
|
1445
1810
|
}
|
|
@@ -1465,7 +1830,7 @@ export function createComponent<
|
|
|
1465
1830
|
componentContext.setParentFocusState({ focusWithin: true })
|
|
1466
1831
|
next.focusWithin = true
|
|
1467
1832
|
}
|
|
1468
|
-
if (
|
|
1833
|
+
if (conditionalStates?.has('focus-visible')) {
|
|
1469
1834
|
if (lastInteractionWasKeyboard.value) {
|
|
1470
1835
|
next.focusVisible = true
|
|
1471
1836
|
} else {
|
|
@@ -1501,12 +1866,11 @@ export function createComponent<
|
|
|
1501
1866
|
delayLongPress: viewProps.delayLongPress,
|
|
1502
1867
|
delayPressIn: viewProps.delayPressIn,
|
|
1503
1868
|
delayPressOut: viewProps.delayPressOut,
|
|
1504
|
-
focusable: viewProps.focusable ?? true,
|
|
1505
1869
|
minPressDuration: 0,
|
|
1506
1870
|
})
|
|
1507
1871
|
}
|
|
1508
1872
|
|
|
1509
|
-
if (process.env.TAMAGUI_TARGET === 'web' && events
|
|
1873
|
+
if (process.env.TAMAGUI_TARGET === 'web' && events) {
|
|
1510
1874
|
Object.assign(viewProps, getWebEvents(events))
|
|
1511
1875
|
}
|
|
1512
1876
|
|
|
@@ -1516,42 +1880,43 @@ export function createComponent<
|
|
|
1516
1880
|
log(`events`, { events, attachHover, attachPress })
|
|
1517
1881
|
}
|
|
1518
1882
|
|
|
1519
|
-
const propsWithHref = props as typeof props & { href?: unknown }
|
|
1520
|
-
const propsInWithHref = propsIn as typeof propsIn & { href?: unknown }
|
|
1521
|
-
|
|
1522
|
-
const pressDebugDetail =
|
|
1523
|
-
props.testID ??
|
|
1524
|
-
propsIn.testID ??
|
|
1525
|
-
props.accessibilityLabel ??
|
|
1526
|
-
propsIn.accessibilityLabel ??
|
|
1527
|
-
(typeof propsWithHref.href === 'string' ? propsWithHref.href : null) ??
|
|
1528
|
-
(typeof propsInWithHref.href === 'string' ? propsInWithHref.href : null)
|
|
1529
|
-
|
|
1530
|
-
const pressDebugName =
|
|
1531
|
-
[componentName, pressDebugDetail].filter(Boolean).join(':') || null
|
|
1532
|
-
|
|
1533
1883
|
// EVENTS native - handles focus/blur, input special cases, and RNGH press handling
|
|
1534
1884
|
// Skip gesture setup for HOC components - they may return null which crashes GestureDetector
|
|
1535
1885
|
// hasRealPressEvents distinguishes user-provided handlers from events.onPress
|
|
1536
|
-
// synthesized for
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1886
|
+
// synthesized for press clauses alone — only the former should claim the responder.
|
|
1887
|
+
let hasRealPressEvents = false
|
|
1888
|
+
let pressGesture: ReturnType<typeof useEvents> = null
|
|
1889
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
1890
|
+
const propsWithHref = props as typeof props & { href?: unknown }
|
|
1891
|
+
const propsInWithHref = propsIn as typeof propsIn & { href?: unknown }
|
|
1892
|
+
const pressDebugDetail =
|
|
1893
|
+
props.testID ??
|
|
1894
|
+
propsIn.testID ??
|
|
1895
|
+
props.accessibilityLabel ??
|
|
1896
|
+
propsIn.accessibilityLabel ??
|
|
1897
|
+
(typeof propsWithHref.href === 'string' ? propsWithHref.href : null) ??
|
|
1898
|
+
(typeof propsInWithHref.href === 'string' ? propsInWithHref.href : null)
|
|
1899
|
+
const pressDebugName = displayName
|
|
1900
|
+
? pressDebugDetail
|
|
1901
|
+
? `${displayName}:${pressDebugDetail}`
|
|
1902
|
+
: displayName
|
|
1903
|
+
: pressDebugDetail || null
|
|
1904
|
+
hasRealPressEvents = !!(onPress || onPressIn || onPressOut || onLongPress)
|
|
1905
|
+
pressGesture = useEvents(
|
|
1906
|
+
events,
|
|
1907
|
+
viewProps,
|
|
1908
|
+
stateRef,
|
|
1909
|
+
staticConfig,
|
|
1910
|
+
isHOC,
|
|
1911
|
+
isInsideNativeMenu,
|
|
1912
|
+
pressDebugName,
|
|
1913
|
+
hasRealPressEvents
|
|
1914
|
+
)
|
|
1915
|
+
}
|
|
1551
1916
|
|
|
1552
1917
|
if (process.env.NODE_ENV === 'development' && time) time`hooks`
|
|
1553
1918
|
|
|
1554
|
-
if (asChild) {
|
|
1919
|
+
if (asChild && !isHOC) {
|
|
1555
1920
|
elementType = Slot
|
|
1556
1921
|
// on native this is already merged into viewProps in useEvents
|
|
1557
1922
|
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
@@ -1566,6 +1931,8 @@ export function createComponent<
|
|
|
1566
1931
|
onMouseDown,
|
|
1567
1932
|
onMouseEnter,
|
|
1568
1933
|
onMouseLeave,
|
|
1934
|
+
onFocus,
|
|
1935
|
+
onBlur,
|
|
1569
1936
|
},
|
|
1570
1937
|
webStyleEvents
|
|
1571
1938
|
)
|
|
@@ -1579,6 +1946,14 @@ export function createComponent<
|
|
|
1579
1946
|
|
|
1580
1947
|
let content: ReactNode | undefined
|
|
1581
1948
|
|
|
1949
|
+
// ONLY native: useChildren reads TextAncestor context (a hook), so it must
|
|
1950
|
+
// run on every render — passthrough included — or toggling passThrough
|
|
1951
|
+
// (Adapt/Popover flip it per breakpoint) would change the hook count
|
|
1952
|
+
// mid-lifecycle. it returns undefined for passthrough.
|
|
1953
|
+
const childrenFromHooks = hooks.useChildren
|
|
1954
|
+
? hooks.useChildren(elementType, children, viewProps, isPassthrough)
|
|
1955
|
+
: undefined
|
|
1956
|
+
|
|
1582
1957
|
if (isPassthrough) {
|
|
1583
1958
|
// avoid re-parenting but avoid layout changes
|
|
1584
1959
|
content = React.createElement(
|
|
@@ -1592,9 +1967,8 @@ export function createComponent<
|
|
|
1592
1967
|
)
|
|
1593
1968
|
} else {
|
|
1594
1969
|
// here elementType is either the custom animated driver view, or base view
|
|
1595
|
-
if (
|
|
1596
|
-
|
|
1597
|
-
content = hooks.useChildren(elementType, content || children, viewProps)
|
|
1970
|
+
if (childrenFromHooks) {
|
|
1971
|
+
content = childrenFromHooks
|
|
1598
1972
|
}
|
|
1599
1973
|
|
|
1600
1974
|
const isRenderPropString = typeof renderProp === 'string'
|
|
@@ -1610,14 +1984,28 @@ export function createComponent<
|
|
|
1610
1984
|
)
|
|
1611
1985
|
if (out) {
|
|
1612
1986
|
viewProps = out.viewProps
|
|
1613
|
-
|
|
1987
|
+
if (
|
|
1988
|
+
isAnimatedCustomComponent &&
|
|
1989
|
+
(elementType as any)['acceptRenderProp'] &&
|
|
1990
|
+
typeof out.elementType === 'string'
|
|
1991
|
+
) {
|
|
1992
|
+
// an animated driver view is active and owns the (possibly array)
|
|
1993
|
+
// style; forward the render tag so the view renders the element
|
|
1994
|
+
// itself (see acceptRenderProp) instead of us swapping in a raw DOM
|
|
1995
|
+
// tag, which would leak the animated style array onto a plain element
|
|
1996
|
+
// (React DOM throws setting an array on a CSSStyleDeclaration).
|
|
1997
|
+
viewProps.render = out.elementType
|
|
1998
|
+
} else {
|
|
1999
|
+
elementType = out.elementType
|
|
2000
|
+
}
|
|
1614
2001
|
}
|
|
1615
2002
|
}
|
|
1616
2003
|
|
|
1617
2004
|
if (!content) {
|
|
1618
|
-
// web-only,
|
|
1619
|
-
|
|
1620
|
-
|
|
2005
|
+
// web-only, forward render string to custom animated driver components
|
|
2006
|
+
// (they render the tag themselves, see acceptRenderProp in drivers)
|
|
2007
|
+
if (isRenderPropString && elementType['acceptRenderProp']) {
|
|
2008
|
+
viewProps.render = renderProp
|
|
1621
2009
|
}
|
|
1622
2010
|
|
|
1623
2011
|
content = React.createElement(elementType, viewProps, content || children)
|
|
@@ -1642,7 +2030,9 @@ export function createComponent<
|
|
|
1642
2030
|
|
|
1643
2031
|
// needs to reset the presence state for nested children
|
|
1644
2032
|
// Use the resolved animationDriver (handles multi-driver config)
|
|
1645
|
-
const ResetPresence = animationDriver?.
|
|
2033
|
+
const ResetPresence = animationDriver?.isStub
|
|
2034
|
+
? undefined
|
|
2035
|
+
: animationDriver?.ResetPresence
|
|
1646
2036
|
const needsReset = Boolean(
|
|
1647
2037
|
// not when passing down to child
|
|
1648
2038
|
!asChild &&
|
|
@@ -1666,7 +2056,7 @@ export function createComponent<
|
|
|
1666
2056
|
|
|
1667
2057
|
if (process.env.NODE_ENV === 'development' && time) time`create-element`
|
|
1668
2058
|
|
|
1669
|
-
if ('
|
|
2059
|
+
if (conditionalStates?.has('focus-within')) {
|
|
1670
2060
|
content = (
|
|
1671
2061
|
<ComponentContext.Provider
|
|
1672
2062
|
{...componentContext}
|
|
@@ -1677,7 +2067,10 @@ export function createComponent<
|
|
|
1677
2067
|
)
|
|
1678
2068
|
}
|
|
1679
2069
|
|
|
1680
|
-
|
|
2070
|
+
// containers provide the same context channel groups do. Mount the
|
|
2071
|
+
// provider whenever the resolved component establishes either capability
|
|
2072
|
+
// so descendant clauses can subscribe.
|
|
2073
|
+
if (groupName || isContainer) {
|
|
1681
2074
|
content = (
|
|
1682
2075
|
<GroupContext.Provider value={allGroupContexts}>{content}</GroupContext.Provider>
|
|
1683
2076
|
)
|
|
@@ -1701,19 +2094,6 @@ export function createComponent<
|
|
|
1701
2094
|
|
|
1702
2095
|
if (process.env.NODE_ENV === 'development' && time) time`themed-children`
|
|
1703
2096
|
|
|
1704
|
-
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
1705
|
-
if (isReactNative && !asChild) {
|
|
1706
|
-
content = (
|
|
1707
|
-
<span
|
|
1708
|
-
className="_dsp_contents"
|
|
1709
|
-
{...(!isPassthrough && isHydrated && events && getWebEvents(events))}
|
|
1710
|
-
>
|
|
1711
|
-
{content}
|
|
1712
|
-
</span>
|
|
1713
|
-
)
|
|
1714
|
-
}
|
|
1715
|
-
}
|
|
1716
|
-
|
|
1717
2097
|
if (overriddenContextProps && contextForOverride) {
|
|
1718
2098
|
const Provider = contextForOverride.Provider!
|
|
1719
2099
|
|
|
@@ -1735,7 +2115,12 @@ export function createComponent<
|
|
|
1735
2115
|
|
|
1736
2116
|
// SSR style support - for non compiled styles we render them inline until client takes over
|
|
1737
2117
|
// on client we then switch over to our global sheet insert, because rendering inline is expensive
|
|
1738
|
-
if (
|
|
2118
|
+
if (
|
|
2119
|
+
!process.env.TAMAGUI_DID_OUTPUT_CSS &&
|
|
2120
|
+
process.env.TAMAGUI_TARGET === 'web' &&
|
|
2121
|
+
startedUnhydrated &&
|
|
2122
|
+
splitStyles
|
|
2123
|
+
) {
|
|
1739
2124
|
content = (
|
|
1740
2125
|
<>
|
|
1741
2126
|
{content}
|
|
@@ -1780,7 +2165,6 @@ export function createComponent<
|
|
|
1780
2165
|
hasRuntimeMediaKeys,
|
|
1781
2166
|
isStringElement,
|
|
1782
2167
|
mediaListeningKeys,
|
|
1783
|
-
pseudos,
|
|
1784
2168
|
shouldAttach,
|
|
1785
2169
|
noClass,
|
|
1786
2170
|
shouldListenForMedia,
|
|
@@ -1802,9 +2186,6 @@ export function createComponent<
|
|
|
1802
2186
|
console.groupEnd()
|
|
1803
2187
|
}
|
|
1804
2188
|
}
|
|
1805
|
-
if (debugProp === 'break') {
|
|
1806
|
-
// debugger intentionally here for debugging
|
|
1807
|
-
}
|
|
1808
2189
|
}
|
|
1809
2190
|
}
|
|
1810
2191
|
|
|
@@ -1821,7 +2202,7 @@ export function createComponent<
|
|
|
1821
2202
|
}
|
|
1822
2203
|
|
|
1823
2204
|
return content
|
|
1824
|
-
}
|
|
2205
|
+
}
|
|
1825
2206
|
|
|
1826
2207
|
function notifyGroupSubscribers(
|
|
1827
2208
|
groupContext: SingleGroupContext | null,
|
|
@@ -1865,19 +2246,7 @@ export function createComponent<
|
|
|
1865
2246
|
|
|
1866
2247
|
// let hasLogged = false
|
|
1867
2248
|
|
|
1868
|
-
|
|
1869
|
-
component.displayName = staticConfig.componentName
|
|
1870
|
-
}
|
|
1871
|
-
|
|
1872
|
-
type ComponentType = TamaguiComponent<
|
|
1873
|
-
ComponentPropTypes,
|
|
1874
|
-
Ref,
|
|
1875
|
-
BaseProps,
|
|
1876
|
-
BaseStyles,
|
|
1877
|
-
{}
|
|
1878
|
-
>
|
|
1879
|
-
|
|
1880
|
-
let res: ComponentType = component as any
|
|
2249
|
+
res = component as any
|
|
1881
2250
|
|
|
1882
2251
|
// we now have avoid re-renders in many more cases so imo this is way more worth it
|
|
1883
2252
|
// Text/Button/string taking components
|
|
@@ -1886,36 +2255,29 @@ export function createComponent<
|
|
|
1886
2255
|
|
|
1887
2256
|
res.staticConfig = staticConfig
|
|
1888
2257
|
|
|
1889
|
-
|
|
1890
|
-
|
|
2258
|
+
// `.resolve` chains a component resolver (complete props + env -> style
|
|
2259
|
+
// fragment) by returning a NEW component with the resolver appended
|
|
2260
|
+
res.resolve = (resolver: any) => {
|
|
2261
|
+
const next: any = createComponent({
|
|
1891
2262
|
...staticConfig,
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
2263
|
+
resolvers: staticConfig.resolvers
|
|
2264
|
+
? [...staticConfig.resolvers, resolver]
|
|
2265
|
+
: [resolver],
|
|
2266
|
+
})
|
|
2267
|
+
// carry over statics assigned after creation (styled() copies parent
|
|
2268
|
+
// statics onto the finished component)
|
|
2269
|
+
for (const key in res) {
|
|
2270
|
+
if (key === 'propTypes' || key in next) continue
|
|
2271
|
+
next[key] = (res as any)[key]
|
|
1896
2272
|
}
|
|
2273
|
+
return next
|
|
1897
2274
|
}
|
|
1898
2275
|
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
let out = skipForwardRef ? Component : React.forwardRef(Component)
|
|
1903
|
-
|
|
1904
|
-
const extendedConfig = extendStyledConfig(options?.staticConfig)
|
|
1905
|
-
|
|
1906
|
-
out = options?.disableTheme ? out : themeable(out, extendedConfig, true)
|
|
1907
|
-
|
|
1908
|
-
if (extendedConfig.memo || process.env.TAMAGUI_MEMOIZE_STYLEABLE) {
|
|
1909
|
-
out = React.memo(out)
|
|
1910
|
-
}
|
|
1911
|
-
|
|
1912
|
-
out.staticConfig = extendedConfig
|
|
1913
|
-
out.styleable = styleable
|
|
1914
|
-
return out
|
|
2276
|
+
if (displayName) {
|
|
2277
|
+
res.displayName = displayName
|
|
2278
|
+
;(res as any)[componentDisplayName] = displayName
|
|
1915
2279
|
}
|
|
1916
2280
|
|
|
1917
|
-
res.styleable = styleable
|
|
1918
|
-
|
|
1919
2281
|
return res
|
|
1920
2282
|
}
|
|
1921
2283
|
|