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