@tamagui/web 2.7.7 → 3.0.0-beta.1093.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Tamagui.cjs +44 -53
- package/dist/cjs/Tamagui.native.cjs +123 -0
- package/dist/cjs/Tamagui.native.js +93 -96
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withNativeStyle.cjs +80 -0
- package/dist/cjs/_withNativeStyle.native.cjs +85 -0
- package/dist/cjs/_withNativeStyle.native.js +87 -0
- package/dist/cjs/_withNativeStyle.native.js.map +1 -0
- package/dist/cjs/_withStableStyle.cjs +58 -54
- package/dist/cjs/_withStableStyle.native.cjs +88 -0
- package/dist/cjs/_withStableStyle.native.js +65 -57
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/config.cjs +126 -133
- package/dist/cjs/config.native.cjs +199 -0
- package/dist/cjs/config.native.js +163 -173
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +17 -19
- package/dist/cjs/constants/constants.native.cjs +40 -0
- package/dist/cjs/constants/constants.native.js +17 -18
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.cjs +20 -24
- package/dist/cjs/constants/isDevTools.native.cjs +33 -0
- package/dist/cjs/constants/isDevTools.native.js +22 -25
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.cjs +31 -25
- package/dist/cjs/contexts/ComponentContext.native.cjs +49 -0
- package/dist/cjs/contexts/ComponentContext.native.js +32 -25
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
- package/dist/cjs/contexts/GroupContext.cjs +14 -18
- package/dist/cjs/contexts/GroupContext.native.cjs +27 -0
- package/dist/cjs/contexts/GroupContext.native.js +15 -18
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +1002 -1022
- package/dist/cjs/createComponent.native.cjs +1164 -0
- package/dist/cjs/createComponent.native.js +1099 -1001
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createFont.cjs +40 -36
- package/dist/cjs/createFont.native.cjs +56 -0
- package/dist/cjs/createFont.native.js +43 -38
- package/dist/cjs/createFont.native.js.map +1 -1
- package/dist/cjs/createShorthands.cjs +15 -19
- package/dist/cjs/createShorthands.native.cjs +28 -0
- package/dist/cjs/createShorthands.native.js +15 -18
- package/dist/cjs/createShorthands.native.js.map +1 -1
- package/dist/cjs/createStyledHOC.cjs +104 -0
- package/dist/cjs/createStyledHOC.native.cjs +107 -0
- package/dist/cjs/createStyledHOC.native.js +109 -0
- package/dist/cjs/createStyledHOC.native.js.map +1 -0
- package/dist/cjs/createTamagui.cjs +287 -224
- package/dist/cjs/createTamagui.native.cjs +354 -0
- package/dist/cjs/createTamagui.native.js +321 -272
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +27 -19
- package/dist/cjs/createTokens.native.cjs +42 -0
- package/dist/cjs/createTokens.native.js +28 -19
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +85 -90
- package/dist/cjs/createVariable.native.cjs +130 -0
- package/dist/cjs/createVariable.native.js +97 -106
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/createVariables.cjs +49 -60
- package/dist/cjs/createVariables.native.cjs +66 -0
- package/dist/cjs/createVariables.native.js +51 -66
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/defaultComponentState.cjs +28 -30
- package/dist/cjs/defaultComponentState.native.cjs +47 -0
- package/dist/cjs/defaultComponentState.native.js +28 -29
- package/dist/cjs/defaultComponentState.native.js.map +1 -1
- package/dist/cjs/dom/adapters.cjs +95 -0
- package/dist/cjs/dom/adapters.native.cjs +116 -0
- package/dist/cjs/dom/adapters.native.js +118 -0
- package/dist/cjs/dom/adapters.native.js.map +1 -0
- package/dist/cjs/dom/contract.cjs +16 -0
- package/dist/cjs/dom/contract.native.cjs +18 -0
- package/dist/cjs/dom/contract.native.js +20 -0
- package/dist/cjs/dom/contract.native.js.map +1 -0
- package/dist/cjs/dom/domEventProps.native.cjs +56 -0
- package/dist/cjs/dom/domEventProps.native.js +58 -0
- package/dist/cjs/dom/domEventProps.native.js.map +1 -0
- package/dist/cjs/dom/html.cjs +630 -0
- package/dist/cjs/dom/html.native.cjs +951 -0
- package/dist/cjs/dom/html.native.js +953 -0
- package/dist/cjs/dom/html.native.js.map +1 -0
- package/dist/cjs/dom/htmlRuntime.native.cjs +176 -0
- package/dist/cjs/dom/htmlRuntime.native.js +178 -0
- package/dist/cjs/dom/htmlRuntime.native.js.map +1 -0
- package/dist/cjs/dom/index.cjs +28 -0
- package/dist/cjs/dom/index.native.cjs +41 -0
- package/dist/cjs/dom/index.native.js +43 -0
- package/dist/cjs/dom/index.native.js.map +1 -0
- package/dist/cjs/dom/primitives.native.cjs +642 -0
- package/dist/cjs/dom/primitives.native.js +644 -0
- package/dist/cjs/dom/primitives.native.js.map +1 -0
- package/dist/cjs/dom/standalone.cjs +33 -0
- package/dist/cjs/dom/standalone.native.cjs +39 -0
- package/dist/cjs/dom/standalone.native.js +41 -0
- package/dist/cjs/dom/standalone.native.js.map +1 -0
- package/dist/cjs/dom/standaloneHtml.cjs +75 -0
- package/dist/cjs/dom/standaloneHtml.native.cjs +77 -0
- package/dist/cjs/dom/standaloneHtml.native.js +79 -0
- package/dist/cjs/dom/standaloneHtml.native.js.map +1 -0
- package/dist/cjs/dom/styleTypes.cjs +16 -0
- package/dist/cjs/dom/styleTypes.native.cjs +18 -0
- package/dist/cjs/dom/styleTypes.native.js +20 -0
- package/dist/cjs/dom/styleTypes.native.js.map +1 -0
- package/dist/cjs/eventDetails.cjs +38 -0
- package/dist/cjs/eventDetails.native.cjs +40 -0
- package/dist/cjs/eventDetails.native.js +42 -0
- package/dist/cjs/eventDetails.native.js.map +1 -0
- package/dist/cjs/eventHandling.cjs +29 -31
- package/dist/cjs/eventHandling.native.cjs +191 -0
- package/dist/cjs/eventHandling.native.js +158 -188
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/borderComponents.cjs +62 -0
- package/dist/cjs/helpers/borderComponents.native.cjs +82 -0
- package/dist/cjs/helpers/borderComponents.native.js +84 -0
- package/dist/cjs/helpers/borderComponents.native.js.map +1 -0
- package/dist/cjs/helpers/componentDisplayName.cjs +24 -0
- package/dist/cjs/helpers/componentDisplayName.native.cjs +26 -0
- package/dist/cjs/helpers/componentDisplayName.native.js +28 -0
- package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -0
- package/dist/cjs/helpers/configVariables.cjs +79 -0
- package/dist/cjs/helpers/configVariables.native.cjs +82 -0
- package/dist/cjs/helpers/configVariables.native.js +84 -0
- package/dist/cjs/helpers/configVariables.native.js.map +1 -0
- package/dist/cjs/helpers/consoleLog.native.cjs +30 -0
- package/dist/cjs/helpers/consoleLog.native.js +16 -17
- package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +146 -152
- package/dist/cjs/helpers/createDesignSystem.native.cjs +195 -0
- package/dist/cjs/helpers/createDesignSystem.native.js +167 -205
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.cjs +64 -84
- package/dist/cjs/helpers/createStyledContext.native.cjs +88 -0
- package/dist/cjs/helpers/createStyledContext.native.js +69 -88
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +23 -32
- package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +46 -0
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +32 -48
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/defaultOffset.cjs +16 -20
- package/dist/cjs/helpers/defaultOffset.native.cjs +29 -0
- package/dist/cjs/helpers/defaultOffset.native.js +16 -19
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.cjs +150 -84
- package/dist/cjs/helpers/expandStyle.native.cjs +185 -0
- package/dist/cjs/helpers/expandStyle.native.js +153 -124
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.cjs +21 -25
- package/dist/cjs/helpers/expandStyles.native.cjs +46 -0
- package/dist/cjs/helpers/expandStyles.native.js +28 -31
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/extractPseudoState.cjs +44 -0
- package/dist/cjs/helpers/extractPseudoState.native.cjs +47 -0
- package/dist/cjs/helpers/extractPseudoState.native.js +49 -0
- package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -0
- package/dist/cjs/helpers/fluid.cjs +56 -0
- package/dist/cjs/helpers/fluid.native.cjs +58 -0
- package/dist/cjs/helpers/fluid.native.js +60 -0
- package/dist/cjs/helpers/fluid.native.js.map +1 -0
- package/dist/cjs/helpers/formatDiagnostic.cjs +69 -0
- package/dist/cjs/helpers/formatDiagnostic.native.cjs +74 -0
- package/dist/cjs/helpers/formatDiagnostic.native.js +76 -0
- package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +242 -193
- package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +45 -0
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +29 -20
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.cjs +44 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.cjs +48 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js +50 -0
- package/dist/cjs/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
- package/dist/cjs/helpers/getDynamicVal.cjs +48 -52
- package/dist/cjs/helpers/getDynamicVal.native.cjs +71 -0
- package/dist/cjs/helpers/getDynamicVal.native.js +48 -51
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.cjs +16 -30
- package/dist/cjs/helpers/getExpandedShorthands.native.cjs +31 -0
- package/dist/cjs/helpers/getExpandedShorthands.native.js +17 -30
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/cjs/helpers/getShorthandValue.cjs +16 -20
- package/dist/cjs/helpers/getShorthandValue.native.cjs +32 -0
- package/dist/cjs/helpers/getShorthandValue.native.js +18 -21
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +1623 -919
- package/dist/cjs/helpers/getSplitStyles.native.cjs +1835 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +1800 -948
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +105 -109
- package/dist/cjs/helpers/getThemeCSSRules.native.cjs +28 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js +15 -18
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/cjs/helpers/grammarConfig.cjs +276 -0
- package/dist/cjs/helpers/grammarConfig.native.cjs +412 -0
- package/dist/cjs/helpers/grammarConfig.native.js +414 -0
- package/dist/cjs/helpers/grammarConfig.native.js.map +1 -0
- package/dist/cjs/helpers/insertStyleRule.cjs +253 -184
- package/dist/cjs/helpers/insertStyleRule.native.cjs +223 -0
- package/dist/cjs/helpers/insertStyleRule.native.js +189 -68
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/isObj.cjs +22 -16
- package/dist/cjs/helpers/isObj.native.cjs +38 -0
- package/dist/cjs/helpers/isObj.native.js +24 -22
- package/dist/cjs/helpers/isObj.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.cjs +17 -21
- package/dist/cjs/helpers/isTamaguiComponent.native.cjs +29 -0
- package/dist/cjs/helpers/isTamaguiComponent.native.js +17 -20
- package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.cjs +19 -28
- package/dist/cjs/helpers/isTamaguiElement.native.cjs +36 -0
- package/dist/cjs/helpers/isTamaguiElement.native.js +19 -27
- package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/cjs/helpers/log.cjs +24 -27
- package/dist/cjs/helpers/log.native.cjs +39 -0
- package/dist/cjs/helpers/log.native.js +25 -27
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.cjs +14 -18
- package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +155 -0
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +138 -142
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.cjs +21 -23
- package/dist/cjs/helpers/matchMedia.native.cjs +68 -0
- package/dist/cjs/helpers/matchMedia.native.js +49 -41
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.cjs +34 -38
- package/dist/cjs/helpers/mediaObjectToString.native.cjs +52 -0
- package/dist/cjs/helpers/mediaObjectToString.native.js +37 -40
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/cjs/helpers/mediaState.cjs +34 -43
- package/dist/cjs/helpers/mediaState.native.cjs +52 -0
- package/dist/cjs/helpers/mediaState.native.js +37 -46
- package/dist/cjs/helpers/mediaState.native.js.map +1 -1
- package/dist/cjs/helpers/mergeProps.cjs +50 -63
- package/dist/cjs/helpers/mergeProps.native.cjs +68 -0
- package/dist/cjs/helpers/mergeProps.native.js +53 -70
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeRenderElementProps.cjs +17 -23
- package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +31 -0
- package/dist/cjs/helpers/mergeRenderElementProps.native.js +17 -22
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.cjs +34 -38
- package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +50 -0
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js +34 -37
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.cjs +82 -41
- package/dist/cjs/helpers/mergeVariants.native.cjs +130 -0
- package/dist/cjs/helpers/mergeVariants.native.js +118 -42
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.cjs +46 -51
- package/dist/cjs/helpers/nativeOnlyProps.native.cjs +59 -0
- package/dist/cjs/helpers/nativeOnlyProps.native.js +46 -50
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +269 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +400 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.js +402 -0
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -0
- package/dist/cjs/helpers/nativeTransitionTarget.cjs +26 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +42 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.js +44 -0
- package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -0
- package/dist/cjs/helpers/normalizeColor.cjs +22 -35
- package/dist/cjs/helpers/normalizeColor.native.cjs +49 -0
- package/dist/cjs/helpers/normalizeColor.native.js +32 -34
- package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeShadow.cjs +25 -39
- package/dist/cjs/helpers/normalizeShadow.native.cjs +41 -0
- package/dist/cjs/helpers/normalizeShadow.native.js +26 -37
- package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.cjs +59 -61
- package/dist/cjs/helpers/normalizeStyle.native.cjs +93 -0
- package/dist/cjs/helpers/normalizeStyle.native.js +76 -79
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +42 -41
- package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +60 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +45 -46
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/noteOnce.cjs +31 -0
- package/dist/cjs/helpers/noteOnce.native.cjs +33 -0
- package/dist/cjs/helpers/noteOnce.native.js +35 -0
- package/dist/cjs/helpers/noteOnce.native.js.map +1 -0
- package/dist/cjs/helpers/objectIdentityKey.cjs +30 -34
- package/dist/cjs/helpers/objectIdentityKey.native.cjs +44 -0
- package/dist/cjs/helpers/objectIdentityKey.native.js +31 -39
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/cjs/helpers/parseBorderShorthand.cjs +15 -19
- package/dist/cjs/helpers/parseBorderShorthand.native.cjs +65 -0
- package/dist/cjs/helpers/parseBorderShorthand.native.js +50 -69
- package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeStyle.native.cjs +205 -0
- package/dist/cjs/helpers/parseNativeStyle.native.js +182 -165
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeTransform.native.cjs +67 -0
- package/dist/cjs/helpers/parseNativeTransform.native.js +69 -0
- package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -0
- package/dist/cjs/helpers/parseOutlineShorthand.cjs +15 -19
- package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +44 -0
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +31 -65
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.cjs +14 -18
- package/dist/cjs/helpers/pointerEvents.native.cjs +131 -0
- package/dist/cjs/helpers/pointerEvents.native.js +116 -144
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.cjs +46 -48
- package/dist/cjs/helpers/proxyThemeToParents.native.cjs +167 -0
- package/dist/cjs/helpers/proxyThemeToParents.native.js +150 -142
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.cjs +97 -60
- package/dist/cjs/helpers/registerCSSVariable.native.cjs +135 -0
- package/dist/cjs/helpers/registerCSSVariable.native.js +113 -61
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveAnimationDriver.cjs +27 -26
- package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +40 -0
- package/dist/cjs/helpers/resolveAnimationDriver.native.js +27 -26
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/resolveNativeUnits.cjs +32 -0
- package/dist/cjs/helpers/resolveNativeUnits.native.cjs +168 -0
- package/dist/cjs/helpers/resolveNativeUnits.native.js +170 -0
- package/dist/cjs/helpers/resolveNativeUnits.native.js.map +1 -0
- package/dist/cjs/helpers/resolveRem.cjs +17 -19
- package/dist/cjs/helpers/resolveRem.native.cjs +53 -0
- package/dist/cjs/helpers/resolveRem.native.js +34 -38
- package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeArea.cjs +50 -25
- package/dist/cjs/helpers/resolveSafeArea.native.cjs +129 -0
- package/dist/cjs/helpers/resolveSafeArea.native.js +114 -29
- package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +33 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +51 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +53 -0
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -0
- package/dist/cjs/helpers/resolveVariableValue.cjs +34 -0
- package/dist/cjs/helpers/resolveVariableValue.native.cjs +38 -0
- package/dist/cjs/helpers/resolveVariableValue.native.js +40 -0
- package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -0
- package/dist/cjs/helpers/resolveVariantStyle.cjs +57 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.cjs +63 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.js +65 -0
- package/dist/cjs/helpers/resolveVariantStyle.native.js.map +1 -0
- package/dist/cjs/helpers/setElementProps.cjs +16 -20
- package/dist/cjs/helpers/setElementProps.native.cjs +34 -0
- package/dist/cjs/helpers/setElementProps.native.js +21 -24
- package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.cjs +32 -29
- package/dist/cjs/helpers/skipProps.native.cjs +51 -0
- package/dist/cjs/helpers/skipProps.native.js +32 -28
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/sortString.cjs +14 -18
- package/dist/cjs/helpers/sortString.native.cjs +28 -0
- package/dist/cjs/helpers/sortString.native.js +16 -19
- package/dist/cjs/helpers/sortString.native.js.map +1 -1
- package/dist/cjs/helpers/splitStyleProps.cjs +46 -0
- package/dist/cjs/helpers/splitStyleProps.native.cjs +49 -0
- package/dist/cjs/helpers/splitStyleProps.native.js +51 -0
- package/dist/cjs/helpers/splitStyleProps.native.js.map +1 -0
- package/dist/cjs/helpers/styleFrontend.cjs +46 -0
- package/dist/cjs/helpers/styleFrontend.native.cjs +48 -0
- package/dist/cjs/helpers/styleFrontend.native.js +50 -0
- package/dist/cjs/helpers/styleFrontend.native.js.map +1 -0
- package/dist/cjs/helpers/styleOriginalValues.cjs +14 -18
- package/dist/cjs/helpers/styleOriginalValues.native.cjs +26 -0
- package/dist/cjs/helpers/styleOriginalValues.native.js +15 -18
- package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/cjs/helpers/styleProvenance.cjs +25 -27
- package/dist/cjs/helpers/styleProvenance.native.cjs +43 -0
- package/dist/cjs/helpers/styleProvenance.native.js +25 -26
- package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
- package/dist/cjs/helpers/styleStaticConfig.cjs +27 -0
- package/dist/cjs/helpers/styleStaticConfig.native.cjs +29 -0
- package/dist/cjs/helpers/styleStaticConfig.native.js +31 -0
- package/dist/cjs/helpers/styleStaticConfig.native.js.map +1 -0
- package/dist/cjs/helpers/styleStaticConfigCore.cjs +107 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.cjs +127 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.js +129 -0
- package/dist/cjs/helpers/styleStaticConfigCore.native.js.map +1 -0
- package/dist/cjs/helpers/styleToCSS.cjs +59 -0
- package/dist/cjs/helpers/styleToCSS.native.cjs +26 -0
- package/dist/cjs/helpers/styleToCSS.native.js +28 -0
- package/dist/cjs/helpers/styleToCSS.native.js.map +1 -0
- package/dist/cjs/helpers/styledDynamic.cjs +161 -0
- package/dist/cjs/helpers/styledDynamic.native.cjs +192 -0
- package/dist/cjs/helpers/styledDynamic.native.js +194 -0
- package/dist/cjs/helpers/styledDynamic.native.js.map +1 -0
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +110 -94
- package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +186 -0
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +169 -138
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/themeRef.cjs +41 -0
- package/dist/cjs/helpers/themeRef.native.cjs +43 -0
- package/dist/cjs/helpers/themeRef.native.js +45 -0
- package/dist/cjs/helpers/themeRef.native.js.map +1 -0
- package/dist/cjs/helpers/themeUpdateState.cjs +24 -0
- package/dist/cjs/helpers/themeUpdateState.native.cjs +26 -0
- package/dist/cjs/helpers/themeUpdateState.native.js +28 -0
- package/dist/cjs/helpers/themeUpdateState.native.js.map +1 -0
- package/dist/cjs/helpers/themes.cjs +29 -34
- package/dist/cjs/helpers/themes.native.cjs +43 -0
- package/dist/cjs/helpers/themes.native.js +29 -33
- package/dist/cjs/helpers/themes.native.js.map +1 -1
- package/dist/cjs/helpers/timer.cjs +15 -21
- package/dist/cjs/helpers/timer.native.cjs +30 -0
- package/dist/cjs/helpers/timer.native.js +17 -22
- package/dist/cjs/helpers/timer.native.js.map +1 -1
- package/dist/cjs/helpers/tokenCategories.cjs +40 -0
- package/dist/cjs/helpers/tokenCategories.native.cjs +42 -0
- package/dist/cjs/helpers/tokenCategories.native.js +44 -0
- package/dist/cjs/helpers/tokenCategories.native.js.map +1 -0
- package/dist/cjs/helpers/transformsToString.cjs +24 -31
- package/dist/cjs/helpers/transformsToString.native.cjs +55 -0
- package/dist/cjs/helpers/transformsToString.native.js +41 -30
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
- package/dist/cjs/helpers/variableValue.cjs +71 -0
- package/dist/cjs/helpers/variableValue.native.cjs +111 -0
- package/dist/cjs/helpers/variableValue.native.js +113 -0
- package/dist/cjs/helpers/variableValue.native.js.map +1 -0
- package/dist/cjs/helpers/variables.cjs +568 -0
- package/dist/cjs/helpers/variables.native.cjs +806 -0
- package/dist/cjs/helpers/variables.native.js +808 -0
- package/dist/cjs/helpers/variables.native.js.map +1 -0
- package/dist/cjs/helpers/warnOnce.cjs +38 -0
- package/dist/cjs/helpers/warnOnce.native.cjs +42 -0
- package/dist/cjs/helpers/warnOnce.native.js +44 -0
- package/dist/cjs/helpers/warnOnce.native.js.map +1 -0
- package/dist/cjs/helpers/webPropsToSkip.cjs +14 -18
- package/dist/cjs/helpers/webPropsToSkip.native.cjs +67 -0
- package/dist/cjs/helpers/webPropsToSkip.native.js +53 -62
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.cjs +46 -48
- package/dist/cjs/helpers/wrapStyleTags.native.cjs +31 -0
- package/dist/cjs/helpers/wrapStyleTags.native.js +18 -18
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +15 -19
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +31 -0
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +16 -19
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.cjs +60 -58
- package/dist/cjs/hooks/getThemeProxied.native.cjs +123 -0
- package/dist/cjs/hooks/getThemeProxied.native.js +97 -79
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +27 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +29 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +31 -0
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -0
- package/dist/cjs/hooks/useAnimationDriver.cjs +51 -0
- package/dist/cjs/hooks/useAnimationDriver.native.cjs +59 -0
- package/dist/cjs/hooks/useAnimationDriver.native.js +61 -0
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -0
- package/dist/cjs/hooks/useComponentState.cjs +178 -200
- package/dist/cjs/hooks/useComponentState.native.cjs +212 -0
- package/dist/cjs/hooks/useComponentState.native.js +190 -211
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.cjs +15 -19
- package/dist/cjs/hooks/useDisableSSR.native.cjs +30 -0
- package/dist/cjs/hooks/useDisableSSR.native.js +16 -19
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.cjs +15 -19
- package/dist/cjs/hooks/useIsTouchDevice.native.cjs +30 -0
- package/dist/cjs/hooks/useIsTouchDevice.native.js +16 -19
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +317 -257
- package/dist/cjs/hooks/useMedia.native.cjs +519 -0
- package/dist/cjs/hooks/useMedia.native.js +470 -307
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/usePortalThemeState.cjs +40 -0
- package/dist/cjs/hooks/usePortalThemeState.native.cjs +42 -0
- package/dist/cjs/hooks/usePortalThemeState.native.js +44 -0
- package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -0
- package/dist/cjs/hooks/useSplitStyles.cjs +42 -0
- package/dist/cjs/hooks/useSplitStyles.native.cjs +42 -0
- package/dist/cjs/hooks/useSplitStyles.native.js +44 -0
- package/dist/cjs/hooks/useSplitStyles.native.js.map +1 -0
- package/dist/cjs/hooks/useStyle.cjs +30 -0
- package/dist/cjs/hooks/useStyle.native.cjs +32 -0
- package/dist/cjs/hooks/useStyle.native.js +34 -0
- package/dist/cjs/hooks/useStyle.native.js.map +1 -0
- package/dist/cjs/hooks/useTheme.cjs +40 -49
- package/dist/cjs/hooks/useTheme.native.cjs +64 -0
- package/dist/cjs/hooks/useTheme.native.js +43 -52
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.cjs +19 -25
- package/dist/cjs/hooks/useThemeName.native.cjs +38 -0
- package/dist/cjs/hooks/useThemeName.native.js +22 -27
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +282 -368
- package/dist/cjs/hooks/useThemeState.native.cjs +378 -0
- package/dist/cjs/hooks/useThemeState.native.js +334 -477
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +233 -105
- package/dist/cjs/index.native.cjs +255 -0
- package/dist/cjs/index.native.js +234 -105
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inject-styles.cjs +24 -31
- package/dist/cjs/inject-styles.native.cjs +38 -0
- package/dist/cjs/inject-styles.native.js +25 -31
- package/dist/cjs/inject-styles.native.js.map +1 -1
- package/dist/cjs/insertFont.cjs +60 -61
- package/dist/cjs/insertFont.native.cjs +79 -0
- package/dist/cjs/insertFont.native.js +54 -54
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/interfaces/CSSColorNames.cjs +166 -11
- package/dist/cjs/interfaces/CSSColorNames.native.cjs +175 -0
- package/dist/cjs/interfaces/CSSColorNames.native.js +166 -10
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/cjs/interfaces/GetRef.cjs +9 -11
- package/dist/cjs/interfaces/GetRef.native.cjs +18 -0
- package/dist/cjs/interfaces/GetRef.native.js +9 -10
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.cjs +9 -11
- package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +18 -0
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js +9 -10
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +9 -11
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +18 -0
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +9 -10
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +9 -11
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +18 -0
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +9 -10
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
- package/dist/cjs/internal-runtime.cjs +123 -0
- package/dist/cjs/internal-runtime.native.cjs +125 -0
- package/dist/cjs/internal-runtime.native.js +127 -0
- package/dist/cjs/internal-runtime.native.js.map +1 -0
- package/dist/cjs/internalRuntimeTypes.cjs +16 -0
- package/dist/cjs/internalRuntimeTypes.native.cjs +18 -0
- package/dist/cjs/internalRuntimeTypes.native.js +20 -0
- package/dist/cjs/internalRuntimeTypes.native.js.map +1 -0
- package/dist/cjs/setupHooks.cjs +16 -18
- package/dist/cjs/setupHooks.native.cjs +32 -0
- package/dist/cjs/setupHooks.native.js +16 -17
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/setupReactNative.cjs +14 -44
- package/dist/cjs/setupReactNative.native.cjs +53 -0
- package/dist/cjs/setupReactNative.native.js +38 -41
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/static-resolve.cjs +230 -0
- package/dist/cjs/static-resolve.native.cjs +236 -0
- package/dist/cjs/static-resolve.native.js +238 -0
- package/dist/cjs/static-resolve.native.js.map +1 -0
- package/dist/cjs/style.cjs +91 -0
- package/dist/cjs/style.native.cjs +94 -0
- package/dist/cjs/style.native.js +96 -0
- package/dist/cjs/style.native.js.map +1 -0
- package/dist/cjs/styled.cjs +110 -143
- package/dist/cjs/styled.native.cjs +133 -0
- package/dist/cjs/styled.native.js +115 -145
- package/dist/cjs/styled.native.js.map +1 -1
- package/dist/cjs/theme-update.cjs +19 -0
- package/dist/cjs/theme-update.native.cjs +21 -0
- package/dist/cjs/theme-update.native.js +23 -0
- package/dist/cjs/theme-update.native.js.map +1 -0
- package/dist/cjs/type-utils.cjs +9 -11
- package/dist/cjs/type-utils.native.cjs +18 -0
- package/dist/cjs/type-utils.native.js +9 -10
- package/dist/cjs/type-utils.native.js.map +1 -1
- package/dist/cjs/types.cjs +21 -11
- package/dist/cjs/types.native.cjs +30 -0
- package/dist/cjs/types.native.js +21 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/ConfigRevisionCheck.cjs +68 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.cjs +73 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.js +75 -0
- package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -0
- package/dist/cjs/views/Configuration.cjs +26 -35
- package/dist/cjs/views/Configuration.native.cjs +46 -0
- package/dist/cjs/views/Configuration.native.js +27 -35
- package/dist/cjs/views/Configuration.native.js.map +1 -1
- package/dist/cjs/views/FontLanguage.cjs +20 -29
- package/dist/cjs/views/FontLanguage.native.cjs +46 -0
- package/dist/cjs/views/FontLanguage.native.js +27 -38
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/SafeAreaTracker.cjs +32 -0
- package/dist/cjs/views/SafeAreaTracker.native.cjs +36 -0
- package/dist/cjs/views/SafeAreaTracker.native.js +38 -0
- package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -0
- package/dist/cjs/views/Slot.cjs +51 -59
- package/dist/cjs/views/Slot.native.cjs +77 -0
- package/dist/cjs/views/Slot.native.js +52 -59
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +69 -76
- package/dist/cjs/views/TamaguiProvider.native.cjs +98 -0
- package/dist/cjs/views/TamaguiProvider.native.js +68 -76
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/TamaguiRoot.cjs +46 -61
- package/dist/cjs/views/TamaguiRoot.native.cjs +28 -0
- package/dist/cjs/views/TamaguiRoot.native.js +15 -18
- package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
- package/dist/cjs/views/Text.cjs +50 -46
- package/dist/cjs/views/Text.native.cjs +49 -0
- package/dist/cjs/views/Text.native.js +34 -36
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +117 -167
- package/dist/cjs/views/Theme.native.cjs +159 -0
- package/dist/cjs/views/Theme.native.js +127 -173
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +73 -81
- package/dist/cjs/views/ThemeDebug.native.cjs +30 -0
- package/dist/cjs/views/ThemeDebug.native.js +16 -23
- package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.cjs +34 -39
- package/dist/cjs/views/ThemeProvider.native.cjs +43 -0
- package/dist/cjs/views/ThemeProvider.native.js +25 -28
- package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
- package/dist/cjs/views/ThemeUpdate.cjs +82 -0
- package/dist/cjs/views/ThemeUpdate.native.cjs +84 -0
- package/dist/cjs/views/ThemeUpdate.native.js +86 -0
- package/dist/cjs/views/ThemeUpdate.native.js.map +1 -0
- package/dist/cjs/views/View.cjs +21 -18
- package/dist/cjs/views/View.native.cjs +38 -0
- package/dist/cjs/views/View.native.js +21 -17
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/Tamagui.mjs +27 -27
- package/dist/esm/Tamagui.mjs.map +1 -1
- package/dist/esm/Tamagui.native.js +76 -71
- package/dist/esm/Tamagui.native.js.map +1 -1
- package/dist/esm/_withNativeStyle.mjs +55 -0
- package/dist/esm/_withNativeStyle.mjs.map +1 -0
- package/dist/esm/_withNativeStyle.native.js +58 -0
- package/dist/esm/_withNativeStyle.native.js.map +1 -0
- package/dist/esm/_withStableStyle.mjs +44 -29
- package/dist/esm/_withStableStyle.mjs.map +1 -1
- package/dist/esm/_withStableStyle.native.js +51 -33
- package/dist/esm/_withStableStyle.native.js.map +1 -1
- package/dist/esm/config.mjs +97 -100
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +122 -129
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/constants.mjs +1 -0
- package/dist/esm/constants/constants.mjs.map +1 -1
- package/dist/esm/constants/constants.native.js +1 -0
- package/dist/esm/constants/constants.native.js.map +1 -1
- package/dist/esm/constants/isDevTools.mjs +7 -6
- package/dist/esm/constants/isDevTools.mjs.map +1 -1
- package/dist/esm/constants/isDevTools.native.js +9 -8
- package/dist/esm/constants/isDevTools.native.js.map +1 -1
- package/dist/esm/contexts/ComponentContext.mjs +18 -8
- package/dist/esm/contexts/ComponentContext.mjs.map +1 -1
- package/dist/esm/contexts/ComponentContext.native.js +19 -9
- package/dist/esm/contexts/ComponentContext.native.js.map +1 -1
- package/dist/esm/contexts/GroupContext.mjs +2 -0
- package/dist/esm/contexts/GroupContext.mjs.map +1 -1
- package/dist/esm/contexts/GroupContext.native.js +3 -1
- package/dist/esm/contexts/GroupContext.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +992 -996
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +1091 -979
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createFont.mjs +27 -18
- package/dist/esm/createFont.mjs.map +1 -1
- package/dist/esm/createFont.native.js +30 -21
- package/dist/esm/createFont.native.js.map +1 -1
- package/dist/esm/createShorthands.mjs +2 -1
- package/dist/esm/createShorthands.mjs.map +1 -1
- package/dist/esm/createShorthands.native.js +2 -1
- package/dist/esm/createShorthands.native.js.map +1 -1
- package/dist/esm/createStyledHOC.mjs +79 -0
- package/dist/esm/createStyledHOC.mjs.map +1 -0
- package/dist/esm/createStyledHOC.native.js +80 -0
- package/dist/esm/createStyledHOC.native.js.map +1 -0
- package/dist/esm/createTamagui.mjs +275 -207
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +309 -255
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createTokens.mjs +15 -1
- package/dist/esm/createTokens.mjs.map +1 -1
- package/dist/esm/createTokens.native.js +16 -2
- package/dist/esm/createTokens.native.js.map +1 -1
- package/dist/esm/createVariable.mjs +66 -65
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js +77 -81
- package/dist/esm/createVariable.native.js.map +1 -1
- package/dist/esm/createVariables.mjs +37 -42
- package/dist/esm/createVariables.mjs.map +1 -1
- package/dist/esm/createVariables.native.js +38 -48
- package/dist/esm/createVariables.native.js.map +1 -1
- package/dist/esm/defaultComponentState.mjs +13 -12
- package/dist/esm/defaultComponentState.mjs.map +1 -1
- package/dist/esm/defaultComponentState.native.js +13 -12
- package/dist/esm/defaultComponentState.native.js.map +1 -1
- package/dist/esm/dom/adapters.mjs +67 -0
- package/dist/esm/dom/adapters.mjs.map +1 -0
- package/dist/esm/dom/adapters.native.js +86 -0
- package/dist/esm/dom/adapters.native.js.map +1 -0
- package/dist/esm/dom/contract.mjs +0 -0
- package/dist/esm/dom/contract.native.js +0 -0
- package/dist/esm/dom/domEventProps.native.js +34 -0
- package/dist/esm/dom/domEventProps.native.js.map +1 -0
- package/dist/esm/dom/html.mjs +611 -0
- package/dist/esm/dom/html.mjs.map +1 -0
- package/dist/esm/dom/html.native.js +930 -0
- package/dist/esm/dom/html.native.js.map +1 -0
- package/dist/esm/dom/htmlRuntime.native.js +152 -0
- package/dist/esm/dom/htmlRuntime.native.js.map +1 -0
- package/dist/esm/dom/index.mjs +4 -0
- package/dist/esm/dom/index.native.js +5 -0
- package/dist/esm/dom/primitives.native.js +609 -0
- package/dist/esm/dom/primitives.native.js.map +1 -0
- package/dist/esm/dom/standalone.mjs +10 -0
- package/dist/esm/dom/standalone.mjs.map +1 -0
- package/dist/esm/dom/standalone.native.js +14 -0
- package/dist/esm/dom/standalone.native.js.map +1 -0
- package/dist/esm/dom/standaloneHtml.mjs +56 -0
- package/dist/esm/dom/standaloneHtml.mjs.map +1 -0
- package/dist/esm/dom/standaloneHtml.native.js +56 -0
- package/dist/esm/dom/standaloneHtml.native.js.map +1 -0
- package/dist/esm/dom/styleTypes.mjs +0 -0
- package/dist/esm/dom/styleTypes.native.js +0 -0
- package/dist/esm/eventDetails.mjs +18 -0
- package/dist/esm/eventDetails.mjs.map +1 -0
- package/dist/esm/eventDetails.native.js +18 -0
- package/dist/esm/eventDetails.native.js.map +1 -0
- package/dist/esm/eventHandling.mjs +14 -13
- package/dist/esm/eventHandling.mjs.map +1 -1
- package/dist/esm/eventHandling.native.js +141 -163
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/borderComponents.mjs +37 -0
- package/dist/esm/helpers/borderComponents.mjs.map +1 -0
- package/dist/esm/helpers/borderComponents.native.js +55 -0
- package/dist/esm/helpers/borderComponents.native.js.map +1 -0
- package/dist/esm/helpers/componentDisplayName.mjs +4 -0
- package/dist/esm/helpers/componentDisplayName.mjs.map +1 -0
- package/dist/esm/helpers/componentDisplayName.native.js +4 -0
- package/dist/esm/helpers/componentDisplayName.native.js.map +1 -0
- package/dist/esm/helpers/configVariables.mjs +60 -0
- package/dist/esm/helpers/configVariables.mjs.map +1 -0
- package/dist/esm/helpers/configVariables.native.js +61 -0
- package/dist/esm/helpers/configVariables.native.js.map +1 -0
- package/dist/esm/helpers/consoleLog.native.js +2 -1
- package/dist/esm/helpers/consoleLog.native.js.map +1 -1
- package/dist/esm/helpers/createDesignSystem.mjs +133 -134
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createDesignSystem.native.js +151 -186
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs +49 -58
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js +54 -63
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +10 -14
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +19 -31
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/defaultOffset.mjs +3 -2
- package/dist/esm/helpers/defaultOffset.mjs.map +1 -1
- package/dist/esm/helpers/defaultOffset.native.js +3 -2
- package/dist/esm/helpers/defaultOffset.native.js.map +1 -1
- package/dist/esm/helpers/expandStyle.mjs +138 -66
- package/dist/esm/helpers/expandStyle.mjs.map +1 -1
- package/dist/esm/helpers/expandStyle.native.js +141 -107
- package/dist/esm/helpers/expandStyle.native.js.map +1 -1
- package/dist/esm/helpers/expandStyles.mjs +9 -7
- package/dist/esm/helpers/expandStyles.mjs.map +1 -1
- package/dist/esm/helpers/expandStyles.native.js +16 -14
- package/dist/esm/helpers/expandStyles.native.js.map +1 -1
- package/dist/esm/helpers/extractPseudoState.mjs +24 -0
- package/dist/esm/helpers/extractPseudoState.mjs.map +1 -0
- package/dist/esm/helpers/extractPseudoState.native.js +25 -0
- package/dist/esm/helpers/extractPseudoState.native.js.map +1 -0
- package/dist/esm/helpers/fluid.mjs +36 -0
- package/dist/esm/helpers/fluid.mjs.map +1 -0
- package/dist/esm/helpers/fluid.native.js +36 -0
- package/dist/esm/helpers/fluid.native.js.map +1 -0
- package/dist/esm/helpers/formatDiagnostic.mjs +49 -0
- package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -0
- package/dist/esm/helpers/formatDiagnostic.native.js +52 -0
- package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +224 -177
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.native.js +9 -4
- package/dist/esm/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs +16 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.mjs.map +1 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js +18 -0
- package/dist/esm/helpers/getCSSStylesAtomicCompiled.native.js.map +1 -0
- package/dist/esm/helpers/getDynamicVal.mjs +32 -33
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.native.js +32 -33
- package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs +5 -12
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.native.js +6 -13
- package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/esm/helpers/getShorthandValue.mjs +4 -2
- package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
- package/dist/esm/helpers/getShorthandValue.native.js +6 -4
- package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +1605 -893
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +1786 -916
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs +94 -92
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.native.js +2 -1
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/esm/helpers/grammarConfig.mjs +253 -0
- package/dist/esm/helpers/grammarConfig.mjs.map +1 -0
- package/dist/esm/helpers/grammarConfig.native.js +387 -0
- package/dist/esm/helpers/grammarConfig.native.js.map +1 -0
- package/dist/esm/helpers/insertStyleRule.mjs +232 -160
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js +135 -27
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/isObj.mjs +10 -2
- package/dist/esm/helpers/isObj.mjs.map +1 -1
- package/dist/esm/helpers/isObj.native.js +11 -8
- package/dist/esm/helpers/isObj.native.js.map +1 -1
- package/dist/esm/helpers/isTamaguiComponent.mjs +4 -3
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +1 -1
- package/dist/esm/helpers/isTamaguiComponent.native.js +4 -3
- package/dist/esm/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.mjs +4 -2
- package/dist/esm/helpers/isTamaguiElement.mjs.map +1 -1
- package/dist/esm/helpers/isTamaguiElement.native.js +4 -2
- package/dist/esm/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/esm/helpers/log.mjs +12 -9
- package/dist/esm/helpers/log.mjs.map +1 -1
- package/dist/esm/helpers/log.native.js +13 -10
- package/dist/esm/helpers/log.native.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -0
- package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +126 -125
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/matchMedia.mjs +7 -6
- package/dist/esm/helpers/matchMedia.mjs.map +1 -1
- package/dist/esm/helpers/matchMedia.native.js +36 -25
- package/dist/esm/helpers/matchMedia.native.js.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.mjs +21 -20
- package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.native.js +24 -23
- package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/esm/helpers/mediaState.mjs +18 -24
- package/dist/esm/helpers/mediaState.mjs.map +1 -1
- package/dist/esm/helpers/mediaState.native.js +20 -27
- package/dist/esm/helpers/mediaState.native.js.map +1 -1
- package/dist/esm/helpers/mergeProps.mjs +37 -47
- package/dist/esm/helpers/mergeProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeProps.native.js +39 -54
- package/dist/esm/helpers/mergeProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeRenderElementProps.mjs +5 -5
- package/dist/esm/helpers/mergeRenderElementProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeRenderElementProps.native.js +5 -5
- package/dist/esm/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeSlotStyleProps.mjs +22 -20
- package/dist/esm/helpers/mergeSlotStyleProps.mjs.map +1 -1
- package/dist/esm/helpers/mergeSlotStyleProps.native.js +22 -20
- package/dist/esm/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/esm/helpers/mergeVariants.mjs +70 -23
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
- package/dist/esm/helpers/mergeVariants.native.js +106 -25
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.mjs +33 -33
- package/dist/esm/helpers/nativeOnlyProps.mjs.map +1 -1
- package/dist/esm/helpers/nativeOnlyProps.native.js +33 -33
- package/dist/esm/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs +237 -0
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -0
- package/dist/esm/helpers/nativeStyleEngine.native.js +366 -0
- package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -0
- package/dist/esm/helpers/nativeTransitionTarget.mjs +6 -0
- package/dist/esm/helpers/nativeTransitionTarget.mjs.map +1 -0
- package/dist/esm/helpers/nativeTransitionTarget.native.js +21 -0
- package/dist/esm/helpers/nativeTransitionTarget.native.js.map +1 -0
- package/dist/esm/helpers/normalizeColor.mjs +11 -18
- package/dist/esm/helpers/normalizeColor.mjs.map +1 -1
- package/dist/esm/helpers/normalizeColor.native.js +19 -19
- package/dist/esm/helpers/normalizeColor.native.js.map +1 -1
- package/dist/esm/helpers/normalizeShadow.mjs +13 -21
- package/dist/esm/helpers/normalizeShadow.mjs.map +1 -1
- package/dist/esm/helpers/normalizeShadow.native.js +14 -20
- package/dist/esm/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStyle.mjs +47 -43
- package/dist/esm/helpers/normalizeStyle.mjs.map +1 -1
- package/dist/esm/helpers/normalizeStyle.native.js +64 -62
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +30 -23
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +1 -1
- package/dist/esm/helpers/normalizeValueWithProperty.native.js +32 -28
- package/dist/esm/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/esm/helpers/noteOnce.mjs +11 -0
- package/dist/esm/helpers/noteOnce.mjs.map +1 -0
- package/dist/esm/helpers/noteOnce.native.js +11 -0
- package/dist/esm/helpers/noteOnce.native.js.map +1 -0
- package/dist/esm/helpers/objectIdentityKey.mjs +18 -17
- package/dist/esm/helpers/objectIdentityKey.mjs.map +1 -1
- package/dist/esm/helpers/objectIdentityKey.native.js +18 -22
- package/dist/esm/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.mjs +2 -1
- package/dist/esm/helpers/parseBorderShorthand.mjs.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.native.js +38 -55
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeStyle.native.js +167 -146
- package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeTransform.native.js +45 -0
- package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -0
- package/dist/esm/helpers/parseOutlineShorthand.mjs +2 -1
- package/dist/esm/helpers/parseOutlineShorthand.mjs.map +1 -1
- package/dist/esm/helpers/parseOutlineShorthand.native.js +19 -48
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/esm/helpers/pointerEvents.mjs +1 -0
- package/dist/esm/helpers/pointerEvents.mjs.map +1 -1
- package/dist/esm/helpers/pointerEvents.native.js +104 -127
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs +32 -31
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.native.js +136 -126
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.mjs +76 -39
- package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.native.js +95 -44
- package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/esm/helpers/resolveAnimationDriver.mjs +14 -8
- package/dist/esm/helpers/resolveAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/resolveAnimationDriver.native.js +14 -9
- package/dist/esm/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/resolveNativeUnits.mjs +9 -0
- package/dist/esm/helpers/resolveNativeUnits.mjs.map +1 -0
- package/dist/esm/helpers/resolveNativeUnits.native.js +142 -0
- package/dist/esm/helpers/resolveNativeUnits.native.js.map +1 -0
- package/dist/esm/helpers/resolveRem.mjs +3 -2
- package/dist/esm/helpers/resolveRem.mjs.map +1 -1
- package/dist/esm/helpers/resolveRem.native.js +21 -22
- package/dist/esm/helpers/resolveRem.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.mjs +38 -8
- package/dist/esm/helpers/resolveSafeArea.mjs.map +1 -1
- package/dist/esm/helpers/resolveSafeArea.native.js +101 -15
- package/dist/esm/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeAreaVariable.mjs +10 -0
- package/dist/esm/helpers/resolveSafeAreaVariable.mjs.map +1 -0
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js +27 -0
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -0
- package/dist/esm/helpers/resolveVariableValue.mjs +15 -0
- package/dist/esm/helpers/resolveVariableValue.mjs.map +1 -0
- package/dist/esm/helpers/resolveVariableValue.native.js +17 -0
- package/dist/esm/helpers/resolveVariableValue.native.js.map +1 -0
- package/dist/esm/helpers/resolveVariantStyle.mjs +38 -0
- package/dist/esm/helpers/resolveVariantStyle.mjs.map +1 -0
- package/dist/esm/helpers/resolveVariantStyle.native.js +42 -0
- package/dist/esm/helpers/resolveVariantStyle.native.js.map +1 -0
- package/dist/esm/helpers/setElementProps.mjs +4 -2
- package/dist/esm/helpers/setElementProps.mjs.map +1 -1
- package/dist/esm/helpers/setElementProps.native.js +8 -7
- package/dist/esm/helpers/setElementProps.native.js.map +1 -1
- package/dist/esm/helpers/skipProps.mjs +20 -14
- package/dist/esm/helpers/skipProps.mjs.map +1 -1
- package/dist/esm/helpers/skipProps.native.js +20 -14
- package/dist/esm/helpers/skipProps.native.js.map +1 -1
- package/dist/esm/helpers/sortString.mjs +1 -0
- package/dist/esm/helpers/sortString.mjs.map +1 -1
- package/dist/esm/helpers/sortString.native.js +3 -2
- package/dist/esm/helpers/sortString.native.js.map +1 -1
- package/dist/esm/helpers/splitStyleProps.mjs +27 -0
- package/dist/esm/helpers/splitStyleProps.mjs.map +1 -0
- package/dist/esm/helpers/splitStyleProps.native.js +28 -0
- package/dist/esm/helpers/splitStyleProps.native.js.map +1 -0
- package/dist/esm/helpers/styleFrontend.mjs +23 -0
- package/dist/esm/helpers/styleFrontend.mjs.map +1 -0
- package/dist/esm/helpers/styleFrontend.native.js +23 -0
- package/dist/esm/helpers/styleFrontend.native.js.map +1 -0
- package/dist/esm/helpers/styleOriginalValues.mjs +2 -1
- package/dist/esm/helpers/styleOriginalValues.mjs.map +1 -1
- package/dist/esm/helpers/styleOriginalValues.native.js +2 -1
- package/dist/esm/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/esm/helpers/styleProvenance.mjs +10 -9
- package/dist/esm/helpers/styleProvenance.mjs.map +1 -1
- package/dist/esm/helpers/styleProvenance.native.js +10 -9
- package/dist/esm/helpers/styleProvenance.native.js.map +1 -1
- package/dist/esm/helpers/styleStaticConfig.mjs +8 -0
- package/dist/esm/helpers/styleStaticConfig.mjs.map +1 -0
- package/dist/esm/helpers/styleStaticConfig.native.js +8 -0
- package/dist/esm/helpers/styleStaticConfig.native.js.map +1 -0
- package/dist/esm/helpers/styleStaticConfigCore.mjs +88 -0
- package/dist/esm/helpers/styleStaticConfigCore.mjs.map +1 -0
- package/dist/esm/helpers/styleStaticConfigCore.native.js +106 -0
- package/dist/esm/helpers/styleStaticConfigCore.native.js.map +1 -0
- package/dist/esm/helpers/styleToCSS.mjs +40 -0
- package/dist/esm/helpers/styleToCSS.mjs.map +1 -0
- package/dist/esm/helpers/styleToCSS.native.js +4 -0
- package/dist/esm/helpers/styleToCSS.native.js.map +1 -0
- package/dist/esm/helpers/styledDynamic.mjs +137 -0
- package/dist/esm/helpers/styledDynamic.mjs.map +1 -0
- package/dist/esm/helpers/styledDynamic.native.js +166 -0
- package/dist/esm/helpers/styledDynamic.native.js.map +1 -0
- package/dist/esm/helpers/subscribeToContextGroup.mjs +98 -79
- package/dist/esm/helpers/subscribeToContextGroup.mjs.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js +157 -124
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/helpers/themeRef.mjs +17 -0
- package/dist/esm/helpers/themeRef.mjs.map +1 -0
- package/dist/esm/helpers/themeRef.native.js +17 -0
- package/dist/esm/helpers/themeRef.native.js.map +1 -0
- package/dist/esm/helpers/themeUpdateState.mjs +4 -0
- package/dist/esm/helpers/themeUpdateState.mjs.map +1 -0
- package/dist/esm/helpers/themeUpdateState.native.js +4 -0
- package/dist/esm/helpers/themeUpdateState.native.js.map +1 -0
- package/dist/esm/helpers/themes.mjs +17 -16
- package/dist/esm/helpers/themes.mjs.map +1 -1
- package/dist/esm/helpers/themes.native.js +17 -16
- package/dist/esm/helpers/themes.native.js.map +1 -1
- package/dist/esm/helpers/timer.mjs +9 -5
- package/dist/esm/helpers/timer.mjs.map +1 -1
- package/dist/esm/helpers/timer.native.js +9 -5
- package/dist/esm/helpers/timer.native.js.map +1 -1
- package/dist/esm/helpers/tokenCategories.mjs +20 -0
- package/dist/esm/helpers/tokenCategories.mjs.map +1 -0
- package/dist/esm/helpers/tokenCategories.native.js +20 -0
- package/dist/esm/helpers/tokenCategories.native.js.map +1 -0
- package/dist/esm/helpers/transformsToString.mjs +12 -13
- package/dist/esm/helpers/transformsToString.mjs.map +1 -1
- package/dist/esm/helpers/transformsToString.native.js +29 -13
- package/dist/esm/helpers/transformsToString.native.js.map +1 -1
- package/dist/esm/helpers/variableValue.mjs +49 -0
- package/dist/esm/helpers/variableValue.mjs.map +1 -0
- package/dist/esm/helpers/variableValue.native.js +87 -0
- package/dist/esm/helpers/variableValue.native.js.map +1 -0
- package/dist/esm/helpers/variables.mjs +542 -0
- package/dist/esm/helpers/variables.mjs.map +1 -0
- package/dist/esm/helpers/variables.native.js +778 -0
- package/dist/esm/helpers/variables.native.js.map +1 -0
- package/dist/esm/helpers/warnOnce.mjs +15 -0
- package/dist/esm/helpers/warnOnce.mjs.map +1 -0
- package/dist/esm/helpers/warnOnce.native.js +17 -0
- package/dist/esm/helpers/warnOnce.native.js.map +1 -0
- package/dist/esm/helpers/webPropsToSkip.mjs +1 -0
- package/dist/esm/helpers/webPropsToSkip.mjs.map +1 -1
- package/dist/esm/helpers/webPropsToSkip.native.js +41 -45
- package/dist/esm/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.mjs +34 -30
- package/dist/esm/helpers/wrapStyleTags.mjs.map +1 -1
- package/dist/esm/helpers/wrapStyleTags.native.js +4 -1
- package/dist/esm/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs +2 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.mjs.map +1 -1
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js +4 -2
- package/dist/esm/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs +47 -40
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/getThemeProxied.native.js +85 -62
- package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/esm/hooks/isOptimizedForFirstRender.mjs +8 -0
- package/dist/esm/hooks/isOptimizedForFirstRender.mjs.map +1 -0
- package/dist/esm/hooks/isOptimizedForFirstRender.native.js +8 -0
- package/dist/esm/hooks/isOptimizedForFirstRender.native.js.map +1 -0
- package/dist/esm/hooks/useAnimationDriver.mjs +26 -0
- package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -0
- package/dist/esm/hooks/useAnimationDriver.native.js +32 -0
- package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -0
- package/dist/esm/hooks/useComponentState.mjs +167 -183
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +178 -194
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useDisableSSR.mjs +3 -1
- package/dist/esm/hooks/useDisableSSR.mjs.map +1 -1
- package/dist/esm/hooks/useDisableSSR.native.js +4 -2
- package/dist/esm/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/esm/hooks/useIsTouchDevice.mjs +3 -1
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +1 -1
- package/dist/esm/hooks/useIsTouchDevice.native.js +4 -2
- package/dist/esm/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +299 -233
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +451 -283
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/usePortalThemeState.mjs +21 -0
- package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -0
- package/dist/esm/hooks/usePortalThemeState.native.js +21 -0
- package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -0
- package/dist/esm/hooks/useSplitStyles.mjs +17 -0
- package/dist/esm/hooks/useSplitStyles.mjs.map +1 -0
- package/dist/esm/hooks/useSplitStyles.native.js +14 -0
- package/dist/esm/hooks/useSplitStyles.native.js.map +1 -0
- package/dist/esm/hooks/useStyle.mjs +11 -0
- package/dist/esm/hooks/useStyle.mjs.map +1 -0
- package/dist/esm/hooks/useStyle.native.js +11 -0
- package/dist/esm/hooks/useStyle.native.js.map +1 -0
- package/dist/esm/hooks/useTheme.mjs +27 -32
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +30 -36
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeName.mjs +7 -7
- package/dist/esm/hooks/useThemeName.mjs.map +1 -1
- package/dist/esm/hooks/useThemeName.native.js +10 -10
- package/dist/esm/hooks/useThemeName.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +261 -349
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +312 -458
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +64 -72
- package/dist/esm/index.mjs +64 -72
- package/dist/esm/index.native.js +64 -72
- package/dist/esm/inject-styles.mjs +11 -13
- package/dist/esm/inject-styles.mjs.map +1 -1
- package/dist/esm/inject-styles.native.js +12 -14
- package/dist/esm/inject-styles.native.js.map +1 -1
- package/dist/esm/insertFont.mjs +44 -41
- package/dist/esm/insertFont.mjs.map +1 -1
- package/dist/esm/insertFont.native.js +38 -35
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/interfaces/CSSColorNames.mjs +151 -0
- package/dist/esm/interfaces/CSSColorNames.mjs.map +1 -1
- package/dist/esm/interfaces/CSSColorNames.native.js +151 -0
- package/dist/esm/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/esm/interfaces/GetRef.mjs +0 -2
- package/dist/esm/interfaces/GetRef.native.js +0 -2
- package/dist/esm/interfaces/RNExclusiveTypes.mjs +0 -2
- package/dist/esm/interfaces/RNExclusiveTypes.native.js +0 -2
- package/dist/esm/interfaces/TamaguiComponentEvents.mjs +0 -2
- package/dist/esm/interfaces/TamaguiComponentEvents.native.js +0 -2
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs +0 -2
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -2
- package/dist/esm/internal-runtime.mjs +83 -0
- package/dist/esm/internal-runtime.mjs.map +1 -0
- package/dist/esm/internal-runtime.native.js +83 -0
- package/dist/esm/internal-runtime.native.js.map +1 -0
- package/dist/esm/internalRuntimeTypes.mjs +0 -0
- package/dist/esm/internalRuntimeTypes.native.js +0 -0
- package/dist/esm/setupHooks.mjs +2 -1
- package/dist/esm/setupHooks.mjs.map +1 -1
- package/dist/esm/setupHooks.native.js +2 -1
- package/dist/esm/setupHooks.native.js.map +1 -1
- package/dist/esm/setupReactNative.mjs +2 -27
- package/dist/esm/setupReactNative.mjs.map +1 -1
- package/dist/esm/setupReactNative.native.js +25 -24
- package/dist/esm/setupReactNative.native.js.map +1 -1
- package/dist/esm/static-resolve.mjs +196 -0
- package/dist/esm/static-resolve.mjs.map +1 -0
- package/dist/esm/static-resolve.native.js +200 -0
- package/dist/esm/static-resolve.native.js.map +1 -0
- package/dist/esm/style.mjs +58 -0
- package/dist/esm/style.mjs.map +1 -0
- package/dist/esm/style.native.js +59 -0
- package/dist/esm/style.native.js.map +1 -0
- package/dist/esm/styled.mjs +97 -128
- package/dist/esm/styled.mjs.map +1 -1
- package/dist/esm/styled.native.js +101 -130
- package/dist/esm/styled.native.js.map +1 -1
- package/dist/esm/theme-update.mjs +3 -0
- package/dist/esm/theme-update.native.js +3 -0
- package/dist/esm/type-utils.mjs +0 -2
- package/dist/esm/type-utils.native.js +0 -2
- package/dist/esm/types.mjs +3 -0
- package/dist/esm/types.mjs.map +1 -1
- package/dist/esm/types.native.js +3 -0
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/views/ConfigRevisionCheck.mjs +43 -0
- package/dist/esm/views/ConfigRevisionCheck.mjs.map +1 -0
- package/dist/esm/views/ConfigRevisionCheck.native.js +46 -0
- package/dist/esm/views/ConfigRevisionCheck.native.js.map +1 -0
- package/dist/esm/views/Configuration.mjs +11 -9
- package/dist/esm/views/Configuration.mjs.map +1 -1
- package/dist/esm/views/Configuration.native.js +13 -11
- package/dist/esm/views/Configuration.native.js.map +1 -1
- package/dist/esm/views/FontLanguage.mjs +8 -11
- package/dist/esm/views/FontLanguage.mjs.map +1 -1
- package/dist/esm/views/FontLanguage.native.js +13 -14
- package/dist/esm/views/FontLanguage.native.js.map +1 -1
- package/dist/esm/views/SafeAreaTracker.mjs +9 -0
- package/dist/esm/views/SafeAreaTracker.mjs.map +1 -0
- package/dist/esm/views/SafeAreaTracker.native.js +12 -0
- package/dist/esm/views/SafeAreaTracker.native.js.map +1 -0
- package/dist/esm/views/Slot.mjs +39 -44
- package/dist/esm/views/Slot.mjs.map +1 -1
- package/dist/esm/views/Slot.native.js +41 -46
- package/dist/esm/views/Slot.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs +54 -50
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js +52 -51
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/TamaguiRoot.mjs +31 -35
- package/dist/esm/views/TamaguiRoot.mjs.map +1 -1
- package/dist/esm/views/TamaguiRoot.native.js +2 -1
- package/dist/esm/views/TamaguiRoot.native.js.map +1 -1
- package/dist/esm/views/Text.mjs +38 -31
- package/dist/esm/views/Text.mjs.map +1 -1
- package/dist/esm/views/Text.native.js +19 -21
- package/dist/esm/views/Text.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +102 -145
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +113 -152
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/dist/esm/views/ThemeDebug.mjs +61 -63
- package/dist/esm/views/ThemeDebug.mjs.map +1 -1
- package/dist/esm/views/ThemeDebug.native.js +3 -6
- package/dist/esm/views/ThemeDebug.native.js.map +1 -1
- package/dist/esm/views/ThemeProvider.mjs +21 -20
- package/dist/esm/views/ThemeProvider.mjs.map +1 -1
- package/dist/esm/views/ThemeProvider.native.js +12 -10
- package/dist/esm/views/ThemeProvider.native.js.map +1 -1
- package/dist/esm/views/ThemeUpdate.mjs +54 -0
- package/dist/esm/views/ThemeUpdate.mjs.map +1 -0
- package/dist/esm/views/ThemeUpdate.native.js +53 -0
- package/dist/esm/views/ThemeUpdate.native.js.map +1 -0
- package/dist/esm/views/View.mjs +9 -3
- package/dist/esm/views/View.mjs.map +1 -1
- package/dist/esm/views/View.native.js +9 -3
- package/dist/esm/views/View.native.js.map +1 -1
- package/internal-runtime/index.cjs +2 -0
- package/internal-runtime/index.js +4 -0
- package/internal-runtime/index.native.js +2 -0
- package/package.json +71 -18
- package/reset.css +15 -12
- package/src/_withNativeStyle.tsx +84 -0
- package/src/_withStableStyle.tsx +61 -43
- package/src/config.ts +34 -36
- package/src/contexts/ComponentContext.tsx +25 -8
- package/src/createComponent.tsx +628 -265
- package/src/createStyledHOC.tsx +137 -0
- package/src/createTamagui.ts +181 -92
- package/src/createTokens.ts +16 -0
- package/src/createVariable.ts +17 -12
- package/src/createVariables.ts +5 -17
- package/src/dom/adapters.ts +99 -0
- package/src/dom/contract.ts +60 -0
- package/src/dom/domEventProps.native.ts +40 -0
- package/src/dom/html.native.tsx +1412 -0
- package/src/dom/html.tsx +887 -0
- package/src/dom/htmlRuntime.native.tsx +230 -0
- package/src/dom/index.native.ts +28 -0
- package/src/dom/index.ts +16 -0
- package/src/dom/primitives.native.tsx +658 -0
- package/src/dom/standalone.ts +107 -0
- package/src/dom/standaloneHtml.ts +104 -0
- package/src/dom/styleTypes.ts +620 -0
- package/src/eventDetails.ts +85 -0
- package/src/eventHandling.native.ts +16 -16
- package/src/helpers/borderComponents.ts +62 -0
- package/src/helpers/componentDisplayName.ts +3 -0
- package/src/helpers/configVariables.ts +64 -0
- package/src/helpers/createDesignSystem.ts +127 -89
- package/src/helpers/createStyledContext.tsx +85 -43
- package/src/helpers/defaultAnimationDriver.tsx +0 -5
- package/src/helpers/expandStyle.ts +49 -2
- package/src/helpers/extractPseudoState.ts +32 -0
- package/src/helpers/fluid.ts +66 -0
- package/src/helpers/formatDiagnostic.ts +69 -0
- package/src/helpers/getCSSStylesAtomic.native.ts +7 -3
- package/src/helpers/getCSSStylesAtomic.ts +306 -166
- package/src/helpers/getCSSStylesAtomicCompiled.ts +21 -0
- package/src/helpers/getDynamicVal.ts +4 -0
- package/src/helpers/getExpandedShorthands.ts +0 -17
- package/src/helpers/getSplitStyles.tsx +3231 -1599
- package/src/helpers/getThemeCSSRules.ts +16 -1
- package/src/helpers/grammarConfig.ts +369 -0
- package/src/helpers/insertStyleRule.tsx +109 -24
- package/src/helpers/isObj.ts +8 -0
- package/src/helpers/isTamaguiComponent.tsx +2 -5
- package/src/helpers/isTamaguiElement.tsx +2 -3
- package/src/helpers/log.ts +12 -11
- package/src/helpers/matchMedia.native.ts +16 -1
- package/src/helpers/mediaState.ts +18 -32
- package/src/helpers/mergeProps.ts +2 -32
- package/src/helpers/mergeVariants.ts +80 -21
- package/src/helpers/nativeOnlyProps.ts +0 -1
- package/src/helpers/nativeStyleEngine.ts +385 -0
- package/src/helpers/nativeTransitionTarget.native.ts +22 -0
- package/src/helpers/nativeTransitionTarget.ts +6 -0
- package/src/helpers/normalizeColor.native.ts +2 -3
- package/src/helpers/normalizeColor.ts +4 -14
- package/src/helpers/normalizeShadow.native.ts +1 -1
- package/src/helpers/normalizeStyle.ts +26 -15
- package/src/helpers/normalizeValueWithProperty.ts +18 -11
- package/src/helpers/noteOnce.ts +9 -0
- package/src/helpers/parseBorderShorthand.native.ts +23 -45
- package/src/helpers/parseNativeStyle.native.ts +238 -0
- package/src/helpers/parseNativeTransform.native.ts +35 -0
- package/src/helpers/parseOutlineShorthand.native.ts +9 -40
- package/src/helpers/proxyThemeToParents.ts +11 -1
- package/src/helpers/registerCSSVariable.ts +52 -4
- package/src/helpers/resolveAnimationDriver.ts +16 -13
- package/src/helpers/resolveNativeUnits.native.ts +187 -0
- package/src/helpers/resolveNativeUnits.ts +10 -0
- package/src/helpers/resolveRem.native.ts +25 -26
- package/src/helpers/resolveRem.ts +1 -1
- package/src/helpers/resolveSafeArea.native.ts +90 -10
- package/src/helpers/resolveSafeArea.ts +46 -7
- package/src/helpers/resolveSafeAreaVariable.native.ts +28 -0
- package/src/helpers/resolveSafeAreaVariable.ts +10 -0
- package/src/helpers/resolveVariableValue.ts +31 -0
- package/src/helpers/resolveVariantStyle.ts +77 -0
- package/src/helpers/skipProps.ts +11 -3
- package/src/helpers/splitStyleProps.ts +166 -0
- package/src/helpers/styleFrontend.ts +143 -0
- package/src/helpers/styleProvenance.ts +17 -2
- package/src/helpers/styleStaticConfig.ts +21 -0
- package/src/helpers/styleStaticConfigCore.ts +110 -0
- package/src/helpers/styleToCSS.native.ts +1 -0
- package/src/helpers/styleToCSS.ts +43 -0
- package/src/helpers/styledDynamic.ts +192 -0
- package/src/helpers/subscribeToContextGroup.tsx +46 -7
- package/src/helpers/themeRef.ts +34 -0
- package/src/helpers/themeUpdateState.ts +27 -0
- package/src/helpers/themes.ts +9 -10
- package/src/helpers/tokenCategories.ts +54 -0
- package/src/helpers/transformsToString.ts +18 -16
- package/src/helpers/variableValue.ts +50 -0
- package/src/helpers/variables.ts +856 -0
- package/src/helpers/warnOnce.ts +47 -0
- package/src/helpers/webPropsToSkip.native.ts +7 -8
- package/src/helpers/wrapStyleTags.tsx +4 -2
- package/src/hooks/getThemeProxied.ts +139 -101
- package/src/hooks/isOptimizedForFirstRender.native.ts +7 -0
- package/src/hooks/isOptimizedForFirstRender.ts +7 -0
- package/src/hooks/useAnimationDriver.ts +56 -0
- package/src/hooks/useComponentState.ts +128 -174
- package/src/hooks/useMedia.tsx +258 -131
- package/src/hooks/usePortalThemeState.ts +34 -0
- package/src/hooks/useSplitStyles.tsx +41 -0
- package/src/hooks/useStyle.ts +10 -0
- package/src/hooks/useTheme.tsx +20 -7
- package/src/hooks/useThemeState.ts +185 -332
- package/src/index.ts +328 -70
- package/src/insertFont.ts +9 -5
- package/src/interfaces/CSSColorNames.tsx +152 -149
- package/src/interfaces/RNExclusiveTypes.ts +2 -1
- package/src/interfaces/TamaguiComponentEvents.tsx +0 -1
- package/src/interfaces/TamaguiComponentPropsBaseBase.tsx +2 -4
- package/src/internal-runtime.ts +169 -0
- package/src/internalRuntimeTypes.ts +18 -0
- package/src/setupHooks.ts +9 -1
- package/src/setupReactNative.ts +7 -30
- package/src/static-resolve.ts +403 -0
- package/src/style.ts +97 -0
- package/src/styled.tsx +290 -416
- package/src/theme-update.ts +2 -0
- package/src/types.tsx +813 -610
- package/src/views/ConfigRevisionCheck.tsx +55 -0
- package/src/views/SafeAreaTracker.native.tsx +10 -0
- package/src/views/SafeAreaTracker.tsx +7 -0
- package/src/views/Slot.tsx +3 -2
- package/src/views/TamaguiProvider.tsx +36 -24
- package/src/views/Text.tsx +33 -23
- package/src/views/Theme.tsx +62 -46
- package/src/views/ThemeDebug.tsx +0 -2
- package/src/views/ThemeProvider.tsx +6 -5
- package/src/views/ThemeUpdate.tsx +90 -0
- package/src/views/View.tsx +12 -4
- package/types/Tamagui.d.ts.map +1 -1
- package/types/_withNativeStyle.d.ts +5 -0
- package/types/_withNativeStyle.d.ts.map +1 -0
- package/types/_withStableStyle.d.ts +1 -1
- package/types/_withStableStyle.d.ts.map +1 -1
- package/types/config.d.ts +22 -32
- package/types/config.d.ts.map +1 -1
- package/types/contexts/ComponentContext.d.ts +1 -1
- package/types/contexts/ComponentContext.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/createFont.d.ts.map +1 -1
- package/types/createStyledHOC.d.ts +4 -0
- package/types/createStyledHOC.d.ts.map +1 -0
- package/types/createTamagui.d.ts +2 -1
- package/types/createTamagui.d.ts.map +1 -1
- package/types/createTokens.d.ts.map +1 -1
- package/types/createVariable.d.ts +0 -2
- package/types/createVariable.d.ts.map +1 -1
- package/types/createVariables.d.ts.map +1 -1
- package/types/dom/adapters.d.ts +42 -0
- package/types/dom/adapters.d.ts.map +1 -0
- package/types/dom/contract.d.ts +48 -0
- package/types/dom/contract.d.ts.map +1 -0
- package/types/dom/domEventProps.native.d.ts +7 -0
- package/types/dom/domEventProps.native.d.ts.map +1 -0
- package/types/dom/html.d.ts +58 -0
- package/types/dom/html.d.ts.map +1 -0
- package/types/dom/html.native.d.ts +67 -0
- package/types/dom/html.native.d.ts.map +1 -0
- package/types/dom/htmlRuntime.native.d.ts +63 -0
- package/types/dom/htmlRuntime.native.d.ts.map +1 -0
- package/types/dom/index.d.ts +11 -0
- package/types/dom/index.d.ts.map +1 -0
- package/types/dom/index.native.d.ts +12 -0
- package/types/dom/index.native.d.ts.map +1 -0
- package/types/dom/primitives.native.d.ts +43 -0
- package/types/dom/primitives.native.d.ts.map +1 -0
- package/types/dom/standalone.d.ts +89 -0
- package/types/dom/standalone.d.ts.map +1 -0
- package/types/dom/standaloneHtml.d.ts +67 -0
- package/types/dom/standaloneHtml.d.ts.map +1 -0
- package/types/dom/styleTypes.d.ts +486 -0
- package/types/dom/styleTypes.d.ts.map +1 -0
- package/types/eventDetails.d.ts +12 -0
- package/types/eventDetails.d.ts.map +1 -0
- package/types/helpers/borderComponents.d.ts +10 -0
- package/types/helpers/borderComponents.d.ts.map +1 -0
- package/types/helpers/componentDisplayName.d.ts +2 -0
- package/types/helpers/componentDisplayName.d.ts.map +1 -0
- package/types/helpers/configVariables.d.ts +3 -0
- package/types/helpers/configVariables.d.ts.map +1 -0
- package/types/helpers/createDesignSystem.d.ts +24 -6
- package/types/helpers/createDesignSystem.d.ts.map +1 -1
- package/types/helpers/createStyledContext.d.ts +29 -2
- package/types/helpers/createStyledContext.d.ts.map +1 -1
- package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
- package/types/helpers/defaultOffset.d.ts.map +1 -1
- package/types/helpers/expandStyle.d.ts.map +1 -1
- package/types/helpers/extractPseudoState.d.ts +14 -0
- package/types/helpers/extractPseudoState.d.ts.map +1 -0
- package/types/helpers/fluid.d.ts +21 -0
- package/types/helpers/fluid.d.ts.map +1 -0
- package/types/helpers/formatDiagnostic.d.ts +2 -0
- package/types/helpers/formatDiagnostic.d.ts.map +1 -0
- package/types/helpers/getCSSStylesAtomic.d.ts +29 -6
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.native.d.ts +11 -3
- package/types/helpers/getCSSStylesAtomic.native.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts +9 -0
- package/types/helpers/getCSSStylesAtomicCompiled.d.ts.map +1 -0
- package/types/helpers/getDynamicVal.d.ts +1 -1
- package/types/helpers/getDynamicVal.d.ts.map +1 -1
- package/types/helpers/getExpandedShorthands.d.ts +0 -5
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -1
- package/types/helpers/getShorthandValue.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts +14 -8
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -1
- package/types/helpers/grammarConfig.d.ts +41 -0
- package/types/helpers/grammarConfig.d.ts.map +1 -0
- package/types/helpers/insertStyleRule.d.ts +4 -1
- package/types/helpers/insertStyleRule.d.ts.map +1 -1
- package/types/helpers/isObj.d.ts +1 -0
- package/types/helpers/isObj.d.ts.map +1 -1
- package/types/helpers/isTamaguiComponent.d.ts +1 -1
- package/types/helpers/isTamaguiComponent.d.ts.map +1 -1
- package/types/helpers/isTamaguiElement.d.ts +1 -1
- package/types/helpers/isTamaguiElement.d.ts.map +1 -1
- package/types/helpers/log.d.ts.map +1 -1
- package/types/helpers/matchMedia.d.ts +1 -1
- package/types/helpers/matchMedia.native.d.ts.map +1 -1
- package/types/helpers/mediaState.d.ts +5 -2
- package/types/helpers/mediaState.d.ts.map +1 -1
- package/types/helpers/mergeProps.d.ts +0 -2
- package/types/helpers/mergeProps.d.ts.map +1 -1
- package/types/helpers/mergeVariants.d.ts +1 -1
- package/types/helpers/mergeVariants.d.ts.map +1 -1
- package/types/helpers/nativeOnlyProps.d.ts +0 -1
- package/types/helpers/nativeOnlyProps.d.ts.map +1 -1
- package/types/helpers/nativeStyleEngine.d.ts +77 -0
- package/types/helpers/nativeStyleEngine.d.ts.map +1 -0
- package/types/helpers/nativeTransitionTarget.d.ts +3 -0
- package/types/helpers/nativeTransitionTarget.d.ts.map +1 -0
- package/types/helpers/nativeTransitionTarget.native.d.ts +3 -0
- package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -0
- package/types/helpers/normalizeColor.d.ts +0 -6
- package/types/helpers/normalizeColor.d.ts.map +1 -1
- package/types/helpers/normalizeColor.native.d.ts.map +1 -1
- package/types/helpers/normalizeShadow.d.ts.map +1 -1
- package/types/helpers/normalizeShadow.native.d.ts.map +1 -1
- package/types/helpers/normalizeStyle.d.ts +2 -2
- package/types/helpers/normalizeStyle.d.ts.map +1 -1
- package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -1
- package/types/helpers/noteOnce.d.ts +2 -0
- package/types/helpers/noteOnce.d.ts.map +1 -0
- package/types/helpers/parseBorderShorthand.native.d.ts +1 -0
- package/types/helpers/parseBorderShorthand.native.d.ts.map +1 -1
- package/types/helpers/parseNativeStyle.native.d.ts +14 -0
- package/types/helpers/parseNativeStyle.native.d.ts.map +1 -0
- package/types/helpers/parseNativeTransform.native.d.ts +2 -0
- package/types/helpers/parseNativeTransform.native.d.ts.map +1 -0
- package/types/helpers/parseOutlineShorthand.native.d.ts.map +1 -1
- package/types/helpers/proxyThemeToParents.d.ts +1 -1
- package/types/helpers/proxyThemeToParents.d.ts.map +1 -1
- package/types/helpers/registerCSSVariable.d.ts +12 -0
- package/types/helpers/registerCSSVariable.d.ts.map +1 -1
- package/types/helpers/resolveAnimationDriver.d.ts +4 -4
- package/types/helpers/resolveAnimationDriver.d.ts.map +1 -1
- package/types/helpers/resolveNativeUnits.d.ts +6 -0
- package/types/helpers/resolveNativeUnits.d.ts.map +1 -0
- package/types/helpers/resolveNativeUnits.native.d.ts +15 -0
- package/types/helpers/resolveNativeUnits.native.d.ts.map +1 -0
- package/types/helpers/resolveRem.native.d.ts +6 -4
- package/types/helpers/resolveRem.native.d.ts.map +1 -1
- package/types/helpers/resolveSafeArea.d.ts +1 -1
- package/types/helpers/resolveSafeArea.d.ts.map +1 -1
- package/types/helpers/resolveSafeArea.native.d.ts +2 -1
- package/types/helpers/resolveSafeArea.native.d.ts.map +1 -1
- package/types/helpers/resolveSafeAreaVariable.d.ts +3 -0
- package/types/helpers/resolveSafeAreaVariable.d.ts.map +1 -0
- package/types/helpers/resolveSafeAreaVariable.native.d.ts +3 -0
- package/types/helpers/resolveSafeAreaVariable.native.d.ts.map +1 -0
- package/types/helpers/resolveVariableValue.d.ts +3 -0
- package/types/helpers/resolveVariableValue.d.ts.map +1 -0
- package/types/helpers/resolveVariantStyle.d.ts +3 -0
- package/types/helpers/resolveVariantStyle.d.ts.map +1 -0
- package/types/helpers/setElementProps.d.ts.map +1 -1
- package/types/helpers/skipProps.d.ts +5 -2
- package/types/helpers/skipProps.d.ts.map +1 -1
- package/types/helpers/sortString.d.ts +1 -1
- package/types/helpers/sortString.d.ts.map +1 -1
- package/types/helpers/splitStyleProps.d.ts +44 -0
- package/types/helpers/splitStyleProps.d.ts.map +1 -0
- package/types/helpers/styleFrontend.d.ts +102 -0
- package/types/helpers/styleFrontend.d.ts.map +1 -0
- package/types/helpers/styleProvenance.d.ts +14 -1
- package/types/helpers/styleProvenance.d.ts.map +1 -1
- package/types/helpers/styleStaticConfig.d.ts +14 -0
- package/types/helpers/styleStaticConfig.d.ts.map +1 -0
- package/types/helpers/styleStaticConfigCore.d.ts +4 -0
- package/types/helpers/styleStaticConfigCore.d.ts.map +1 -0
- package/types/helpers/styleToCSS.d.ts +2 -0
- package/types/helpers/styleToCSS.d.ts.map +1 -0
- package/types/helpers/styleToCSS.native.d.ts +2 -0
- package/types/helpers/styleToCSS.native.d.ts.map +1 -0
- package/types/helpers/styledDynamic.d.ts +18 -0
- package/types/helpers/styledDynamic.d.ts.map +1 -0
- package/types/helpers/subscribeToContextGroup.d.ts +1 -0
- package/types/helpers/subscribeToContextGroup.d.ts.map +1 -1
- package/types/helpers/themeRef.d.ts +22 -0
- package/types/helpers/themeRef.d.ts.map +1 -0
- package/types/helpers/themeUpdateState.d.ts +23 -0
- package/types/helpers/themeUpdateState.d.ts.map +1 -0
- package/types/helpers/themes.d.ts.map +1 -1
- package/types/helpers/tokenCategories.d.ts +4 -0
- package/types/helpers/tokenCategories.d.ts.map +1 -0
- package/types/helpers/transformsToString.d.ts.map +1 -1
- package/types/helpers/variableValue.d.ts +4 -0
- package/types/helpers/variableValue.d.ts.map +1 -0
- package/types/helpers/variables.d.ts +73 -0
- package/types/helpers/variables.d.ts.map +1 -0
- package/types/helpers/warnOnce.d.ts +20 -0
- package/types/helpers/warnOnce.d.ts.map +1 -0
- package/types/helpers/webPropsToSkip.native.d.ts +68 -62
- package/types/helpers/webPropsToSkip.native.d.ts.map +1 -1
- package/types/helpers/wrapStyleTags.d.ts +1 -1
- package/types/helpers/wrapStyleTags.d.ts.map +1 -1
- package/types/hooks/getThemeProxied.d.ts +1 -1
- package/types/hooks/getThemeProxied.d.ts.map +1 -1
- package/types/hooks/isOptimizedForFirstRender.d.ts +2 -0
- package/types/hooks/isOptimizedForFirstRender.d.ts.map +1 -0
- package/types/hooks/isOptimizedForFirstRender.native.d.ts +2 -0
- package/types/hooks/isOptimizedForFirstRender.native.d.ts.map +1 -0
- package/types/hooks/useAnimationDriver.d.ts +7 -0
- package/types/hooks/useAnimationDriver.d.ts.map +1 -0
- package/types/hooks/useComponentState.d.ts +6 -4
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts +14 -12
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/usePortalThemeState.d.ts +15 -0
- package/types/hooks/usePortalThemeState.d.ts.map +1 -0
- package/types/hooks/useSplitStyles.d.ts +3 -0
- package/types/hooks/useSplitStyles.d.ts.map +1 -0
- package/types/hooks/useStyle.d.ts +4 -0
- package/types/hooks/useStyle.d.ts.map +1 -0
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +13 -3
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +63 -70
- package/types/index.d.ts.map +1 -1
- package/types/inject-styles.d.ts.map +1 -1
- package/types/insertFont.d.ts.map +1 -1
- package/types/interfaces/CSSColorNames.d.ts +2 -1
- package/types/interfaces/CSSColorNames.d.ts.map +1 -1
- package/types/interfaces/RNExclusiveTypes.d.ts +2 -2
- package/types/interfaces/RNExclusiveTypes.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentEvents.d.ts +0 -1
- package/types/interfaces/TamaguiComponentEvents.d.ts.map +1 -1
- package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts +2 -4
- package/types/interfaces/TamaguiComponentPropsBaseBase.d.ts.map +1 -1
- package/types/internal-runtime.d.ts +56 -0
- package/types/internal-runtime.d.ts.map +1 -0
- package/types/internalRuntimeTypes.d.ts +11 -0
- package/types/internalRuntimeTypes.d.ts.map +1 -0
- package/types/setupHooks.d.ts +1 -1
- package/types/setupHooks.d.ts.map +1 -1
- package/types/setupReactNative.d.ts +2 -3
- package/types/setupReactNative.d.ts.map +1 -1
- package/types/static-resolve.d.ts +79 -0
- package/types/static-resolve.d.ts.map +1 -0
- package/types/style.d.ts +18 -0
- package/types/style.d.ts.map +1 -0
- package/types/styled.d.ts +41 -41
- package/types/styled.d.ts.map +1 -1
- package/types/theme-update.d.ts +3 -0
- package/types/theme-update.d.ts.map +1 -0
- package/types/types.d.ts +575 -309
- package/types/types.d.ts.map +1 -1
- package/types/views/ConfigRevisionCheck.d.ts +6 -0
- package/types/views/ConfigRevisionCheck.d.ts.map +1 -0
- package/types/views/Configuration.d.ts +1 -1
- package/types/views/Configuration.d.ts.map +1 -1
- package/types/views/FontLanguage.d.ts +4 -4
- package/types/views/FontLanguage.d.ts.map +1 -1
- package/types/views/FontLanguage.native.d.ts +2 -1
- package/types/views/FontLanguage.native.d.ts.map +1 -1
- package/types/views/SafeAreaTracker.d.ts +3 -0
- package/types/views/SafeAreaTracker.d.ts.map +1 -0
- package/types/views/SafeAreaTracker.native.d.ts +3 -0
- package/types/views/SafeAreaTracker.native.d.ts.map +1 -0
- package/types/views/Slot.d.ts +7 -7
- package/types/views/Slot.d.ts.map +1 -1
- package/types/views/TamaguiProvider.d.ts +2 -1
- package/types/views/TamaguiProvider.d.ts.map +1 -1
- package/types/views/TamaguiRoot.d.ts +1 -1
- package/types/views/TamaguiRoot.d.ts.map +1 -1
- package/types/views/Text.d.ts +6 -2
- package/types/views/Text.d.ts.map +1 -1
- package/types/views/Theme.d.ts +3 -8
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts.map +1 -1
- package/types/views/ThemeProvider.d.ts +1 -1
- package/types/views/ThemeProvider.d.ts.map +1 -1
- package/types/views/ThemeUpdate.d.ts +15 -0
- package/types/views/ThemeUpdate.d.ts.map +1 -0
- package/types/views/View.d.ts +8 -2
- package/types/views/View.d.ts.map +1 -1
- package/.turbo/turbo-build.log +0 -2
- package/.turbo/turbo-test$colon$web.log +0 -25
- package/dist/cjs/animationDriverTypes.test-d.cjs +0 -77
- package/dist/cjs/animationDriverTypes.test-d.native.js +0 -80
- package/dist/cjs/animationDriverTypes.test-d.native.js.map +0 -1
- package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -36
- package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -39
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +0 -1
- package/dist/cjs/helpers/createMediaStyle.cjs +0 -127
- package/dist/cjs/helpers/createMediaStyle.native.js +0 -140
- package/dist/cjs/helpers/createMediaStyle.native.js.map +0 -1
- package/dist/cjs/helpers/getDefaultProps.cjs +0 -43
- package/dist/cjs/helpers/getDefaultProps.native.js +0 -47
- package/dist/cjs/helpers/getDefaultProps.native.js.map +0 -1
- package/dist/cjs/helpers/getFontLanguage.cjs +0 -28
- package/dist/cjs/helpers/getFontLanguage.native.js +0 -33
- package/dist/cjs/helpers/getFontLanguage.native.js.map +0 -1
- package/dist/cjs/helpers/getGroupPropParts.cjs +0 -54
- package/dist/cjs/helpers/getGroupPropParts.native.js +0 -59
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +0 -1
- package/dist/cjs/helpers/getTokenForKey.cjs +0 -174
- package/dist/cjs/helpers/getTokenForKey.native.js +0 -186
- package/dist/cjs/helpers/getTokenForKey.native.js.map +0 -1
- package/dist/cjs/helpers/getVariantExtras.cjs +0 -85
- package/dist/cjs/helpers/getVariantExtras.native.js +0 -89
- package/dist/cjs/helpers/getVariantExtras.native.js.map +0 -1
- package/dist/cjs/helpers/isActivePlatform.cjs +0 -40
- package/dist/cjs/helpers/isActivePlatform.native.js +0 -43
- package/dist/cjs/helpers/isActivePlatform.native.js.map +0 -1
- package/dist/cjs/helpers/isActiveTheme.cjs +0 -31
- package/dist/cjs/helpers/isActiveTheme.native.js +0 -34
- package/dist/cjs/helpers/isActiveTheme.native.js.map +0 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -28
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -42
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +0 -1
- package/dist/cjs/helpers/parseNativeStyle.cjs +0 -167
- package/dist/cjs/helpers/platformResolveValue.cjs +0 -38
- package/dist/cjs/helpers/platformResolveValue.native.js +0 -74
- package/dist/cjs/helpers/platformResolveValue.native.js.map +0 -1
- package/dist/cjs/helpers/propMapper.cjs +0 -281
- package/dist/cjs/helpers/propMapper.native.js +0 -381
- package/dist/cjs/helpers/propMapper.native.js.map +0 -1
- package/dist/cjs/helpers/proxyThemeVariables.cjs +0 -38
- package/dist/cjs/helpers/proxyThemeVariables.native.js +0 -43
- package/dist/cjs/helpers/proxyThemeVariables.native.js.map +0 -1
- package/dist/cjs/helpers/pseudoDescriptors.cjs +0 -82
- package/dist/cjs/helpers/pseudoDescriptors.native.js +0 -85
- package/dist/cjs/helpers/pseudoDescriptors.native.js.map +0 -1
- package/dist/cjs/helpers/pseudoTransitions.cjs +0 -83
- package/dist/cjs/helpers/pseudoTransitions.native.js +0 -88
- package/dist/cjs/helpers/pseudoTransitions.native.js.map +0 -1
- package/dist/cjs/helpers/resolveCompoundTokens.cjs +0 -41
- package/dist/cjs/helpers/resolveCompoundTokens.native.js +0 -44
- package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +0 -1
- package/dist/cjs/helpers/themeable.cjs +0 -114
- package/dist/cjs/helpers/themeable.native.js +0 -119
- package/dist/cjs/helpers/themeable.native.js.map +0 -1
- package/dist/cjs/helpers/useRenderElement.cjs +0 -53
- package/dist/cjs/helpers/useRenderElement.native.js +0 -60
- package/dist/cjs/helpers/useRenderElement.native.js.map +0 -1
- package/dist/cjs/hooks/useProps.cjs +0 -120
- package/dist/cjs/hooks/useProps.native.js +0 -125
- package/dist/cjs/hooks/useProps.native.js.map +0 -1
- package/dist/cjs/opacityModifier.test-d.cjs +0 -36
- package/dist/cjs/opacityModifier.test-d.native.js +0 -39
- package/dist/cjs/opacityModifier.test-d.native.js.map +0 -1
- package/dist/cjs/styledHtml.test-d.cjs +0 -187
- package/dist/cjs/styledHtml.test-d.native.js +0 -190
- package/dist/cjs/styledHtml.test-d.native.js.map +0 -1
- package/dist/cjs/styledNonStyleProps.test-d.cjs +0 -63
- package/dist/cjs/styledNonStyleProps.test-d.native.js +0 -66
- package/dist/cjs/styledNonStyleProps.test-d.native.js.map +0 -1
- package/dist/esm/animationDriverTypes.test-d.mjs +0 -78
- package/dist/esm/animationDriverTypes.test-d.mjs.map +0 -1
- package/dist/esm/animationDriverTypes.test-d.native.js +0 -78
- package/dist/esm/animationDriverTypes.test-d.native.js.map +0 -1
- package/dist/esm/constants/accessibilityDirectMap.mjs +0 -7
- package/dist/esm/constants/accessibilityDirectMap.mjs.map +0 -1
- package/dist/esm/constants/accessibilityDirectMap.native.js +0 -7
- package/dist/esm/constants/accessibilityDirectMap.native.js.map +0 -1
- package/dist/esm/helpers/createMediaStyle.mjs +0 -100
- package/dist/esm/helpers/createMediaStyle.mjs.map +0 -1
- package/dist/esm/helpers/createMediaStyle.native.js +0 -110
- package/dist/esm/helpers/createMediaStyle.native.js.map +0 -1
- package/dist/esm/helpers/getDefaultProps.mjs +0 -18
- package/dist/esm/helpers/getDefaultProps.mjs.map +0 -1
- package/dist/esm/helpers/getDefaultProps.native.js +0 -19
- package/dist/esm/helpers/getDefaultProps.native.js.map +0 -1
- package/dist/esm/helpers/getFontLanguage.mjs +0 -3
- package/dist/esm/helpers/getFontLanguage.mjs.map +0 -1
- package/dist/esm/helpers/getFontLanguage.native.js +0 -5
- package/dist/esm/helpers/getFontLanguage.native.js.map +0 -1
- package/dist/esm/helpers/getGroupPropParts.mjs +0 -29
- package/dist/esm/helpers/getGroupPropParts.mjs.map +0 -1
- package/dist/esm/helpers/getGroupPropParts.native.js +0 -31
- package/dist/esm/helpers/getGroupPropParts.native.js.map +0 -1
- package/dist/esm/helpers/getTokenForKey.mjs +0 -146
- package/dist/esm/helpers/getTokenForKey.mjs.map +0 -1
- package/dist/esm/helpers/getTokenForKey.native.js +0 -155
- package/dist/esm/helpers/getTokenForKey.native.js.map +0 -1
- package/dist/esm/helpers/getVariantExtras.mjs +0 -59
- package/dist/esm/helpers/getVariantExtras.mjs.map +0 -1
- package/dist/esm/helpers/getVariantExtras.native.js +0 -60
- package/dist/esm/helpers/getVariantExtras.native.js.map +0 -1
- package/dist/esm/helpers/isActivePlatform.mjs +0 -14
- package/dist/esm/helpers/isActivePlatform.mjs.map +0 -1
- package/dist/esm/helpers/isActivePlatform.native.js +0 -14
- package/dist/esm/helpers/isActivePlatform.native.js.map +0 -1
- package/dist/esm/helpers/isActiveTheme.mjs +0 -6
- package/dist/esm/helpers/isActiveTheme.mjs.map +0 -1
- package/dist/esm/helpers/isActiveTheme.native.js +0 -6
- package/dist/esm/helpers/isActiveTheme.native.js.map +0 -1
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +0 -3
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +0 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +0 -14
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +0 -1
- package/dist/esm/helpers/parseNativeStyle.mjs +0 -142
- package/dist/esm/helpers/parseNativeStyle.mjs.map +0 -1
- package/dist/esm/helpers/platformResolveValue.mjs +0 -13
- package/dist/esm/helpers/platformResolveValue.mjs.map +0 -1
- package/dist/esm/helpers/platformResolveValue.native.js +0 -46
- package/dist/esm/helpers/platformResolveValue.native.js.map +0 -1
- package/dist/esm/helpers/propMapper.mjs +0 -251
- package/dist/esm/helpers/propMapper.mjs.map +0 -1
- package/dist/esm/helpers/propMapper.native.js +0 -350
- package/dist/esm/helpers/propMapper.native.js.map +0 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs +0 -13
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +0 -1
- package/dist/esm/helpers/proxyThemeVariables.native.js +0 -15
- package/dist/esm/helpers/proxyThemeVariables.native.js.map +0 -1
- package/dist/esm/helpers/pseudoDescriptors.mjs +0 -54
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +0 -1
- package/dist/esm/helpers/pseudoDescriptors.native.js +0 -54
- package/dist/esm/helpers/pseudoDescriptors.native.js.map +0 -1
- package/dist/esm/helpers/pseudoTransitions.mjs +0 -57
- package/dist/esm/helpers/pseudoTransitions.mjs.map +0 -1
- package/dist/esm/helpers/pseudoTransitions.native.js +0 -59
- package/dist/esm/helpers/pseudoTransitions.native.js.map +0 -1
- package/dist/esm/helpers/resolveCompoundTokens.mjs +0 -16
- package/dist/esm/helpers/resolveCompoundTokens.mjs.map +0 -1
- package/dist/esm/helpers/resolveCompoundTokens.native.js +0 -16
- package/dist/esm/helpers/resolveCompoundTokens.native.js.map +0 -1
- package/dist/esm/helpers/themeable.mjs +0 -79
- package/dist/esm/helpers/themeable.mjs.map +0 -1
- package/dist/esm/helpers/themeable.native.js +0 -80
- package/dist/esm/helpers/themeable.native.js.map +0 -1
- package/dist/esm/helpers/useRenderElement.mjs +0 -26
- package/dist/esm/helpers/useRenderElement.mjs.map +0 -1
- package/dist/esm/helpers/useRenderElement.native.js +0 -31
- package/dist/esm/helpers/useRenderElement.native.js.map +0 -1
- package/dist/esm/hooks/useProps.mjs +0 -82
- package/dist/esm/hooks/useProps.mjs.map +0 -1
- package/dist/esm/hooks/useProps.native.js +0 -84
- package/dist/esm/hooks/useProps.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/interfaces/GetRef.mjs.map +0 -1
- package/dist/esm/interfaces/GetRef.native.js.map +0 -1
- package/dist/esm/interfaces/RNExclusiveTypes.mjs.map +0 -1
- package/dist/esm/interfaces/RNExclusiveTypes.native.js.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentEvents.mjs.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentEvents.native.js.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.mjs.map +0 -1
- package/dist/esm/interfaces/TamaguiComponentPropsBaseBase.native.js.map +0 -1
- package/dist/esm/opacityModifier.test-d.mjs +0 -37
- package/dist/esm/opacityModifier.test-d.mjs.map +0 -1
- package/dist/esm/opacityModifier.test-d.native.js +0 -37
- package/dist/esm/opacityModifier.test-d.native.js.map +0 -1
- package/dist/esm/styledHtml.test-d.mjs +0 -188
- package/dist/esm/styledHtml.test-d.mjs.map +0 -1
- package/dist/esm/styledHtml.test-d.native.js +0 -188
- package/dist/esm/styledHtml.test-d.native.js.map +0 -1
- package/dist/esm/styledNonStyleProps.test-d.mjs +0 -64
- package/dist/esm/styledNonStyleProps.test-d.mjs.map +0 -1
- package/dist/esm/styledNonStyleProps.test-d.native.js +0 -64
- package/dist/esm/styledNonStyleProps.test-d.native.js.map +0 -1
- package/dist/esm/type-utils.mjs.map +0 -1
- package/dist/esm/type-utils.native.js.map +0 -1
- package/src/animationDriverTypes.test-d.ts +0 -332
- package/src/constants/accessibilityDirectMap.native.tsx +0 -10
- package/src/constants/accessibilityDirectMap.tsx +0 -11
- package/src/helpers/createMediaStyle.ts +0 -167
- package/src/helpers/getDefaultProps.ts +0 -28
- package/src/helpers/getFontLanguage.ts +0 -2
- package/src/helpers/getGroupPropParts.ts +0 -46
- package/src/helpers/getTokenForKey.ts +0 -236
- package/src/helpers/getVariantExtras.tsx +0 -68
- package/src/helpers/isActivePlatform.ts +0 -43
- package/src/helpers/isActiveTheme.ts +0 -4
- package/src/helpers/normalizeStylePropKeys.native.ts +0 -12
- package/src/helpers/normalizeStylePropKeys.ts +0 -3
- package/src/helpers/parseNativeStyle.ts +0 -193
- package/src/helpers/platformResolveValue.native.ts +0 -75
- package/src/helpers/platformResolveValue.ts +0 -26
- package/src/helpers/propMapper.ts +0 -459
- package/src/helpers/proxyThemeVariables.tsx +0 -13
- package/src/helpers/pseudoDescriptors.ts +0 -74
- package/src/helpers/pseudoTransitions.ts +0 -97
- package/src/helpers/resolveCompoundTokens.ts +0 -28
- package/src/helpers/themeable.tsx +0 -104
- package/src/helpers/useRenderElement.tsx +0 -73
- package/src/hooks/useProps.tsx +0 -158
- package/src/opacityModifier.test-d.ts +0 -65
- package/src/styledHtml.test-d.ts +0 -286
- package/src/styledNonStyleProps.test-d.ts +0 -106
- package/tsconfig.json +0 -44
- package/tsconfig.test.json +0 -9
- package/types/constants/accessibilityDirectMap.d.ts +0 -6
- package/types/constants/accessibilityDirectMap.d.ts.map +0 -1
- package/types/constants/accessibilityDirectMap.native.d.ts +0 -6
- package/types/constants/accessibilityDirectMap.native.d.ts.map +0 -1
- package/types/helpers/createMediaStyle.d.ts +0 -5
- package/types/helpers/createMediaStyle.d.ts.map +0 -1
- package/types/helpers/getDefaultProps.d.ts +0 -3
- package/types/helpers/getDefaultProps.d.ts.map +0 -1
- package/types/helpers/getFontLanguage.d.ts +0 -2
- package/types/helpers/getFontLanguage.d.ts.map +0 -1
- package/types/helpers/getGroupPropParts.d.ts +0 -7
- package/types/helpers/getGroupPropParts.d.ts.map +0 -1
- package/types/helpers/getTokenForKey.d.ts +0 -6
- package/types/helpers/getTokenForKey.d.ts.map +0 -1
- package/types/helpers/getVariantExtras.d.ts +0 -4
- package/types/helpers/getVariantExtras.d.ts.map +0 -1
- package/types/helpers/isActivePlatform.d.ts +0 -16
- package/types/helpers/isActivePlatform.d.ts.map +0 -1
- package/types/helpers/isActiveTheme.d.ts +0 -2
- package/types/helpers/isActiveTheme.d.ts.map +0 -1
- package/types/helpers/normalizeStylePropKeys.d.ts +0 -2
- package/types/helpers/normalizeStylePropKeys.d.ts.map +0 -1
- package/types/helpers/normalizeStylePropKeys.native.d.ts +0 -13
- package/types/helpers/normalizeStylePropKeys.native.d.ts.map +0 -1
- package/types/helpers/parseNativeStyle.d.ts +0 -14
- package/types/helpers/parseNativeStyle.d.ts.map +0 -1
- package/types/helpers/platformResolveValue.d.ts +0 -6
- package/types/helpers/platformResolveValue.d.ts.map +0 -1
- package/types/helpers/platformResolveValue.native.d.ts +0 -7
- package/types/helpers/platformResolveValue.native.d.ts.map +0 -1
- package/types/helpers/propMapper.d.ts +0 -5
- package/types/helpers/propMapper.d.ts.map +0 -1
- package/types/helpers/proxyThemeVariables.d.ts +0 -2
- package/types/helpers/proxyThemeVariables.d.ts.map +0 -1
- package/types/helpers/pseudoDescriptors.d.ts +0 -51
- package/types/helpers/pseudoDescriptors.d.ts.map +0 -1
- package/types/helpers/pseudoTransitions.d.ts +0 -29
- package/types/helpers/pseudoTransitions.d.ts.map +0 -1
- package/types/helpers/resolveCompoundTokens.d.ts +0 -9
- package/types/helpers/resolveCompoundTokens.d.ts.map +0 -1
- package/types/helpers/themeable.d.ts +0 -3
- package/types/helpers/themeable.d.ts.map +0 -1
- package/types/helpers/useRenderElement.d.ts +0 -13
- package/types/helpers/useRenderElement.d.ts.map +0 -1
- package/types/hooks/useProps.d.ts +0 -41
- package/types/hooks/useProps.d.ts.map +0 -1
- package/vitest.config.d.ts +0 -3
- package/vitest.config.d.ts.map +0 -1
- package/vitest.config.ts +0 -14
|
@@ -0,0 +1,856 @@
|
|
|
1
|
+
import { reservedThemeProps, simpleHash } from '@tamagui/helpers'
|
|
2
|
+
import { platformMatches } from '@tamagui/constants'
|
|
3
|
+
import {
|
|
4
|
+
grammarPlatformNames,
|
|
5
|
+
isRootThemeName,
|
|
6
|
+
modifierKindPlatform,
|
|
7
|
+
modifierKindTheme,
|
|
8
|
+
reduceFlatValueIdentity,
|
|
9
|
+
type ClauseIdentityErrorCode,
|
|
10
|
+
type ClauseIdentityHandler,
|
|
11
|
+
} from '@tamagui/style-grammar/runtime'
|
|
12
|
+
import { getSetting } from '../config'
|
|
13
|
+
import { createVariable, isVariable } from '../createVariable'
|
|
14
|
+
import { getConfigRevisionState, type ConfigRevisionState } from './grammarConfig'
|
|
15
|
+
import { themeUpdateStateKey, type ThemeUpdateLayerInfo } from './themeUpdateState'
|
|
16
|
+
import { findVariableToken, isUnitlessVariableKey } from './variableValue'
|
|
17
|
+
import { warnOnce } from './warnOnce'
|
|
18
|
+
import type {
|
|
19
|
+
TamaguiInternalConfig,
|
|
20
|
+
ThemeKeys,
|
|
21
|
+
ThemeName,
|
|
22
|
+
Variable,
|
|
23
|
+
VariableValIn,
|
|
24
|
+
} from '../types'
|
|
25
|
+
|
|
26
|
+
export type InlineValues = {
|
|
27
|
+
values?: { [Key in ThemeKeys]?: VariableValIn }
|
|
28
|
+
themes?: {
|
|
29
|
+
[Name in ThemeName]?: { [Key in ThemeKeys]?: VariableValIn }
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const themeKeySets = new WeakMap<ConfigRevisionState, Set<string>>()
|
|
34
|
+
|
|
35
|
+
export const getThemeKeySet = (conf: TamaguiInternalConfig): Set<string> => {
|
|
36
|
+
const generation = getConfigRevisionState(conf)
|
|
37
|
+
const existing = themeKeySets.get(generation)
|
|
38
|
+
if (existing) return existing
|
|
39
|
+
const set = new Set<string>()
|
|
40
|
+
for (const themeName in conf.themes) {
|
|
41
|
+
for (const key in conf.themes[themeName]) {
|
|
42
|
+
set.add(key)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (process.env.NODE_ENV === 'development') {
|
|
46
|
+
// <ThemeUpdate> reads every non-reserved prop as a theme key, so a theme key or
|
|
47
|
+
// config variable sharing a name with one of Theme's own props could never
|
|
48
|
+
// be set inline. Caught once per config, at the source.
|
|
49
|
+
for (const key of set) {
|
|
50
|
+
if (reservedThemeProps[key]) {
|
|
51
|
+
console.error(
|
|
52
|
+
`[tamagui] theme key "${key}" collides with a reserved theme prop, so it cannot be set with <ThemeUpdate ${key}="...">. Rename it.`
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
themeKeySets.set(generation, set)
|
|
58
|
+
return set
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || ''
|
|
62
|
+
|
|
63
|
+
// theme-key custom property reference, matching the declaration side in
|
|
64
|
+
// getThemeCSSRules (simpleHash(themeKey, 40))
|
|
65
|
+
const themeKeyVar = (key: string) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Resolves one `<ThemeUpdate>` value to a CSS value string.
|
|
69
|
+
* References emit var() so they stay live in the cascade; literals serialize
|
|
70
|
+
* with the same unit rule numeric style props use (px unless unitless key).
|
|
71
|
+
* Configured names resolve first; a lookup miss stays literal.
|
|
72
|
+
*/
|
|
73
|
+
export function resolveVariableValueToCSS(
|
|
74
|
+
key: string,
|
|
75
|
+
value: VariableValIn,
|
|
76
|
+
conf: TamaguiInternalConfig
|
|
77
|
+
): string | undefined {
|
|
78
|
+
if (typeof value === 'number') {
|
|
79
|
+
return isUnitlessVariableKey(key) ? `${value}` : `${value}px`
|
|
80
|
+
}
|
|
81
|
+
if (typeof value === 'object' && value && 'needsPx' in value) {
|
|
82
|
+
return `${value.val}px`
|
|
83
|
+
}
|
|
84
|
+
if (typeof value !== 'string') {
|
|
85
|
+
return
|
|
86
|
+
}
|
|
87
|
+
const name = value
|
|
88
|
+
|
|
89
|
+
// theme keys and config-declared custom variables
|
|
90
|
+
if (getThemeKeySet(conf).has(name)) {
|
|
91
|
+
return themeKeyVar(name)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const token = findVariableToken(conf.tokensParsed, name)
|
|
95
|
+
if (token) {
|
|
96
|
+
return token.variable
|
|
97
|
+
}
|
|
98
|
+
return value
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
type VariablesCSS = {
|
|
102
|
+
identifier: string
|
|
103
|
+
rules: string[]
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
type ResolvedDeclarations = [key: string, cssValue: string][]
|
|
107
|
+
|
|
108
|
+
const resolveDeclarations = (
|
|
109
|
+
valuesIn: InlineValues['values'],
|
|
110
|
+
conf: TamaguiInternalConfig,
|
|
111
|
+
skip?: Set<string> | null
|
|
112
|
+
): ResolvedDeclarations => {
|
|
113
|
+
const out: ResolvedDeclarations = []
|
|
114
|
+
if (!valuesIn) return out
|
|
115
|
+
const values = valuesIn as Record<string, VariableValIn>
|
|
116
|
+
const keySet = getThemeKeySet(conf)
|
|
117
|
+
for (const key of Object.keys(values).sort()) {
|
|
118
|
+
const value = values[key]
|
|
119
|
+
if (value == null) continue
|
|
120
|
+
if (skip?.has(key)) continue
|
|
121
|
+
if (!keySet.has(key)) {
|
|
122
|
+
warnOnce(
|
|
123
|
+
`unknown:${key}`,
|
|
124
|
+
`Theme inline value: "${key}" is not a theme key or config-declared variable (createTamagui({ variables })) — dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`
|
|
125
|
+
)
|
|
126
|
+
continue
|
|
127
|
+
}
|
|
128
|
+
const cssValue = resolveVariableValueToCSS(key, value, conf)
|
|
129
|
+
if (cssValue !== undefined) {
|
|
130
|
+
out.push([key, cssValue])
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return out
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const toDeclarationBlock = (declarations: ResolvedDeclarations) =>
|
|
137
|
+
declarations
|
|
138
|
+
.map(([key, value]) => `--${cssVariablePrefix}${simpleHash(key, 40)}:${value};`)
|
|
139
|
+
.join('')
|
|
140
|
+
|
|
141
|
+
// matches the theme-class scoping on web (Theme.tsx strips the scheme prefix
|
|
142
|
+
// before emitting t_ classes) and how theme nesting composes names: bucket
|
|
143
|
+
// "blue" applies under "dark_blue", "light_blue_surface1", or a top-level
|
|
144
|
+
// "blue" theme. scheme names never reach this (they resolve by scheme).
|
|
145
|
+
const schemePrefix = /^(light|dark)_/
|
|
146
|
+
|
|
147
|
+
// non-scheme bucket names of a themes map, sorted so prefix chains apply
|
|
148
|
+
// least-specific first (blue before blue_surface1) — the same order the CSS
|
|
149
|
+
// rules are emitted in, where the later equal-specificity rule wins
|
|
150
|
+
const getThemedBucketNames = (themes: InlineValues['themes']): string[] => {
|
|
151
|
+
if (!themes) return []
|
|
152
|
+
const names: string[] = []
|
|
153
|
+
for (const name in themes) {
|
|
154
|
+
if (name !== 'light' && name !== 'dark' && themes[name]) {
|
|
155
|
+
names.push(name)
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return names.sort()
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// the names a theme bucket can ever match: every '_'-joined prefix of every
|
|
162
|
+
// scheme-stripped theme name in the config. broader than the style grammar's
|
|
163
|
+
// theme modifiers, which require a top-level conf.themes key and so can't
|
|
164
|
+
// target a `blue` that only exists as `dark_blue`/`light_blue`
|
|
165
|
+
const themeBucketNameSets = new WeakMap<ConfigRevisionState, Set<string>>()
|
|
166
|
+
|
|
167
|
+
const getThemeBucketNames = (conf: TamaguiInternalConfig): Set<string> => {
|
|
168
|
+
const generation = getConfigRevisionState(conf)
|
|
169
|
+
let set = themeBucketNameSets.get(generation)
|
|
170
|
+
if (!set) {
|
|
171
|
+
set = new Set()
|
|
172
|
+
for (const themeName in conf.themes) {
|
|
173
|
+
const parts = themeName.replace(schemePrefix, '').split('_')
|
|
174
|
+
for (let i = 1; i <= parts.length; i++) {
|
|
175
|
+
set.add(parts.slice(0, i).join('_'))
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
themeBucketNameSets.set(generation, set)
|
|
179
|
+
}
|
|
180
|
+
return set
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const warnOnUnknownThemeBucket = (name: string, conf: TamaguiInternalConfig) => {
|
|
184
|
+
if (!getThemeBucketNames(conf).has(name)) {
|
|
185
|
+
warnOnce(
|
|
186
|
+
`unknown-theme:${name}`,
|
|
187
|
+
`Theme inline value: modifier "${name}:" doesn't match any theme name in your config, so it will never apply.`
|
|
188
|
+
)
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
// sibling references that form a cycle compute to invalid CSS in the browser
|
|
193
|
+
// and are unresolvable in the native fixed-point resolver. contract
|
|
194
|
+
// (plans/variables.md): a key whose reference chain reaches a cycle in ANY
|
|
195
|
+
// effective map that can occur at runtime ({...values, ...matched theme
|
|
196
|
+
// buckets, ...scheme bucket}) is dropped from all emission, in every mode, so
|
|
197
|
+
// web and native stay identical regardless of the active theme. buckets can
|
|
198
|
+
// only co-occur when their names form a prefix chain (blue, blue_surface1),
|
|
199
|
+
// plus at most one scheme bucket, so those are exactly the maps checked.
|
|
200
|
+
const getCycleDroppedKeys = (props: InlineValues): Set<string> | null => {
|
|
201
|
+
const values = props.values as Record<string, VariableValIn> | undefined
|
|
202
|
+
const themes = props.themes as
|
|
203
|
+
| Record<string, Record<string, VariableValIn> | undefined>
|
|
204
|
+
| undefined
|
|
205
|
+
const light = themes?.light
|
|
206
|
+
const dark = themes?.dark
|
|
207
|
+
|
|
208
|
+
let dropped: Set<string> | null = null
|
|
209
|
+
|
|
210
|
+
const check = (map: Record<string, VariableValIn>) => {
|
|
211
|
+
for (const key in map) {
|
|
212
|
+
const path: string[] = []
|
|
213
|
+
const pathSet = new Set<string>()
|
|
214
|
+
let current = key
|
|
215
|
+
while (true) {
|
|
216
|
+
if (pathSet.has(current)) {
|
|
217
|
+
// everything from the cycle entry onward is unresolvable; the
|
|
218
|
+
// earlier chain into it is too, so drop the whole walked path
|
|
219
|
+
dropped ||= new Set()
|
|
220
|
+
for (const k of path) dropped.add(k)
|
|
221
|
+
break
|
|
222
|
+
}
|
|
223
|
+
path.push(current)
|
|
224
|
+
pathSet.add(current)
|
|
225
|
+
const value = map[current]
|
|
226
|
+
if (typeof value !== 'string') break
|
|
227
|
+
const next = value
|
|
228
|
+
if (!(next in map)) break
|
|
229
|
+
current = next
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
const checkWithSchemes = (base: Record<string, VariableValIn>) => {
|
|
235
|
+
check({ ...base, ...light })
|
|
236
|
+
check({ ...base, ...dark })
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
checkWithSchemes(values || {})
|
|
240
|
+
|
|
241
|
+
const bucketNames = getThemedBucketNames(props.themes)
|
|
242
|
+
for (const name of bucketNames) {
|
|
243
|
+
// full prefix chain present in the map, least-specific first (sorted
|
|
244
|
+
// order guarantees prefixes come before their extensions)
|
|
245
|
+
const merged: Record<string, VariableValIn> = { ...values }
|
|
246
|
+
for (const other of bucketNames) {
|
|
247
|
+
if (other === name || name.startsWith(`${other}_`)) {
|
|
248
|
+
Object.assign(merged, themes![other])
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
checkWithSchemes(merged)
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (dropped && process.env.NODE_ENV === 'development') {
|
|
255
|
+
const names = [...dropped]
|
|
256
|
+
warnOnce(
|
|
257
|
+
`cycle:${names.join(',')}`,
|
|
258
|
+
`Theme inline values: reference cycle involving "${names.join('", "')}". These keys cannot resolve on either platform and are dropped.`
|
|
259
|
+
)
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
return dropped
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
const rulesCache = new Map<string, VariablesCSS>()
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Builds the deterministic identifier and CSS rules for `<ThemeUpdate>` values.
|
|
269
|
+
* Identifier is a pure function of the resolved declarations so SSR and
|
|
270
|
+
* client agree, and a build-time extractor can precompute it.
|
|
271
|
+
*
|
|
272
|
+
* The themes map emits each bucket under its theme-class scope. dark/light
|
|
273
|
+
* buckets keep the scheme strategy (two levels of light/dark inversion plus
|
|
274
|
+
* the prefers-color-scheme fallback, matching getThemeCSSRules); other names
|
|
275
|
+
* scope by plain theme class.
|
|
276
|
+
*/
|
|
277
|
+
export function getVariablesCSSRules(
|
|
278
|
+
props: InlineValues,
|
|
279
|
+
conf: TamaguiInternalConfig
|
|
280
|
+
): VariablesCSS | null {
|
|
281
|
+
if (process.env.TAMAGUI_DID_OUTPUT_CSS) return null
|
|
282
|
+
const cycleDropped = getCycleDroppedKeys(props)
|
|
283
|
+
const themes = props.themes as
|
|
284
|
+
| Record<string, InlineValues['values'] | undefined>
|
|
285
|
+
| undefined
|
|
286
|
+
|
|
287
|
+
const base = resolveDeclarations(props.values, conf, cycleDropped)
|
|
288
|
+
const dark = resolveDeclarations(themes?.dark, conf, cycleDropped)
|
|
289
|
+
const light = resolveDeclarations(themes?.light, conf, cycleDropped)
|
|
290
|
+
|
|
291
|
+
// non-scheme buckets, sorted: later rules win equal-specificity ties, so
|
|
292
|
+
// within a prefix chain (blue, blue_surface1) the more specific name wins
|
|
293
|
+
const themed: [string, ResolvedDeclarations][] = []
|
|
294
|
+
for (const name of getThemedBucketNames(props.themes)) {
|
|
295
|
+
if (process.env.NODE_ENV === 'development') {
|
|
296
|
+
warnOnUnknownThemeBucket(name, conf)
|
|
297
|
+
}
|
|
298
|
+
const declarations = resolveDeclarations(themes![name], conf, cycleDropped)
|
|
299
|
+
if (declarations.length) {
|
|
300
|
+
themed.push([name, declarations])
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
if (!base.length && !dark.length && !light.length && !themed.length) {
|
|
305
|
+
return null
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
const prefersColorThemes = !!getSetting('shouldAddPrefersColorThemes')
|
|
309
|
+
const payload = JSON.stringify([base, themed, dark, light, prefersColorThemes])
|
|
310
|
+
|
|
311
|
+
const cached = rulesCache.get(payload)
|
|
312
|
+
if (cached) return cached
|
|
313
|
+
|
|
314
|
+
const identifier = `tvar_${simpleHash(payload, 'strict')}`
|
|
315
|
+
// inline values patch named themes, so their selector family must meet or
|
|
316
|
+
// exceed the theme rules' id-anchored specificity. keeping the same
|
|
317
|
+
// always-matching anchor on the inline class raises the whole ladder while
|
|
318
|
+
// preserving its base, themed, and scheme ordering.
|
|
319
|
+
const cls = `.${identifier}:not(#t_theme_full_name)`
|
|
320
|
+
const rules: string[] = []
|
|
321
|
+
|
|
322
|
+
if (base.length) {
|
|
323
|
+
rules.push(`:root ${cls} {${toDeclarationBlock(base)}}`)
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
// non-scheme theme buckets: plain theme-class scoping (1,3,0). the class can
|
|
327
|
+
// sit on :root itself (addThemeClassName 'html') or below it, so emit both
|
|
328
|
+
// shapes. nested inversion is a scheme concept and doesn't apply here.
|
|
329
|
+
// emitted before the scheme rules so scheme buckets win overlapping keys —
|
|
330
|
+
// required for consistency, since the scheme inversion selector (1,4,0)
|
|
331
|
+
// outranks these regardless of order.
|
|
332
|
+
for (const [name, declarations] of themed) {
|
|
333
|
+
rules.push(
|
|
334
|
+
`:root .t_${name} ${cls}, :root.t_${name} ${cls} {${toDeclarationBlock(declarations)}}`
|
|
335
|
+
)
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
// explicit scheme classes: one level (1,3,0) then the two-level inversion
|
|
339
|
+
// override (1,4,0). the scheme class can sit on :root itself (addThemeClassName
|
|
340
|
+
// 'html') or below it, so emit both shapes. deeper alternation is undefined,
|
|
341
|
+
// same two-level limit as getThemeCSSRules.
|
|
342
|
+
const schemeRule = (scheme: 'dark' | 'light') => {
|
|
343
|
+
const opposite = scheme === 'dark' ? 'light' : 'dark'
|
|
344
|
+
const declarations = scheme === 'light' ? light : dark
|
|
345
|
+
return `:root .t_${scheme} ${cls}, :root.t_${scheme} ${cls}, :root .t_${opposite} .t_${scheme} ${cls}, :root.t_${opposite} .t_${scheme} ${cls} {${toDeclarationBlock(declarations)}}`
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
if (light.length) {
|
|
349
|
+
rules.push(schemeRule('light'))
|
|
350
|
+
}
|
|
351
|
+
if (dark.length) {
|
|
352
|
+
rules.push(schemeRule('dark'))
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// when the app relies on prefers-color-scheme with no explicit root class,
|
|
356
|
+
// scheme values apply via media query at base-rule specificity (1,2,0),
|
|
357
|
+
// after the base rule so they win the tie; explicit classes (1,3,0+) win over
|
|
358
|
+
// the media rule in both directions
|
|
359
|
+
if (prefersColorThemes) {
|
|
360
|
+
if (light.length) {
|
|
361
|
+
rules.push(
|
|
362
|
+
`@media (prefers-color-scheme:light){:root ${cls} {${toDeclarationBlock(light)}}}`
|
|
363
|
+
)
|
|
364
|
+
}
|
|
365
|
+
if (dark.length) {
|
|
366
|
+
rules.push(
|
|
367
|
+
`@media (prefers-color-scheme:dark){:root ${cls} {${toDeclarationBlock(dark)}}}`
|
|
368
|
+
)
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
const result = { identifier, rules }
|
|
373
|
+
if (rulesCache.size >= 10_000) {
|
|
374
|
+
rulesCache.clear()
|
|
375
|
+
}
|
|
376
|
+
rulesCache.set(payload, result)
|
|
377
|
+
return result
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// ---- inline theme layer (native + JS theme readers on web) ----
|
|
381
|
+
|
|
382
|
+
// non-enumerable marker on merged theme objects: cache key for idempotency,
|
|
383
|
+
// overridden key set, and literal light/dark pairs for the iOS fast-scheme path
|
|
384
|
+
const serializeInlineValue = (value: VariableValIn): string =>
|
|
385
|
+
value && typeof value === 'object'
|
|
386
|
+
? `object:px${value.val}`
|
|
387
|
+
: `${typeof value}:${String(value)}`
|
|
388
|
+
|
|
389
|
+
const serializeBucket = (bucket: InlineValues['values']): string => {
|
|
390
|
+
if (!bucket) return ''
|
|
391
|
+
const map = bucket as Record<string, VariableValIn>
|
|
392
|
+
return Object.keys(map)
|
|
393
|
+
.sort()
|
|
394
|
+
.map((key) => {
|
|
395
|
+
const value = serializeInlineValue(map[key])
|
|
396
|
+
return `${key.length}:${key}${value.length}:${value}`
|
|
397
|
+
})
|
|
398
|
+
.join('')
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
// memoized per layer object: the flat-props path hands back identity-stable
|
|
402
|
+
// layers, so this is one serialization per distinct value set instead of one
|
|
403
|
+
// per render (getPropsKey calls it on every render of every <ThemeUpdate>)
|
|
404
|
+
const inlineKeys = new WeakMap<InlineValues, string>()
|
|
405
|
+
|
|
406
|
+
export const getInlineValuesKey = (inline: InlineValues): string => {
|
|
407
|
+
const cached = inlineKeys.get(inline)
|
|
408
|
+
if (cached !== undefined) return cached
|
|
409
|
+
let key = serializeBucket(inline.values)
|
|
410
|
+
if (inline.themes) {
|
|
411
|
+
const themes = inline.themes as Record<string, InlineValues['values']>
|
|
412
|
+
for (const name of Object.keys(themes).sort()) {
|
|
413
|
+
key += `;${name}=${serializeBucket(themes[name])}`
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
inlineKeys.set(inline, key)
|
|
417
|
+
return key
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
// ---- flat theme-value props: <ThemeUpdate background-hover="blue4 dark:blue2"> ----
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* One authored theme-value clause the parser could not use. The runtime warns
|
|
424
|
+
* and drops; zero-runtime turns each one into a rule 3 violation.
|
|
425
|
+
*/
|
|
426
|
+
export type InlineValueIssue = { key: string; raw: string; message: string }
|
|
427
|
+
export type InlineValueIssueSink = (issue: InlineValueIssue) => void
|
|
428
|
+
|
|
429
|
+
type FlatBuckets = {
|
|
430
|
+
values: Record<string, VariableValIn>
|
|
431
|
+
themes: Record<string, Record<string, VariableValIn>> | null
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
type FlatThemeModifier = [
|
|
435
|
+
name: string,
|
|
436
|
+
kind: 0 | typeof modifierKindPlatform | typeof modifierKindTheme,
|
|
437
|
+
]
|
|
438
|
+
type FlatThemeClause = [payload: string, modifiers: FlatThemeModifier[]]
|
|
439
|
+
type FlatThemeValue = {
|
|
440
|
+
base: string | null
|
|
441
|
+
clauses: FlatThemeClause[] | null
|
|
442
|
+
error: string | null
|
|
443
|
+
}
|
|
444
|
+
type FlatThemeScanContext = {
|
|
445
|
+
source: string
|
|
446
|
+
themeBuckets: Set<string>
|
|
447
|
+
out: FlatThemeValue
|
|
448
|
+
pending: FlatThemeModifier[] | null
|
|
449
|
+
chainStart: number
|
|
450
|
+
chainEnd: number
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
const themeUpdateFlatHandler: ClauseIdentityHandler<FlatThemeScanContext> = {
|
|
454
|
+
segment(ctx, start, end, isBase) {
|
|
455
|
+
if (isBase) {
|
|
456
|
+
ctx.out.base = start < end ? ctx.source.slice(start, end) : null
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
|
|
460
|
+
chain(ctx, start, end) {
|
|
461
|
+
ctx.pending = []
|
|
462
|
+
ctx.chainStart = start
|
|
463
|
+
ctx.chainEnd = end
|
|
464
|
+
},
|
|
465
|
+
|
|
466
|
+
modifier(ctx, start, end) {
|
|
467
|
+
const name = ctx.source.slice(start, end)
|
|
468
|
+
const kind =
|
|
469
|
+
// theme updates intentionally keep their subtree-specific collision order:
|
|
470
|
+
// platform, then theme, then every unsupported kind. direct styles use
|
|
471
|
+
// the shared vocabulary's state/media/platform/theme order instead.
|
|
472
|
+
grammarPlatformNames.has(name)
|
|
473
|
+
? modifierKindPlatform
|
|
474
|
+
: isRootThemeName(name) && ctx.themeBuckets.has(name)
|
|
475
|
+
? modifierKindTheme
|
|
476
|
+
: 0
|
|
477
|
+
ctx.pending!.push([name, kind])
|
|
478
|
+
},
|
|
479
|
+
|
|
480
|
+
clause(ctx, _start, _chainEnd, start, end) {
|
|
481
|
+
;(ctx.out.clauses ||= []).push([ctx.source.slice(start, end), ctx.pending!])
|
|
482
|
+
},
|
|
483
|
+
|
|
484
|
+
error(ctx, code: ClauseIdentityErrorCode, index) {
|
|
485
|
+
if (ctx.out.error !== null) return
|
|
486
|
+
if (code === 'empty-modifier') {
|
|
487
|
+
ctx.out.error = 'a modifier chain has an empty segment'
|
|
488
|
+
} else if (code === 'empty-payload') {
|
|
489
|
+
ctx.out.error = `the "${ctx.source.slice(ctx.chainStart, ctx.chainEnd)}:" clause has no value`
|
|
490
|
+
} else if (code === 'invalid-character') {
|
|
491
|
+
ctx.out.error = `"${ctx.source[index]}" cannot appear in a value: it would end the declaration or rule`
|
|
492
|
+
} else if (code === 'unterminated-string') {
|
|
493
|
+
ctx.out.error = `unterminated ${ctx.source[index]} string`
|
|
494
|
+
} else if (code === 'unterminated-comment') {
|
|
495
|
+
ctx.out.error =
|
|
496
|
+
'unterminated "/*" comment: it would swallow the rules after this one'
|
|
497
|
+
} else if (code === 'stray-comment-close') {
|
|
498
|
+
ctx.out.error = 'stray "*/": it would close a comment opened somewhere else'
|
|
499
|
+
} else {
|
|
500
|
+
ctx.out.error = 'unterminated "(" in value'
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
const parsedInlineValues = new WeakMap<ConfigRevisionState, Map<string, FlatThemeValue>>()
|
|
506
|
+
|
|
507
|
+
const addFlatValue = (
|
|
508
|
+
out: FlatBuckets,
|
|
509
|
+
key: string,
|
|
510
|
+
raw: VariableValIn,
|
|
511
|
+
conf: TamaguiInternalConfig,
|
|
512
|
+
onIssue?: InlineValueIssueSink
|
|
513
|
+
) => {
|
|
514
|
+
// one authored value, one place that decides whether each clause is usable.
|
|
515
|
+
// the runtime warns and says what it dropped; a build-time caller takes the
|
|
516
|
+
// same diagnosis and makes it a hard error, where nothing is dropped because
|
|
517
|
+
// nothing is built. so the disposition is the caller's and the diagnosis is
|
|
518
|
+
// shared, and the two can never diverge on what is legal.
|
|
519
|
+
const report = (once: string, message: string, dropped: string) => {
|
|
520
|
+
const diagnosis = message.replace(/\.$/, '')
|
|
521
|
+
if (onIssue) onIssue({ key, raw: String(raw), message: diagnosis })
|
|
522
|
+
else warnOnce(once, `${diagnosis}. ${dropped}`)
|
|
523
|
+
}
|
|
524
|
+
if (typeof raw !== 'string') {
|
|
525
|
+
out.values[key] = raw
|
|
526
|
+
return
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
const generation = getConfigRevisionState(conf)
|
|
530
|
+
let configValues = parsedInlineValues.get(generation)
|
|
531
|
+
if (!configValues) {
|
|
532
|
+
configValues = new Map()
|
|
533
|
+
parsedInlineValues.set(generation, configValues)
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
let parsed = configValues.get(raw)
|
|
537
|
+
if (!parsed) {
|
|
538
|
+
parsed = { base: null, clauses: null, error: null }
|
|
539
|
+
reduceFlatValueIdentity(raw, themeUpdateFlatHandler, {
|
|
540
|
+
source: raw,
|
|
541
|
+
themeBuckets: getThemeBucketNames(conf),
|
|
542
|
+
out: parsed,
|
|
543
|
+
pending: null,
|
|
544
|
+
chainStart: 0,
|
|
545
|
+
chainEnd: 0,
|
|
546
|
+
})
|
|
547
|
+
if (configValues.size >= 10_000) {
|
|
548
|
+
configValues.clear()
|
|
549
|
+
}
|
|
550
|
+
configValues.set(raw, parsed)
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
if (parsed.error !== null) {
|
|
554
|
+
report(
|
|
555
|
+
`parse:${key}:${raw}`,
|
|
556
|
+
`<ThemeUpdate ${key}="${raw}">: ${parsed.error}`,
|
|
557
|
+
'Dropping.'
|
|
558
|
+
)
|
|
559
|
+
return
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
const { base, clauses } = parsed
|
|
563
|
+
if (base !== null) {
|
|
564
|
+
out.values[key] = base
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
if (!clauses) return
|
|
568
|
+
for (const [payload, modifiers] of clauses) {
|
|
569
|
+
let themeName: string | undefined
|
|
570
|
+
let applies = true
|
|
571
|
+
|
|
572
|
+
for (const [modifier, kind] of modifiers) {
|
|
573
|
+
if (kind === modifierKindPlatform) {
|
|
574
|
+
// platform is fixed for the process, so this resolves once per value
|
|
575
|
+
applies &&= platformMatches(modifier)
|
|
576
|
+
continue
|
|
577
|
+
}
|
|
578
|
+
if (kind === modifierKindTheme) {
|
|
579
|
+
if (themeName !== undefined) {
|
|
580
|
+
report(
|
|
581
|
+
`two-themes:${key}:${raw}`,
|
|
582
|
+
`<ThemeUpdate ${key}="${raw}">: "${themeName}:${modifier}:" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,
|
|
583
|
+
'Dropping the clause.'
|
|
584
|
+
)
|
|
585
|
+
applies = false
|
|
586
|
+
break
|
|
587
|
+
}
|
|
588
|
+
themeName = modifier
|
|
589
|
+
continue
|
|
590
|
+
}
|
|
591
|
+
report(
|
|
592
|
+
`unsupported-modifier:${modifier}`,
|
|
593
|
+
`<ThemeUpdate ${key}="${raw}">: "${modifier}:" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,
|
|
594
|
+
'Dropping the clause.'
|
|
595
|
+
)
|
|
596
|
+
applies = false
|
|
597
|
+
break
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
if (!applies) continue
|
|
601
|
+
if (themeName === undefined) {
|
|
602
|
+
out.values[key] = payload
|
|
603
|
+
} else {
|
|
604
|
+
;((out.themes ||= {})[themeName] ||= {})[key] = payload
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
// keyed by config and raw prop values, so repeat renders of the same <ThemeUpdate>
|
|
610
|
+
// reuse one layer object. downstream identity caches and snapshot bailouts key
|
|
611
|
+
// off this object. each config cache is bounded with the same clear-on-limit
|
|
612
|
+
// pattern as simpleHash's string cache.
|
|
613
|
+
const flatLayers = new WeakMap<ConfigRevisionState, Map<string, InlineValues>>()
|
|
614
|
+
|
|
615
|
+
/**
|
|
616
|
+
* Reads theme-key props off a <ThemeUpdate> into the layer shape the rest of
|
|
617
|
+
* the system already consumes. Returns null when the element carries no theme
|
|
618
|
+
* key props at all, which is one loop over its props (two entries for a plain
|
|
619
|
+
* `<ThemeUpdate>`) and no allocation.
|
|
620
|
+
*
|
|
621
|
+
* A key that is present but currently undefined still produces an empty
|
|
622
|
+
* layer. Presence, not value, is what makes an element a theme-updating
|
|
623
|
+
* one (the same rule `hasThemeUpdatingProps` applies to `name`), and it is
|
|
624
|
+
* what keeps `<ThemeUpdate background={on ? 'red' : undefined}>` rendering the same
|
|
625
|
+
* tree in both states instead of remounting its subtree when a value appears.
|
|
626
|
+
*/
|
|
627
|
+
export function getInlineValuesFromProps(
|
|
628
|
+
props: Record<string, any>,
|
|
629
|
+
conf: TamaguiInternalConfig,
|
|
630
|
+
onIssue?: InlineValueIssueSink
|
|
631
|
+
): InlineValues | null {
|
|
632
|
+
let hasKey = false
|
|
633
|
+
let cacheKey = ''
|
|
634
|
+
for (const key in props) {
|
|
635
|
+
if (reservedThemeProps[key]) continue
|
|
636
|
+
hasKey = true
|
|
637
|
+
const value = props[key]
|
|
638
|
+
if (value == null) continue
|
|
639
|
+
const serialized = serializeInlineValue(value)
|
|
640
|
+
cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
if (!hasKey) return null
|
|
644
|
+
|
|
645
|
+
const generation = getConfigRevisionState(conf)
|
|
646
|
+
let configLayers = flatLayers.get(generation)
|
|
647
|
+
if (!configLayers) {
|
|
648
|
+
configLayers = new Map()
|
|
649
|
+
flatLayers.set(generation, configLayers)
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
// a caller that asked for issues has to see them for every call, and a cache
|
|
653
|
+
// hit reports nothing. the render path never passes a sink, so it keeps the
|
|
654
|
+
// memo; the compiler calls this once per authored element.
|
|
655
|
+
const cached = onIssue ? undefined : configLayers.get(cacheKey)
|
|
656
|
+
if (cached) return cached
|
|
657
|
+
|
|
658
|
+
const out: FlatBuckets = { values: {}, themes: null }
|
|
659
|
+
for (const key in props) {
|
|
660
|
+
if (reservedThemeProps[key]) continue
|
|
661
|
+
const value = props[key]
|
|
662
|
+
if (value == null) continue
|
|
663
|
+
addFlatValue(out, key, value, conf, onIssue)
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
const layer: InlineValues = {
|
|
667
|
+
values: out.values as InlineValues['values'],
|
|
668
|
+
themes: (out.themes || undefined) as InlineValues['themes'],
|
|
669
|
+
}
|
|
670
|
+
if (!onIssue) {
|
|
671
|
+
if (configLayers.size >= 10_000) {
|
|
672
|
+
configLayers.clear()
|
|
673
|
+
}
|
|
674
|
+
configLayers.set(cacheKey, layer)
|
|
675
|
+
}
|
|
676
|
+
return layer
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
const mergedThemeCache = new WeakMap<
|
|
680
|
+
ConfigRevisionState,
|
|
681
|
+
WeakMap<object, Map<string, Record<string, Variable>>>
|
|
682
|
+
>()
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* Builds the merged theme for a `<ThemeUpdate>` layer: parent theme spread plus
|
|
686
|
+
* overridden keys as variables, resolved per the shared contract (effective
|
|
687
|
+
* map = values + matching non-scheme theme buckets + scheme bucket,
|
|
688
|
+
* fixed-point references, cycle-involved keys dropped everywhere). Non-scheme
|
|
689
|
+
* buckets match the subtree's resolved theme name by segment (bucket "blue"
|
|
690
|
+
* under "dark_blue"), mirroring the theme-class scoping on web; dark/light
|
|
691
|
+
* buckets resolve by the scheme derived from the theme name. Returns the
|
|
692
|
+
* parent theme unchanged when nothing applies. Identity-stable per
|
|
693
|
+
* (parentTheme, values, matched buckets, scheme) so snapshot bailouts and
|
|
694
|
+
* proxy caches hold.
|
|
695
|
+
*/
|
|
696
|
+
export function getMergedInlineTheme(
|
|
697
|
+
parentTheme: Record<string, Variable>,
|
|
698
|
+
inline: InlineValues,
|
|
699
|
+
themeName: string | undefined,
|
|
700
|
+
conf: TamaguiInternalConfig
|
|
701
|
+
): Record<string, Variable> {
|
|
702
|
+
const generation = getConfigRevisionState(conf)
|
|
703
|
+
const name = themeName || 'light'
|
|
704
|
+
const activeScheme = name === 'dark' || name.startsWith('dark_') ? 'dark' : 'light'
|
|
705
|
+
|
|
706
|
+
const bucketNames = getThemedBucketNames(inline.themes)
|
|
707
|
+
let matched: string[] | undefined
|
|
708
|
+
if (bucketNames.length) {
|
|
709
|
+
const baseName = name.replace(schemePrefix, '')
|
|
710
|
+
for (const bucketName of bucketNames) {
|
|
711
|
+
if (process.env.NODE_ENV === 'development') {
|
|
712
|
+
warnOnUnknownThemeBucket(bucketName, conf)
|
|
713
|
+
}
|
|
714
|
+
if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {
|
|
715
|
+
matched ||= []
|
|
716
|
+
matched.push(bucketName)
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(',') : ''}`
|
|
722
|
+
|
|
723
|
+
// idempotency: re-applying the same layer to its own output is a no-op
|
|
724
|
+
const existingInfo = (parentTheme as any)[themeUpdateStateKey] as
|
|
725
|
+
| ThemeUpdateLayerInfo
|
|
726
|
+
| undefined
|
|
727
|
+
if (existingInfo?.generation === generation && existingInfo.key === cacheKey) {
|
|
728
|
+
return parentTheme
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
let generationCache = mergedThemeCache.get(generation)
|
|
732
|
+
let byKey = generationCache?.get(parentTheme)
|
|
733
|
+
const cached = byKey?.get(cacheKey)
|
|
734
|
+
if (cached) return cached
|
|
735
|
+
|
|
736
|
+
const values = (inline.values || {}) as Record<string, VariableValIn>
|
|
737
|
+
const themes = (inline.themes || {}) as Record<
|
|
738
|
+
string,
|
|
739
|
+
Record<string, VariableValIn> | undefined
|
|
740
|
+
>
|
|
741
|
+
const light = themes.light || {}
|
|
742
|
+
const dark = themes.dark || {}
|
|
743
|
+
const base = { ...values }
|
|
744
|
+
if (matched) {
|
|
745
|
+
for (const bucketName of matched) {
|
|
746
|
+
Object.assign(base, themes[bucketName])
|
|
747
|
+
}
|
|
748
|
+
}
|
|
749
|
+
const effective = { ...base, ...(activeScheme === 'dark' ? dark : light) }
|
|
750
|
+
const opposite = { ...base, ...(activeScheme === 'dark' ? light : dark) }
|
|
751
|
+
const dropped = getCycleDroppedKeys(inline)
|
|
752
|
+
const keySet = getThemeKeySet(conf)
|
|
753
|
+
|
|
754
|
+
// resolve one key within an effective map to a raw value (fixed-point over
|
|
755
|
+
// sibling refs, then parent theme, then tokens); undefined = drop
|
|
756
|
+
const resolveRaw = (keyIn: string, map: Record<string, VariableValIn>): unknown => {
|
|
757
|
+
let key = keyIn
|
|
758
|
+
let value: VariableValIn | undefined = map[key]
|
|
759
|
+
while (typeof value === 'string') {
|
|
760
|
+
const name = value
|
|
761
|
+
if (name in map && !dropped?.has(name)) {
|
|
762
|
+
key = name
|
|
763
|
+
value = map[name]
|
|
764
|
+
continue
|
|
765
|
+
}
|
|
766
|
+
const themeValue = parentTheme[name]
|
|
767
|
+
if (themeValue !== undefined) {
|
|
768
|
+
return isVariable(themeValue) ? themeValue.val : themeValue
|
|
769
|
+
}
|
|
770
|
+
const token = findVariableToken(conf.tokensParsed, name)
|
|
771
|
+
if (token) return token.val
|
|
772
|
+
return value
|
|
773
|
+
}
|
|
774
|
+
if (value && typeof value === 'object') {
|
|
775
|
+
return (value as { val: number }).val
|
|
776
|
+
}
|
|
777
|
+
return value
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
const info: ThemeUpdateLayerInfo = {
|
|
781
|
+
key: cacheKey,
|
|
782
|
+
generation,
|
|
783
|
+
// nested layers: carry the parent layer's overrides forward (its values
|
|
784
|
+
// are plain enumerable entries after the spread, but the iOS pair info
|
|
785
|
+
// would otherwise be lost)
|
|
786
|
+
overridden: new Set(existingInfo?.overridden),
|
|
787
|
+
pairs: { ...existingInfo?.pairs },
|
|
788
|
+
}
|
|
789
|
+
|
|
790
|
+
const merged: Record<string, Variable> = { ...parentTheme }
|
|
791
|
+
let didOverride = false
|
|
792
|
+
|
|
793
|
+
for (const key of Object.keys(effective).sort()) {
|
|
794
|
+
if (dropped?.has(key)) continue
|
|
795
|
+
if (effective[key] == null) continue
|
|
796
|
+
if (!keySet.has(key)) {
|
|
797
|
+
warnOnce(
|
|
798
|
+
`unknown:${key}`,
|
|
799
|
+
`Theme inline value: "${key}" is not a theme key or config-declared variable (createTamagui({ variables })) — dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`
|
|
800
|
+
)
|
|
801
|
+
continue
|
|
802
|
+
}
|
|
803
|
+
const raw = resolveRaw(key, effective)
|
|
804
|
+
if (raw === undefined) continue
|
|
805
|
+
|
|
806
|
+
didOverride = true
|
|
807
|
+
merged[key] = createVariable({ key, name: key, val: raw as any })
|
|
808
|
+
info.overridden.add(key)
|
|
809
|
+
delete info.pairs[key]
|
|
810
|
+
|
|
811
|
+
// iOS fast-scheme pairs only when both scheme-effective values are
|
|
812
|
+
// literals — references would need opposite-theme resolution, so those
|
|
813
|
+
// keys deopt from DynamicColorIOS instead (tracked normally)
|
|
814
|
+
const activeLiteral = effective[key]
|
|
815
|
+
const oppositeLiteral = opposite[key]
|
|
816
|
+
const isLiteral = (v: unknown) =>
|
|
817
|
+
(typeof v === 'string' &&
|
|
818
|
+
!(v in effective) &&
|
|
819
|
+
!(v in parentTheme) &&
|
|
820
|
+
!findVariableToken(conf.tokensParsed, v)) ||
|
|
821
|
+
typeof v === 'number'
|
|
822
|
+
if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {
|
|
823
|
+
info.pairs[key] = {
|
|
824
|
+
light: (activeScheme === 'light' ? activeLiteral : oppositeLiteral) as
|
|
825
|
+
| string
|
|
826
|
+
| number,
|
|
827
|
+
dark: (activeScheme === 'dark' ? activeLiteral : oppositeLiteral) as
|
|
828
|
+
| string
|
|
829
|
+
| number,
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
}
|
|
833
|
+
|
|
834
|
+
// nothing applied: hand back the base unchanged (for a nested layer the
|
|
835
|
+
// base is the outer merged theme, which is exactly right)
|
|
836
|
+
if (!didOverride) {
|
|
837
|
+
return parentTheme
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
Object.defineProperty(merged, themeUpdateStateKey, {
|
|
841
|
+
value: info,
|
|
842
|
+
enumerable: false,
|
|
843
|
+
})
|
|
844
|
+
|
|
845
|
+
byKey ||= new Map()
|
|
846
|
+
if (!generationCache) {
|
|
847
|
+
generationCache = new WeakMap()
|
|
848
|
+
mergedThemeCache.set(generation, generationCache)
|
|
849
|
+
}
|
|
850
|
+
generationCache.set(parentTheme, byKey)
|
|
851
|
+
if (byKey.size >= 10_000) {
|
|
852
|
+
byKey.clear()
|
|
853
|
+
}
|
|
854
|
+
byKey.set(cacheKey, merged)
|
|
855
|
+
return merged
|
|
856
|
+
}
|