@tamagui/web 2.7.7 → 3.0.0-beta.643.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 +45 -53
- package/dist/cjs/Tamagui.native.cjs +124 -0
- package/dist/cjs/Tamagui.native.js +94 -96
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withNativeStyle.cjs +81 -0
- package/dist/cjs/_withNativeStyle.native.cjs +86 -0
- package/dist/cjs/_withNativeStyle.native.js +88 -0
- package/dist/cjs/_withNativeStyle.native.js.map +1 -0
- package/dist/cjs/_withStableStyle.cjs +59 -54
- package/dist/cjs/_withStableStyle.native.cjs +93 -0
- package/dist/cjs/_withStableStyle.native.js +70 -57
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/config.cjs +120 -133
- package/dist/cjs/config.native.cjs +193 -0
- package/dist/cjs/config.native.js +157 -173
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/accessibilityDirectMap.cjs +19 -20
- package/dist/cjs/constants/accessibilityDirectMap.native.cjs +37 -0
- package/dist/cjs/constants/accessibilityDirectMap.native.js +19 -19
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +18 -19
- package/dist/cjs/constants/constants.native.cjs +41 -0
- package/dist/cjs/constants/constants.native.js +18 -18
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.cjs +21 -24
- package/dist/cjs/constants/isDevTools.native.cjs +34 -0
- package/dist/cjs/constants/isDevTools.native.js +23 -25
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.cjs +32 -25
- package/dist/cjs/contexts/ComponentContext.native.cjs +50 -0
- package/dist/cjs/contexts/ComponentContext.native.js +33 -25
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
- package/dist/cjs/contexts/GroupContext.cjs +15 -18
- package/dist/cjs/contexts/GroupContext.native.cjs +28 -0
- package/dist/cjs/contexts/GroupContext.native.js +16 -18
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +967 -1017
- package/dist/cjs/createComponent.native.cjs +1144 -0
- package/dist/cjs/createComponent.native.js +1072 -994
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createFont.cjs +41 -36
- package/dist/cjs/createFont.native.cjs +57 -0
- package/dist/cjs/createFont.native.js +44 -38
- package/dist/cjs/createFont.native.js.map +1 -1
- package/dist/cjs/createShorthands.cjs +16 -19
- package/dist/cjs/createShorthands.native.cjs +29 -0
- package/dist/cjs/createShorthands.native.js +16 -18
- package/dist/cjs/createShorthands.native.js.map +1 -1
- package/dist/cjs/createStyledHOC.cjs +55 -0
- package/dist/cjs/createStyledHOC.native.cjs +57 -0
- package/dist/cjs/createStyledHOC.native.js +59 -0
- package/dist/cjs/createStyledHOC.native.js.map +1 -0
- package/dist/cjs/createTamagui.cjs +269 -224
- package/dist/cjs/createTamagui.native.cjs +335 -0
- package/dist/cjs/createTamagui.native.js +302 -272
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +28 -19
- package/dist/cjs/createTokens.native.cjs +47 -0
- package/dist/cjs/createTokens.native.js +33 -19
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +92 -86
- package/dist/cjs/createVariable.native.cjs +145 -0
- package/dist/cjs/createVariable.native.js +106 -100
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/createVariables.cjs +50 -60
- package/dist/cjs/createVariables.native.cjs +71 -0
- package/dist/cjs/createVariables.native.js +54 -64
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/defaultComponentState.cjs +29 -30
- package/dist/cjs/defaultComponentState.native.cjs +48 -0
- package/dist/cjs/defaultComponentState.native.js +29 -29
- package/dist/cjs/defaultComponentState.native.js.map +1 -1
- package/dist/cjs/dom/adapters.cjs +96 -0
- package/dist/cjs/dom/adapters.native.cjs +117 -0
- package/dist/cjs/dom/adapters.native.js +119 -0
- package/dist/cjs/dom/adapters.native.js.map +1 -0
- package/dist/cjs/dom/contract.cjs +17 -0
- package/dist/cjs/dom/contract.native.cjs +19 -0
- package/dist/cjs/dom/contract.native.js +21 -0
- package/dist/cjs/dom/contract.native.js.map +1 -0
- package/dist/cjs/dom/domEventProps.native.cjs +57 -0
- package/dist/cjs/dom/domEventProps.native.js +59 -0
- package/dist/cjs/dom/domEventProps.native.js.map +1 -0
- package/dist/cjs/dom/html.cjs +583 -0
- package/dist/cjs/dom/html.native.cjs +952 -0
- package/dist/cjs/dom/html.native.js +954 -0
- package/dist/cjs/dom/html.native.js.map +1 -0
- package/dist/cjs/dom/htmlRuntime.native.cjs +168 -0
- package/dist/cjs/dom/htmlRuntime.native.js +170 -0
- package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
- package/dist/cjs/dom/index.cjs +29 -0
- package/dist/cjs/dom/index.native.cjs +42 -0
- package/dist/cjs/dom/index.native.js +44 -0
- package/dist/cjs/dom/index.native.js.map +1 -0
- package/dist/cjs/dom/primitives.native.cjs +644 -0
- package/dist/cjs/dom/primitives.native.js +646 -0
- package/dist/cjs/dom/primitives.native.js.map +1 -0
- package/dist/cjs/dom/standalone.cjs +34 -0
- package/dist/cjs/dom/standalone.native.cjs +40 -0
- package/dist/cjs/dom/standalone.native.js +42 -0
- package/dist/cjs/dom/standalone.native.js.map +1 -0
- package/dist/cjs/dom/standaloneHtml.cjs +76 -0
- package/dist/cjs/dom/standaloneHtml.native.cjs +78 -0
- package/dist/cjs/dom/standaloneHtml.native.js +80 -0
- package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
- package/dist/cjs/dom/styleTypes.cjs +17 -0
- package/dist/cjs/dom/styleTypes.native.cjs +19 -0
- package/dist/cjs/dom/styleTypes.native.js +21 -0
- package/dist/cjs/dom/styleTypes.native.js.map +1 -0
- package/dist/cjs/eventDetails.cjs +39 -0
- package/dist/cjs/eventDetails.native.cjs +41 -0
- package/dist/cjs/eventDetails.native.js +43 -0
- package/dist/cjs/eventDetails.native.js.map +1 -0
- package/dist/cjs/eventHandling.cjs +30 -31
- package/dist/cjs/eventHandling.native.cjs +192 -0
- package/dist/cjs/eventHandling.native.js +159 -188
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/componentDisplayName.cjs +35 -0
- package/dist/cjs/helpers/componentDisplayName.native.cjs +37 -0
- package/dist/cjs/helpers/componentDisplayName.native.js +39 -0
- package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
- package/dist/cjs/helpers/consoleLog.native.cjs +31 -0
- package/dist/cjs/helpers/consoleLog.native.js +17 -17
- package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +147 -150
- package/dist/cjs/helpers/createDesignSystem.native.cjs +196 -0
- package/dist/cjs/helpers/createDesignSystem.native.js +168 -205
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.cjs +73 -84
- package/dist/cjs/helpers/createStyledContext.native.cjs +97 -0
- package/dist/cjs/helpers/createStyledContext.native.js +78 -88
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +29 -32
- package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +60 -0
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +46 -48
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/defaultOffset.cjs +17 -20
- package/dist/cjs/helpers/defaultOffset.native.cjs +30 -0
- package/dist/cjs/helpers/defaultOffset.native.js +17 -19
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
- package/dist/cjs/helpers/directStyle.cjs +940 -0
- package/dist/cjs/helpers/directStyle.native.cjs +1145 -0
- package/dist/cjs/helpers/directStyle.native.js +1147 -0
- package/dist/cjs/helpers/directStyle.native.js.map +1 -0
- package/dist/cjs/helpers/expandStyle.cjs +132 -84
- package/dist/cjs/helpers/expandStyle.native.cjs +186 -0
- package/dist/cjs/helpers/expandStyle.native.js +154 -124
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.cjs +22 -25
- package/dist/cjs/helpers/expandStyles.native.cjs +47 -0
- package/dist/cjs/helpers/expandStyles.native.js +29 -31
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/extractPseudoState.cjs +45 -0
- package/dist/cjs/helpers/extractPseudoState.native.cjs +48 -0
- package/dist/cjs/helpers/extractPseudoState.native.js +50 -0
- package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
- package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
- package/dist/cjs/helpers/formatDiagnostic.native.cjs +78 -0
- package/dist/cjs/helpers/formatDiagnostic.native.js +80 -0
- package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
- package/dist/cjs/helpers/frontendProgram.cjs +44 -0
- package/dist/cjs/helpers/frontendProgram.native.cjs +50 -0
- package/dist/cjs/helpers/frontendProgram.native.js +52 -0
- package/dist/cjs/helpers/frontendProgram.native.js.map +1 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +200 -190
- package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +38 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +21 -19
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getDefaultProps.cjs +15 -33
- package/dist/cjs/helpers/getDefaultProps.native.cjs +29 -0
- package/dist/cjs/helpers/getDefaultProps.native.js +17 -33
- package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/cjs/helpers/getDynamicVal.cjs +45 -52
- package/dist/cjs/helpers/getDynamicVal.native.cjs +68 -0
- package/dist/cjs/helpers/getDynamicVal.native.js +45 -51
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.cjs +17 -30
- package/dist/cjs/helpers/getExpandedShorthands.native.cjs +32 -0
- package/dist/cjs/helpers/getExpandedShorthands.native.js +18 -30
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/cjs/helpers/getFontLanguage.cjs +15 -18
- package/dist/cjs/helpers/getFontLanguage.native.cjs +29 -0
- package/dist/cjs/helpers/getFontLanguage.native.js +17 -19
- package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
- package/dist/cjs/helpers/getShorthandValue.cjs +17 -20
- package/dist/cjs/helpers/getShorthandValue.native.cjs +33 -0
- package/dist/cjs/helpers/getShorthandValue.native.js +19 -21
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +711 -894
- package/dist/cjs/helpers/getSplitStyles.native.cjs +845 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +788 -926
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +106 -109
- package/dist/cjs/helpers/getThemeCSSRules.native.cjs +29 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js +16 -18
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.cjs +71 -69
- package/dist/cjs/helpers/getVariantExtras.native.cjs +90 -0
- package/dist/cjs/helpers/getVariantExtras.native.js +72 -69
- package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/cjs/helpers/grammarConfig.cjs +73 -0
- package/dist/cjs/helpers/grammarConfig.native.cjs +151 -0
- package/dist/cjs/helpers/grammarConfig.native.js +153 -0
- package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
- package/dist/cjs/helpers/insertStyleRule.cjs +249 -184
- package/dist/cjs/helpers/insertStyleRule.native.cjs +159 -0
- package/dist/cjs/helpers/insertStyleRule.native.js +120 -63
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/isObj.cjs +23 -16
- package/dist/cjs/helpers/isObj.native.cjs +43 -0
- package/dist/cjs/helpers/isObj.native.js +27 -20
- package/dist/cjs/helpers/isObj.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.cjs +18 -21
- package/dist/cjs/helpers/isTamaguiComponent.native.cjs +30 -0
- package/dist/cjs/helpers/isTamaguiComponent.native.js +18 -20
- package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.cjs +20 -28
- package/dist/cjs/helpers/isTamaguiElement.native.cjs +37 -0
- package/dist/cjs/helpers/isTamaguiElement.native.js +20 -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 +15 -18
- package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +156 -0
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +139 -142
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.cjs +22 -23
- package/dist/cjs/helpers/matchMedia.native.cjs +69 -0
- package/dist/cjs/helpers/matchMedia.native.js +50 -41
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.cjs +35 -38
- package/dist/cjs/helpers/mediaObjectToString.native.cjs +53 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js +38 -40
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/cjs/helpers/mediaState.cjs +23 -43
- package/dist/cjs/helpers/mediaState.native.cjs +41 -0
- package/dist/cjs/helpers/mediaState.native.js +26 -46
- package/dist/cjs/helpers/mediaState.native.js.map +1 -1
- package/dist/cjs/helpers/mergeProps.cjs +51 -63
- package/dist/cjs/helpers/mergeProps.native.cjs +69 -0
- package/dist/cjs/helpers/mergeProps.native.js +54 -70
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeRenderElementProps.cjs +18 -23
- package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +32 -0
- package/dist/cjs/helpers/mergeRenderElementProps.native.js +18 -22
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.cjs +35 -38
- package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +51 -0
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js +35 -37
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.cjs +52 -41
- package/dist/cjs/helpers/mergeVariants.native.cjs +66 -0
- package/dist/cjs/helpers/mergeVariants.native.js +54 -42
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.cjs +48 -51
- package/dist/cjs/helpers/nativeOnlyProps.native.cjs +61 -0
- package/dist/cjs/helpers/nativeOnlyProps.native.js +48 -50
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +209 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +303 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.js +305 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
- package/dist/cjs/helpers/nativeTransitionTarget.cjs +27 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +43 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.js +45 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeColor.cjs +23 -35
- package/dist/cjs/helpers/normalizeColor.native.cjs +50 -0
- package/dist/cjs/helpers/normalizeColor.native.js +33 -34
- package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeShadow.cjs +26 -39
- package/dist/cjs/helpers/normalizeShadow.native.cjs +42 -0
- package/dist/cjs/helpers/normalizeShadow.native.js +27 -37
- package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.cjs +45 -60
- package/dist/cjs/helpers/normalizeStyle.native.cjs +80 -0
- package/dist/cjs/helpers/normalizeStyle.native.js +63 -79
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.cjs +15 -18
- package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +38 -0
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +25 -27
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -39
- package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +64 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -42
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/noteOnce.cjs +32 -0
- package/dist/cjs/helpers/noteOnce.native.cjs +34 -0
- package/dist/cjs/helpers/noteOnce.native.js +36 -0
- package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
- package/dist/cjs/helpers/objectIdentityKey.cjs +31 -34
- package/dist/cjs/helpers/objectIdentityKey.native.cjs +49 -0
- package/dist/cjs/helpers/objectIdentityKey.native.js +34 -37
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/cjs/helpers/parseBorderShorthand.cjs +16 -19
- package/dist/cjs/helpers/parseBorderShorthand.native.cjs +97 -0
- package/dist/cjs/helpers/parseBorderShorthand.native.js +84 -71
- 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 +68 -0
- package/dist/cjs/helpers/parseNativeTransform.native.js +70 -0
- package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
- package/dist/cjs/helpers/parseOutlineShorthand.cjs +16 -19
- package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +85 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +72 -65
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.cjs +15 -18
- package/dist/cjs/helpers/pointerEvents.native.cjs +132 -0
- package/dist/cjs/helpers/pointerEvents.native.js +117 -144
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/helpers/propMapper.cjs +338 -252
- package/dist/cjs/helpers/propMapper.native.cjs +506 -0
- package/dist/cjs/helpers/propMapper.native.js +475 -348
- package/dist/cjs/helpers/propMapper.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.cjs +40 -47
- package/dist/cjs/helpers/proxyThemeToParents.native.cjs +143 -0
- package/dist/cjs/helpers/proxyThemeToParents.native.js +125 -141
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.cjs +106 -60
- package/dist/cjs/helpers/registerCSSVariable.native.cjs +144 -0
- package/dist/cjs/helpers/registerCSSVariable.native.js +122 -61
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveAnimationDriver.cjs +28 -26
- package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +45 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js +32 -26
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/resolveRem.cjs +18 -19
- package/dist/cjs/helpers/resolveRem.native.cjs +57 -0
- package/dist/cjs/helpers/resolveRem.native.js +37 -37
- package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeArea.cjs +114 -23
- package/dist/cjs/helpers/resolveSafeArea.native.cjs +130 -0
- package/dist/cjs/helpers/resolveSafeArea.native.js +115 -29
- package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +34 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +52 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +54 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
- package/dist/cjs/helpers/resolveVariableValue.cjs +35 -0
- package/dist/cjs/helpers/resolveVariableValue.native.cjs +39 -0
- package/dist/cjs/helpers/resolveVariableValue.native.js +41 -0
- package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
- package/dist/cjs/helpers/setElementProps.cjs +17 -20
- package/dist/cjs/helpers/setElementProps.native.cjs +35 -0
- package/dist/cjs/helpers/setElementProps.native.js +22 -24
- package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.cjs +31 -31
- package/dist/cjs/helpers/skipProps.native.cjs +48 -0
- package/dist/cjs/helpers/skipProps.native.js +31 -30
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/sortString.cjs +15 -18
- package/dist/cjs/helpers/sortString.native.cjs +29 -0
- package/dist/cjs/helpers/sortString.native.js +17 -19
- package/dist/cjs/helpers/sortString.native.js.map +1 -1
- package/dist/cjs/helpers/styleFrontend.cjs +31 -0
- package/dist/cjs/helpers/styleFrontend.native.cjs +35 -0
- package/dist/cjs/helpers/styleFrontend.native.js +37 -0
- package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
- package/dist/cjs/helpers/styleOriginalValues.cjs +15 -18
- package/dist/cjs/helpers/styleOriginalValues.native.cjs +27 -0
- package/dist/cjs/helpers/styleOriginalValues.native.js +16 -18
- package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/cjs/helpers/styleProvenance.cjs +26 -27
- package/dist/cjs/helpers/styleProvenance.native.cjs +44 -0
- package/dist/cjs/helpers/styleProvenance.native.js +26 -26
- package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +77 -96
- package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +133 -0
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +118 -140
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/themeRef.cjs +42 -0
- package/dist/cjs/helpers/themeRef.native.cjs +48 -0
- package/dist/cjs/helpers/themeRef.native.js +50 -0
- package/dist/cjs/helpers/themeRef.native.js.map +1 -0
- package/dist/cjs/helpers/themeable.cjs +76 -97
- package/dist/cjs/helpers/themeable.native.cjs +96 -0
- package/dist/cjs/helpers/themeable.native.js +76 -97
- package/dist/cjs/helpers/themeable.native.js.map +1 -1
- package/dist/cjs/helpers/themes.cjs +30 -34
- package/dist/cjs/helpers/themes.native.cjs +44 -0
- package/dist/cjs/helpers/themes.native.js +30 -33
- package/dist/cjs/helpers/themes.native.js.map +1 -1
- package/dist/cjs/helpers/timer.cjs +16 -21
- package/dist/cjs/helpers/timer.native.cjs +31 -0
- package/dist/cjs/helpers/timer.native.js +18 -22
- package/dist/cjs/helpers/timer.native.js.map +1 -1
- package/dist/cjs/helpers/tokenCategories.cjs +103 -0
- package/dist/cjs/helpers/tokenCategories.native.cjs +107 -0
- package/dist/cjs/helpers/tokenCategories.native.js +109 -0
- package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
- package/dist/cjs/helpers/transformsToString.cjs +25 -31
- package/dist/cjs/helpers/transformsToString.native.cjs +56 -0
- package/dist/cjs/helpers/transformsToString.native.js +42 -30
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
- package/dist/cjs/helpers/useRenderElement.cjs +34 -39
- package/dist/cjs/helpers/useRenderElement.native.cjs +54 -0
- package/dist/cjs/helpers/useRenderElement.native.js +38 -42
- package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
- package/dist/cjs/helpers/variables.cjs +611 -0
- package/dist/cjs/helpers/variables.native.cjs +873 -0
- package/dist/cjs/helpers/variables.native.js +875 -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 +41 -0
- package/dist/cjs/helpers/warnOnce.native.js +43 -0
- package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
- package/dist/cjs/helpers/webPropsToSkip.cjs +15 -18
- package/dist/cjs/helpers/webPropsToSkip.native.cjs +68 -0
- package/dist/cjs/helpers/webPropsToSkip.native.js +54 -62
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.cjs +45 -48
- package/dist/cjs/helpers/wrapStyleTags.native.cjs +30 -0
- package/dist/cjs/helpers/wrapStyleTags.native.js +16 -17
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +16 -19
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +32 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +17 -19
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.cjs +61 -58
- package/dist/cjs/hooks/getThemeProxied.native.cjs +124 -0
- package/dist/cjs/hooks/getThemeProxied.native.js +98 -79
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +28 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +30 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +32 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
- package/dist/cjs/hooks/useAnimationDriver.cjs +46 -0
- package/dist/cjs/hooks/useAnimationDriver.native.cjs +54 -0
- package/dist/cjs/hooks/useAnimationDriver.native.js +56 -0
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
- package/dist/cjs/hooks/useComponentState.cjs +215 -199
- package/dist/cjs/hooks/useComponentState.native.cjs +250 -0
- package/dist/cjs/hooks/useComponentState.native.js +225 -208
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.cjs +16 -19
- package/dist/cjs/hooks/useDisableSSR.native.cjs +31 -0
- package/dist/cjs/hooks/useDisableSSR.native.js +17 -19
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.cjs +16 -19
- package/dist/cjs/hooks/useIsTouchDevice.native.cjs +31 -0
- package/dist/cjs/hooks/useIsTouchDevice.native.js +17 -19
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +329 -256
- package/dist/cjs/hooks/useMedia.native.cjs +532 -0
- package/dist/cjs/hooks/useMedia.native.js +481 -305
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/usePortalThemeState.cjs +41 -0
- package/dist/cjs/hooks/usePortalThemeState.native.cjs +43 -0
- package/dist/cjs/hooks/usePortalThemeState.native.js +45 -0
- package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
- package/dist/cjs/hooks/useProps.cjs +96 -88
- package/dist/cjs/hooks/useProps.native.cjs +134 -0
- package/dist/cjs/hooks/useProps.native.js +100 -89
- package/dist/cjs/hooks/useProps.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +41 -49
- package/dist/cjs/hooks/useTheme.native.cjs +65 -0
- package/dist/cjs/hooks/useTheme.native.js +44 -52
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.cjs +20 -25
- package/dist/cjs/hooks/useThemeName.native.cjs +39 -0
- package/dist/cjs/hooks/useThemeName.native.js +23 -27
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +347 -364
- package/dist/cjs/hooks/useThemeState.native.cjs +442 -0
- package/dist/cjs/hooks/useThemeState.native.js +394 -473
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +62 -45
- package/dist/cjs/index.native.cjs +144 -0
- package/dist/cjs/index.native.js +62 -44
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inject-styles.cjs +25 -31
- package/dist/cjs/inject-styles.native.cjs +39 -0
- package/dist/cjs/inject-styles.native.js +26 -31
- package/dist/cjs/inject-styles.native.js.map +1 -1
- package/dist/cjs/insertFont.cjs +61 -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 +167 -11
- package/dist/cjs/interfaces/CSSColorNames.native.cjs +176 -0
- package/dist/cjs/interfaces/CSSColorNames.native.js +167 -10
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/cjs/interfaces/GetRef.cjs +10 -11
- package/dist/cjs/interfaces/GetRef.native.cjs +19 -0
- package/dist/cjs/interfaces/GetRef.native.js +10 -10
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.cjs +10 -11
- package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +19 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js +10 -10
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +10 -11
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +19 -0
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +10 -10
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +10 -11
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +19 -0
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +10 -10
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
- package/dist/cjs/internal-runtime.cjs +76 -0
- package/dist/cjs/internal-runtime.native.cjs +78 -0
- package/dist/cjs/internal-runtime.native.js +80 -0
- package/dist/cjs/internal-runtime.native.js.map +1 -0
- package/dist/cjs/internalRuntimeTypes.cjs +17 -0
- package/dist/cjs/internalRuntimeTypes.native.cjs +19 -0
- package/dist/cjs/internalRuntimeTypes.native.js +21 -0
- package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
- package/dist/cjs/setupHooks.cjs +17 -18
- package/dist/cjs/setupHooks.native.cjs +33 -0
- package/dist/cjs/setupHooks.native.js +17 -17
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/setupReactNative.cjs +40 -41
- package/dist/cjs/setupReactNative.native.cjs +56 -0
- package/dist/cjs/setupReactNative.native.js +41 -41
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/styled.cjs +170 -141
- package/dist/cjs/styled.native.cjs +198 -0
- package/dist/cjs/styled.native.js +179 -144
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/type-utils.cjs +10 -11
- package/dist/cjs/type-utils.native.cjs +19 -0
- package/dist/cjs/type-utils.native.js +10 -10
- package/dist/cjs/type-utils.native.js.map +1 -1
- package/dist/cjs/types.cjs +40 -11
- package/dist/cjs/types.native.cjs +49 -0
- package/dist/cjs/types.native.js +40 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/ConfigRevisionCheck.cjs +69 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.cjs +74 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.js +76 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
- package/dist/cjs/views/Configuration.cjs +27 -35
- package/dist/cjs/views/Configuration.native.cjs +47 -0
- package/dist/cjs/views/Configuration.native.js +28 -35
- package/dist/cjs/views/Configuration.native.js.map +1 -1
- package/dist/cjs/views/FontLanguage.cjs +21 -29
- package/dist/cjs/views/FontLanguage.native.cjs +47 -0
- package/dist/cjs/views/FontLanguage.native.js +28 -38
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/SafeAreaTracker.cjs +33 -0
- package/dist/cjs/views/SafeAreaTracker.native.cjs +37 -0
- package/dist/cjs/views/SafeAreaTracker.native.js +39 -0
- package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
- package/dist/cjs/views/Slot.cjs +52 -59
- package/dist/cjs/views/Slot.native.cjs +78 -0
- package/dist/cjs/views/Slot.native.js +53 -59
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +74 -75
- package/dist/cjs/views/TamaguiProvider.native.cjs +104 -0
- package/dist/cjs/views/TamaguiProvider.native.js +73 -75
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/TamaguiRoot.cjs +47 -61
- package/dist/cjs/views/TamaguiRoot.native.cjs +29 -0
- package/dist/cjs/views/TamaguiRoot.native.js +16 -18
- package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
- package/dist/cjs/views/Text.cjs +44 -46
- package/dist/cjs/views/Text.native.cjs +47 -0
- package/dist/cjs/views/Text.native.js +33 -37
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +141 -166
- package/dist/cjs/views/Theme.native.cjs +171 -0
- package/dist/cjs/views/Theme.native.js +138 -172
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +77 -81
- package/dist/cjs/views/ThemeDebug.native.cjs +31 -0
- package/dist/cjs/views/ThemeDebug.native.js +17 -23
- package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.cjs +35 -39
- package/dist/cjs/views/ThemeProvider.native.cjs +44 -0
- package/dist/cjs/views/ThemeProvider.native.js +26 -28
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
- package/dist/cjs/views/View.cjs +21 -19
- package/dist/cjs/views/View.native.cjs +37 -0
- package/dist/cjs/views/View.native.js +22 -19
- 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 +55 -33
- package/dist/esm/_withStableStyle.native.js.map +1 -1
- package/dist/esm/config.mjs +90 -100
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +115 -129
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.mjs +1 -0
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +1 -1
- package/dist/esm/constants/accessibilityDirectMap.native.js +1 -0
- package/dist/esm/constants/accessibilityDirectMap.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 +953 -988
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +1061 -970
- 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 +29 -0
- package/dist/esm/createStyledHOC.mjs.map +1 -0
- package/dist/esm/createStyledHOC.native.js +29 -0
- package/dist/esm/createStyledHOC.native.js.map +1 -0
- package/dist/esm/createTamagui.mjs +256 -207
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +289 -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 +20 -2
- package/dist/esm/createTokens.native.js.map +1 -1
- package/dist/esm/createVariable.mjs +69 -60
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js +83 -75
- 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 +41 -47
- 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 +563 -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 +143 -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 +610 -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/componentDisplayName.mjs +11 -0
- package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
- package/dist/esm/helpers/componentDisplayName.native.js +11 -0
- package/dist/esm/helpers/componentDisplayName.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 -132
- 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 +57 -58
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js +62 -63
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +15 -14
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +32 -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/directStyle.mjs +907 -0
- package/dist/esm/helpers/directStyle.mjs.map +1 -0
- package/dist/esm/helpers/directStyle.native.js +1112 -0
- package/dist/esm/helpers/directStyle.native.js.map +1 -0
- package/dist/esm/helpers/expandStyle.mjs +119 -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/formatDiagnostic.mjs +48 -0
- package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
- package/dist/esm/helpers/formatDiagnostic.native.js +55 -0
- package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
- package/dist/esm/helpers/frontendProgram.mjs +20 -0
- package/dist/esm/helpers/frontendProgram.mjs.map +1 -0
- package/dist/esm/helpers/frontendProgram.native.js +24 -0
- package/dist/esm/helpers/frontendProgram.native.js.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +186 -173
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.native.js +5 -3
- package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/esm/helpers/getDefaultProps.mjs +2 -16
- package/dist/esm/helpers/getDefaultProps.mjs.map +1 -1
- package/dist/esm/helpers/getDefaultProps.native.js +3 -16
- package/dist/esm/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/esm/helpers/getDynamicVal.mjs +28 -33
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.native.js +28 -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/getFontLanguage.mjs +2 -1
- package/dist/esm/helpers/getFontLanguage.mjs.map +1 -1
- package/dist/esm/helpers/getFontLanguage.native.js +3 -2
- package/dist/esm/helpers/getFontLanguage.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 +695 -868
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +773 -899
- 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/getVariantExtras.mjs +57 -52
- package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
- package/dist/esm/helpers/getVariantExtras.native.js +58 -53
- package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/esm/helpers/grammarConfig.mjs +53 -0
- package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
- package/dist/esm/helpers/grammarConfig.native.js +129 -0
- package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
- package/dist/esm/helpers/insertStyleRule.mjs +228 -160
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +61 -24
- 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 +13 -6
- 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 +11 -9
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +12 -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 +7 -24
- package/dist/esm/helpers/mediaState.mjs.map +1 -1
- package/dist/esm/helpers/mediaState.native.js +9 -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 +39 -23
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
- package/dist/esm/helpers/mergeVariants.native.js +41 -25
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.mjs +34 -33
- package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.native.js +34 -33
- package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs +178 -0
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
- package/dist/esm/helpers/nativeStyleEngine.native.js +270 -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 +32 -42
- package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
- package/dist/esm/helpers/normalizeStyle.native.js +50 -62
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +1 -0
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +1 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +11 -10
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +29 -21
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -25
- 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 +20 -20
- 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 +70 -54
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeStyle.native.js +166 -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 +58 -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/propMapper.mjs +325 -234
- package/dist/esm/helpers/propMapper.mjs.map +1 -1
- package/dist/esm/helpers/propMapper.native.js +462 -332
- package/dist/esm/helpers/propMapper.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs +25 -30
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.native.js +110 -125
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.mjs +84 -39
- package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.native.js +103 -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 +18 -9
- package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/resolveRem.mjs +3 -2
- package/dist/esm/helpers/resolveRem.mjs.map +1 -1
- package/dist/esm/helpers/resolveRem.native.js +23 -21
- package/dist/esm/helpers/resolveRem.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.mjs +101 -9
- 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/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 +18 -13
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +18 -13
- 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/styleFrontend.mjs +6 -0
- package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
- package/dist/esm/helpers/styleFrontend.native.js +8 -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/subscribeToContextGroup.mjs +64 -78
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +105 -123
- 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 +21 -0
- package/dist/esm/helpers/themeRef.native.js.map +1 -0
- package/dist/esm/helpers/themeable.mjs +59 -71
- package/dist/esm/helpers/themeable.mjs.map +1 -1
- package/dist/esm/helpers/themeable.native.js +61 -73
- package/dist/esm/helpers/themeable.native.js.map +1 -1
- 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 +80 -0
- package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
- package/dist/esm/helpers/tokenCategories.native.js +82 -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/useRenderElement.mjs +19 -19
- package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
- package/dist/esm/helpers/useRenderElement.native.js +24 -24
- package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
- package/dist/esm/helpers/variables.mjs +581 -0
- package/dist/esm/helpers/variables.mjs.map +1 -0
- package/dist/esm/helpers/variables.native.js +841 -0
- package/dist/esm/helpers/variables.native.js.map +1 -0
- package/dist/esm/helpers/warnOnce.mjs +14 -0
- package/dist/esm/helpers/warnOnce.mjs.map +1 -0
- package/dist/esm/helpers/warnOnce.native.js +15 -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 +32 -30
- package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.native.js +1 -0
- 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 +20 -0
- package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
- package/dist/esm/hooks/useAnimationDriver.native.js +26 -0
- package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
- package/dist/esm/hooks/useComponentState.mjs +202 -181
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +212 -191
- 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 +310 -231
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +462 -281
- 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/useProps.mjs +78 -62
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +82 -64
- package/dist/esm/hooks/useProps.native.js.map +1 -1
- 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 +324 -345
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +370 -454
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +145 -72
- package/dist/esm/index.mjs +145 -72
- package/dist/esm/index.native.js +145 -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 +37 -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 +45 -0
- package/dist/esm/internal-runtime.mjs.map +1 -0
- package/dist/esm/internal-runtime.native.js +45 -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 +26 -23
- package/dist/esm/setupReactNative.mjs.map +1 -1
- package/dist/esm/setupReactNative.native.js +27 -24
- package/dist/esm/setupReactNative.native.js.map +1 -1
- package/dist/esm/styled.mjs +156 -126
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +164 -129
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/type-utils.mjs +0 -2
- package/dist/esm/type-utils.native.js +0 -2
- package/dist/esm/types.mjs +21 -0
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +21 -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 +58 -49
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +56 -50
- 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 +32 -32
- package/dist/esm/views/Text.mjs.map +1 -1
- package/dist/esm/views/Text.native.js +19 -23
- package/dist/esm/views/Text.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +123 -144
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +120 -151
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +64 -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/View.mjs +9 -5
- package/dist/esm/views/View.mjs.map +1 -1
- package/dist/esm/views/View.native.js +9 -5
- 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 +47 -15
- package/reset.css +1 -9
- package/src/_withNativeStyle.tsx +84 -0
- package/src/_withStableStyle.tsx +61 -43
- package/src/config.ts +26 -35
- package/src/contexts/ComponentContext.tsx +25 -8
- package/src/createComponent.tsx +482 -160
- package/src/createStyledHOC.tsx +88 -0
- package/src/createTamagui.ts +125 -78
- package/src/createTokens.ts +16 -0
- package/src/createVariable.ts +17 -2
- 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 +1405 -0
- package/src/dom/html.tsx +979 -0
- package/src/dom/htmlRuntime.native.tsx +220 -0
- package/src/dom/index.native.ts +28 -0
- package/src/dom/index.ts +16 -0
- package/src/dom/primitives.native.tsx +667 -0
- package/src/dom/standalone.ts +107 -0
- package/src/dom/standaloneHtml.ts +104 -0
- package/src/dom/styleTypes.ts +637 -0
- package/src/eventDetails.ts +85 -0
- package/src/eventHandling.native.ts +16 -16
- package/src/helpers/componentDisplayName.ts +14 -0
- package/src/helpers/createDesignSystem.ts +127 -87
- package/src/helpers/createStyledContext.tsx +87 -7
- package/src/helpers/directStyle.ts +1746 -0
- package/src/helpers/expandStyle.ts +17 -2
- package/src/helpers/extractPseudoState.ts +32 -0
- package/src/helpers/formatDiagnostic.ts +68 -0
- package/src/helpers/frontendProgram.ts +48 -0
- package/src/helpers/getCSSStylesAtomic.native.ts +1 -0
- package/src/helpers/getCSSStylesAtomic.ts +154 -95
- package/src/helpers/getDefaultProps.ts +1 -26
- package/src/helpers/getExpandedShorthands.ts +0 -17
- package/src/helpers/getSplitStyles.tsx +757 -1019
- package/src/helpers/getThemeCSSRules.ts +16 -1
- package/src/helpers/getVariantExtras.tsx +23 -8
- package/src/helpers/grammarConfig.ts +78 -0
- package/src/helpers/insertStyleRule.tsx +97 -19
- package/src/helpers/isObj.ts +8 -0
- package/src/helpers/isTamaguiComponent.tsx +2 -5
- package/src/helpers/isTamaguiElement.tsx +2 -3
- package/src/helpers/matchMedia.native.ts +16 -1
- package/src/helpers/mediaState.ts +4 -33
- package/src/helpers/mergeProps.ts +2 -32
- package/src/helpers/mergeVariants.ts +39 -17
- package/src/helpers/nativeStyleEngine.ts +291 -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 +1 -15
- package/src/helpers/normalizeValueWithProperty.ts +10 -1
- package/src/helpers/noteOnce.ts +9 -0
- package/src/helpers/{parseNativeStyle.ts → parseNativeStyle.native.ts} +50 -10
- package/src/helpers/parseNativeTransform.native.ts +35 -0
- package/src/helpers/propMapper.ts +347 -134
- package/src/helpers/registerCSSVariable.ts +80 -10
- package/src/helpers/resolveAnimationDriver.ts +16 -13
- package/src/helpers/resolveSafeArea.native.ts +90 -10
- package/src/helpers/resolveSafeArea.ts +113 -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/skipProps.ts +8 -2
- package/src/helpers/styleFrontend.ts +104 -0
- package/src/helpers/styleProvenance.ts +17 -2
- package/src/helpers/themeRef.ts +34 -0
- package/src/helpers/themeable.tsx +4 -12
- package/src/helpers/themes.ts +9 -10
- package/src/helpers/tokenCategories.ts +104 -0
- package/src/helpers/transformsToString.ts +18 -16
- package/src/helpers/variables.ts +901 -0
- package/src/helpers/warnOnce.ts +47 -0
- package/src/helpers/webPropsToSkip.native.ts +7 -8
- package/src/helpers/wrapStyleTags.tsx +3 -1
- package/src/hooks/getThemeProxied.ts +136 -101
- package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
- package/src/hooks/isOptimizedForFirstRender.ts +7 -0
- package/src/hooks/useAnimationDriver.ts +37 -0
- package/src/hooks/useComponentState.ts +99 -24
- package/src/hooks/useMedia.tsx +260 -119
- package/src/hooks/usePortalThemeState.ts +34 -0
- package/src/hooks/useProps.tsx +34 -10
- package/src/hooks/useTheme.tsx +19 -6
- package/src/hooks/useThemeState.ts +204 -129
- package/src/index.ts +32 -6
- package/src/insertFont.ts +4 -4
- package/src/interfaces/CSSColorNames.tsx +152 -149
- package/src/interfaces/RNExclusiveTypes.ts +1 -0
- package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
- package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
- package/src/internal-runtime.ts +107 -0
- package/src/internalRuntimeTypes.ts +22 -0
- package/src/setupHooks.ts +9 -1
- package/src/styled.tsx +302 -175
- package/src/types.tsx +650 -471
- 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 +21 -8
- package/src/views/Text.tsx +15 -10
- package/src/views/Theme.tsx +112 -41
- package/src/views/ThemeDebug.tsx +0 -1
- package/src/views/ThemeProvider.tsx +6 -5
- package/src/views/View.tsx +16 -7
- 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.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 +54 -0
- package/types/dom/html.d.ts.map +1 -0
- package/types/dom/html.native.d.ts +63 -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 +494 -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/componentDisplayName.d.ts +5 -0
- package/types/helpers/componentDisplayName.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/defaultOffset.d.ts.map +1 -1
- package/types/helpers/directStyle.d.ts +35 -0
- package/types/helpers/directStyle.d.ts.map +1 -0
- 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/formatDiagnostic.d.ts +2 -0
- package/types/helpers/formatDiagnostic.d.ts.map +1 -0
- package/types/helpers/frontendProgram.d.ts +10 -0
- package/types/helpers/frontendProgram.d.ts.map +1 -0
- package/types/helpers/getCSSStylesAtomic.d.ts +3 -4
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.native.d.ts +6 -3
- package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
- package/types/helpers/getDefaultProps.d.ts +1 -1
- package/types/helpers/getDefaultProps.d.ts.map +1 -1
- package/types/helpers/getDynamicVal.d.ts +1 -1
- package/types/helpers/getExpandedShorthands.d.ts +0 -5
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
- package/types/helpers/getFontLanguage.d.ts.map +1 -1
- package/types/helpers/getShorthandValue.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +5 -5
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/getVariantExtras.d.ts.map +1 -1
- package/types/helpers/grammarConfig.d.ts +9 -0
- package/types/helpers/grammarConfig.d.ts.map +1 -0
- package/types/helpers/insertStyleRule.d.ts +3 -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/matchMedia.d.ts +1 -1
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/helpers/mediaState.d.ts +1 -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.map +1 -1
- package/types/helpers/nativeStyleEngine.d.ts +69 -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 +1 -1
- package/types/helpers/normalizeStyle.d.ts.map +1 -1
- package/types/helpers/normalizeStylePropKeys.native.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/{parseNativeStyle.d.ts → parseNativeStyle.native.d.ts} +1 -1
- 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/propMapper.d.ts +2 -1
- package/types/helpers/propMapper.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/resolveSafeArea.d.ts +2 -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/setElementProps.d.ts.map +1 -1
- package/types/helpers/skipProps.d.ts +3 -1
- 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/styleFrontend.d.ts +87 -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/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/themeable.d.ts +1 -1
- package/types/helpers/themeable.d.ts.map +1 -1
- package/types/helpers/themes.d.ts.map +1 -1
- package/types/helpers/tokenCategories.d.ts +5 -0
- package/types/helpers/tokenCategories.d.ts.map +1 -0
- package/types/helpers/transformsToString.d.ts.map +1 -1
- package/types/helpers/variables.d.ts +90 -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 +63 -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 +5 -4
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +13 -7
- 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/useProps.d.ts +1 -3
- package/types/hooks/useProps.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +26 -3
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +14 -7
- package/types/index.d.ts.map +1 -1
- package/types/inject-styles.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 +1 -1
- 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 +33 -0
- package/types/internal-runtime.d.ts.map +1 -0
- package/types/internalRuntimeTypes.d.ts +16 -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/styled.d.ts +47 -12
- package/types/styled.d.ts.map +1 -1
- package/types/types.d.ts +392 -231
- 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 +16 -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/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/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/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/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/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/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/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/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/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/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/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/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/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/helpers/createMediaStyle.ts +0 -167
- package/src/helpers/getGroupPropParts.ts +0 -46
- package/src/helpers/getTokenForKey.ts +0 -236
- package/src/helpers/isActivePlatform.ts +0 -43
- package/src/helpers/isActiveTheme.ts +0 -4
- package/src/helpers/platformResolveValue.native.ts +0 -75
- package/src/helpers/platformResolveValue.ts +0 -26
- 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/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/helpers/createMediaStyle.d.ts +0 -5
- package/types/helpers/createMediaStyle.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/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/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/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/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
|
@@ -20,20 +20,25 @@ import { didGetVariableValue, setDidGetVariableValue } from './createVariable'
|
|
|
20
20
|
import { defaultComponentStateMounted } from './defaultComponentState'
|
|
21
21
|
import { getWebEvents, useEvents, wrapWithGestureDetector } from './eventHandling'
|
|
22
22
|
import { getDefaultProps } from './helpers/getDefaultProps'
|
|
23
|
+
import { componentDisplayName } from './helpers/componentDisplayName'
|
|
23
24
|
import { resolveAnimationDriver } from './helpers/resolveAnimationDriver'
|
|
24
25
|
import { getSplitStyles, useSplitStyles } from './helpers/getSplitStyles'
|
|
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'
|
|
35
|
+
import { getMedia } from './helpers/mediaState'
|
|
28
36
|
import { objectIdentityKey } from './helpers/objectIdentityKey'
|
|
29
37
|
import { usePointerEvents } from './helpers/pointerEvents'
|
|
30
|
-
import {
|
|
31
|
-
|
|
32
|
-
resolveEffectivePseudoTransition,
|
|
33
|
-
} from './helpers/pseudoTransitions'
|
|
38
|
+
import { extractPseudoState } from './helpers/extractPseudoState'
|
|
39
|
+
import { subscribeToSafeArea } from './helpers/resolveSafeAreaVariable'
|
|
34
40
|
import { setElementProps } from './helpers/setElementProps'
|
|
35
41
|
import { subscribeToContextGroup } from './helpers/subscribeToContextGroup'
|
|
36
|
-
import { themeable } from './helpers/themeable'
|
|
37
42
|
import { getStyleTags } from './helpers/wrapStyleTags'
|
|
38
43
|
import { useComponentState } from './hooks/useComponentState'
|
|
39
44
|
import { setMediaShouldUpdate, useMedia } from './hooks/useMedia'
|
|
@@ -49,7 +54,6 @@ import type {
|
|
|
49
54
|
PseudoGroupState,
|
|
50
55
|
SingleGroupContext,
|
|
51
56
|
StaticConfig,
|
|
52
|
-
StyleableOptions,
|
|
53
57
|
TamaguiComponent,
|
|
54
58
|
TamaguiComponentState,
|
|
55
59
|
TamaguiElement,
|
|
@@ -96,6 +100,25 @@ const groupPseudoKeys = [
|
|
|
96
100
|
'focusWithin',
|
|
97
101
|
] as const satisfies readonly (keyof PseudoGroupState)[]
|
|
98
102
|
|
|
103
|
+
function getStyledContextKeys(
|
|
104
|
+
staticConfig: StaticConfig,
|
|
105
|
+
styledContextValue: GenericProps | undefined
|
|
106
|
+
) {
|
|
107
|
+
const propKeys = staticConfig.contextProps || staticConfig.context?.propKeys
|
|
108
|
+
if (!propKeys) {
|
|
109
|
+
return styledContextValue
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const out: GenericProps = {}
|
|
113
|
+
for (const key of propKeys) {
|
|
114
|
+
out[key] = true
|
|
115
|
+
}
|
|
116
|
+
if (styledContextValue) {
|
|
117
|
+
Object.assign(out, styledContextValue)
|
|
118
|
+
}
|
|
119
|
+
return out
|
|
120
|
+
}
|
|
121
|
+
|
|
99
122
|
if (process.env.TAMAGUI_TARGET !== 'native' && typeof window !== 'undefined') {
|
|
100
123
|
const cancelPresses = () => {
|
|
101
124
|
// clear all press downs
|
|
@@ -248,13 +271,47 @@ export function createComponent<
|
|
|
248
271
|
BaseProps = never,
|
|
249
272
|
BaseStyles extends object = never,
|
|
250
273
|
>(staticConfig: StaticConfig) {
|
|
274
|
+
// Zero-runtime mode: compiler reference erasure is what removes this module
|
|
275
|
+
// from the graph, and the bundle gate is what proves it. This is the loud
|
|
276
|
+
// secondary failure for a reference erasure missed, and it lets Vite and
|
|
277
|
+
// webpack fold the body to a stub. The full `process.env` comparison is
|
|
278
|
+
// written out here on purpose: anything between it and the bundler (a helper,
|
|
279
|
+
// a const, a config read) makes it unfoldable.
|
|
280
|
+
if (process.env.TAMAGUI_RUNTIME === 'zero') {
|
|
281
|
+
throw new Error(
|
|
282
|
+
`[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.`
|
|
283
|
+
)
|
|
284
|
+
}
|
|
285
|
+
|
|
251
286
|
let config: TamaguiInternalConfig | null = null
|
|
287
|
+
let resolvedDefaultProps: Record<string, any> | undefined
|
|
288
|
+
let didResolveDefaultProps = false
|
|
252
289
|
|
|
253
290
|
const { Component, isText, isHOC } = staticConfig
|
|
254
291
|
|
|
255
|
-
|
|
292
|
+
type ComponentType = TamaguiComponent<
|
|
293
|
+
ComponentPropTypes,
|
|
294
|
+
Ref,
|
|
295
|
+
BaseProps,
|
|
296
|
+
BaseStyles,
|
|
297
|
+
{}
|
|
298
|
+
>
|
|
299
|
+
|
|
300
|
+
let res: ComponentType
|
|
301
|
+
|
|
302
|
+
const component = (propsInWithRef: ComponentPropTypes & { ref?: React.Ref<Ref> }) => {
|
|
256
303
|
'use no memo'
|
|
257
304
|
|
|
305
|
+
const displayName = (res as any)[componentDisplayName] as string | undefined
|
|
306
|
+
|
|
307
|
+
// read the forwarded ref directly off the incoming props — do NOT clone the
|
|
308
|
+
// whole object every render just to strip `ref`. the original props object is
|
|
309
|
+
// passed straight through; `ref` is skipped in the getSplitStyles pass (so it
|
|
310
|
+
// never forwards onto the host) and the composed ref is assigned explicitly
|
|
311
|
+
// onto viewProps below.
|
|
312
|
+
const forwardedRef = propsInWithRef.ref
|
|
313
|
+
const propsIn = propsInWithRef as Omit<typeof propsInWithRef, 'ref'>
|
|
314
|
+
|
|
258
315
|
config = config || getConfig()
|
|
259
316
|
|
|
260
317
|
const internalID = process.env.NODE_ENV === 'development' ? React.useId() : ''
|
|
@@ -304,12 +361,12 @@ export function createComponent<
|
|
|
304
361
|
const componentContext = React.useContext(ComponentContext)
|
|
305
362
|
const hasTextAncestor = !!(isWeb && isText ? componentContext.inText : false)
|
|
306
363
|
|
|
307
|
-
//
|
|
308
|
-
//
|
|
309
|
-
//
|
|
310
|
-
//
|
|
311
|
-
//
|
|
312
|
-
//
|
|
364
|
+
// on Android, skip RNGH GestureDetector inside native menus and use direct
|
|
365
|
+
// press events instead. GestureDetector consumes touches before they reach the
|
|
366
|
+
// native menu handler, preventing the menu from opening. NativeMenuContext only
|
|
367
|
+
// affects Android RNGH press arbitration inside native menus (see
|
|
368
|
+
// eventHandling.native.ts:182). isAndroid is constant for the whole app run,
|
|
369
|
+
// so on iOS we skip this context read for every component. the branch
|
|
313
370
|
// never flips at runtime, so hook order stays stable (rules-of-hooks safe).
|
|
314
371
|
const isInsideNativeMenu =
|
|
315
372
|
process.env.TAMAGUI_TARGET === 'native' && isAndroid
|
|
@@ -337,14 +394,24 @@ export function createComponent<
|
|
|
337
394
|
// order important so we do loops, you can't just spread because JS does weird things
|
|
338
395
|
let props: ViewProps | TextProps = propsIn
|
|
339
396
|
|
|
340
|
-
const componentName = props.componentName || staticConfig.componentName
|
|
341
|
-
|
|
342
397
|
// merge both default props and styled context props - ensure order is preserved
|
|
343
|
-
|
|
398
|
+
if (!didResolveDefaultProps) {
|
|
399
|
+
didResolveDefaultProps = true
|
|
400
|
+
const staticDefaultProps = getDefaultProps(staticConfig)
|
|
401
|
+
resolvedDefaultProps =
|
|
402
|
+
isWeb &&
|
|
403
|
+
!isText &&
|
|
404
|
+
config.settings.defaultPosition === 'relative' &&
|
|
405
|
+
staticDefaultProps?.position === undefined
|
|
406
|
+
? staticDefaultProps
|
|
407
|
+
? { position: 'relative', ...staticDefaultProps }
|
|
408
|
+
: { position: 'relative' }
|
|
409
|
+
: staticDefaultProps
|
|
410
|
+
}
|
|
344
411
|
|
|
345
412
|
// merge styled context props over defaults, ensure order is preserved
|
|
346
413
|
const [nextProps, overrides] = mergeComponentProps(
|
|
347
|
-
|
|
414
|
+
resolvedDefaultProps,
|
|
348
415
|
styledContextValue,
|
|
349
416
|
propsIn
|
|
350
417
|
)
|
|
@@ -352,6 +419,17 @@ export function createComponent<
|
|
|
352
419
|
props = nextProps as ViewProps | TextProps
|
|
353
420
|
overriddenContextProps = overrides
|
|
354
421
|
|
|
422
|
+
// frontend single pass (hoisted): the component's descriptor tokenizes className +
|
|
423
|
+
// flattens props ONCE here, so flat values and transition props are in place before
|
|
424
|
+
// the state machine / variant / animation driver below read them. preprocessProps
|
|
425
|
+
// marks its result, so getSplitStyles skips its own preprocess.
|
|
426
|
+
// components without a descriptor pay one property read.
|
|
427
|
+
if (staticConfig.styleFrontend) {
|
|
428
|
+
props = staticConfig.styleFrontend.preprocessProps(props, config) as
|
|
429
|
+
| ViewProps
|
|
430
|
+
| TextProps
|
|
431
|
+
}
|
|
432
|
+
|
|
355
433
|
if (process.env.NODE_ENV === 'development' && isClient) {
|
|
356
434
|
React.useEffect(() => {
|
|
357
435
|
let node: HTMLElement | undefined
|
|
@@ -396,7 +474,7 @@ export function createComponent<
|
|
|
396
474
|
tooltip.style.fontSize = '12px'
|
|
397
475
|
tooltip.style.lineHeight = '12px'
|
|
398
476
|
tooltip.style.fontFamily = 'monospace'
|
|
399
|
-
tooltip.innerText = `${
|
|
477
|
+
tooltip.innerText = `${displayName || ''} ${dataAt} ${dataIn}`.trim()
|
|
400
478
|
|
|
401
479
|
overlay.appendChild(tooltip)
|
|
402
480
|
node.appendChild(overlay)
|
|
@@ -412,7 +490,7 @@ export function createComponent<
|
|
|
412
490
|
remove()
|
|
413
491
|
debugKeyListeners?.delete(debugVisualizerHandler)
|
|
414
492
|
}
|
|
415
|
-
}, [
|
|
493
|
+
}, [displayName])
|
|
416
494
|
}
|
|
417
495
|
|
|
418
496
|
const groupContextParent = React.useContext(GroupContext)
|
|
@@ -420,15 +498,17 @@ export function createComponent<
|
|
|
420
498
|
// Get animation driver - either from animatedBy prop lookup or context/config fallback
|
|
421
499
|
const animationDriver = (() => {
|
|
422
500
|
if (props.animatedBy && config) {
|
|
501
|
+
let selectedDriver
|
|
423
502
|
// check animationDrivers for multi-driver config
|
|
424
503
|
if (config.animationDrivers) {
|
|
425
|
-
|
|
504
|
+
selectedDriver =
|
|
426
505
|
(config.animationDrivers as Record<string, any>)[props.animatedBy] ??
|
|
427
506
|
config.animations
|
|
428
|
-
|
|
507
|
+
} else {
|
|
508
|
+
// single driver config - only 'default' makes sense
|
|
509
|
+
selectedDriver = props.animatedBy === 'default' ? config.animations : null
|
|
429
510
|
}
|
|
430
|
-
|
|
431
|
-
return props.animatedBy === 'default' ? config.animations : null
|
|
511
|
+
return resolveAnimationDriver(selectedDriver)
|
|
432
512
|
}
|
|
433
513
|
// fall back to context driver, then config.animations
|
|
434
514
|
// resolveAnimationDriver validates it's a real driver (not a raw multi-driver object)
|
|
@@ -439,7 +519,9 @@ export function createComponent<
|
|
|
439
519
|
)
|
|
440
520
|
})()
|
|
441
521
|
|
|
442
|
-
const useAnimations = animationDriver?.
|
|
522
|
+
const useAnimations = animationDriver?.isStub
|
|
523
|
+
? undefined
|
|
524
|
+
: (animationDriver?.useAnimations as UseAnimationHook | undefined)
|
|
443
525
|
|
|
444
526
|
const componentState = useComponentState(
|
|
445
527
|
props,
|
|
@@ -470,7 +552,19 @@ export function createComponent<
|
|
|
470
552
|
startedUnhydrated,
|
|
471
553
|
} = componentState
|
|
472
554
|
|
|
473
|
-
|
|
555
|
+
// adopt the props object useComponentState resolved: on the enter/exit presence
|
|
556
|
+
// path it injects presence variants onto a fresh copy instead of mutating our
|
|
557
|
+
// input (which, with no clone above, would be React's own props object)
|
|
558
|
+
props = componentState.props as typeof props
|
|
559
|
+
|
|
560
|
+
// latch on first render: animationDriver derives from the per-render
|
|
561
|
+
// animatedBy prop, and the layout effect below is conditioned on
|
|
562
|
+
// avoidReRenders — letting it flip between renders would change the hook
|
|
563
|
+
// count mid-lifecycle (same latch pattern as hasAnimated in
|
|
564
|
+
// useComponentState). ??= keeps the first value: false stays false.
|
|
565
|
+
stateRef.current.avoidReRenders ??= !!animationDriver?.avoidReRenders
|
|
566
|
+
|
|
567
|
+
if (stateRef.current.avoidReRenders) {
|
|
474
568
|
// post-commit reconciliation of `nextState` with the committed React state.
|
|
475
569
|
// `nextState` is the source of truth for the fast `setStateShallow` path; it
|
|
476
570
|
// must stay populated until React actually commits the corresponding update,
|
|
@@ -483,7 +577,7 @@ export function createComponent<
|
|
|
483
577
|
// keeps the last-emitted snapshot latched across re-renders (so an unrelated
|
|
484
578
|
// render doesn't snap a hovered style back to base), but a render can change
|
|
485
579
|
// the styles that FEED the pseudo merge — e.g. a row becoming active removes
|
|
486
|
-
// its
|
|
580
|
+
// its hover clause while still hovered — and the stale snapshot would keep
|
|
487
581
|
// painting over the new base (hover-beats-active-during-scrub).
|
|
488
582
|
// `updateStyleListener` is rebuilt each render over fresh props/state and
|
|
489
583
|
// reads `nextState || state`, so re-invoking it re-emits the correct merged
|
|
@@ -525,9 +619,18 @@ export function createComponent<
|
|
|
525
619
|
})
|
|
526
620
|
}, [platformPseudo, props.disabled])
|
|
527
621
|
|
|
622
|
+
// a component is a query container when any container prop says so; the
|
|
623
|
+
// boolean `container` is the unnamed inline-size shorthand (decision 17)
|
|
624
|
+
const containerName = props.containerName as string | undefined
|
|
625
|
+
const isContainer = !!(
|
|
626
|
+
props.container ||
|
|
627
|
+
containerName ||
|
|
628
|
+
(props.containerType && props.containerType !== 'normal')
|
|
629
|
+
)
|
|
630
|
+
|
|
528
631
|
// create new context with groups, or else sublings will grab the same one
|
|
529
632
|
const allGroupContexts = useMemo((): AllGroupContexts | null => {
|
|
530
|
-
if (!groupName || props.passThrough) {
|
|
633
|
+
if ((!groupName && !isContainer) || props.passThrough) {
|
|
531
634
|
return groupContextParent
|
|
532
635
|
}
|
|
533
636
|
|
|
@@ -552,21 +655,35 @@ export function createComponent<
|
|
|
552
655
|
},
|
|
553
656
|
}
|
|
554
657
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
},
|
|
658
|
+
// one entry object serves every key this component provides: the group
|
|
659
|
+
// name and the container keys share the same state and emitter
|
|
660
|
+
const entry: SingleGroupContext = {
|
|
661
|
+
state: {
|
|
662
|
+
pseudo: defaultComponentStateMounted,
|
|
663
|
+
},
|
|
664
|
+
subscribe: (listener) => {
|
|
665
|
+
const dispose = stateRef.current.group?.subscribe(listener)
|
|
666
|
+
return () => {
|
|
667
|
+
dispose?.()
|
|
668
|
+
}
|
|
567
669
|
},
|
|
568
670
|
}
|
|
569
|
-
|
|
671
|
+
|
|
672
|
+
const next: AllGroupContexts = { ...groupContextParent }
|
|
673
|
+
if (groupName) {
|
|
674
|
+
next[groupName] = entry
|
|
675
|
+
}
|
|
676
|
+
if (isContainer) {
|
|
677
|
+
// `@sm:` reads the nearest container of any name, so every container
|
|
678
|
+
// writes the `@` key; a named one also writes `@name`. group names
|
|
679
|
+
// cannot contain `@`, so the namespaces never collide
|
|
680
|
+
next['@'] = entry
|
|
681
|
+
if (containerName) {
|
|
682
|
+
next[`@${containerName}`] = entry
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
return next
|
|
686
|
+
}, [stateRef, groupName, containerName, isContainer, groupContextParent])
|
|
570
687
|
|
|
571
688
|
// if our animation driver supports avoidReRenders, we'll replace this below with
|
|
572
689
|
// a version that essentially uses an internall emitter rather than setting state
|
|
@@ -608,11 +725,9 @@ export function createComponent<
|
|
|
608
725
|
if (process.env.NODE_ENV === 'development' && time) time`theme-props`
|
|
609
726
|
|
|
610
727
|
const themeStateProps: UseThemeWithStateProps = {
|
|
611
|
-
componentName,
|
|
612
728
|
disable: disableTheme,
|
|
613
729
|
shallow: props.themeShallow,
|
|
614
730
|
debug: debugProp,
|
|
615
|
-
unstyled: props.unstyled,
|
|
616
731
|
}
|
|
617
732
|
|
|
618
733
|
// this is set conditionally if existing in props because we wrap children with
|
|
@@ -620,19 +735,27 @@ export function createComponent<
|
|
|
620
735
|
if ('theme' in props) {
|
|
621
736
|
themeStateProps.name = props.theme
|
|
622
737
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
738
|
+
if (!stateRef.current.optimizeForFirstRender) {
|
|
739
|
+
// this ensures components with dark/light theme clauses re-render on
|
|
740
|
+
// theme change even when using raw colors (not tokens), since
|
|
741
|
+
// isListeningToTheme is set after useSplitStyles.
|
|
742
|
+
themeStateProps.needsUpdate =
|
|
743
|
+
stateRef.current.themeNeedsUpdate ||
|
|
744
|
+
(stateRef.current.themeNeedsUpdate = () => !!stateRef.current.isListeningToTheme)
|
|
745
|
+
}
|
|
627
746
|
// on native we optimize theme changes if fastSchemeChange is enabled, otherwise deopt
|
|
628
747
|
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
629
748
|
themeStateProps.deopt = willBeAnimated
|
|
749
|
+
// native fast path (experimental): stable proxy so the theme
|
|
750
|
+
// subscription can hand updates to the per-render styled updater
|
|
751
|
+
themeStateProps.nativeUpdate = stateRef.current.nativeUpdateProxy ||= (next) =>
|
|
752
|
+
stateRef.current.nativeStyleUpdate?.(next) ?? false
|
|
630
753
|
}
|
|
631
754
|
|
|
632
755
|
if (process.env.NODE_ENV === 'development') {
|
|
633
756
|
if (debugProp && debugProp !== 'profile') {
|
|
634
757
|
const name = `${
|
|
635
|
-
|
|
758
|
+
displayName ||
|
|
636
759
|
Component?.displayName ||
|
|
637
760
|
Component?.name ||
|
|
638
761
|
'[Unnamed Component]'
|
|
@@ -696,10 +819,16 @@ export function createComponent<
|
|
|
696
819
|
|
|
697
820
|
if (process.env.NODE_ENV === 'development' && time) time`theme`
|
|
698
821
|
|
|
699
|
-
|
|
822
|
+
// don't replace the animated driver component (set above) with the base element,
|
|
823
|
+
// the render string is forwarded to it via viewProps.render instead
|
|
824
|
+
if (!isAnimatedCustomComponent) {
|
|
825
|
+
elementType = element || elementType
|
|
826
|
+
}
|
|
700
827
|
const isStringElement = typeof elementType === 'string'
|
|
701
828
|
|
|
702
|
-
|
|
829
|
+
// stateRef.current is this instance's key into useMedia's per-component
|
|
830
|
+
// States map (setMediaShouldUpdate below writes under the same key)
|
|
831
|
+
const mediaState = useMedia(componentContext, debugProp, stateRef.current)
|
|
703
832
|
|
|
704
833
|
setDidGetVariableValue(false)
|
|
705
834
|
|
|
@@ -719,7 +848,8 @@ export function createComponent<
|
|
|
719
848
|
isExiting,
|
|
720
849
|
isAnimated,
|
|
721
850
|
willBeAnimated,
|
|
722
|
-
|
|
851
|
+
displayName,
|
|
852
|
+
styledContext: getStyledContextKeys(staticConfig, styledContextValue),
|
|
723
853
|
} as const
|
|
724
854
|
|
|
725
855
|
const themeName = themeState?.name || ''
|
|
@@ -746,6 +876,158 @@ export function createComponent<
|
|
|
746
876
|
|
|
747
877
|
// splitStyles === null === passThrough
|
|
748
878
|
|
|
879
|
+
// native fast path (experimental, plans/native-fast-path.md): eligible
|
|
880
|
+
// leaves commit theme-driven style updates straight to the native tree
|
|
881
|
+
// and skip the re-render. eligibility is re-evaluated every render; the
|
|
882
|
+
// pushed-state cache resets every render so no native state entry can
|
|
883
|
+
// outlive the props/state that produced it. repeated toggles between
|
|
884
|
+
// already-pushed themes are pure native (no style computation at all).
|
|
885
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
886
|
+
const nativeEngine = getNativeStyleEngine()
|
|
887
|
+
const canNativeUpdate =
|
|
888
|
+
!!nativeEngine &&
|
|
889
|
+
!isPassthrough &&
|
|
890
|
+
!isHOC &&
|
|
891
|
+
!willBeAnimated &&
|
|
892
|
+
!groupName &&
|
|
893
|
+
!props.disableNativeStyle
|
|
894
|
+
stateRef.current.nativePushedStates = canNativeUpdate ? new Set() : undefined
|
|
895
|
+
// fresh render: the themeState captured below is current again, and the
|
|
896
|
+
// render itself commits this state's styles
|
|
897
|
+
stateRef.current.nativeThemeState = undefined
|
|
898
|
+
stateRef.current.nativeActiveState = canNativeUpdate ? themeState?.name : undefined
|
|
899
|
+
|
|
900
|
+
// push one state's full computed style. keys pushed earlier but absent
|
|
901
|
+
// from this style commit as null — reset-to-default, exactly what a real
|
|
902
|
+
// re-render's style diff does when a key disappears (media flip dropping
|
|
903
|
+
// a $sm style, a removed prop) — and the engine unsticks them from
|
|
904
|
+
// nativeProps_DEPRECATED so future React renders can set them again.
|
|
905
|
+
// nulled keys stay in nativePushedKeys: engine state tables retain them,
|
|
906
|
+
// so every later cold push must keep nulling until a value returns.
|
|
907
|
+
const pushViewState = canNativeUpdate
|
|
908
|
+
? (stateName: string, style: Record<string, unknown>) => {
|
|
909
|
+
const sr = stateRef.current
|
|
910
|
+
const outProps = nativeEngine.processStyleColors(style)
|
|
911
|
+
if (sr.nativePushedKeys) {
|
|
912
|
+
for (const key of sr.nativePushedKeys) {
|
|
913
|
+
if (!(key in style)) outProps[key] = null
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
const keys = (sr.nativePushedKeys ||= new Set())
|
|
917
|
+
for (const key in outProps) keys.add(key)
|
|
918
|
+
sr.nativePushedStates!.add(stateName)
|
|
919
|
+
queueNativeViewState({
|
|
920
|
+
id: sr.nativeLink!.id,
|
|
921
|
+
state: stateName,
|
|
922
|
+
props: outProps,
|
|
923
|
+
})
|
|
924
|
+
}
|
|
925
|
+
: undefined
|
|
926
|
+
|
|
927
|
+
stateRef.current.nativeStyleUpdate = canNativeUpdate
|
|
928
|
+
? (nextTheme) => {
|
|
929
|
+
const sr = stateRef.current
|
|
930
|
+
if (!sr.nativeLink || !nextTheme.theme) return false
|
|
931
|
+
sr.nativeThemeState = nextTheme
|
|
932
|
+
|
|
933
|
+
const stateName = nextTheme.name
|
|
934
|
+
// a cascade that resolves to the already-committed state (a
|
|
935
|
+
// pinned sub-theme under a toggling outer theme) changes nothing:
|
|
936
|
+
// a real re-render would commit identical styles, so skip both
|
|
937
|
+
// the push and the re-render
|
|
938
|
+
if (stateName === sr.nativeActiveState) return true
|
|
939
|
+
sr.nativeActiveState = stateName
|
|
940
|
+
|
|
941
|
+
if (sr.nativePushedStates!.has(stateName)) {
|
|
942
|
+
queueNativeViewState({ id: sr.nativeLink.id, state: stateName })
|
|
943
|
+
return true
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
const proxiedTheme = getThemeProxied(
|
|
947
|
+
themeStateProps,
|
|
948
|
+
nextTheme,
|
|
949
|
+
{ current: null },
|
|
950
|
+
{ current: null }
|
|
951
|
+
)
|
|
952
|
+
const nextStyles = getSplitStyles(
|
|
953
|
+
props,
|
|
954
|
+
staticConfig,
|
|
955
|
+
proxiedTheme,
|
|
956
|
+
stateName,
|
|
957
|
+
state,
|
|
958
|
+
// media may have changed since render: the captured
|
|
959
|
+
// styleProps.mediaState is a mount-time snapshot in
|
|
960
|
+
// first-render mode, so resolve against the live global
|
|
961
|
+
{ ...styleProps, mediaState: getMedia() },
|
|
962
|
+
null,
|
|
963
|
+
componentContext,
|
|
964
|
+
allGroupContexts,
|
|
965
|
+
elementType,
|
|
966
|
+
startedUnhydrated,
|
|
967
|
+
debugProp,
|
|
968
|
+
animationDriver
|
|
969
|
+
)
|
|
970
|
+
if (!nextStyles?.style) return false
|
|
971
|
+
|
|
972
|
+
pushViewState!(stateName, nextStyles.style as Record<string, unknown>)
|
|
973
|
+
return true
|
|
974
|
+
}
|
|
975
|
+
: undefined
|
|
976
|
+
|
|
977
|
+
// a relevant media key flipped: every cached state entry was computed
|
|
978
|
+
// under the old media state, so the warm cache clears and the current
|
|
979
|
+
// theme recomputes cold (against the live global media, see above).
|
|
980
|
+
// one dimension change fires one update per configured media key and in
|
|
981
|
+
// first-render mode every subscriber passes the snapshot check each
|
|
982
|
+
// time, so coalesce to a single recompute per event turn — by which
|
|
983
|
+
// point every key has settled
|
|
984
|
+
stateRef.current.nativeMediaUpdate = canNativeUpdate
|
|
985
|
+
? (onMiss) => {
|
|
986
|
+
const sr = stateRef.current
|
|
987
|
+
if (!sr.nativeLink) return false
|
|
988
|
+
if (!sr.nativeMediaQueued) {
|
|
989
|
+
sr.nativeMediaQueued = true
|
|
990
|
+
queueMicrotask(() => {
|
|
991
|
+
sr.nativeMediaQueued = false
|
|
992
|
+
if (!sr.nativeLink) return
|
|
993
|
+
sr.nativePushedStates!.clear()
|
|
994
|
+
// the same state name must recompute under the new media values
|
|
995
|
+
sr.nativeActiveState = undefined
|
|
996
|
+
if (!sr.nativeStyleUpdate!(sr.nativeThemeState || themeState)) {
|
|
997
|
+
// couldn't commit natively after all: fall back to the
|
|
998
|
+
// re-render this update path had skipped
|
|
999
|
+
onMiss?.()
|
|
1000
|
+
}
|
|
1001
|
+
})
|
|
1002
|
+
}
|
|
1003
|
+
return true
|
|
1004
|
+
}
|
|
1005
|
+
: undefined
|
|
1006
|
+
|
|
1007
|
+
// a real render supersedes everything pushed since: its style is the
|
|
1008
|
+
// truth React commits, and RN's nativeProps_DEPRECATED merge refreshes
|
|
1009
|
+
// shared keys from it. the one hazard is a previously-pushed key this
|
|
1010
|
+
// render dropped — RN's merge would resurrect the stale value — so
|
|
1011
|
+
// re-push the fresh style (with nulls for dropped keys) right behind
|
|
1012
|
+
// React's own commit.
|
|
1013
|
+
if (canNativeUpdate && stateRef.current.nativeLink) {
|
|
1014
|
+
const sr = stateRef.current
|
|
1015
|
+
const style = splitStyles.style as Record<string, unknown> | undefined
|
|
1016
|
+
if (style && sr.nativePushedKeys) {
|
|
1017
|
+
let dropped = false
|
|
1018
|
+
for (const key of sr.nativePushedKeys) {
|
|
1019
|
+
if (!(key in style)) {
|
|
1020
|
+
dropped = true
|
|
1021
|
+
break
|
|
1022
|
+
}
|
|
1023
|
+
}
|
|
1024
|
+
if (dropped) {
|
|
1025
|
+
pushViewState!(themeState?.name || '', style)
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
|
|
749
1031
|
// Merge style-resolved context overrides (issues #3670, #3676)
|
|
750
1032
|
// When styles set values that are also context keys (from variants, pseudos, media, etc),
|
|
751
1033
|
// we need to add them to overriddenContextProps so they propagate to children
|
|
@@ -766,7 +1048,9 @@ export function createComponent<
|
|
|
766
1048
|
}
|
|
767
1049
|
}
|
|
768
1050
|
|
|
769
|
-
|
|
1051
|
+
// this component's own entry: same object under every key it provides
|
|
1052
|
+
const groupContext =
|
|
1053
|
+
groupName || isContainer ? allGroupContexts?.[groupName ?? '@'] || null : null
|
|
770
1054
|
|
|
771
1055
|
// one tiny mutation 🙏 get width/height optimistically from raw values if possible
|
|
772
1056
|
// if set hardcoded it avoids extra renders
|
|
@@ -844,14 +1128,10 @@ export function createComponent<
|
|
|
844
1128
|
animationDriver
|
|
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)
|
|
@@ -945,7 +1225,7 @@ export function createComponent<
|
|
|
945
1225
|
debugProp &&
|
|
946
1226
|
debugProp !== 'profile'
|
|
947
1227
|
) {
|
|
948
|
-
console.groupCollapsed(`[⚡️] avoid setState`,
|
|
1228
|
+
console.groupCollapsed(`[⚡️] avoid setState`, displayName, next, {
|
|
949
1229
|
updatedState,
|
|
950
1230
|
props,
|
|
951
1231
|
})
|
|
@@ -985,10 +1265,6 @@ export function createComponent<
|
|
|
985
1265
|
splitStyles.style = splitStyles.style || {}
|
|
986
1266
|
splitStyles.style.opacity = 0
|
|
987
1267
|
}
|
|
988
|
-
|
|
989
|
-
if (splitStyles.dynamicThemeAccess != null) {
|
|
990
|
-
stateRef.current.isListeningToTheme = splitStyles.dynamicThemeAccess
|
|
991
|
-
}
|
|
992
1268
|
}
|
|
993
1269
|
|
|
994
1270
|
// only listen for changes if we are using raw theme values or media space, or dynamic media (native)
|
|
@@ -1006,11 +1282,15 @@ export function createComponent<
|
|
|
1006
1282
|
console.info(`useMedia() createComponent`, shouldListenForMedia, mediaListeningKeys)
|
|
1007
1283
|
}
|
|
1008
1284
|
|
|
1009
|
-
setMediaShouldUpdate(
|
|
1285
|
+
setMediaShouldUpdate(
|
|
1286
|
+
stateRef.current,
|
|
1287
|
+
shouldListenForMedia,
|
|
1288
|
+
mediaListeningKeys,
|
|
1289
|
+
stateRef.current.optimizeForFirstRender
|
|
1290
|
+
)
|
|
1010
1291
|
|
|
1011
1292
|
const {
|
|
1012
1293
|
viewProps: viewPropsIn,
|
|
1013
|
-
pseudos,
|
|
1014
1294
|
style: splitStylesStyle,
|
|
1015
1295
|
classNames,
|
|
1016
1296
|
pseudoGroups,
|
|
@@ -1036,7 +1316,7 @@ export function createComponent<
|
|
|
1036
1316
|
onMouseLeave,
|
|
1037
1317
|
onFocus,
|
|
1038
1318
|
onBlur,
|
|
1039
|
-
|
|
1319
|
+
onTransition,
|
|
1040
1320
|
separator,
|
|
1041
1321
|
// ignore from here on out
|
|
1042
1322
|
passThrough,
|
|
@@ -1062,6 +1342,23 @@ export function createComponent<
|
|
|
1062
1342
|
if (typeof passThrough !== 'undefined') {
|
|
1063
1343
|
viewProps.passThrough = passThrough
|
|
1064
1344
|
}
|
|
1345
|
+
// an HOC only wraps another component - its inner render produces the real
|
|
1346
|
+
// styled frame that owns behavior (press handlers, aria/data-state). forward
|
|
1347
|
+
// asChild to that inner frame so IT becomes the slot boundary, instead of the
|
|
1348
|
+
// wrapper consuming asChild here and forwarding only its own (often
|
|
1349
|
+
// behavior-less) props. fixes asChild items whose interaction is injected
|
|
1350
|
+
// below the wrapper (e.g. ToggleGroup.Item asChild -> XGroup.Item -> Button).
|
|
1351
|
+
if (typeof asChild !== 'undefined') {
|
|
1352
|
+
viewProps.asChild = asChild
|
|
1353
|
+
}
|
|
1354
|
+
// an HOC layer doesn't animate itself (shouldUseAnimation is false for
|
|
1355
|
+
// isHOC); forward the animation lifecycle callback to the inner component
|
|
1356
|
+
// that does, so a user onTransition on a styled/HOC-wrapped animated
|
|
1357
|
+
// component (e.g. a skinned Dialog.Content) still reaches the driver and
|
|
1358
|
+
// composes with the component's own onTransition.
|
|
1359
|
+
if (typeof onTransition !== 'undefined') {
|
|
1360
|
+
viewProps.onTransition = onTransition
|
|
1361
|
+
}
|
|
1065
1362
|
}
|
|
1066
1363
|
|
|
1067
1364
|
// once you set animation prop don't remove it, you can set to undefined/false
|
|
@@ -1082,15 +1379,10 @@ export function createComponent<
|
|
|
1082
1379
|
}
|
|
1083
1380
|
: undefined
|
|
1084
1381
|
|
|
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
|
-
)
|
|
1382
|
+
const effectiveTransition =
|
|
1383
|
+
splitStyles?.effectiveTransition ??
|
|
1384
|
+
props.transition ??
|
|
1385
|
+
(platformPseudo ? '0ms' : undefined)
|
|
1094
1386
|
|
|
1095
1387
|
// add effectiveTransition to splitStyles for drivers to consume
|
|
1096
1388
|
if (splitStyles) {
|
|
@@ -1106,7 +1398,6 @@ export function createComponent<
|
|
|
1106
1398
|
// clone style to prevent animation driver mutations from leaking to viewProps
|
|
1107
1399
|
// during SSR/pre-hydration (CSS driver mutates style.transition in place)
|
|
1108
1400
|
style: isHydrated ? splitStylesStyle || {} : { ...splitStylesStyle },
|
|
1109
|
-
// @ts-ignore
|
|
1110
1401
|
styleState: splitStyles,
|
|
1111
1402
|
useStyleEmitter,
|
|
1112
1403
|
presence,
|
|
@@ -1114,10 +1405,9 @@ export function createComponent<
|
|
|
1114
1405
|
styleProps,
|
|
1115
1406
|
theme,
|
|
1116
1407
|
themeName,
|
|
1117
|
-
pseudos: pseudos || null,
|
|
1118
1408
|
staticConfig,
|
|
1119
1409
|
stateRef,
|
|
1120
|
-
|
|
1410
|
+
onTransition,
|
|
1121
1411
|
})
|
|
1122
1412
|
|
|
1123
1413
|
if (animations) {
|
|
@@ -1138,9 +1428,13 @@ export function createComponent<
|
|
|
1138
1428
|
if (process.env.NODE_ENV === 'development' && time) time`animations`
|
|
1139
1429
|
}
|
|
1140
1430
|
|
|
1431
|
+
if (isWeb && isExiting) {
|
|
1432
|
+
viewProps.className = `t_exiting ${viewProps.className || ''}`
|
|
1433
|
+
}
|
|
1434
|
+
|
|
1141
1435
|
if (process.env.NODE_ENV === 'development' && props.untilMeasured && !props.group) {
|
|
1142
1436
|
console.warn(
|
|
1143
|
-
`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use
|
|
1437
|
+
`You set the untilMeasured prop without setting group. This doesn't work, be sure to set untilMeasured on the parent that sets group, not the children that use a group clause.\n\nIf you meant to do this, you can disable this warning - either change untilMeasured and group at the same time, or do group={conditional ? 'name' : undefined}`
|
|
1144
1438
|
)
|
|
1145
1439
|
}
|
|
1146
1440
|
|
|
@@ -1180,7 +1474,12 @@ export function createComponent<
|
|
|
1180
1474
|
|
|
1181
1475
|
if (!stateRef.current.composedRef) {
|
|
1182
1476
|
stateRef.current.composedRef = composeRefs<TamaguiElement>(
|
|
1183
|
-
(x) =>
|
|
1477
|
+
(x) => {
|
|
1478
|
+
stateRef.current.host = x as TamaguiElement
|
|
1479
|
+
if (process.env.TAMAGUI_TARGET === 'native') {
|
|
1480
|
+
updateNativeStyleLink(stateRef.current, x)
|
|
1481
|
+
}
|
|
1482
|
+
},
|
|
1184
1483
|
forwardedRef,
|
|
1185
1484
|
setElementProps,
|
|
1186
1485
|
animatedRef
|
|
@@ -1189,6 +1488,17 @@ export function createComponent<
|
|
|
1189
1488
|
|
|
1190
1489
|
viewProps.ref = stateRef.current.composedRef
|
|
1191
1490
|
|
|
1491
|
+
if (
|
|
1492
|
+
process.env.TAMAGUI_TARGET === 'native' &&
|
|
1493
|
+
onClick !== undefined &&
|
|
1494
|
+
staticConfig.neverSkipProps?.onClick
|
|
1495
|
+
) {
|
|
1496
|
+
// native has no click of its own: a component that declares onClick as its
|
|
1497
|
+
// own prop (the DOM primitives, which build the payload from a press)
|
|
1498
|
+
// receives it untouched, rather than through the web press path below
|
|
1499
|
+
viewProps.onClick = onClick
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1192
1502
|
// handle pointer events (native: maps to touch events, web: no-op)
|
|
1193
1503
|
usePointerEvents(props, viewProps)
|
|
1194
1504
|
|
|
@@ -1198,7 +1508,7 @@ export function createComponent<
|
|
|
1198
1508
|
// allow newlines because why not its annoying with mdx
|
|
1199
1509
|
if (typeof item === 'string' && item !== '\n') {
|
|
1200
1510
|
console.error(
|
|
1201
|
-
`Unexpected text node: ${item}. A text node cannot be a child of a <${
|
|
1511
|
+
`Unexpected text node: ${item}. A text node cannot be a child of a <${displayName || propsIn.tag || 'View'}>.`,
|
|
1202
1512
|
props
|
|
1203
1513
|
)
|
|
1204
1514
|
}
|
|
@@ -1237,7 +1547,7 @@ export function createComponent<
|
|
|
1237
1547
|
}
|
|
1238
1548
|
|
|
1239
1549
|
// Animation enter state machine: true -> 'should-enter' -> false
|
|
1240
|
-
// Stage 1: Set 'should-enter' synchronously before paint to apply
|
|
1550
|
+
// Stage 1: Set 'should-enter' synchronously before paint to apply enter clauses
|
|
1241
1551
|
// Stage 2: After browser paint, set false to trigger CSS transition
|
|
1242
1552
|
//
|
|
1243
1553
|
// CRITICAL: useEffect does NOT guarantee post-paint execution!
|
|
@@ -1251,7 +1561,7 @@ export function createComponent<
|
|
|
1251
1561
|
}
|
|
1252
1562
|
|
|
1253
1563
|
if (state.unmounted) {
|
|
1254
|
-
// For CSS transitions,
|
|
1564
|
+
// For CSS transitions, the browser must paint enter clauses before removing them.
|
|
1255
1565
|
// Double RAF guarantees paint: first RAF schedules after current frame,
|
|
1256
1566
|
// second RAF schedules after that frame completes (including paint).
|
|
1257
1567
|
if (inputStyle === 'css') {
|
|
@@ -1270,27 +1580,54 @@ export function createComponent<
|
|
|
1270
1580
|
// Non-CSS drivers handle their own animation timing
|
|
1271
1581
|
setStateShallow({ unmounted: false })
|
|
1272
1582
|
}
|
|
1583
|
+
}, [state.unmounted, inputStyle])
|
|
1273
1584
|
|
|
1585
|
+
// unmount-only cleanup. this must NOT live on the enter effect above: that
|
|
1586
|
+
// effect re-runs on every unmounted transition (true -> 'should-enter' ->
|
|
1587
|
+
// false), and a cleanup returned there ran mid-lifecycle — dropping the
|
|
1588
|
+
// mediaEmit listener right after mount for value-input avoidReRenders
|
|
1589
|
+
// drivers, with no re-registration (render only registers while
|
|
1590
|
+
// mediaEmitCleanup is unset), so media styles silently stopped applying
|
|
1591
|
+
useIsomorphicLayoutEffect(() => {
|
|
1274
1592
|
return () => {
|
|
1275
1593
|
componentSetStates.delete(setState)
|
|
1276
1594
|
stateRef.current.mediaEmitCleanup?.()
|
|
1595
|
+
// clear so a render after a simulated unmount (StrictMode dev) can re-register
|
|
1596
|
+
stateRef.current.mediaEmitCleanup = undefined
|
|
1277
1597
|
}
|
|
1278
|
-
}, [
|
|
1598
|
+
}, [])
|
|
1279
1599
|
|
|
1280
1600
|
useIsomorphicLayoutEffect(() => {
|
|
1281
|
-
|
|
1601
|
+
let disposeSafeArea: (() => void) | undefined
|
|
1602
|
+
if (splitStyles?.usesSafeArea) {
|
|
1603
|
+
const updateSafeArea = () => {
|
|
1604
|
+
setState((previous) => ({ ...previous }))
|
|
1605
|
+
}
|
|
1606
|
+
disposeSafeArea = subscribeToSafeArea(updateSafeArea)
|
|
1607
|
+
// close the render-to-subscribe race: the provider tracker may have
|
|
1608
|
+
// published new insets after this component evaluated its styles.
|
|
1609
|
+
updateSafeArea()
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
if (disabled) return disposeSafeArea
|
|
1282
1613
|
|
|
1283
|
-
if (!pseudoGroups && !mediaGroups) return
|
|
1284
|
-
if (!allGroupContexts) return
|
|
1285
|
-
|
|
1614
|
+
if (!pseudoGroups && !mediaGroups) return disposeSafeArea
|
|
1615
|
+
if (!allGroupContexts) return disposeSafeArea
|
|
1616
|
+
const disposeGroup = subscribeToContextGroup({
|
|
1286
1617
|
groupContext: allGroupContexts,
|
|
1287
1618
|
setStateShallow,
|
|
1288
1619
|
mediaGroups,
|
|
1289
1620
|
pseudoGroups,
|
|
1290
1621
|
})
|
|
1622
|
+
if (!disposeSafeArea) return disposeGroup
|
|
1623
|
+
return () => {
|
|
1624
|
+
disposeSafeArea()
|
|
1625
|
+
disposeGroup?.()
|
|
1626
|
+
}
|
|
1291
1627
|
}, [
|
|
1292
1628
|
allGroupContexts,
|
|
1293
1629
|
disabled,
|
|
1630
|
+
splitStyles?.usesSafeArea,
|
|
1294
1631
|
pseudoGroups ? objectIdentityKey(pseudoGroups) : 0,
|
|
1295
1632
|
mediaGroups ? objectIdentityKey(mediaGroups) : 0,
|
|
1296
1633
|
])
|
|
@@ -1304,9 +1641,14 @@ export function createComponent<
|
|
|
1304
1641
|
|
|
1305
1642
|
// if its a group its gotta listen for pseudos to emit them to children
|
|
1306
1643
|
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
const
|
|
1644
|
+
// native flat-value clauses surface the interaction states they reference
|
|
1645
|
+
// so the component attaches the matching events.
|
|
1646
|
+
const conditionalStates = !disabled ? splitStyles?.programStates : undefined
|
|
1647
|
+
|
|
1648
|
+
const runtimePressStyle =
|
|
1649
|
+
!disabled && (conditionalStates?.has('press') || conditionalStates?.has('active'))
|
|
1650
|
+
const runtimeFocusStyle = !disabled && conditionalStates?.has('focus')
|
|
1651
|
+
const runtimeFocusVisibleStyle = !disabled && conditionalStates?.has('focus-visible')
|
|
1310
1652
|
|
|
1311
1653
|
const attachFocus = Boolean(
|
|
1312
1654
|
runtimePressStyle ||
|
|
@@ -1328,11 +1670,11 @@ export function createComponent<
|
|
|
1328
1670
|
onMouseDown ||
|
|
1329
1671
|
onMouseUp ||
|
|
1330
1672
|
onLongPress ||
|
|
1331
|
-
onClick
|
|
1332
|
-
|
|
1673
|
+
// only web routes onClick through the press path (see onPress below)
|
|
1674
|
+
(process.env.TAMAGUI_TARGET === 'web' && onClick)
|
|
1333
1675
|
)
|
|
1334
1676
|
|
|
1335
|
-
const runtimeHoverStyle = !disabled &&
|
|
1677
|
+
const runtimeHoverStyle = !disabled && conditionalStates?.has('hover')
|
|
1336
1678
|
// with a platform pseudo driver the hover STATE is driver-sourced; only keep
|
|
1337
1679
|
// the JS hover listeners when something else needs them (dynamic group
|
|
1338
1680
|
// children, or the user's own onMouseEnter/Leave handlers below).
|
|
@@ -1372,7 +1714,6 @@ export function createComponent<
|
|
|
1372
1714
|
attachHover,
|
|
1373
1715
|
shouldAttach,
|
|
1374
1716
|
needsHoverState,
|
|
1375
|
-
pseudos,
|
|
1376
1717
|
})
|
|
1377
1718
|
}
|
|
1378
1719
|
|
|
@@ -1439,7 +1780,7 @@ export function createComponent<
|
|
|
1439
1780
|
// @ts-ignore
|
|
1440
1781
|
onClick?.(e)
|
|
1441
1782
|
// matches RN pressable behavior - only when an explicit press
|
|
1442
|
-
// handler is set, so
|
|
1783
|
+
// handler is set, so a press clause alone doesn't swallow clicks
|
|
1443
1784
|
if (onPress || onClick) {
|
|
1444
1785
|
e.stopPropagation()
|
|
1445
1786
|
}
|
|
@@ -1465,7 +1806,7 @@ export function createComponent<
|
|
|
1465
1806
|
componentContext.setParentFocusState({ focusWithin: true })
|
|
1466
1807
|
next.focusWithin = true
|
|
1467
1808
|
}
|
|
1468
|
-
if (
|
|
1809
|
+
if (conditionalStates?.has('focus-visible')) {
|
|
1469
1810
|
if (lastInteractionWasKeyboard.value) {
|
|
1470
1811
|
next.focusVisible = true
|
|
1471
1812
|
} else {
|
|
@@ -1501,7 +1842,6 @@ export function createComponent<
|
|
|
1501
1842
|
delayLongPress: viewProps.delayLongPress,
|
|
1502
1843
|
delayPressIn: viewProps.delayPressIn,
|
|
1503
1844
|
delayPressOut: viewProps.delayPressOut,
|
|
1504
|
-
focusable: viewProps.focusable ?? true,
|
|
1505
1845
|
minPressDuration: 0,
|
|
1506
1846
|
})
|
|
1507
1847
|
}
|
|
@@ -1528,12 +1868,12 @@ export function createComponent<
|
|
|
1528
1868
|
(typeof propsInWithHref.href === 'string' ? propsInWithHref.href : null)
|
|
1529
1869
|
|
|
1530
1870
|
const pressDebugName =
|
|
1531
|
-
[
|
|
1871
|
+
[displayName, pressDebugDetail].filter(Boolean).join(':') || null
|
|
1532
1872
|
|
|
1533
1873
|
// EVENTS native - handles focus/blur, input special cases, and RNGH press handling
|
|
1534
1874
|
// Skip gesture setup for HOC components - they may return null which crashes GestureDetector
|
|
1535
1875
|
// hasRealPressEvents distinguishes user-provided handlers from events.onPress
|
|
1536
|
-
// synthesized for
|
|
1876
|
+
// synthesized for press clauses alone — only the former should claim the responder.
|
|
1537
1877
|
const hasRealPressEvents = !!(onPress || onPressIn || onPressOut || onLongPress)
|
|
1538
1878
|
const pressGesture =
|
|
1539
1879
|
process.env.TAMAGUI_TARGET === 'native'
|
|
@@ -1551,7 +1891,7 @@ export function createComponent<
|
|
|
1551
1891
|
|
|
1552
1892
|
if (process.env.NODE_ENV === 'development' && time) time`hooks`
|
|
1553
1893
|
|
|
1554
|
-
if (asChild) {
|
|
1894
|
+
if (asChild && !isHOC) {
|
|
1555
1895
|
elementType = Slot
|
|
1556
1896
|
// on native this is already merged into viewProps in useEvents
|
|
1557
1897
|
if (process.env.TAMAGUI_TARGET === 'web') {
|
|
@@ -1579,6 +1919,14 @@ export function createComponent<
|
|
|
1579
1919
|
|
|
1580
1920
|
let content: ReactNode | undefined
|
|
1581
1921
|
|
|
1922
|
+
// ONLY native: useChildren reads TextAncestor context (a hook), so it must
|
|
1923
|
+
// run on every render — passthrough included — or toggling passThrough
|
|
1924
|
+
// (Adapt/Popover flip it per breakpoint) would change the hook count
|
|
1925
|
+
// mid-lifecycle. it returns undefined for passthrough.
|
|
1926
|
+
const childrenFromHooks = hooks.useChildren
|
|
1927
|
+
? hooks.useChildren(elementType, children, viewProps, isPassthrough)
|
|
1928
|
+
: undefined
|
|
1929
|
+
|
|
1582
1930
|
if (isPassthrough) {
|
|
1583
1931
|
// avoid re-parenting but avoid layout changes
|
|
1584
1932
|
content = React.createElement(
|
|
@@ -1592,9 +1940,8 @@ export function createComponent<
|
|
|
1592
1940
|
)
|
|
1593
1941
|
} else {
|
|
1594
1942
|
// here elementType is either the custom animated driver view, or base view
|
|
1595
|
-
if (
|
|
1596
|
-
|
|
1597
|
-
content = hooks.useChildren(elementType, content || children, viewProps)
|
|
1943
|
+
if (childrenFromHooks) {
|
|
1944
|
+
content = childrenFromHooks
|
|
1598
1945
|
}
|
|
1599
1946
|
|
|
1600
1947
|
const isRenderPropString = typeof renderProp === 'string'
|
|
@@ -1610,14 +1957,28 @@ export function createComponent<
|
|
|
1610
1957
|
)
|
|
1611
1958
|
if (out) {
|
|
1612
1959
|
viewProps = out.viewProps
|
|
1613
|
-
|
|
1960
|
+
if (
|
|
1961
|
+
isAnimatedCustomComponent &&
|
|
1962
|
+
(elementType as any)['acceptRenderProp'] &&
|
|
1963
|
+
typeof out.elementType === 'string'
|
|
1964
|
+
) {
|
|
1965
|
+
// an animated driver view is active and owns the (possibly array)
|
|
1966
|
+
// style; forward the render tag so the view renders the element
|
|
1967
|
+
// itself (see acceptRenderProp) instead of us swapping in a raw DOM
|
|
1968
|
+
// tag, which would leak the animated style array onto a plain element
|
|
1969
|
+
// (React DOM throws setting an array on a CSSStyleDeclaration).
|
|
1970
|
+
viewProps.render = out.elementType
|
|
1971
|
+
} else {
|
|
1972
|
+
elementType = out.elementType
|
|
1973
|
+
}
|
|
1614
1974
|
}
|
|
1615
1975
|
}
|
|
1616
1976
|
|
|
1617
1977
|
if (!content) {
|
|
1618
|
-
// web-only,
|
|
1619
|
-
|
|
1620
|
-
|
|
1978
|
+
// web-only, forward render string to custom animated driver components
|
|
1979
|
+
// (they render the tag themselves, see acceptRenderProp in drivers)
|
|
1980
|
+
if (isRenderPropString && elementType['acceptRenderProp']) {
|
|
1981
|
+
viewProps.render = renderProp
|
|
1621
1982
|
}
|
|
1622
1983
|
|
|
1623
1984
|
content = React.createElement(elementType, viewProps, content || children)
|
|
@@ -1642,7 +2003,9 @@ export function createComponent<
|
|
|
1642
2003
|
|
|
1643
2004
|
// needs to reset the presence state for nested children
|
|
1644
2005
|
// Use the resolved animationDriver (handles multi-driver config)
|
|
1645
|
-
const ResetPresence = animationDriver?.
|
|
2006
|
+
const ResetPresence = animationDriver?.isStub
|
|
2007
|
+
? undefined
|
|
2008
|
+
: animationDriver?.ResetPresence
|
|
1646
2009
|
const needsReset = Boolean(
|
|
1647
2010
|
// not when passing down to child
|
|
1648
2011
|
!asChild &&
|
|
@@ -1666,7 +2029,7 @@ export function createComponent<
|
|
|
1666
2029
|
|
|
1667
2030
|
if (process.env.NODE_ENV === 'development' && time) time`create-element`
|
|
1668
2031
|
|
|
1669
|
-
if ('
|
|
2032
|
+
if (conditionalStates?.has('focus-within')) {
|
|
1670
2033
|
content = (
|
|
1671
2034
|
<ComponentContext.Provider
|
|
1672
2035
|
{...componentContext}
|
|
@@ -1677,7 +2040,12 @@ export function createComponent<
|
|
|
1677
2040
|
)
|
|
1678
2041
|
}
|
|
1679
2042
|
|
|
1680
|
-
|
|
2043
|
+
// containers provide the same context channel groups do: a container-only
|
|
2044
|
+
// parent (`container`, `containerName`, `containerType`) must mount the
|
|
2045
|
+
// provider or its descendants' `@size:` clauses can never subscribe —
|
|
2046
|
+
// the context entry existed but was never provided (found 2026-07-31 by
|
|
2047
|
+
// real parent/descendant integration; injected-context tests masked it)
|
|
2048
|
+
if ('group' in props || isContainer) {
|
|
1681
2049
|
content = (
|
|
1682
2050
|
<GroupContext.Provider value={allGroupContexts}>{content}</GroupContext.Provider>
|
|
1683
2051
|
)
|
|
@@ -1780,7 +2148,6 @@ export function createComponent<
|
|
|
1780
2148
|
hasRuntimeMediaKeys,
|
|
1781
2149
|
isStringElement,
|
|
1782
2150
|
mediaListeningKeys,
|
|
1783
|
-
pseudos,
|
|
1784
2151
|
shouldAttach,
|
|
1785
2152
|
noClass,
|
|
1786
2153
|
shouldListenForMedia,
|
|
@@ -1802,9 +2169,6 @@ export function createComponent<
|
|
|
1802
2169
|
console.groupEnd()
|
|
1803
2170
|
}
|
|
1804
2171
|
}
|
|
1805
|
-
if (debugProp === 'break') {
|
|
1806
|
-
// debugger intentionally here for debugging
|
|
1807
|
-
}
|
|
1808
2172
|
}
|
|
1809
2173
|
}
|
|
1810
2174
|
|
|
@@ -1821,7 +2185,7 @@ export function createComponent<
|
|
|
1821
2185
|
}
|
|
1822
2186
|
|
|
1823
2187
|
return content
|
|
1824
|
-
}
|
|
2188
|
+
}
|
|
1825
2189
|
|
|
1826
2190
|
function notifyGroupSubscribers(
|
|
1827
2191
|
groupContext: SingleGroupContext | null,
|
|
@@ -1865,19 +2229,7 @@ export function createComponent<
|
|
|
1865
2229
|
|
|
1866
2230
|
// let hasLogged = false
|
|
1867
2231
|
|
|
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
|
|
2232
|
+
res = component as any
|
|
1881
2233
|
|
|
1882
2234
|
// we now have avoid re-renders in many more cases so imo this is way more worth it
|
|
1883
2235
|
// Text/Button/string taking components
|
|
@@ -1886,36 +2238,6 @@ export function createComponent<
|
|
|
1886
2238
|
|
|
1887
2239
|
res.staticConfig = staticConfig
|
|
1888
2240
|
|
|
1889
|
-
function extendStyledConfig(extended?: Partial<StaticConfig>) {
|
|
1890
|
-
return {
|
|
1891
|
-
...staticConfig,
|
|
1892
|
-
...extended,
|
|
1893
|
-
neverFlatten: true,
|
|
1894
|
-
isHOC: true,
|
|
1895
|
-
isStyledHOC: false,
|
|
1896
|
-
}
|
|
1897
|
-
}
|
|
1898
|
-
|
|
1899
|
-
function styleable(Component: any, options?: StyleableOptions) {
|
|
1900
|
-
const skipForwardRef = typeof Component === 'function' && Component.length === 1
|
|
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
|
|
1915
|
-
}
|
|
1916
|
-
|
|
1917
|
-
res.styleable = styleable
|
|
1918
|
-
|
|
1919
2241
|
return res
|
|
1920
2242
|
}
|
|
1921
2243
|
|