@tamagui/web 3.0.0-beta.669.1 → 3.0.0-beta.728.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 +0 -1
- package/dist/cjs/Tamagui.native.cjs +0 -1
- package/dist/cjs/Tamagui.native.js +0 -1
- package/dist/cjs/Tamagui.native.js.map +1 -1
- package/dist/cjs/_withNativeStyle.cjs +0 -1
- package/dist/cjs/_withNativeStyle.native.cjs +0 -1
- package/dist/cjs/_withNativeStyle.native.js +0 -1
- package/dist/cjs/_withNativeStyle.native.js.map +1 -1
- package/dist/cjs/_withStableStyle.cjs +0 -1
- package/dist/cjs/_withStableStyle.native.cjs +0 -1
- package/dist/cjs/_withStableStyle.native.js +0 -1
- package/dist/cjs/_withStableStyle.native.js.map +1 -1
- package/dist/cjs/config.cjs +7 -1
- package/dist/cjs/config.native.cjs +7 -1
- package/dist/cjs/config.native.js +7 -1
- package/dist/cjs/config.native.js.map +1 -1
- package/dist/cjs/constants/accessibilityDirectMap.cjs +0 -1
- package/dist/cjs/constants/accessibilityDirectMap.native.cjs +0 -1
- package/dist/cjs/constants/accessibilityDirectMap.native.js +0 -1
- package/dist/cjs/constants/accessibilityDirectMap.native.js.map +1 -1
- package/dist/cjs/constants/constants.cjs +0 -1
- package/dist/cjs/constants/constants.native.cjs +0 -1
- package/dist/cjs/constants/constants.native.js +0 -1
- package/dist/cjs/constants/constants.native.js.map +1 -1
- package/dist/cjs/constants/isDevTools.cjs +0 -1
- package/dist/cjs/constants/isDevTools.native.cjs +0 -1
- package/dist/cjs/constants/isDevTools.native.js +0 -1
- package/dist/cjs/constants/isDevTools.native.js.map +1 -1
- package/dist/cjs/contexts/ComponentContext.cjs +0 -1
- package/dist/cjs/contexts/ComponentContext.native.cjs +0 -1
- package/dist/cjs/contexts/ComponentContext.native.js +0 -1
- package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
- package/dist/cjs/contexts/GroupContext.cjs +0 -1
- package/dist/cjs/contexts/GroupContext.native.cjs +0 -1
- package/dist/cjs/contexts/GroupContext.native.js +0 -1
- package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
- package/dist/cjs/createComponent.cjs +1 -2
- package/dist/cjs/createComponent.native.cjs +1 -2
- package/dist/cjs/createComponent.native.js +1 -2
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/createFont.cjs +0 -1
- package/dist/cjs/createFont.native.cjs +0 -1
- package/dist/cjs/createFont.native.js +0 -1
- package/dist/cjs/createFont.native.js.map +1 -1
- package/dist/cjs/createShorthands.cjs +0 -1
- package/dist/cjs/createShorthands.native.cjs +0 -1
- package/dist/cjs/createShorthands.native.js +0 -1
- package/dist/cjs/createShorthands.native.js.map +1 -1
- package/dist/cjs/createStyledHOC.cjs +0 -1
- package/dist/cjs/createStyledHOC.native.cjs +0 -1
- package/dist/cjs/createStyledHOC.native.js +0 -1
- package/dist/cjs/createStyledHOC.native.js.map +1 -1
- package/dist/cjs/createTamagui.cjs +3 -4
- package/dist/cjs/createTamagui.native.cjs +3 -4
- package/dist/cjs/createTamagui.native.js +3 -4
- package/dist/cjs/createTamagui.native.js.map +1 -1
- package/dist/cjs/createTokens.cjs +0 -1
- package/dist/cjs/createTokens.native.cjs +0 -1
- package/dist/cjs/createTokens.native.js +0 -1
- package/dist/cjs/createTokens.native.js.map +1 -1
- package/dist/cjs/createVariable.cjs +0 -1
- package/dist/cjs/createVariable.native.cjs +0 -1
- package/dist/cjs/createVariable.native.js +0 -1
- package/dist/cjs/createVariable.native.js.map +1 -1
- package/dist/cjs/createVariables.cjs +0 -1
- package/dist/cjs/createVariables.native.cjs +0 -1
- package/dist/cjs/createVariables.native.js +0 -1
- package/dist/cjs/createVariables.native.js.map +1 -1
- package/dist/cjs/defaultComponentState.cjs +0 -1
- package/dist/cjs/defaultComponentState.native.cjs +0 -1
- package/dist/cjs/defaultComponentState.native.js +0 -1
- package/dist/cjs/defaultComponentState.native.js.map +1 -1
- package/dist/cjs/dom/adapters.cjs +0 -1
- package/dist/cjs/dom/adapters.native.cjs +0 -1
- package/dist/cjs/dom/adapters.native.js +0 -1
- package/dist/cjs/dom/adapters.native.js.map +1 -1
- package/dist/cjs/dom/contract.cjs +0 -1
- package/dist/cjs/dom/contract.native.cjs +0 -1
- package/dist/cjs/dom/contract.native.js +0 -1
- package/dist/cjs/dom/contract.native.js.map +1 -1
- package/dist/cjs/dom/domEventProps.native.cjs +0 -1
- package/dist/cjs/dom/domEventProps.native.js +0 -1
- package/dist/cjs/dom/domEventProps.native.js.map +1 -1
- package/dist/cjs/dom/html.cjs +0 -1
- package/dist/cjs/dom/html.native.cjs +0 -1
- package/dist/cjs/dom/html.native.js +0 -1
- package/dist/cjs/dom/html.native.js.map +1 -1
- package/dist/cjs/dom/htmlRuntime.native.cjs +0 -1
- package/dist/cjs/dom/htmlRuntime.native.js +0 -1
- package/dist/cjs/dom/htmlRuntime.native.js.map +1 -1
- package/dist/cjs/dom/index.cjs +0 -1
- package/dist/cjs/dom/index.native.cjs +0 -1
- package/dist/cjs/dom/index.native.js +0 -1
- package/dist/cjs/dom/index.native.js.map +1 -1
- package/dist/cjs/dom/primitives.native.cjs +2 -3
- package/dist/cjs/dom/primitives.native.js +2 -3
- package/dist/cjs/dom/primitives.native.js.map +1 -1
- package/dist/cjs/dom/standalone.cjs +0 -1
- package/dist/cjs/dom/standalone.native.cjs +0 -1
- package/dist/cjs/dom/standalone.native.js +0 -1
- package/dist/cjs/dom/standalone.native.js.map +1 -1
- package/dist/cjs/dom/standaloneHtml.cjs +0 -1
- package/dist/cjs/dom/standaloneHtml.native.cjs +0 -1
- package/dist/cjs/dom/standaloneHtml.native.js +0 -1
- package/dist/cjs/dom/standaloneHtml.native.js.map +1 -1
- package/dist/cjs/dom/styleTypes.cjs +0 -1
- package/dist/cjs/dom/styleTypes.native.cjs +0 -1
- package/dist/cjs/dom/styleTypes.native.js +0 -1
- package/dist/cjs/dom/styleTypes.native.js.map +1 -1
- package/dist/cjs/eventDetails.cjs +0 -1
- package/dist/cjs/eventDetails.native.cjs +0 -1
- package/dist/cjs/eventDetails.native.js +0 -1
- package/dist/cjs/eventDetails.native.js.map +1 -1
- package/dist/cjs/eventHandling.cjs +0 -1
- package/dist/cjs/eventHandling.native.cjs +0 -1
- package/dist/cjs/eventHandling.native.js +0 -1
- package/dist/cjs/eventHandling.native.js.map +1 -1
- package/dist/cjs/helpers/componentDisplayName.cjs +0 -1
- package/dist/cjs/helpers/componentDisplayName.native.cjs +0 -1
- package/dist/cjs/helpers/componentDisplayName.native.js +0 -1
- package/dist/cjs/helpers/componentDisplayName.native.js.map +1 -1
- package/dist/cjs/helpers/configVariables.cjs +79 -0
- package/dist/cjs/helpers/configVariables.native.cjs +86 -0
- package/dist/cjs/helpers/configVariables.native.js +88 -0
- package/dist/cjs/helpers/configVariables.native.js.map +1 -0
- package/dist/cjs/helpers/consoleLog.native.cjs +0 -1
- package/dist/cjs/helpers/consoleLog.native.js +0 -1
- package/dist/cjs/helpers/consoleLog.native.js.map +1 -1
- package/dist/cjs/helpers/createDesignSystem.cjs +0 -1
- package/dist/cjs/helpers/createDesignSystem.native.cjs +0 -1
- package/dist/cjs/helpers/createDesignSystem.native.js +0 -1
- package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/cjs/helpers/createStyledContext.cjs +0 -1
- package/dist/cjs/helpers/createStyledContext.native.cjs +0 -1
- package/dist/cjs/helpers/createStyledContext.native.js +0 -1
- package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
- package/dist/cjs/helpers/defaultAnimationDriver.cjs +1 -6
- package/dist/cjs/helpers/defaultAnimationDriver.native.cjs +0 -13
- package/dist/cjs/helpers/defaultAnimationDriver.native.js +0 -13
- package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/defaultOffset.cjs +0 -1
- package/dist/cjs/helpers/defaultOffset.native.cjs +0 -1
- package/dist/cjs/helpers/defaultOffset.native.js +0 -1
- package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
- package/dist/cjs/helpers/directStyle.cjs +258 -284
- package/dist/cjs/helpers/directStyle.native.cjs +274 -306
- package/dist/cjs/helpers/directStyle.native.js +274 -306
- package/dist/cjs/helpers/directStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyle.cjs +0 -1
- package/dist/cjs/helpers/expandStyle.native.cjs +0 -1
- package/dist/cjs/helpers/expandStyle.native.js +0 -1
- package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
- package/dist/cjs/helpers/expandStyles.cjs +0 -1
- package/dist/cjs/helpers/expandStyles.native.cjs +0 -1
- package/dist/cjs/helpers/expandStyles.native.js +0 -1
- package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
- package/dist/cjs/helpers/extractPseudoState.cjs +0 -1
- package/dist/cjs/helpers/extractPseudoState.native.cjs +0 -1
- package/dist/cjs/helpers/extractPseudoState.native.js +0 -1
- package/dist/cjs/helpers/extractPseudoState.native.js.map +1 -1
- package/dist/cjs/helpers/formatDiagnostic.cjs +0 -1
- package/dist/cjs/helpers/formatDiagnostic.native.cjs +0 -1
- package/dist/cjs/helpers/formatDiagnostic.native.js +0 -1
- package/dist/cjs/helpers/formatDiagnostic.native.js.map +1 -1
- package/dist/cjs/helpers/frontendProgram.cjs +0 -1
- package/dist/cjs/helpers/frontendProgram.native.cjs +0 -1
- package/dist/cjs/helpers/frontendProgram.native.js +0 -1
- package/dist/cjs/helpers/frontendProgram.native.js.map +1 -1
- package/dist/cjs/helpers/getCSSStylesAtomic.cjs +5 -2
- package/dist/cjs/helpers/getCSSStylesAtomic.native.cjs +0 -1
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js +0 -1
- package/dist/cjs/helpers/getCSSStylesAtomic.native.js.map +1 -1
- package/dist/cjs/helpers/getDefaultProps.cjs +0 -1
- package/dist/cjs/helpers/getDefaultProps.native.cjs +0 -1
- package/dist/cjs/helpers/getDefaultProps.native.js +0 -1
- package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
- package/dist/cjs/helpers/getDynamicVal.cjs +0 -1
- package/dist/cjs/helpers/getDynamicVal.native.cjs +0 -1
- package/dist/cjs/helpers/getDynamicVal.native.js +0 -1
- package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/cjs/helpers/getExpandedShorthands.cjs +0 -1
- package/dist/cjs/helpers/getExpandedShorthands.native.cjs +0 -1
- package/dist/cjs/helpers/getExpandedShorthands.native.js +0 -1
- package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/cjs/helpers/getFontLanguage.cjs +0 -1
- package/dist/cjs/helpers/getFontLanguage.native.cjs +0 -1
- package/dist/cjs/helpers/getFontLanguage.native.js +0 -1
- package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
- package/dist/cjs/helpers/getShorthandValue.cjs +0 -1
- package/dist/cjs/helpers/getShorthandValue.native.cjs +0 -1
- package/dist/cjs/helpers/getShorthandValue.native.js +0 -1
- package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +2 -10
- package/dist/cjs/helpers/getSplitStyles.native.cjs +2 -10
- package/dist/cjs/helpers/getSplitStyles.native.js +2 -10
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.cjs +0 -1
- package/dist/cjs/helpers/getThemeCSSRules.native.cjs +0 -1
- package/dist/cjs/helpers/getThemeCSSRules.native.js +0 -1
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +1 -1
- package/dist/cjs/helpers/getVariantExtras.cjs +0 -1
- package/dist/cjs/helpers/getVariantExtras.native.cjs +0 -1
- package/dist/cjs/helpers/getVariantExtras.native.js +0 -1
- package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/cjs/helpers/grammarConfig.cjs +63 -14
- package/dist/cjs/helpers/grammarConfig.native.cjs +84 -18
- package/dist/cjs/helpers/grammarConfig.native.js +84 -18
- package/dist/cjs/helpers/grammarConfig.native.js.map +1 -1
- package/dist/cjs/helpers/insertStyleRule.cjs +0 -1
- package/dist/cjs/helpers/insertStyleRule.native.cjs +0 -1
- package/dist/cjs/helpers/insertStyleRule.native.js +0 -1
- package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/cjs/helpers/isObj.cjs +0 -1
- package/dist/cjs/helpers/isObj.native.cjs +0 -1
- package/dist/cjs/helpers/isObj.native.js +0 -1
- package/dist/cjs/helpers/isObj.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiComponent.cjs +0 -1
- package/dist/cjs/helpers/isTamaguiComponent.native.cjs +0 -1
- package/dist/cjs/helpers/isTamaguiComponent.native.js +0 -1
- package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
- package/dist/cjs/helpers/isTamaguiElement.cjs +0 -1
- package/dist/cjs/helpers/isTamaguiElement.native.cjs +0 -1
- package/dist/cjs/helpers/isTamaguiElement.native.js +0 -1
- package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
- package/dist/cjs/helpers/log.cjs +0 -1
- package/dist/cjs/helpers/log.native.cjs +0 -1
- package/dist/cjs/helpers/log.native.js +0 -1
- package/dist/cjs/helpers/log.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.cjs +0 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.cjs +0 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +0 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/cjs/helpers/matchMedia.cjs +0 -1
- package/dist/cjs/helpers/matchMedia.native.cjs +0 -1
- package/dist/cjs/helpers/matchMedia.native.js +0 -1
- package/dist/cjs/helpers/matchMedia.native.js.map +1 -1
- package/dist/cjs/helpers/mediaObjectToString.cjs +0 -1
- package/dist/cjs/helpers/mediaObjectToString.native.cjs +0 -1
- package/dist/cjs/helpers/mediaObjectToString.native.js +0 -1
- package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/cjs/helpers/mediaState.cjs +0 -1
- package/dist/cjs/helpers/mediaState.native.cjs +0 -1
- package/dist/cjs/helpers/mediaState.native.js +0 -1
- package/dist/cjs/helpers/mediaState.native.js.map +1 -1
- package/dist/cjs/helpers/mergeProps.cjs +0 -1
- package/dist/cjs/helpers/mergeProps.native.cjs +0 -1
- package/dist/cjs/helpers/mergeProps.native.js +0 -1
- package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeRenderElementProps.cjs +0 -1
- package/dist/cjs/helpers/mergeRenderElementProps.native.cjs +0 -1
- package/dist/cjs/helpers/mergeRenderElementProps.native.js +0 -1
- package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.cjs +0 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.native.cjs +0 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js +0 -1
- package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
- package/dist/cjs/helpers/mergeVariants.cjs +1 -2
- package/dist/cjs/helpers/mergeVariants.native.cjs +1 -2
- package/dist/cjs/helpers/mergeVariants.native.js +1 -2
- package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
- package/dist/cjs/helpers/nativeOnlyProps.cjs +0 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.cjs +0 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.js +0 -1
- package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
- package/dist/cjs/helpers/nativeStyleEngine.cjs +0 -1
- package/dist/cjs/helpers/nativeStyleEngine.native.cjs +0 -1
- package/dist/cjs/helpers/nativeStyleEngine.native.js +0 -1
- package/dist/cjs/helpers/nativeStyleEngine.native.js.map +1 -1
- package/dist/cjs/helpers/nativeTransitionTarget.cjs +0 -1
- package/dist/cjs/helpers/nativeTransitionTarget.native.cjs +0 -1
- package/dist/cjs/helpers/nativeTransitionTarget.native.js +0 -1
- package/dist/cjs/helpers/nativeTransitionTarget.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeColor.cjs +0 -1
- package/dist/cjs/helpers/normalizeColor.native.cjs +0 -1
- package/dist/cjs/helpers/normalizeColor.native.js +0 -1
- package/dist/cjs/helpers/normalizeColor.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeShadow.cjs +0 -1
- package/dist/cjs/helpers/normalizeShadow.native.cjs +0 -1
- package/dist/cjs/helpers/normalizeShadow.native.js +0 -1
- package/dist/cjs/helpers/normalizeShadow.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStyle.cjs +0 -1
- package/dist/cjs/helpers/normalizeStyle.native.cjs +0 -1
- package/dist/cjs/helpers/normalizeStyle.native.js +0 -1
- package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.cjs +0 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.native.cjs +0 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +0 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +1 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.cjs +0 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.native.cjs +0 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js +0 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
- package/dist/cjs/helpers/noteOnce.cjs +0 -1
- package/dist/cjs/helpers/noteOnce.native.cjs +0 -1
- package/dist/cjs/helpers/noteOnce.native.js +0 -1
- package/dist/cjs/helpers/noteOnce.native.js.map +1 -1
- package/dist/cjs/helpers/objectIdentityKey.cjs +0 -1
- package/dist/cjs/helpers/objectIdentityKey.native.cjs +0 -1
- package/dist/cjs/helpers/objectIdentityKey.native.js +0 -1
- package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
- package/dist/cjs/helpers/parseBorderShorthand.cjs +0 -1
- package/dist/cjs/helpers/parseBorderShorthand.native.cjs +0 -1
- package/dist/cjs/helpers/parseBorderShorthand.native.js +0 -1
- package/dist/cjs/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeStyle.native.cjs +0 -1
- package/dist/cjs/helpers/parseNativeStyle.native.js +0 -1
- package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/cjs/helpers/parseNativeTransform.native.cjs +0 -1
- package/dist/cjs/helpers/parseNativeTransform.native.js +0 -1
- package/dist/cjs/helpers/parseNativeTransform.native.js.map +1 -1
- package/dist/cjs/helpers/parseOutlineShorthand.cjs +0 -1
- package/dist/cjs/helpers/parseOutlineShorthand.native.cjs +0 -1
- package/dist/cjs/helpers/parseOutlineShorthand.native.js +0 -1
- package/dist/cjs/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.cjs +0 -1
- package/dist/cjs/helpers/pointerEvents.native.cjs +0 -1
- package/dist/cjs/helpers/pointerEvents.native.js +0 -1
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/helpers/propMapper.cjs +30 -39
- package/dist/cjs/helpers/propMapper.native.cjs +30 -39
- package/dist/cjs/helpers/propMapper.native.js +30 -39
- package/dist/cjs/helpers/propMapper.native.js.map +1 -1
- package/dist/cjs/helpers/proxyThemeToParents.cjs +0 -1
- package/dist/cjs/helpers/proxyThemeToParents.native.cjs +0 -1
- package/dist/cjs/helpers/proxyThemeToParents.native.js +0 -1
- package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/cjs/helpers/registerCSSVariable.cjs +0 -1
- package/dist/cjs/helpers/registerCSSVariable.native.cjs +0 -1
- package/dist/cjs/helpers/registerCSSVariable.native.js +0 -1
- package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveAnimationDriver.cjs +0 -1
- package/dist/cjs/helpers/resolveAnimationDriver.native.cjs +0 -1
- package/dist/cjs/helpers/resolveAnimationDriver.native.js +0 -1
- package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
- package/dist/cjs/helpers/resolveRem.cjs +0 -1
- package/dist/cjs/helpers/resolveRem.native.cjs +0 -1
- package/dist/cjs/helpers/resolveRem.native.js +0 -1
- package/dist/cjs/helpers/resolveRem.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeArea.cjs +0 -1
- package/dist/cjs/helpers/resolveSafeArea.native.cjs +0 -1
- package/dist/cjs/helpers/resolveSafeArea.native.js +0 -1
- package/dist/cjs/helpers/resolveSafeArea.native.js.map +1 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.cjs +0 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.cjs +0 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js +0 -1
- package/dist/cjs/helpers/resolveSafeAreaVariable.native.js.map +1 -1
- package/dist/cjs/helpers/resolveVariableValue.cjs +0 -1
- package/dist/cjs/helpers/resolveVariableValue.native.cjs +0 -1
- package/dist/cjs/helpers/resolveVariableValue.native.js +0 -1
- package/dist/cjs/helpers/resolveVariableValue.native.js.map +1 -1
- package/dist/cjs/helpers/setElementProps.cjs +0 -1
- package/dist/cjs/helpers/setElementProps.native.cjs +0 -1
- package/dist/cjs/helpers/setElementProps.native.js +0 -1
- package/dist/cjs/helpers/setElementProps.native.js.map +1 -1
- package/dist/cjs/helpers/skipProps.cjs +0 -1
- package/dist/cjs/helpers/skipProps.native.cjs +0 -1
- package/dist/cjs/helpers/skipProps.native.js +0 -1
- package/dist/cjs/helpers/skipProps.native.js.map +1 -1
- package/dist/cjs/helpers/sortString.cjs +0 -1
- package/dist/cjs/helpers/sortString.native.cjs +0 -1
- package/dist/cjs/helpers/sortString.native.js +0 -1
- package/dist/cjs/helpers/sortString.native.js.map +1 -1
- package/dist/cjs/helpers/styleFrontend.cjs +0 -1
- package/dist/cjs/helpers/styleFrontend.native.cjs +0 -1
- package/dist/cjs/helpers/styleFrontend.native.js +0 -1
- package/dist/cjs/helpers/styleFrontend.native.js.map +1 -1
- package/dist/cjs/helpers/styleOriginalValues.cjs +0 -1
- package/dist/cjs/helpers/styleOriginalValues.native.cjs +0 -1
- package/dist/cjs/helpers/styleOriginalValues.native.js +0 -1
- package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
- package/dist/cjs/helpers/styleProvenance.cjs +0 -1
- package/dist/cjs/helpers/styleProvenance.native.cjs +0 -1
- package/dist/cjs/helpers/styleProvenance.native.js +0 -1
- package/dist/cjs/helpers/styleProvenance.native.js.map +1 -1
- package/dist/cjs/helpers/subscribeToContextGroup.cjs +0 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.cjs +0 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js +0 -1
- package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/cjs/helpers/themeRef.cjs +0 -1
- package/dist/cjs/helpers/themeRef.native.cjs +0 -1
- package/dist/cjs/helpers/themeRef.native.js +0 -1
- package/dist/cjs/helpers/themeRef.native.js.map +1 -1
- 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/themeable.cjs +0 -1
- package/dist/cjs/helpers/themeable.native.cjs +0 -1
- package/dist/cjs/helpers/themeable.native.js +0 -1
- package/dist/cjs/helpers/themeable.native.js.map +1 -1
- package/dist/cjs/helpers/themes.cjs +0 -1
- package/dist/cjs/helpers/themes.native.cjs +0 -1
- package/dist/cjs/helpers/themes.native.js +0 -1
- package/dist/cjs/helpers/themes.native.js.map +1 -1
- package/dist/cjs/helpers/timer.cjs +0 -1
- package/dist/cjs/helpers/timer.native.cjs +0 -1
- package/dist/cjs/helpers/timer.native.js +0 -1
- package/dist/cjs/helpers/timer.native.js.map +1 -1
- package/dist/cjs/helpers/tokenCategories.cjs +0 -1
- package/dist/cjs/helpers/tokenCategories.native.cjs +0 -1
- package/dist/cjs/helpers/tokenCategories.native.js +0 -1
- package/dist/cjs/helpers/tokenCategories.native.js.map +1 -1
- package/dist/cjs/helpers/transformsToString.cjs +0 -1
- package/dist/cjs/helpers/transformsToString.native.cjs +0 -1
- package/dist/cjs/helpers/transformsToString.native.js +0 -1
- package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
- package/dist/cjs/helpers/useRenderElement.cjs +0 -1
- package/dist/cjs/helpers/useRenderElement.native.cjs +0 -1
- package/dist/cjs/helpers/useRenderElement.native.js +0 -1
- package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
- package/dist/cjs/helpers/variableValue.cjs +66 -0
- package/dist/cjs/helpers/variableValue.native.cjs +88 -0
- package/dist/cjs/helpers/variableValue.native.js +90 -0
- package/dist/cjs/helpers/variableValue.native.js.map +1 -0
- package/dist/cjs/helpers/variables.cjs +95 -139
- package/dist/cjs/helpers/variables.native.cjs +97 -161
- package/dist/cjs/helpers/variables.native.js +97 -161
- package/dist/cjs/helpers/variables.native.js.map +1 -1
- package/dist/cjs/helpers/warnOnce.cjs +1 -2
- package/dist/cjs/helpers/warnOnce.native.cjs +1 -2
- package/dist/cjs/helpers/warnOnce.native.js +1 -2
- package/dist/cjs/helpers/warnOnce.native.js.map +1 -1
- package/dist/cjs/helpers/webPropsToSkip.cjs +0 -1
- package/dist/cjs/helpers/webPropsToSkip.native.cjs +0 -1
- package/dist/cjs/helpers/webPropsToSkip.native.js +0 -1
- package/dist/cjs/helpers/webPropsToSkip.native.js.map +1 -1
- package/dist/cjs/helpers/wrapStyleTags.cjs +0 -1
- package/dist/cjs/helpers/wrapStyleTags.native.cjs +0 -1
- package/dist/cjs/helpers/wrapStyleTags.native.js +0 -1
- package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.cjs +0 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.cjs +0 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js +0 -1
- package/dist/cjs/hooks/doesRootSchemeMatchSystem.native.js.map +1 -1
- package/dist/cjs/hooks/getThemeProxied.cjs +1 -2
- package/dist/cjs/hooks/getThemeProxied.native.cjs +2 -3
- package/dist/cjs/hooks/getThemeProxied.native.js +2 -3
- package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.cjs +0 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.cjs +0 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js +0 -1
- package/dist/cjs/hooks/isOptimizedForFirstRender.native.js.map +1 -1
- package/dist/cjs/hooks/useAnimationDriver.cjs +14 -9
- package/dist/cjs/hooks/useAnimationDriver.native.cjs +14 -9
- package/dist/cjs/hooks/useAnimationDriver.native.js +14 -9
- package/dist/cjs/hooks/useAnimationDriver.native.js.map +1 -1
- package/dist/cjs/hooks/useComponentState.cjs +27 -25
- package/dist/cjs/hooks/useComponentState.native.cjs +28 -25
- package/dist/cjs/hooks/useComponentState.native.js +28 -25
- package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
- package/dist/cjs/hooks/useDisableSSR.cjs +0 -1
- package/dist/cjs/hooks/useDisableSSR.native.cjs +0 -1
- package/dist/cjs/hooks/useDisableSSR.native.js +0 -1
- package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
- package/dist/cjs/hooks/useIsTouchDevice.cjs +0 -1
- package/dist/cjs/hooks/useIsTouchDevice.native.cjs +0 -1
- package/dist/cjs/hooks/useIsTouchDevice.native.js +0 -1
- package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +0 -1
- package/dist/cjs/hooks/useMedia.native.cjs +0 -1
- package/dist/cjs/hooks/useMedia.native.js +0 -1
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/usePortalThemeState.cjs +1 -2
- package/dist/cjs/hooks/usePortalThemeState.native.cjs +1 -2
- package/dist/cjs/hooks/usePortalThemeState.native.js +1 -2
- package/dist/cjs/hooks/usePortalThemeState.native.js.map +1 -1
- package/dist/cjs/hooks/useProps.cjs +1 -2
- package/dist/cjs/hooks/useProps.native.cjs +1 -2
- package/dist/cjs/hooks/useProps.native.js +1 -2
- package/dist/cjs/hooks/useProps.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +0 -1
- package/dist/cjs/hooks/useTheme.native.cjs +0 -1
- package/dist/cjs/hooks/useTheme.native.js +0 -1
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeName.cjs +0 -1
- package/dist/cjs/hooks/useThemeName.native.cjs +0 -1
- package/dist/cjs/hooks/useThemeName.native.js +0 -1
- package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +11 -16
- package/dist/cjs/hooks/useThemeState.native.cjs +13 -18
- package/dist/cjs/hooks/useThemeState.native.js +13 -18
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +0 -2
- package/dist/cjs/index.native.cjs +0 -2
- package/dist/cjs/index.native.js +0 -2
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/inject-styles.cjs +0 -1
- package/dist/cjs/inject-styles.native.cjs +0 -1
- package/dist/cjs/inject-styles.native.js +0 -1
- package/dist/cjs/inject-styles.native.js.map +1 -1
- package/dist/cjs/insertFont.cjs +0 -1
- package/dist/cjs/insertFont.native.cjs +0 -1
- package/dist/cjs/insertFont.native.js +0 -1
- package/dist/cjs/insertFont.native.js.map +1 -1
- package/dist/cjs/interfaces/CSSColorNames.cjs +0 -1
- package/dist/cjs/interfaces/CSSColorNames.native.cjs +0 -1
- package/dist/cjs/interfaces/CSSColorNames.native.js +0 -1
- package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
- package/dist/cjs/interfaces/GetRef.cjs +0 -1
- package/dist/cjs/interfaces/GetRef.native.cjs +0 -1
- package/dist/cjs/interfaces/GetRef.native.js +0 -1
- package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.cjs +0 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.native.cjs +0 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js +0 -1
- package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.cjs +0 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.cjs +0 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js +0 -1
- package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.cjs +0 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.cjs +0 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js +0 -1
- package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
- package/dist/cjs/internal-runtime.cjs +1 -4
- package/dist/cjs/internal-runtime.native.cjs +1 -4
- package/dist/cjs/internal-runtime.native.js +1 -4
- package/dist/cjs/internal-runtime.native.js.map +1 -1
- package/dist/cjs/internalRuntimeTypes.cjs +0 -1
- package/dist/cjs/internalRuntimeTypes.native.cjs +0 -1
- package/dist/cjs/internalRuntimeTypes.native.js +0 -1
- package/dist/cjs/internalRuntimeTypes.native.js.map +1 -1
- package/dist/cjs/setupHooks.cjs +0 -1
- package/dist/cjs/setupHooks.native.cjs +0 -1
- package/dist/cjs/setupHooks.native.js +0 -1
- package/dist/cjs/setupHooks.native.js.map +1 -1
- package/dist/cjs/setupReactNative.cjs +0 -1
- package/dist/cjs/setupReactNative.native.cjs +0 -1
- package/dist/cjs/setupReactNative.native.js +0 -1
- package/dist/cjs/setupReactNative.native.js.map +1 -1
- package/dist/cjs/styled.cjs +0 -1
- package/dist/cjs/styled.native.cjs +0 -1
- package/dist/cjs/styled.native.js +0 -1
- 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 +0 -1
- package/dist/cjs/type-utils.native.cjs +0 -1
- package/dist/cjs/type-utils.native.js +0 -1
- package/dist/cjs/type-utils.native.js.map +1 -1
- package/dist/cjs/types.cjs +0 -1
- package/dist/cjs/types.native.cjs +0 -1
- package/dist/cjs/types.native.js +0 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/views/ConfigRevisionCheck.cjs +0 -1
- package/dist/cjs/views/ConfigRevisionCheck.native.cjs +0 -1
- package/dist/cjs/views/ConfigRevisionCheck.native.js +0 -1
- package/dist/cjs/views/ConfigRevisionCheck.native.js.map +1 -1
- package/dist/cjs/views/Configuration.cjs +0 -1
- package/dist/cjs/views/Configuration.native.cjs +0 -1
- package/dist/cjs/views/Configuration.native.js +0 -1
- package/dist/cjs/views/Configuration.native.js.map +1 -1
- package/dist/cjs/views/FontLanguage.cjs +0 -1
- package/dist/cjs/views/FontLanguage.native.cjs +0 -1
- package/dist/cjs/views/FontLanguage.native.js +0 -1
- package/dist/cjs/views/FontLanguage.native.js.map +1 -1
- package/dist/cjs/views/SafeAreaTracker.cjs +0 -1
- package/dist/cjs/views/SafeAreaTracker.native.cjs +0 -1
- package/dist/cjs/views/SafeAreaTracker.native.js +0 -1
- package/dist/cjs/views/SafeAreaTracker.native.js.map +1 -1
- package/dist/cjs/views/Slot.cjs +0 -1
- package/dist/cjs/views/Slot.native.cjs +0 -1
- package/dist/cjs/views/Slot.native.js +0 -1
- package/dist/cjs/views/Slot.native.js.map +1 -1
- package/dist/cjs/views/TamaguiProvider.cjs +0 -1
- package/dist/cjs/views/TamaguiProvider.native.cjs +0 -1
- package/dist/cjs/views/TamaguiProvider.native.js +0 -1
- package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
- package/dist/cjs/views/TamaguiRoot.cjs +0 -1
- package/dist/cjs/views/TamaguiRoot.native.cjs +0 -1
- package/dist/cjs/views/TamaguiRoot.native.js +0 -1
- package/dist/cjs/views/TamaguiRoot.native.js.map +1 -1
- package/dist/cjs/views/Text.cjs +0 -1
- package/dist/cjs/views/Text.native.cjs +0 -1
- package/dist/cjs/views/Text.native.js +0 -1
- package/dist/cjs/views/Text.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +7 -33
- package/dist/cjs/views/Theme.native.cjs +8 -20
- package/dist/cjs/views/Theme.native.js +8 -20
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/cjs/views/ThemeDebug.cjs +0 -1
- package/dist/cjs/views/ThemeDebug.native.cjs +0 -1
- package/dist/cjs/views/ThemeDebug.native.js +0 -1
- package/dist/cjs/views/ThemeDebug.native.js.map +1 -1
- package/dist/cjs/views/ThemeProvider.cjs +0 -1
- package/dist/cjs/views/ThemeProvider.native.cjs +0 -1
- package/dist/cjs/views/ThemeProvider.native.js +0 -1
- 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 +0 -1
- package/dist/cjs/views/View.native.cjs +0 -1
- package/dist/cjs/views/View.native.js +0 -1
- package/dist/cjs/views/View.native.js.map +1 -1
- package/dist/esm/Tamagui.mjs.map +1 -1
- package/dist/esm/Tamagui.native.js.map +1 -1
- package/dist/esm/_withNativeStyle.mjs.map +1 -1
- package/dist/esm/config.mjs +7 -0
- package/dist/esm/config.mjs.map +1 -1
- package/dist/esm/config.native.js +7 -0
- package/dist/esm/config.native.js.map +1 -1
- package/dist/esm/constants/isDevTools.mjs.map +1 -1
- package/dist/esm/constants/isDevTools.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +1 -1
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +1 -1
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/createFont.mjs.map +1 -1
- package/dist/esm/createFont.native.js.map +1 -1
- package/dist/esm/createTamagui.mjs +2 -2
- package/dist/esm/createTamagui.mjs.map +1 -1
- package/dist/esm/createTamagui.native.js +2 -2
- package/dist/esm/createTamagui.native.js.map +1 -1
- package/dist/esm/createVariable.mjs.map +1 -1
- package/dist/esm/createVariable.native.js.map +1 -1
- package/dist/esm/dom/primitives.native.js +1 -1
- package/dist/esm/dom/primitives.native.js.map +1 -1
- package/dist/esm/eventHandling.native.js.map +1 -1
- package/dist/esm/helpers/configVariables.mjs +60 -0
- package/dist/esm/helpers/configVariables.mjs.map +1 -0
- package/dist/esm/helpers/configVariables.native.js +65 -0
- package/dist/esm/helpers/configVariables.native.js.map +1 -0
- package/dist/esm/helpers/createDesignSystem.mjs.map +1 -1
- package/dist/esm/helpers/createDesignSystem.native.js.map +1 -1
- package/dist/esm/helpers/createStyledContext.mjs.map +1 -1
- package/dist/esm/helpers/createStyledContext.native.js.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.mjs +1 -5
- package/dist/esm/helpers/defaultAnimationDriver.mjs.map +1 -1
- package/dist/esm/helpers/defaultAnimationDriver.native.js +0 -12
- package/dist/esm/helpers/defaultAnimationDriver.native.js.map +1 -1
- package/dist/esm/helpers/directStyle.mjs +258 -283
- package/dist/esm/helpers/directStyle.mjs.map +1 -1
- package/dist/esm/helpers/directStyle.native.js +274 -305
- package/dist/esm/helpers/directStyle.native.js.map +1 -1
- package/dist/esm/helpers/expandStyle.mjs.map +1 -1
- package/dist/esm/helpers/expandStyle.native.js.map +1 -1
- package/dist/esm/helpers/expandStyles.native.js.map +1 -1
- package/dist/esm/helpers/extractPseudoState.mjs.map +1 -1
- package/dist/esm/helpers/formatDiagnostic.mjs.map +1 -1
- package/dist/esm/helpers/formatDiagnostic.native.js.map +1 -1
- package/dist/esm/helpers/getCSSStylesAtomic.mjs +5 -1
- package/dist/esm/helpers/getCSSStylesAtomic.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.mjs.map +1 -1
- package/dist/esm/helpers/getDynamicVal.native.js.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +1 -1
- package/dist/esm/helpers/getExpandedShorthands.native.js.map +1 -1
- package/dist/esm/helpers/getFontLanguage.mjs.map +1 -1
- package/dist/esm/helpers/getFontLanguage.native.js.map +1 -1
- package/dist/esm/helpers/getShorthandValue.mjs.map +1 -1
- package/dist/esm/helpers/getShorthandValue.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +2 -9
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +2 -9
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +1 -1
- package/dist/esm/helpers/getVariantExtras.mjs.map +1 -1
- package/dist/esm/helpers/getVariantExtras.native.js.map +1 -1
- package/dist/esm/helpers/grammarConfig.mjs +59 -13
- package/dist/esm/helpers/grammarConfig.mjs.map +1 -1
- package/dist/esm/helpers/grammarConfig.native.js +80 -17
- package/dist/esm/helpers/grammarConfig.native.js.map +1 -1
- package/dist/esm/helpers/insertStyleRule.mjs.map +1 -1
- package/dist/esm/helpers/insertStyleRule.native.js.map +1 -1
- package/dist/esm/helpers/matchMedia.native.js.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.mjs.map +1 -1
- package/dist/esm/helpers/mediaObjectToString.native.js.map +1 -1
- package/dist/esm/helpers/mergeVariants.mjs +1 -1
- package/dist/esm/helpers/mergeVariants.mjs.map +1 -1
- package/dist/esm/helpers/mergeVariants.native.js +1 -1
- package/dist/esm/helpers/mergeVariants.native.js.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.mjs.map +1 -1
- package/dist/esm/helpers/nativeStyleEngine.native.js.map +1 -1
- package/dist/esm/helpers/normalizeStyle.native.js.map +1 -1
- package/dist/esm/helpers/parseBorderShorthand.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeStyle.native.js.map +1 -1
- package/dist/esm/helpers/parseNativeTransform.native.js.map +1 -1
- package/dist/esm/helpers/parseOutlineShorthand.native.js.map +1 -1
- package/dist/esm/helpers/propMapper.mjs +31 -39
- package/dist/esm/helpers/propMapper.mjs.map +1 -1
- package/dist/esm/helpers/propMapper.native.js +31 -39
- package/dist/esm/helpers/propMapper.native.js.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.mjs.map +1 -1
- package/dist/esm/helpers/proxyThemeToParents.native.js.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.mjs.map +1 -1
- package/dist/esm/helpers/registerCSSVariable.native.js.map +1 -1
- package/dist/esm/helpers/resolveSafeAreaVariable.native.js.map +1 -1
- package/dist/esm/helpers/subscribeToContextGroup.native.js.map +1 -1
- package/dist/esm/helpers/themeRef.mjs.map +1 -1
- package/dist/esm/helpers/themeRef.native.js.map +1 -1
- 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/timer.mjs.map +1 -1
- package/dist/esm/helpers/timer.native.js.map +1 -1
- package/dist/esm/helpers/tokenCategories.mjs.map +1 -1
- package/dist/esm/helpers/tokenCategories.native.js.map +1 -1
- package/dist/esm/helpers/transformsToString.native.js.map +1 -1
- package/dist/esm/helpers/useRenderElement.mjs.map +1 -1
- package/dist/esm/helpers/useRenderElement.native.js.map +1 -1
- package/dist/esm/helpers/variableValue.mjs +44 -0
- package/dist/esm/helpers/variableValue.mjs.map +1 -0
- package/dist/esm/helpers/variableValue.native.js +64 -0
- package/dist/esm/helpers/variableValue.native.js.map +1 -0
- package/dist/esm/helpers/variables.mjs +96 -136
- package/dist/esm/helpers/variables.mjs.map +1 -1
- package/dist/esm/helpers/variables.native.js +98 -158
- package/dist/esm/helpers/variables.native.js.map +1 -1
- package/dist/esm/helpers/warnOnce.mjs +1 -1
- package/dist/esm/helpers/warnOnce.mjs.map +1 -1
- package/dist/esm/helpers/warnOnce.native.js +1 -1
- package/dist/esm/helpers/warnOnce.native.js.map +1 -1
- package/dist/esm/hooks/getThemeProxied.mjs.map +1 -1
- package/dist/esm/hooks/getThemeProxied.native.js +2 -2
- package/dist/esm/hooks/getThemeProxied.native.js.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.mjs +14 -8
- package/dist/esm/hooks/useAnimationDriver.mjs.map +1 -1
- package/dist/esm/hooks/useAnimationDriver.native.js +14 -8
- package/dist/esm/hooks/useAnimationDriver.native.js.map +1 -1
- package/dist/esm/hooks/useComponentState.mjs +27 -24
- package/dist/esm/hooks/useComponentState.mjs.map +1 -1
- package/dist/esm/hooks/useComponentState.native.js +28 -24
- package/dist/esm/hooks/useComponentState.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/usePortalThemeState.mjs +2 -2
- package/dist/esm/hooks/usePortalThemeState.mjs.map +1 -1
- package/dist/esm/hooks/usePortalThemeState.native.js +2 -2
- package/dist/esm/hooks/usePortalThemeState.native.js.map +1 -1
- package/dist/esm/hooks/useProps.mjs +1 -1
- package/dist/esm/hooks/useProps.mjs.map +1 -1
- package/dist/esm/hooks/useProps.native.js +1 -1
- package/dist/esm/hooks/useProps.native.js.map +1 -1
- package/dist/esm/hooks/useThemeName.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +12 -15
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +14 -17
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.mjs +0 -2
- package/dist/esm/index.native.js +0 -2
- package/dist/esm/insertFont.mjs.map +1 -1
- package/dist/esm/insertFont.native.js.map +1 -1
- package/dist/esm/internal-runtime.mjs +1 -3
- package/dist/esm/internal-runtime.mjs.map +1 -1
- package/dist/esm/internal-runtime.native.js +1 -3
- package/dist/esm/internal-runtime.native.js.map +1 -1
- package/dist/esm/styled.mjs.map +1 -1
- 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/views/FontLanguage.mjs.map +1 -1
- package/dist/esm/views/SafeAreaTracker.native.js.map +1 -1
- package/dist/esm/views/TamaguiProvider.mjs.map +1 -1
- package/dist/esm/views/TamaguiProvider.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +8 -33
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +9 -20
- package/dist/esm/views/Theme.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/package.json +26 -17
- package/src/config.ts +7 -0
- package/src/createComponent.tsx +1 -4
- package/src/createTamagui.ts +3 -8
- package/src/dom/primitives.native.tsx +1 -1
- package/src/helpers/configVariables.ts +64 -0
- package/src/helpers/defaultAnimationDriver.tsx +0 -4
- package/src/helpers/directStyle.ts +876 -477
- package/src/helpers/getCSSStylesAtomic.ts +5 -1
- package/src/helpers/getSplitStyles.tsx +2 -23
- package/src/helpers/grammarConfig.ts +82 -12
- package/src/helpers/mergeVariants.ts +1 -3
- package/src/helpers/nativeTransitionTarget.native.ts +1 -1
- package/src/helpers/nativeTransitionTarget.ts +1 -1
- package/src/helpers/propMapper.ts +42 -49
- package/src/helpers/themeUpdateState.ts +27 -0
- package/src/helpers/variableValue.ts +45 -0
- package/src/helpers/variables.ts +149 -195
- package/src/helpers/warnOnce.ts +2 -2
- package/src/hooks/getThemeProxied.ts +9 -7
- package/src/hooks/useAnimationDriver.ts +26 -11
- package/src/hooks/useComponentState.ts +44 -34
- package/src/hooks/usePortalThemeState.ts +8 -8
- package/src/hooks/useProps.tsx +1 -4
- package/src/hooks/useThemeState.ts +16 -37
- package/src/index.ts +0 -1
- package/src/internal-runtime.ts +1 -8
- package/src/theme-update.ts +2 -0
- package/src/types.tsx +13 -21
- package/src/views/Theme.tsx +18 -80
- package/src/views/ThemeUpdate.tsx +88 -0
- package/types/config.d.ts.map +1 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/configVariables.d.ts +3 -0
- package/types/helpers/configVariables.d.ts.map +1 -0
- package/types/helpers/defaultAnimationDriver.d.ts.map +1 -1
- package/types/helpers/directStyle.d.ts +2 -23
- package/types/helpers/directStyle.d.ts.map +1 -1
- package/types/helpers/getCSSStylesAtomic.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/grammarConfig.d.ts +9 -0
- package/types/helpers/grammarConfig.d.ts.map +1 -1
- package/types/helpers/mergeVariants.d.ts.map +1 -1
- package/types/helpers/nativeTransitionTarget.d.ts +1 -1
- package/types/helpers/nativeTransitionTarget.d.ts.map +1 -1
- package/types/helpers/nativeTransitionTarget.native.d.ts +1 -1
- package/types/helpers/nativeTransitionTarget.native.d.ts.map +1 -1
- package/types/helpers/propMapper.d.ts.map +1 -1
- package/types/helpers/themeUpdateState.d.ts +23 -0
- package/types/helpers/themeUpdateState.d.ts.map +1 -0
- package/types/helpers/variableValue.d.ts +4 -0
- package/types/helpers/variableValue.d.ts.map +1 -0
- package/types/helpers/variables.d.ts +7 -24
- package/types/helpers/variables.d.ts.map +1 -1
- package/types/helpers/warnOnce.d.ts +1 -1
- package/types/hooks/getThemeProxied.d.ts.map +1 -1
- package/types/hooks/useAnimationDriver.d.ts.map +1 -1
- package/types/hooks/useComponentState.d.ts.map +1 -1
- package/types/hooks/usePortalThemeState.d.ts +5 -5
- package/types/hooks/usePortalThemeState.d.ts.map +1 -1
- package/types/hooks/useProps.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +2 -5
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/internal-runtime.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 +6 -17
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts +2 -15
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeUpdate.d.ts +15 -0
- package/types/views/ThemeUpdate.d.ts.map +1 -0
|
@@ -1,35 +1,17 @@
|
|
|
1
1
|
import { reservedThemeProps, simpleHash } from "@tamagui/helpers";
|
|
2
|
-
import { grammarPlatformNames, isRootThemeName,
|
|
2
|
+
import { grammarPlatformNames, isRootThemeName, modifierKindPlatform, modifierKindTheme, reduceFlatValueIdentity } from "@tamagui/style-grammar/runtime";
|
|
3
3
|
import { getSetting } from "../config.mjs";
|
|
4
4
|
import { createVariable, isVariable } from "../createVariable.mjs";
|
|
5
|
+
import { getConfigRevisionState } from "./grammarConfig.mjs";
|
|
6
|
+
import { themeUpdateStateKey } from "./themeUpdateState.mjs";
|
|
5
7
|
import { platformMatches } from "./directStyle.mjs";
|
|
8
|
+
import { findVariableToken, isUnitlessVariableKey } from "./variableValue.mjs";
|
|
6
9
|
import { warnOnce } from "./warnOnce.mjs";
|
|
7
10
|
|
|
8
|
-
const unitlessSuffixes = [
|
|
9
|
-
"opacity",
|
|
10
|
-
"scale",
|
|
11
|
-
"zindex",
|
|
12
|
-
"weight",
|
|
13
|
-
"flex",
|
|
14
|
-
"grow",
|
|
15
|
-
"shrink",
|
|
16
|
-
"ratio",
|
|
17
|
-
"elevation"
|
|
18
|
-
];
|
|
19
|
-
const isUnitlessVariableKey = (key) => {
|
|
20
|
-
const lower = key.toLowerCase();
|
|
21
|
-
return unitlessSuffixes.some((suffix) => lower.endsWith(suffix));
|
|
22
|
-
};
|
|
23
|
-
const tokenCategoryOrder = [
|
|
24
|
-
"color",
|
|
25
|
-
"space",
|
|
26
|
-
"size",
|
|
27
|
-
"radius",
|
|
28
|
-
"zIndex"
|
|
29
|
-
];
|
|
30
11
|
const themeKeySets = /* @__PURE__ */ new WeakMap();
|
|
31
12
|
const getThemeKeySet = (conf) => {
|
|
32
|
-
const
|
|
13
|
+
const generation = getConfigRevisionState(conf);
|
|
14
|
+
const existing = themeKeySets.get(generation);
|
|
33
15
|
if (existing) return existing;
|
|
34
16
|
const set = /* @__PURE__ */ new Set();
|
|
35
17
|
for (const themeName in conf.themes) {
|
|
@@ -40,30 +22,13 @@ const getThemeKeySet = (conf) => {
|
|
|
40
22
|
if (process.env.NODE_ENV === "development") {
|
|
41
23
|
for (const key of set) {
|
|
42
24
|
if (reservedThemeProps[key]) {
|
|
43
|
-
console.error(`[tamagui] theme key "${key}" collides with a
|
|
25
|
+
console.error(`[tamagui] theme key "${key}" collides with a reserved theme prop, so it cannot be set with <ThemeUpdate ${key}="...">. Rename it.`);
|
|
44
26
|
}
|
|
45
27
|
}
|
|
46
28
|
}
|
|
47
|
-
themeKeySets.set(
|
|
29
|
+
themeKeySets.set(generation, set);
|
|
48
30
|
return set;
|
|
49
31
|
};
|
|
50
|
-
const findToken = (tokensParsed, name) => {
|
|
51
|
-
let found;
|
|
52
|
-
let foundCategory;
|
|
53
|
-
for (const category of tokenCategoryOrder) {
|
|
54
|
-
const token = tokensParsed[category]?.[name];
|
|
55
|
-
if (!token) continue;
|
|
56
|
-
if (!found) {
|
|
57
|
-
found = token;
|
|
58
|
-
foundCategory = category;
|
|
59
|
-
if (process.env.NODE_ENV !== "development") break;
|
|
60
|
-
} else {
|
|
61
|
-
warnOnce(`ambiguous:${name}`, `Theme inline value: "${name}" exists in multiple token categories; using "${foundCategory}". Rename one of the colliding tokens.`);
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return found;
|
|
66
|
-
};
|
|
67
32
|
const cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || "";
|
|
68
33
|
const themeKeyVar = (key) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`;
|
|
69
34
|
function resolveVariableValueToCSS(key, value, conf) {
|
|
@@ -80,7 +45,7 @@ function resolveVariableValueToCSS(key, value, conf) {
|
|
|
80
45
|
if (getThemeKeySet(conf).has(name)) {
|
|
81
46
|
return themeKeyVar(name);
|
|
82
47
|
}
|
|
83
|
-
const token =
|
|
48
|
+
const token = findVariableToken(conf.tokensParsed, name);
|
|
84
49
|
if (token) {
|
|
85
50
|
return token.variable;
|
|
86
51
|
}
|
|
@@ -120,7 +85,8 @@ const getThemedBucketNames = (themes) => {
|
|
|
120
85
|
};
|
|
121
86
|
const themeBucketNameSets = /* @__PURE__ */ new WeakMap();
|
|
122
87
|
const getThemeBucketNames = (conf) => {
|
|
123
|
-
|
|
88
|
+
const generation = getConfigRevisionState(conf);
|
|
89
|
+
let set = themeBucketNameSets.get(generation);
|
|
124
90
|
if (!set) {
|
|
125
91
|
set = /* @__PURE__ */ new Set();
|
|
126
92
|
for (const themeName in conf.themes) {
|
|
@@ -129,7 +95,7 @@ const getThemeBucketNames = (conf) => {
|
|
|
129
95
|
set.add(parts.slice(0, i).join("_"));
|
|
130
96
|
}
|
|
131
97
|
}
|
|
132
|
-
themeBucketNameSets.set(
|
|
98
|
+
themeBucketNameSets.set(generation, set);
|
|
133
99
|
}
|
|
134
100
|
return set;
|
|
135
101
|
};
|
|
@@ -260,7 +226,6 @@ function getVariablesCSSRules(props, conf) {
|
|
|
260
226
|
rulesCache.set(payload, result);
|
|
261
227
|
return result;
|
|
262
228
|
}
|
|
263
|
-
const inlineLayerKey = "_tmgInlineLayer";
|
|
264
229
|
const serializeInlineValue = (value) => value && typeof value === "object" ? `object:px${value.val}` : `${typeof value}:${String(value)}`;
|
|
265
230
|
const serializeBucket = (bucket) => {
|
|
266
231
|
if (!bucket) return "";
|
|
@@ -284,18 +249,44 @@ const getInlineValuesKey = (inline) => {
|
|
|
284
249
|
inlineKeys.set(inline, key);
|
|
285
250
|
return key;
|
|
286
251
|
};
|
|
287
|
-
const
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
}
|
|
298
|
-
|
|
252
|
+
const themeUpdateFlatHandler = {
|
|
253
|
+
segment(ctx, start, end, isBase) {
|
|
254
|
+
if (isBase) {
|
|
255
|
+
ctx.out.base = start < end ? ctx.source.slice(start, end) : null;
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
chain(ctx, start, end) {
|
|
259
|
+
ctx.pending = [];
|
|
260
|
+
ctx.chainStart = start;
|
|
261
|
+
ctx.chainEnd = end;
|
|
262
|
+
},
|
|
263
|
+
modifier(ctx, start, end) {
|
|
264
|
+
const name = ctx.source.slice(start, end);
|
|
265
|
+
const kind = grammarPlatformNames.has(name) ? modifierKindPlatform : isRootThemeName(name) && ctx.themeBuckets.has(name) ? modifierKindTheme : 0;
|
|
266
|
+
ctx.pending.push([name, kind]);
|
|
267
|
+
},
|
|
268
|
+
clause(ctx, _start, _chainEnd, start, end) {
|
|
269
|
+
;
|
|
270
|
+
(ctx.out.clauses ||= []).push([ctx.source.slice(start, end), ctx.pending]);
|
|
271
|
+
},
|
|
272
|
+
error(ctx, code, index) {
|
|
273
|
+
if (ctx.out.error !== null) return;
|
|
274
|
+
if (code === "empty-modifier") {
|
|
275
|
+
ctx.out.error = "a modifier chain has an empty segment";
|
|
276
|
+
} else if (code === "empty-payload") {
|
|
277
|
+
ctx.out.error = `the "${ctx.source.slice(ctx.chainStart, ctx.chainEnd)}:" clause has no value`;
|
|
278
|
+
} else if (code === "invalid-character") {
|
|
279
|
+
ctx.out.error = `"${ctx.source[index]}" cannot appear in a value: it would end the declaration or rule`;
|
|
280
|
+
} else if (code === "unterminated-string") {
|
|
281
|
+
ctx.out.error = `unterminated ${ctx.source[index]} string`;
|
|
282
|
+
} else if (code === "unterminated-comment") {
|
|
283
|
+
ctx.out.error = "unterminated \"/*\" comment: it would swallow the rules after this one";
|
|
284
|
+
} else if (code === "stray-comment-close") {
|
|
285
|
+
ctx.out.error = "stray \"*/\": it would close a comment opened somewhere else";
|
|
286
|
+
} else {
|
|
287
|
+
ctx.out.error = "unterminated \"(\" in value";
|
|
288
|
+
}
|
|
289
|
+
}
|
|
299
290
|
};
|
|
300
291
|
const parsedInlineValues = /* @__PURE__ */ new WeakMap();
|
|
301
292
|
const addFlatValue = (out, key, raw, conf, onIssue) => {
|
|
@@ -312,54 +303,68 @@ const addFlatValue = (out, key, raw, conf, onIssue) => {
|
|
|
312
303
|
out.values[key] = raw;
|
|
313
304
|
return;
|
|
314
305
|
}
|
|
315
|
-
|
|
306
|
+
const generation = getConfigRevisionState(conf);
|
|
307
|
+
let configValues = parsedInlineValues.get(generation);
|
|
316
308
|
if (!configValues) {
|
|
317
309
|
configValues = /* @__PURE__ */ new Map();
|
|
318
|
-
parsedInlineValues.set(
|
|
310
|
+
parsedInlineValues.set(generation, configValues);
|
|
319
311
|
}
|
|
320
312
|
let parsed = configValues.get(raw);
|
|
321
313
|
if (!parsed) {
|
|
322
|
-
parsed =
|
|
314
|
+
parsed = {
|
|
315
|
+
base: null,
|
|
316
|
+
clauses: null,
|
|
317
|
+
error: null
|
|
318
|
+
};
|
|
319
|
+
reduceFlatValueIdentity(raw, themeUpdateFlatHandler, {
|
|
320
|
+
source: raw,
|
|
321
|
+
themeBuckets: getThemeBucketNames(conf),
|
|
322
|
+
out: parsed,
|
|
323
|
+
pending: null,
|
|
324
|
+
chainStart: 0,
|
|
325
|
+
chainEnd: 0
|
|
326
|
+
});
|
|
323
327
|
if (configValues.size >= 1e4) {
|
|
324
328
|
configValues.clear();
|
|
325
329
|
}
|
|
326
330
|
configValues.set(raw, parsed);
|
|
327
331
|
}
|
|
328
|
-
if (
|
|
329
|
-
report(`parse:${key}:${raw}`, `<
|
|
332
|
+
if (parsed.error !== null) {
|
|
333
|
+
report(`parse:${key}:${raw}`, `<ThemeUpdate ${key}="${raw}">: ${parsed.error}`, "Dropping.");
|
|
330
334
|
return;
|
|
331
335
|
}
|
|
332
|
-
const { base, clauses } = parsed
|
|
336
|
+
const { base, clauses } = parsed;
|
|
333
337
|
if (base !== null) {
|
|
334
338
|
out.values[key] = base;
|
|
335
339
|
}
|
|
336
|
-
|
|
340
|
+
if (!clauses) return;
|
|
341
|
+
for (const [payload, modifiers] of clauses) {
|
|
337
342
|
let themeName;
|
|
338
343
|
let applies = true;
|
|
339
|
-
for (const modifier of
|
|
340
|
-
if (
|
|
344
|
+
for (const [modifier, kind] of modifiers) {
|
|
345
|
+
if (kind === modifierKindPlatform) {
|
|
341
346
|
applies &&= platformMatches(modifier);
|
|
342
347
|
continue;
|
|
343
348
|
}
|
|
344
|
-
if (
|
|
349
|
+
if (kind === modifierKindTheme) {
|
|
345
350
|
if (themeName !== void 0) {
|
|
346
|
-
report(`two-themes:${key}:${raw}`, `<
|
|
351
|
+
report(`two-themes:${key}:${raw}`, `<ThemeUpdate ${key}="${raw}">: "${themeName}:${modifier}:" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`, "Dropping the clause.");
|
|
347
352
|
applies = false;
|
|
348
353
|
break;
|
|
349
354
|
}
|
|
350
355
|
themeName = modifier;
|
|
351
356
|
continue;
|
|
352
357
|
}
|
|
353
|
-
report(`unsupported-modifier:${modifier}`, `<
|
|
358
|
+
report(`unsupported-modifier:${modifier}`, `<ThemeUpdate ${key}="${raw}">: "${modifier}:" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`, "Dropping the clause.");
|
|
354
359
|
applies = false;
|
|
355
360
|
break;
|
|
356
361
|
}
|
|
357
362
|
if (!applies) continue;
|
|
358
363
|
if (themeName === void 0) {
|
|
359
|
-
out.values[key] =
|
|
364
|
+
out.values[key] = payload;
|
|
360
365
|
} else {
|
|
361
366
|
;
|
|
362
|
-
((out.themes ||= {})[themeName] ||= {})[key] =
|
|
367
|
+
((out.themes ||= {})[themeName] ||= {})[key] = payload;
|
|
363
368
|
}
|
|
364
369
|
}
|
|
365
370
|
};
|
|
@@ -376,10 +381,11 @@ function getInlineValuesFromProps(props, conf, onIssue) {
|
|
|
376
381
|
cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`;
|
|
377
382
|
}
|
|
378
383
|
if (!hasKey) return null;
|
|
379
|
-
|
|
384
|
+
const generation = getConfigRevisionState(conf);
|
|
385
|
+
let configLayers = flatLayers.get(generation);
|
|
380
386
|
if (!configLayers) {
|
|
381
387
|
configLayers = /* @__PURE__ */ new Map();
|
|
382
|
-
flatLayers.set(
|
|
388
|
+
flatLayers.set(generation, configLayers);
|
|
383
389
|
}
|
|
384
390
|
const cached = onIssue ? void 0 : configLayers.get(cacheKey);
|
|
385
391
|
if (cached) return cached;
|
|
@@ -407,6 +413,7 @@ function getInlineValuesFromProps(props, conf, onIssue) {
|
|
|
407
413
|
}
|
|
408
414
|
const mergedThemeCache = /* @__PURE__ */ new WeakMap();
|
|
409
415
|
function getMergedInlineTheme(parentTheme, inline, themeName, conf) {
|
|
416
|
+
const generation = getConfigRevisionState(conf);
|
|
410
417
|
const name = themeName || "light";
|
|
411
418
|
const activeScheme = name === "dark" || name.startsWith("dark_") ? "dark" : "light";
|
|
412
419
|
const bucketNames = getThemedBucketNames(inline.themes);
|
|
@@ -424,11 +431,12 @@ function getMergedInlineTheme(parentTheme, inline, themeName, conf) {
|
|
|
424
431
|
}
|
|
425
432
|
}
|
|
426
433
|
const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(",") : ""}`;
|
|
427
|
-
const existingInfo = parentTheme[
|
|
428
|
-
if (existingInfo?.key === cacheKey) {
|
|
434
|
+
const existingInfo = parentTheme[themeUpdateStateKey];
|
|
435
|
+
if (existingInfo?.generation === generation && existingInfo.key === cacheKey) {
|
|
429
436
|
return parentTheme;
|
|
430
437
|
}
|
|
431
|
-
let
|
|
438
|
+
let generationCache = mergedThemeCache.get(generation);
|
|
439
|
+
let byKey = generationCache?.get(parentTheme);
|
|
432
440
|
const cached = byKey?.get(cacheKey);
|
|
433
441
|
if (cached) return cached;
|
|
434
442
|
const values = inline.values || {};
|
|
@@ -465,7 +473,7 @@ function getMergedInlineTheme(parentTheme, inline, themeName, conf) {
|
|
|
465
473
|
if (themeValue !== void 0) {
|
|
466
474
|
return isVariable(themeValue) ? themeValue.val : themeValue;
|
|
467
475
|
}
|
|
468
|
-
const token =
|
|
476
|
+
const token = findVariableToken(conf.tokensParsed, name2);
|
|
469
477
|
if (token) return token.val;
|
|
470
478
|
return value;
|
|
471
479
|
}
|
|
@@ -476,6 +484,7 @@ function getMergedInlineTheme(parentTheme, inline, themeName, conf) {
|
|
|
476
484
|
};
|
|
477
485
|
const info = {
|
|
478
486
|
key: cacheKey,
|
|
487
|
+
generation,
|
|
479
488
|
overridden: new Set(existingInfo?.overridden),
|
|
480
489
|
pairs: { ...existingInfo?.pairs }
|
|
481
490
|
};
|
|
@@ -500,7 +509,7 @@ function getMergedInlineTheme(parentTheme, inline, themeName, conf) {
|
|
|
500
509
|
delete info.pairs[key];
|
|
501
510
|
const activeLiteral = effective[key];
|
|
502
511
|
const oppositeLiteral = opposite[key];
|
|
503
|
-
const isLiteral = (v) => typeof v === "string" && !(v in effective) && !(v in parentTheme) && !
|
|
512
|
+
const isLiteral = (v) => typeof v === "string" && !(v in effective) && !(v in parentTheme) && !findVariableToken(conf.tokensParsed, v) || typeof v === "number";
|
|
504
513
|
if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {
|
|
505
514
|
info.pairs[key] = {
|
|
506
515
|
light: activeScheme === "light" ? activeLiteral : oppositeLiteral,
|
|
@@ -511,71 +520,22 @@ function getMergedInlineTheme(parentTheme, inline, themeName, conf) {
|
|
|
511
520
|
if (!didOverride) {
|
|
512
521
|
return parentTheme;
|
|
513
522
|
}
|
|
514
|
-
Object.defineProperty(merged,
|
|
523
|
+
Object.defineProperty(merged, themeUpdateStateKey, {
|
|
515
524
|
value: info,
|
|
516
525
|
enumerable: false
|
|
517
526
|
});
|
|
518
527
|
byKey ||= /* @__PURE__ */ new Map();
|
|
519
|
-
|
|
528
|
+
if (!generationCache) {
|
|
529
|
+
generationCache = /* @__PURE__ */ new WeakMap();
|
|
530
|
+
mergedThemeCache.set(generation, generationCache);
|
|
531
|
+
}
|
|
532
|
+
generationCache.set(parentTheme, byKey);
|
|
520
533
|
if (byKey.size >= 1e4) {
|
|
521
534
|
byKey.clear();
|
|
522
535
|
}
|
|
523
536
|
byKey.set(cacheKey, merged);
|
|
524
537
|
return merged;
|
|
525
538
|
}
|
|
526
|
-
function mergeConfigVariablesIntoTheme(theme, themeName, variables, tokensParsed) {
|
|
527
|
-
const scheme = themeName.startsWith("dark") ? "dark" : "light";
|
|
528
|
-
const resolving = /* @__PURE__ */ new Set();
|
|
529
|
-
const resolveRawValue = (key, value) => {
|
|
530
|
-
if (typeof value === "object" && value !== null) {
|
|
531
|
-
if (isVariable(value)) return value.val;
|
|
532
|
-
if ("needsPx" in value) return value;
|
|
533
|
-
if ("light" in value || "dark" in value) {
|
|
534
|
-
return resolveRawValue(key, value[scheme] ?? value.light);
|
|
535
|
-
}
|
|
536
|
-
return;
|
|
537
|
-
}
|
|
538
|
-
if (typeof value === "string") {
|
|
539
|
-
const name = value;
|
|
540
|
-
if (name in variables && !(name in theme)) {
|
|
541
|
-
if (resolving.has(name)) {
|
|
542
|
-
warnOnce(`config-cycle:${name}`, `createTamagui variables: reference cycle at "${name}" \u2014 dropping.`);
|
|
543
|
-
return;
|
|
544
|
-
}
|
|
545
|
-
resolving.add(name);
|
|
546
|
-
const res = resolveRawValue(name, variables[name]);
|
|
547
|
-
resolving.delete(name);
|
|
548
|
-
return res;
|
|
549
|
-
}
|
|
550
|
-
const themeValue = theme[name];
|
|
551
|
-
if (themeValue !== void 0) {
|
|
552
|
-
return isVariable(themeValue) ? themeValue.val : themeValue;
|
|
553
|
-
}
|
|
554
|
-
const token = findToken(tokensParsed, name);
|
|
555
|
-
return token ? token.val : value;
|
|
556
|
-
}
|
|
557
|
-
return value;
|
|
558
|
-
};
|
|
559
|
-
for (const key in variables) {
|
|
560
|
-
if (key in theme) continue;
|
|
561
|
-
let raw = resolveRawValue(key, variables[key]);
|
|
562
|
-
if (raw === void 0) continue;
|
|
563
|
-
let needsPx = typeof raw === "number" && !isUnitlessVariableKey(key);
|
|
564
|
-
if (typeof raw === "object" && raw !== null && "needsPx" in raw) {
|
|
565
|
-
needsPx = true;
|
|
566
|
-
raw = raw.val;
|
|
567
|
-
}
|
|
568
|
-
const variable = createVariable({
|
|
569
|
-
key,
|
|
570
|
-
name: key,
|
|
571
|
-
val: raw
|
|
572
|
-
});
|
|
573
|
-
if (needsPx) {
|
|
574
|
-
variable.needsPx = true;
|
|
575
|
-
}
|
|
576
|
-
theme[key] = variable;
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
539
|
|
|
580
|
-
export { getInlineValuesFromProps, getInlineValuesKey, getMergedInlineTheme, getThemeKeySet, getVariablesCSSRules,
|
|
540
|
+
export { getInlineValuesFromProps, getInlineValuesKey, getMergedInlineTheme, getThemeKeySet, getVariablesCSSRules, resolveVariableValueToCSS };
|
|
581
541
|
//# sourceMappingURL=variables.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","names":[],"sources":["esm/helpers/variables.js"],"sourcesContent":["import { reservedThemeProps, simpleHash } from \"@tamagui/helpers\";\nimport {\n grammarPlatformNames,\n isRootThemeName,\n parseValue\n} from \"@tamagui/style-grammar/runtime\";\nimport { getSetting } from \"../config\";\nimport { createVariable, isVariable } from \"../createVariable\";\nimport { platformMatches } from \"./directStyle\";\nimport { warnOnce } from \"./warnOnce\";\nconst unitlessSuffixes = [\n \"opacity\",\n \"scale\",\n \"zindex\",\n \"weight\",\n \"flex\",\n \"grow\",\n \"shrink\",\n \"ratio\",\n \"elevation\"\n];\nconst isUnitlessVariableKey = (key) => {\n const lower = key.toLowerCase();\n return unitlessSuffixes.some((suffix) => lower.endsWith(suffix));\n};\nconst tokenCategoryOrder = [\"color\", \"space\", \"size\", \"radius\", \"zIndex\"];\nconst themeKeySets = /* @__PURE__ */ new WeakMap();\nconst getThemeKeySet = (conf) => {\n const existing = themeKeySets.get(conf.themes);\n if (existing) return existing;\n const set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n for (const key in conf.themes[themeName]) {\n set.add(key);\n }\n }\n if (process.env.NODE_ENV === \"development\") {\n for (const key of set) {\n if (reservedThemeProps[key]) {\n console.error(\n `[tamagui] theme key \"${key}\" collides with a <Theme> prop, so it can never be set inline (<Theme ${key}=\"...\">). Rename it.`\n );\n }\n }\n }\n themeKeySets.set(conf.themes, set);\n return set;\n};\nconst findToken = (tokensParsed, name) => {\n let found;\n let foundCategory;\n for (const category of tokenCategoryOrder) {\n const token = tokensParsed[category]?.[name];\n if (!token) continue;\n if (!found) {\n found = token;\n foundCategory = category;\n if (process.env.NODE_ENV !== \"development\") break;\n } else {\n warnOnce(\n `ambiguous:${name}`,\n `Theme inline value: \"${name}\" exists in multiple token categories; using \"${foundCategory}\". Rename one of the colliding tokens.`\n );\n break;\n }\n }\n return found;\n};\nconst cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\";\nconst themeKeyVar = (key) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`;\nfunction resolveVariableValueToCSS(key, value, conf) {\n if (typeof value === \"number\") {\n return isUnitlessVariableKey(key) ? `${value}` : `${value}px`;\n }\n if (typeof value === \"object\" && value && \"needsPx\" in value) {\n return `${value.val}px`;\n }\n if (typeof value !== \"string\") {\n return;\n }\n const name = value;\n if (getThemeKeySet(conf).has(name)) {\n return themeKeyVar(name);\n }\n const token = findToken(conf.tokensParsed, name);\n if (token) {\n return token.variable;\n }\n return value;\n}\nconst resolveDeclarations = (valuesIn, conf, skip) => {\n const out = [];\n if (!valuesIn) return out;\n const values = valuesIn;\n const keySet = getThemeKeySet(conf);\n for (const key of Object.keys(values).sort()) {\n const value = values[key];\n if (value == null) continue;\n if (skip?.has(key)) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const cssValue = resolveVariableValueToCSS(key, value, conf);\n if (cssValue !== void 0) {\n out.push([key, cssValue]);\n }\n }\n return out;\n};\nconst toDeclarationBlock = (declarations) => declarations.map(([key, value]) => `--${cssVariablePrefix}${simpleHash(key, 40)}:${value};`).join(\"\");\nconst schemePrefix = /^(light|dark)_/;\nconst getThemedBucketNames = (themes) => {\n if (!themes) return [];\n const names = [];\n for (const name in themes) {\n if (name !== \"light\" && name !== \"dark\" && themes[name]) {\n names.push(name);\n }\n }\n return names.sort();\n};\nconst themeBucketNameSets = /* @__PURE__ */ new WeakMap();\nconst getThemeBucketNames = (conf) => {\n let set = themeBucketNameSets.get(conf.themes);\n if (!set) {\n set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n const parts = themeName.replace(schemePrefix, \"\").split(\"_\");\n for (let i = 1; i <= parts.length; i++) {\n set.add(parts.slice(0, i).join(\"_\"));\n }\n }\n themeBucketNameSets.set(conf.themes, set);\n }\n return set;\n};\nconst warnOnUnknownThemeBucket = (name, conf) => {\n if (!getThemeBucketNames(conf).has(name)) {\n warnOnce(\n `unknown-theme:${name}`,\n `Theme inline value: modifier \"${name}:\" doesn't match any theme name in your config, so it will never apply.`\n );\n }\n};\nconst getCycleDroppedKeys = (props) => {\n const values = props.values;\n const themes = props.themes;\n const light = themes?.light;\n const dark = themes?.dark;\n let dropped = null;\n const check = (map) => {\n for (const key in map) {\n const path = [];\n const pathSet = /* @__PURE__ */ new Set();\n let current = key;\n while (true) {\n if (pathSet.has(current)) {\n dropped ||= /* @__PURE__ */ new Set();\n for (const k of path) dropped.add(k);\n break;\n }\n path.push(current);\n pathSet.add(current);\n const value = map[current];\n if (typeof value !== \"string\") break;\n const next = value;\n if (!(next in map)) break;\n current = next;\n }\n }\n };\n const checkWithSchemes = (base) => {\n check({ ...base, ...light });\n check({ ...base, ...dark });\n };\n checkWithSchemes(values || {});\n const bucketNames = getThemedBucketNames(props.themes);\n for (const name of bucketNames) {\n const merged = { ...values };\n for (const other of bucketNames) {\n if (other === name || name.startsWith(`${other}_`)) {\n Object.assign(merged, themes[other]);\n }\n }\n checkWithSchemes(merged);\n }\n if (dropped && process.env.NODE_ENV === \"development\") {\n const names = [...dropped];\n warnOnce(\n `cycle:${names.join(\",\")}`,\n `Theme inline values: reference cycle involving \"${names.join('\", \"')}\". These keys cannot resolve on either platform and are dropped.`\n );\n }\n return dropped;\n};\nconst rulesCache = /* @__PURE__ */ new Map();\nfunction getVariablesCSSRules(props, conf) {\n const cycleDropped = getCycleDroppedKeys(props);\n const themes = props.themes;\n const base = resolveDeclarations(props.values, conf, cycleDropped);\n const dark = resolveDeclarations(themes?.dark, conf, cycleDropped);\n const light = resolveDeclarations(themes?.light, conf, cycleDropped);\n const themed = [];\n for (const name of getThemedBucketNames(props.themes)) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(name, conf);\n }\n const declarations = resolveDeclarations(themes[name], conf, cycleDropped);\n if (declarations.length) {\n themed.push([name, declarations]);\n }\n }\n if (!base.length && !dark.length && !light.length && !themed.length) {\n return null;\n }\n const prefersColorThemes = !!getSetting(\"shouldAddPrefersColorThemes\");\n const payload = JSON.stringify([base, themed, dark, light, prefersColorThemes]);\n const cached = rulesCache.get(payload);\n if (cached) return cached;\n const identifier = `tvar_${simpleHash(payload, \"strict\")}`;\n const cls = `.${identifier}:not(#t_theme_full_name)`;\n const rules = [];\n if (base.length) {\n rules.push(`:root ${cls} {${toDeclarationBlock(base)}}`);\n }\n for (const [name, declarations] of themed) {\n rules.push(\n `:root .t_${name} ${cls}, :root.t_${name} ${cls} {${toDeclarationBlock(declarations)}}`\n );\n }\n const schemeRule = (scheme) => {\n const opposite = scheme === \"dark\" ? \"light\" : \"dark\";\n const declarations = scheme === \"light\" ? light : dark;\n return `:root .t_${scheme} ${cls}, :root.t_${scheme} ${cls}, :root .t_${opposite} .t_${scheme} ${cls}, :root.t_${opposite} .t_${scheme} ${cls} {${toDeclarationBlock(declarations)}}`;\n };\n if (light.length) {\n rules.push(schemeRule(\"light\"));\n }\n if (dark.length) {\n rules.push(schemeRule(\"dark\"));\n }\n if (prefersColorThemes) {\n if (light.length) {\n rules.push(\n `@media (prefers-color-scheme:light){:root ${cls} {${toDeclarationBlock(light)}}}`\n );\n }\n if (dark.length) {\n rules.push(\n `@media (prefers-color-scheme:dark){:root ${cls} {${toDeclarationBlock(dark)}}}`\n );\n }\n }\n const result = { identifier, rules };\n if (rulesCache.size >= 1e4) {\n rulesCache.clear();\n }\n rulesCache.set(payload, result);\n return result;\n}\nconst inlineLayerKey = \"_tmgInlineLayer\";\nconst serializeInlineValue = (value) => value && typeof value === \"object\" ? `object:px${value.val}` : `${typeof value}:${String(value)}`;\nconst serializeBucket = (bucket) => {\n if (!bucket) return \"\";\n const map = bucket;\n return Object.keys(map).sort().map((key) => {\n const value = serializeInlineValue(map[key]);\n return `${key.length}:${key}${value.length}:${value}`;\n }).join(\"\");\n};\nconst inlineKeys = /* @__PURE__ */ new WeakMap();\nconst getInlineValuesKey = (inline) => {\n const cached = inlineKeys.get(inline);\n if (cached !== void 0) return cached;\n let key = serializeBucket(inline.values);\n if (inline.themes) {\n const themes = inline.themes;\n for (const name of Object.keys(themes).sort()) {\n key += `;${name}=${serializeBucket(themes[name])}`;\n }\n }\n inlineKeys.set(inline, key);\n return key;\n};\nconst registryViews = /* @__PURE__ */ new WeakMap();\nconst getModifierRegistry = (conf) => {\n let view = registryViews.get(conf.themes);\n if (!view) {\n view = {\n get(name) {\n if (grammarPlatformNames.has(name)) return \"platform\";\n if (isRootThemeName(name) && getThemeBucketNames(conf).has(name)) return \"theme\";\n return \"state\";\n }\n };\n registryViews.set(conf.themes, view);\n }\n return view;\n};\nconst parsedInlineValues = /* @__PURE__ */ new WeakMap();\nconst addFlatValue = (out, key, raw, conf, onIssue) => {\n const report = (once, message, dropped) => {\n const diagnosis = message.replace(/\\.$/, \"\");\n if (onIssue) onIssue({ key, raw: String(raw), message: diagnosis });\n else warnOnce(once, `${diagnosis}. ${dropped}`);\n };\n if (typeof raw !== \"string\") {\n out.values[key] = raw;\n return;\n }\n let configValues = parsedInlineValues.get(conf.themes);\n if (!configValues) {\n configValues = /* @__PURE__ */ new Map();\n parsedInlineValues.set(conf.themes, configValues);\n }\n let parsed = configValues.get(raw);\n if (!parsed) {\n parsed = parseValue(raw, getModifierRegistry(conf));\n if (configValues.size >= 1e4) {\n configValues.clear();\n }\n configValues.set(raw, parsed);\n }\n if (!parsed.ok) {\n report(\n `parse:${key}:${raw}`,\n `<Theme ${key}=\"${raw}\">: ${parsed.errors[0].message}`,\n \"Dropping.\"\n );\n return;\n }\n const { base, clauses } = parsed.value;\n if (base !== null) {\n out.values[key] = base;\n }\n for (const clause of clauses) {\n let themeName;\n let applies = true;\n for (const modifier of clause.modifiers) {\n if (grammarPlatformNames.has(modifier)) {\n applies &&= platformMatches(modifier);\n continue;\n }\n if (isRootThemeName(modifier) && getThemeBucketNames(conf).has(modifier)) {\n if (themeName !== void 0) {\n report(\n `two-themes:${key}:${raw}`,\n `<Theme ${key}=\"${raw}\">: \"${themeName}:${modifier}:\" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n themeName = modifier;\n continue;\n }\n report(\n `unsupported-modifier:${modifier}`,\n `<Theme ${key}=\"${raw}\">: \"${modifier}:\" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n if (!applies) continue;\n if (themeName === void 0) {\n out.values[key] = clause.payload;\n } else {\n ;\n ((out.themes ||= {})[themeName] ||= {})[key] = clause.payload;\n }\n }\n};\nconst flatLayers = /* @__PURE__ */ new WeakMap();\nfunction getInlineValuesFromProps(props, conf, onIssue) {\n let hasKey = false;\n let cacheKey = \"\";\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n hasKey = true;\n const value = props[key];\n if (value == null) continue;\n const serialized = serializeInlineValue(value);\n cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`;\n }\n if (!hasKey) return null;\n let configLayers = flatLayers.get(conf.themes);\n if (!configLayers) {\n configLayers = /* @__PURE__ */ new Map();\n flatLayers.set(conf.themes, configLayers);\n }\n const cached = onIssue ? void 0 : configLayers.get(cacheKey);\n if (cached) return cached;\n const out = { values: {}, themes: null };\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n const value = props[key];\n if (value == null) continue;\n addFlatValue(out, key, value, conf, onIssue);\n }\n const layer = {\n values: out.values,\n themes: out.themes || void 0\n };\n if (!onIssue) {\n if (configLayers.size >= 1e4) {\n configLayers.clear();\n }\n configLayers.set(cacheKey, layer);\n }\n return layer;\n}\nconst mergedThemeCache = /* @__PURE__ */ new WeakMap();\nfunction getMergedInlineTheme(parentTheme, inline, themeName, conf) {\n const name = themeName || \"light\";\n const activeScheme = name === \"dark\" || name.startsWith(\"dark_\") ? \"dark\" : \"light\";\n const bucketNames = getThemedBucketNames(inline.themes);\n let matched;\n if (bucketNames.length) {\n const baseName = name.replace(schemePrefix, \"\");\n for (const bucketName of bucketNames) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(bucketName, conf);\n }\n if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {\n matched ||= [];\n matched.push(bucketName);\n }\n }\n }\n const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(\",\") : \"\"}`;\n const existingInfo = parentTheme[inlineLayerKey];\n if (existingInfo?.key === cacheKey) {\n return parentTheme;\n }\n let byKey = mergedThemeCache.get(parentTheme);\n const cached = byKey?.get(cacheKey);\n if (cached) return cached;\n const values = inline.values || {};\n const themes = inline.themes || {};\n const light = themes.light || {};\n const dark = themes.dark || {};\n const base = { ...values };\n if (matched) {\n for (const bucketName of matched) {\n Object.assign(base, themes[bucketName]);\n }\n }\n const effective = { ...base, ...activeScheme === \"dark\" ? dark : light };\n const opposite = { ...base, ...activeScheme === \"dark\" ? light : dark };\n const dropped = getCycleDroppedKeys(inline);\n const keySet = getThemeKeySet(conf);\n const resolveRaw = (keyIn, map) => {\n let key = keyIn;\n let value = map[key];\n while (typeof value === \"string\") {\n const name2 = value;\n if (name2 in map && !dropped?.has(name2)) {\n key = name2;\n value = map[name2];\n continue;\n }\n const themeValue = parentTheme[name2];\n if (themeValue !== void 0) {\n return isVariable(themeValue) ? themeValue.val : themeValue;\n }\n const token = findToken(conf.tokensParsed, name2);\n if (token) return token.val;\n return value;\n }\n if (value && typeof value === \"object\") {\n return value.val;\n }\n return value;\n };\n const info = {\n key: cacheKey,\n // nested layers: carry the parent layer's overrides forward (its values\n // are plain enumerable entries after the spread, but the iOS pair info\n // would otherwise be lost)\n overridden: new Set(existingInfo?.overridden),\n pairs: { ...existingInfo?.pairs }\n };\n const merged = { ...parentTheme };\n let didOverride = false;\n for (const key of Object.keys(effective).sort()) {\n if (dropped?.has(key)) continue;\n if (effective[key] == null) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const raw = resolveRaw(key, effective);\n if (raw === void 0) continue;\n didOverride = true;\n merged[key] = createVariable({ key, name: key, val: raw });\n info.overridden.add(key);\n delete info.pairs[key];\n const activeLiteral = effective[key];\n const oppositeLiteral = opposite[key];\n const isLiteral = (v) => typeof v === \"string\" && !(v in effective) && !(v in parentTheme) && !findToken(conf.tokensParsed, v) || typeof v === \"number\";\n if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {\n info.pairs[key] = {\n light: activeScheme === \"light\" ? activeLiteral : oppositeLiteral,\n dark: activeScheme === \"dark\" ? activeLiteral : oppositeLiteral\n };\n }\n }\n if (!didOverride) {\n return parentTheme;\n }\n Object.defineProperty(merged, inlineLayerKey, {\n value: info,\n enumerable: false\n });\n byKey ||= /* @__PURE__ */ new Map();\n mergedThemeCache.set(parentTheme, byKey);\n if (byKey.size >= 1e4) {\n byKey.clear();\n }\n byKey.set(cacheKey, merged);\n return merged;\n}\nfunction mergeConfigVariablesIntoTheme(theme, themeName, variables, tokensParsed) {\n const scheme = themeName.startsWith(\"dark\") ? \"dark\" : \"light\";\n const resolving = /* @__PURE__ */ new Set();\n const resolveRawValue = (key, value) => {\n if (typeof value === \"object\" && value !== null) {\n if (isVariable(value)) return value.val;\n if (\"needsPx\" in value) return value;\n if (\"light\" in value || \"dark\" in value) {\n return resolveRawValue(key, value[scheme] ?? value.light);\n }\n return;\n }\n if (typeof value === \"string\") {\n const name = value;\n if (name in variables && !(name in theme)) {\n if (resolving.has(name)) {\n warnOnce(\n `config-cycle:${name}`,\n `createTamagui variables: reference cycle at \"${name}\" \\u2014 dropping.`\n );\n return;\n }\n resolving.add(name);\n const res = resolveRawValue(name, variables[name]);\n resolving.delete(name);\n return res;\n }\n const themeValue = theme[name];\n if (themeValue !== void 0) {\n return isVariable(themeValue) ? themeValue.val : themeValue;\n }\n const token = findToken(tokensParsed, name);\n return token ? token.val : value;\n }\n return value;\n };\n for (const key in variables) {\n if (key in theme) continue;\n let raw = resolveRawValue(key, variables[key]);\n if (raw === void 0) continue;\n let needsPx = typeof raw === \"number\" && !isUnitlessVariableKey(key);\n if (typeof raw === \"object\" && raw !== null && \"needsPx\" in raw) {\n needsPx = true;\n raw = raw.val;\n }\n const variable = createVariable({ key, name: key, val: raw });\n if (needsPx) {\n variable.needsPx = true;\n }\n theme[key] = variable;\n }\n}\nexport {\n getInlineValuesFromProps,\n getInlineValuesKey,\n getMergedInlineTheme,\n getThemeKeySet,\n getVariablesCSSRules,\n inlineLayerKey,\n isUnitlessVariableKey,\n mergeConfigVariablesIntoTheme,\n resolveVariableValueToCSS\n};\n//# sourceMappingURL=variables.js.map\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"variables.js","names":[],"sources":["esm/helpers/variables.js"],"sourcesContent":["import { reservedThemeProps, simpleHash } from \"@tamagui/helpers\";\nimport {\n grammarPlatformNames,\n isRootThemeName,\n modifierKindPlatform,\n modifierKindTheme,\n reduceFlatValueIdentity\n} from \"@tamagui/style-grammar/runtime\";\nimport { getSetting } from \"../config\";\nimport { createVariable, isVariable } from \"../createVariable\";\nimport { getConfigRevisionState } from \"./grammarConfig\";\nimport { themeUpdateStateKey } from \"./themeUpdateState\";\nimport { platformMatches } from \"./directStyle\";\nimport { findVariableToken, isUnitlessVariableKey } from \"./variableValue\";\nimport { warnOnce } from \"./warnOnce\";\nconst themeKeySets = /* @__PURE__ */ new WeakMap();\nconst getThemeKeySet = (conf) => {\n const generation = getConfigRevisionState(conf);\n const existing = themeKeySets.get(generation);\n if (existing) return existing;\n const set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n for (const key in conf.themes[themeName]) {\n set.add(key);\n }\n }\n if (process.env.NODE_ENV === \"development\") {\n for (const key of set) {\n if (reservedThemeProps[key]) {\n console.error(\n `[tamagui] theme key \"${key}\" collides with a reserved theme prop, so it cannot be set with <ThemeUpdate ${key}=\"...\">. Rename it.`\n );\n }\n }\n }\n themeKeySets.set(generation, set);\n return set;\n};\nconst cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || \"\";\nconst themeKeyVar = (key) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`;\nfunction resolveVariableValueToCSS(key, value, conf) {\n if (typeof value === \"number\") {\n return isUnitlessVariableKey(key) ? `${value}` : `${value}px`;\n }\n if (typeof value === \"object\" && value && \"needsPx\" in value) {\n return `${value.val}px`;\n }\n if (typeof value !== \"string\") {\n return;\n }\n const name = value;\n if (getThemeKeySet(conf).has(name)) {\n return themeKeyVar(name);\n }\n const token = findVariableToken(conf.tokensParsed, name);\n if (token) {\n return token.variable;\n }\n return value;\n}\nconst resolveDeclarations = (valuesIn, conf, skip) => {\n const out = [];\n if (!valuesIn) return out;\n const values = valuesIn;\n const keySet = getThemeKeySet(conf);\n for (const key of Object.keys(values).sort()) {\n const value = values[key];\n if (value == null) continue;\n if (skip?.has(key)) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const cssValue = resolveVariableValueToCSS(key, value, conf);\n if (cssValue !== void 0) {\n out.push([key, cssValue]);\n }\n }\n return out;\n};\nconst toDeclarationBlock = (declarations) => declarations.map(([key, value]) => `--${cssVariablePrefix}${simpleHash(key, 40)}:${value};`).join(\"\");\nconst schemePrefix = /^(light|dark)_/;\nconst getThemedBucketNames = (themes) => {\n if (!themes) return [];\n const names = [];\n for (const name in themes) {\n if (name !== \"light\" && name !== \"dark\" && themes[name]) {\n names.push(name);\n }\n }\n return names.sort();\n};\nconst themeBucketNameSets = /* @__PURE__ */ new WeakMap();\nconst getThemeBucketNames = (conf) => {\n const generation = getConfigRevisionState(conf);\n let set = themeBucketNameSets.get(generation);\n if (!set) {\n set = /* @__PURE__ */ new Set();\n for (const themeName in conf.themes) {\n const parts = themeName.replace(schemePrefix, \"\").split(\"_\");\n for (let i = 1; i <= parts.length; i++) {\n set.add(parts.slice(0, i).join(\"_\"));\n }\n }\n themeBucketNameSets.set(generation, set);\n }\n return set;\n};\nconst warnOnUnknownThemeBucket = (name, conf) => {\n if (!getThemeBucketNames(conf).has(name)) {\n warnOnce(\n `unknown-theme:${name}`,\n `Theme inline value: modifier \"${name}:\" doesn't match any theme name in your config, so it will never apply.`\n );\n }\n};\nconst getCycleDroppedKeys = (props) => {\n const values = props.values;\n const themes = props.themes;\n const light = themes?.light;\n const dark = themes?.dark;\n let dropped = null;\n const check = (map) => {\n for (const key in map) {\n const path = [];\n const pathSet = /* @__PURE__ */ new Set();\n let current = key;\n while (true) {\n if (pathSet.has(current)) {\n dropped ||= /* @__PURE__ */ new Set();\n for (const k of path) dropped.add(k);\n break;\n }\n path.push(current);\n pathSet.add(current);\n const value = map[current];\n if (typeof value !== \"string\") break;\n const next = value;\n if (!(next in map)) break;\n current = next;\n }\n }\n };\n const checkWithSchemes = (base) => {\n check({ ...base, ...light });\n check({ ...base, ...dark });\n };\n checkWithSchemes(values || {});\n const bucketNames = getThemedBucketNames(props.themes);\n for (const name of bucketNames) {\n const merged = { ...values };\n for (const other of bucketNames) {\n if (other === name || name.startsWith(`${other}_`)) {\n Object.assign(merged, themes[other]);\n }\n }\n checkWithSchemes(merged);\n }\n if (dropped && process.env.NODE_ENV === \"development\") {\n const names = [...dropped];\n warnOnce(\n `cycle:${names.join(\",\")}`,\n `Theme inline values: reference cycle involving \"${names.join('\", \"')}\". These keys cannot resolve on either platform and are dropped.`\n );\n }\n return dropped;\n};\nconst rulesCache = /* @__PURE__ */ new Map();\nfunction getVariablesCSSRules(props, conf) {\n const cycleDropped = getCycleDroppedKeys(props);\n const themes = props.themes;\n const base = resolveDeclarations(props.values, conf, cycleDropped);\n const dark = resolveDeclarations(themes?.dark, conf, cycleDropped);\n const light = resolveDeclarations(themes?.light, conf, cycleDropped);\n const themed = [];\n for (const name of getThemedBucketNames(props.themes)) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(name, conf);\n }\n const declarations = resolveDeclarations(themes[name], conf, cycleDropped);\n if (declarations.length) {\n themed.push([name, declarations]);\n }\n }\n if (!base.length && !dark.length && !light.length && !themed.length) {\n return null;\n }\n const prefersColorThemes = !!getSetting(\"shouldAddPrefersColorThemes\");\n const payload = JSON.stringify([base, themed, dark, light, prefersColorThemes]);\n const cached = rulesCache.get(payload);\n if (cached) return cached;\n const identifier = `tvar_${simpleHash(payload, \"strict\")}`;\n const cls = `.${identifier}:not(#t_theme_full_name)`;\n const rules = [];\n if (base.length) {\n rules.push(`:root ${cls} {${toDeclarationBlock(base)}}`);\n }\n for (const [name, declarations] of themed) {\n rules.push(\n `:root .t_${name} ${cls}, :root.t_${name} ${cls} {${toDeclarationBlock(declarations)}}`\n );\n }\n const schemeRule = (scheme) => {\n const opposite = scheme === \"dark\" ? \"light\" : \"dark\";\n const declarations = scheme === \"light\" ? light : dark;\n return `:root .t_${scheme} ${cls}, :root.t_${scheme} ${cls}, :root .t_${opposite} .t_${scheme} ${cls}, :root.t_${opposite} .t_${scheme} ${cls} {${toDeclarationBlock(declarations)}}`;\n };\n if (light.length) {\n rules.push(schemeRule(\"light\"));\n }\n if (dark.length) {\n rules.push(schemeRule(\"dark\"));\n }\n if (prefersColorThemes) {\n if (light.length) {\n rules.push(\n `@media (prefers-color-scheme:light){:root ${cls} {${toDeclarationBlock(light)}}}`\n );\n }\n if (dark.length) {\n rules.push(\n `@media (prefers-color-scheme:dark){:root ${cls} {${toDeclarationBlock(dark)}}}`\n );\n }\n }\n const result = { identifier, rules };\n if (rulesCache.size >= 1e4) {\n rulesCache.clear();\n }\n rulesCache.set(payload, result);\n return result;\n}\nconst serializeInlineValue = (value) => value && typeof value === \"object\" ? `object:px${value.val}` : `${typeof value}:${String(value)}`;\nconst serializeBucket = (bucket) => {\n if (!bucket) return \"\";\n const map = bucket;\n return Object.keys(map).sort().map((key) => {\n const value = serializeInlineValue(map[key]);\n return `${key.length}:${key}${value.length}:${value}`;\n }).join(\"\");\n};\nconst inlineKeys = /* @__PURE__ */ new WeakMap();\nconst getInlineValuesKey = (inline) => {\n const cached = inlineKeys.get(inline);\n if (cached !== void 0) return cached;\n let key = serializeBucket(inline.values);\n if (inline.themes) {\n const themes = inline.themes;\n for (const name of Object.keys(themes).sort()) {\n key += `;${name}=${serializeBucket(themes[name])}`;\n }\n }\n inlineKeys.set(inline, key);\n return key;\n};\nconst themeUpdateFlatHandler = {\n segment(ctx, start, end, isBase) {\n if (isBase) {\n ctx.out.base = start < end ? ctx.source.slice(start, end) : null;\n }\n },\n chain(ctx, start, end) {\n ctx.pending = [];\n ctx.chainStart = start;\n ctx.chainEnd = end;\n },\n modifier(ctx, start, end) {\n const name = ctx.source.slice(start, end);\n const kind = (\n // theme updates intentionally keep their subtree-specific collision order:\n // platform, then theme, then every unsupported kind. direct styles use\n // the shared vocabulary's state/media/platform/theme order instead.\n grammarPlatformNames.has(name) ? modifierKindPlatform : isRootThemeName(name) && ctx.themeBuckets.has(name) ? modifierKindTheme : 0\n );\n ctx.pending.push([name, kind]);\n },\n clause(ctx, _start, _chainEnd, start, end) {\n ;\n (ctx.out.clauses ||= []).push([ctx.source.slice(start, end), ctx.pending]);\n },\n error(ctx, code, index) {\n if (ctx.out.error !== null) return;\n if (code === \"empty-modifier\") {\n ctx.out.error = \"a modifier chain has an empty segment\";\n } else if (code === \"empty-payload\") {\n ctx.out.error = `the \"${ctx.source.slice(ctx.chainStart, ctx.chainEnd)}:\" clause has no value`;\n } else if (code === \"invalid-character\") {\n ctx.out.error = `\"${ctx.source[index]}\" cannot appear in a value: it would end the declaration or rule`;\n } else if (code === \"unterminated-string\") {\n ctx.out.error = `unterminated ${ctx.source[index]} string`;\n } else if (code === \"unterminated-comment\") {\n ctx.out.error = 'unterminated \"/*\" comment: it would swallow the rules after this one';\n } else if (code === \"stray-comment-close\") {\n ctx.out.error = 'stray \"*/\": it would close a comment opened somewhere else';\n } else {\n ctx.out.error = 'unterminated \"(\" in value';\n }\n }\n};\nconst parsedInlineValues = /* @__PURE__ */ new WeakMap();\nconst addFlatValue = (out, key, raw, conf, onIssue) => {\n const report = (once, message, dropped) => {\n const diagnosis = message.replace(/\\.$/, \"\");\n if (onIssue) onIssue({ key, raw: String(raw), message: diagnosis });\n else warnOnce(once, `${diagnosis}. ${dropped}`);\n };\n if (typeof raw !== \"string\") {\n out.values[key] = raw;\n return;\n }\n const generation = getConfigRevisionState(conf);\n let configValues = parsedInlineValues.get(generation);\n if (!configValues) {\n configValues = /* @__PURE__ */ new Map();\n parsedInlineValues.set(generation, configValues);\n }\n let parsed = configValues.get(raw);\n if (!parsed) {\n parsed = { base: null, clauses: null, error: null };\n reduceFlatValueIdentity(raw, themeUpdateFlatHandler, {\n source: raw,\n themeBuckets: getThemeBucketNames(conf),\n out: parsed,\n pending: null,\n chainStart: 0,\n chainEnd: 0\n });\n if (configValues.size >= 1e4) {\n configValues.clear();\n }\n configValues.set(raw, parsed);\n }\n if (parsed.error !== null) {\n report(\n `parse:${key}:${raw}`,\n `<ThemeUpdate ${key}=\"${raw}\">: ${parsed.error}`,\n \"Dropping.\"\n );\n return;\n }\n const { base, clauses } = parsed;\n if (base !== null) {\n out.values[key] = base;\n }\n if (!clauses) return;\n for (const [payload, modifiers] of clauses) {\n let themeName;\n let applies = true;\n for (const [modifier, kind] of modifiers) {\n if (kind === modifierKindPlatform) {\n applies &&= platformMatches(modifier);\n continue;\n }\n if (kind === modifierKindTheme) {\n if (themeName !== void 0) {\n report(\n `two-themes:${key}:${raw}`,\n `<ThemeUpdate ${key}=\"${raw}\">: \"${themeName}:${modifier}:\" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n themeName = modifier;\n continue;\n }\n report(\n `unsupported-modifier:${modifier}`,\n `<ThemeUpdate ${key}=\"${raw}\">: \"${modifier}:\" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,\n \"Dropping the clause.\"\n );\n applies = false;\n break;\n }\n if (!applies) continue;\n if (themeName === void 0) {\n out.values[key] = payload;\n } else {\n ;\n ((out.themes ||= {})[themeName] ||= {})[key] = payload;\n }\n }\n};\nconst flatLayers = /* @__PURE__ */ new WeakMap();\nfunction getInlineValuesFromProps(props, conf, onIssue) {\n let hasKey = false;\n let cacheKey = \"\";\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n hasKey = true;\n const value = props[key];\n if (value == null) continue;\n const serialized = serializeInlineValue(value);\n cacheKey += `${key.length}:${key}${serialized.length}:${serialized}`;\n }\n if (!hasKey) return null;\n const generation = getConfigRevisionState(conf);\n let configLayers = flatLayers.get(generation);\n if (!configLayers) {\n configLayers = /* @__PURE__ */ new Map();\n flatLayers.set(generation, configLayers);\n }\n const cached = onIssue ? void 0 : configLayers.get(cacheKey);\n if (cached) return cached;\n const out = { values: {}, themes: null };\n for (const key in props) {\n if (reservedThemeProps[key]) continue;\n const value = props[key];\n if (value == null) continue;\n addFlatValue(out, key, value, conf, onIssue);\n }\n const layer = {\n values: out.values,\n themes: out.themes || void 0\n };\n if (!onIssue) {\n if (configLayers.size >= 1e4) {\n configLayers.clear();\n }\n configLayers.set(cacheKey, layer);\n }\n return layer;\n}\nconst mergedThemeCache = /* @__PURE__ */ new WeakMap();\nfunction getMergedInlineTheme(parentTheme, inline, themeName, conf) {\n const generation = getConfigRevisionState(conf);\n const name = themeName || \"light\";\n const activeScheme = name === \"dark\" || name.startsWith(\"dark_\") ? \"dark\" : \"light\";\n const bucketNames = getThemedBucketNames(inline.themes);\n let matched;\n if (bucketNames.length) {\n const baseName = name.replace(schemePrefix, \"\");\n for (const bucketName of bucketNames) {\n if (process.env.NODE_ENV === \"development\") {\n warnOnUnknownThemeBucket(bucketName, conf);\n }\n if (baseName === bucketName || baseName.startsWith(`${bucketName}_`)) {\n matched ||= [];\n matched.push(bucketName);\n }\n }\n }\n const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(\",\") : \"\"}`;\n const existingInfo = parentTheme[themeUpdateStateKey];\n if (existingInfo?.generation === generation && existingInfo.key === cacheKey) {\n return parentTheme;\n }\n let generationCache = mergedThemeCache.get(generation);\n let byKey = generationCache?.get(parentTheme);\n const cached = byKey?.get(cacheKey);\n if (cached) return cached;\n const values = inline.values || {};\n const themes = inline.themes || {};\n const light = themes.light || {};\n const dark = themes.dark || {};\n const base = { ...values };\n if (matched) {\n for (const bucketName of matched) {\n Object.assign(base, themes[bucketName]);\n }\n }\n const effective = { ...base, ...activeScheme === \"dark\" ? dark : light };\n const opposite = { ...base, ...activeScheme === \"dark\" ? light : dark };\n const dropped = getCycleDroppedKeys(inline);\n const keySet = getThemeKeySet(conf);\n const resolveRaw = (keyIn, map) => {\n let key = keyIn;\n let value = map[key];\n while (typeof value === \"string\") {\n const name2 = value;\n if (name2 in map && !dropped?.has(name2)) {\n key = name2;\n value = map[name2];\n continue;\n }\n const themeValue = parentTheme[name2];\n if (themeValue !== void 0) {\n return isVariable(themeValue) ? themeValue.val : themeValue;\n }\n const token = findVariableToken(conf.tokensParsed, name2);\n if (token) return token.val;\n return value;\n }\n if (value && typeof value === \"object\") {\n return value.val;\n }\n return value;\n };\n const info = {\n key: cacheKey,\n generation,\n // nested layers: carry the parent layer's overrides forward (its values\n // are plain enumerable entries after the spread, but the iOS pair info\n // would otherwise be lost)\n overridden: new Set(existingInfo?.overridden),\n pairs: { ...existingInfo?.pairs }\n };\n const merged = { ...parentTheme };\n let didOverride = false;\n for (const key of Object.keys(effective).sort()) {\n if (dropped?.has(key)) continue;\n if (effective[key] == null) continue;\n if (!keySet.has(key)) {\n warnOnce(\n `unknown:${key}`,\n `Theme inline value: \"${key}\" is not a theme key or config-declared variable (createTamagui({ variables })) \\u2014 dropping. Native can't resolve undeclared keys, so declaring it keeps platforms in sync.`\n );\n continue;\n }\n const raw = resolveRaw(key, effective);\n if (raw === void 0) continue;\n didOverride = true;\n merged[key] = createVariable({ key, name: key, val: raw });\n info.overridden.add(key);\n delete info.pairs[key];\n const activeLiteral = effective[key];\n const oppositeLiteral = opposite[key];\n const isLiteral = (v) => typeof v === \"string\" && !(v in effective) && !(v in parentTheme) && !findVariableToken(conf.tokensParsed, v) || typeof v === \"number\";\n if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {\n info.pairs[key] = {\n light: activeScheme === \"light\" ? activeLiteral : oppositeLiteral,\n dark: activeScheme === \"dark\" ? activeLiteral : oppositeLiteral\n };\n }\n }\n if (!didOverride) {\n return parentTheme;\n }\n Object.defineProperty(merged, themeUpdateStateKey, {\n value: info,\n enumerable: false\n });\n byKey ||= /* @__PURE__ */ new Map();\n if (!generationCache) {\n generationCache = /* @__PURE__ */ new WeakMap();\n mergedThemeCache.set(generation, generationCache);\n }\n generationCache.set(parentTheme, byKey);\n if (byKey.size >= 1e4) {\n byKey.clear();\n }\n byKey.set(cacheKey, merged);\n return merged;\n}\nexport {\n getInlineValuesFromProps,\n getInlineValuesKey,\n getMergedInlineTheme,\n getThemeKeySet,\n getVariablesCSSRules,\n resolveVariableValueToCSS\n};\n//# sourceMappingURL=variables.js.map\n"],"mappings":"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"}
|