@tamagui/web 3.0.0-beta.669.1 → 3.0.0-beta.719.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
package/src/helpers/variables.ts
CHANGED
|
@@ -2,19 +2,23 @@ import { reservedThemeProps, simpleHash } from '@tamagui/helpers'
|
|
|
2
2
|
import {
|
|
3
3
|
grammarPlatformNames,
|
|
4
4
|
isRootThemeName,
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
modifierKindPlatform,
|
|
6
|
+
modifierKindTheme,
|
|
7
|
+
reduceFlatValueIdentity,
|
|
8
|
+
type ClauseIdentityErrorCode,
|
|
9
|
+
type ClauseIdentityHandler,
|
|
7
10
|
} from '@tamagui/style-grammar/runtime'
|
|
8
11
|
import { getSetting } from '../config'
|
|
9
12
|
import { createVariable, isVariable } from '../createVariable'
|
|
13
|
+
import { getConfigRevisionState, type ConfigRevisionState } from './grammarConfig'
|
|
14
|
+
import { themeUpdateStateKey, type ThemeUpdateLayerInfo } from './themeUpdateState'
|
|
10
15
|
import { platformMatches } from './directStyle'
|
|
16
|
+
import { findVariableToken, isUnitlessVariableKey } from './variableValue'
|
|
11
17
|
import { warnOnce } from './warnOnce'
|
|
12
18
|
import type {
|
|
13
|
-
GenericVariables,
|
|
14
19
|
TamaguiInternalConfig,
|
|
15
20
|
ThemeKeys,
|
|
16
21
|
ThemeName,
|
|
17
|
-
TokensParsed,
|
|
18
22
|
Variable,
|
|
19
23
|
VariableValIn,
|
|
20
24
|
} from '../types'
|
|
@@ -26,34 +30,11 @@ export type InlineValues = {
|
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
// style keys: opacity, zIndex, flex/flexGrow/flexShrink, aspectRatio, scale*,
|
|
31
|
-
// fontWeight, elevation, shadowOpacity all end in one of these suffixes.
|
|
32
|
-
// dimensional keys (radius, width, gap, size...) default to px.
|
|
33
|
-
const unitlessSuffixes = [
|
|
34
|
-
'opacity',
|
|
35
|
-
'scale',
|
|
36
|
-
'zindex',
|
|
37
|
-
'weight',
|
|
38
|
-
'flex',
|
|
39
|
-
'grow',
|
|
40
|
-
'shrink',
|
|
41
|
-
'ratio',
|
|
42
|
-
'elevation',
|
|
43
|
-
]
|
|
44
|
-
|
|
45
|
-
export const isUnitlessVariableKey = (key: string): boolean => {
|
|
46
|
-
const lower = key.toLowerCase()
|
|
47
|
-
return unitlessSuffixes.some((suffix) => lower.endsWith(suffix))
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// Property-less variable references scan token categories in this fixed order.
|
|
51
|
-
const tokenCategoryOrder = ['color', 'space', 'size', 'radius', 'zIndex'] as const
|
|
52
|
-
|
|
53
|
-
const themeKeySets = new WeakMap<object, Set<string>>()
|
|
33
|
+
const themeKeySets = new WeakMap<ConfigRevisionState, Set<string>>()
|
|
54
34
|
|
|
55
35
|
export const getThemeKeySet = (conf: TamaguiInternalConfig): Set<string> => {
|
|
56
|
-
const
|
|
36
|
+
const generation = getConfigRevisionState(conf)
|
|
37
|
+
const existing = themeKeySets.get(generation)
|
|
57
38
|
if (existing) return existing
|
|
58
39
|
const set = new Set<string>()
|
|
59
40
|
for (const themeName in conf.themes) {
|
|
@@ -62,42 +43,21 @@ export const getThemeKeySet = (conf: TamaguiInternalConfig): Set<string> => {
|
|
|
62
43
|
}
|
|
63
44
|
}
|
|
64
45
|
if (process.env.NODE_ENV === 'development') {
|
|
65
|
-
// <
|
|
46
|
+
// <ThemeUpdate> reads every non-reserved prop as a theme key, so a theme key or
|
|
66
47
|
// config variable sharing a name with one of Theme's own props could never
|
|
67
48
|
// be set inline. Caught once per config, at the source.
|
|
68
49
|
for (const key of set) {
|
|
69
50
|
if (reservedThemeProps[key]) {
|
|
70
51
|
console.error(
|
|
71
|
-
`[tamagui] theme key "${key}" collides with a
|
|
52
|
+
`[tamagui] theme key "${key}" collides with a reserved theme prop, so it cannot be set with <ThemeUpdate ${key}="...">. Rename it.`
|
|
72
53
|
)
|
|
73
54
|
}
|
|
74
55
|
}
|
|
75
56
|
}
|
|
76
|
-
themeKeySets.set(
|
|
57
|
+
themeKeySets.set(generation, set)
|
|
77
58
|
return set
|
|
78
59
|
}
|
|
79
60
|
|
|
80
|
-
const findToken = (tokensParsed: TokensParsed, name: string): Variable | undefined => {
|
|
81
|
-
let found: Variable | undefined
|
|
82
|
-
let foundCategory: string | undefined
|
|
83
|
-
for (const category of tokenCategoryOrder) {
|
|
84
|
-
const token = tokensParsed[category]?.[name] as Variable | undefined
|
|
85
|
-
if (!token) continue
|
|
86
|
-
if (!found) {
|
|
87
|
-
found = token
|
|
88
|
-
foundCategory = category
|
|
89
|
-
if (process.env.NODE_ENV !== 'development') break
|
|
90
|
-
} else {
|
|
91
|
-
warnOnce(
|
|
92
|
-
`ambiguous:${name}`,
|
|
93
|
-
`Theme inline value: "${name}" exists in multiple token categories; using "${foundCategory}". Rename one of the colliding tokens.`
|
|
94
|
-
)
|
|
95
|
-
break
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return found
|
|
99
|
-
}
|
|
100
|
-
|
|
101
61
|
const cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || ''
|
|
102
62
|
|
|
103
63
|
// theme-key custom property reference, matching the declaration side in
|
|
@@ -105,7 +65,7 @@ const cssVariablePrefix = process.env.TAMAGUI_CSS_VARIABLE_PREFIX || ''
|
|
|
105
65
|
const themeKeyVar = (key: string) => `var(--${cssVariablePrefix}${simpleHash(key, 40)})`
|
|
106
66
|
|
|
107
67
|
/**
|
|
108
|
-
* Resolves one
|
|
68
|
+
* Resolves one `<ThemeUpdate>` value to a CSS value string.
|
|
109
69
|
* References emit var() so they stay live in the cascade; literals serialize
|
|
110
70
|
* with the same unit rule numeric style props use (px unless unitless key).
|
|
111
71
|
* Configured names resolve first; a lookup miss stays literal.
|
|
@@ -131,7 +91,7 @@ export function resolveVariableValueToCSS(
|
|
|
131
91
|
return themeKeyVar(name)
|
|
132
92
|
}
|
|
133
93
|
|
|
134
|
-
const token =
|
|
94
|
+
const token = findVariableToken(conf.tokensParsed, name)
|
|
135
95
|
if (token) {
|
|
136
96
|
return token.variable
|
|
137
97
|
}
|
|
@@ -202,10 +162,11 @@ const getThemedBucketNames = (themes: InlineValues['themes']): string[] => {
|
|
|
202
162
|
// scheme-stripped theme name in the config. broader than the style grammar's
|
|
203
163
|
// theme modifiers, which require a top-level conf.themes key and so can't
|
|
204
164
|
// target a `blue` that only exists as `dark_blue`/`light_blue`
|
|
205
|
-
const themeBucketNameSets = new WeakMap<
|
|
165
|
+
const themeBucketNameSets = new WeakMap<ConfigRevisionState, Set<string>>()
|
|
206
166
|
|
|
207
167
|
const getThemeBucketNames = (conf: TamaguiInternalConfig): Set<string> => {
|
|
208
|
-
|
|
168
|
+
const generation = getConfigRevisionState(conf)
|
|
169
|
+
let set = themeBucketNameSets.get(generation)
|
|
209
170
|
if (!set) {
|
|
210
171
|
set = new Set()
|
|
211
172
|
for (const themeName in conf.themes) {
|
|
@@ -214,7 +175,7 @@ const getThemeBucketNames = (conf: TamaguiInternalConfig): Set<string> => {
|
|
|
214
175
|
set.add(parts.slice(0, i).join('_'))
|
|
215
176
|
}
|
|
216
177
|
}
|
|
217
|
-
themeBucketNameSets.set(
|
|
178
|
+
themeBucketNameSets.set(generation, set)
|
|
218
179
|
}
|
|
219
180
|
return set
|
|
220
181
|
}
|
|
@@ -304,7 +265,7 @@ const getCycleDroppedKeys = (props: InlineValues): Set<string> | null => {
|
|
|
304
265
|
const rulesCache = new Map<string, VariablesCSS>()
|
|
305
266
|
|
|
306
267
|
/**
|
|
307
|
-
* Builds the deterministic identifier and CSS rules for
|
|
268
|
+
* Builds the deterministic identifier and CSS rules for `<ThemeUpdate>` values.
|
|
308
269
|
* Identifier is a pure function of the resolved declarations so SSR and
|
|
309
270
|
* client agree, and a build-time extractor can precompute it.
|
|
310
271
|
*
|
|
@@ -419,14 +380,6 @@ export function getVariablesCSSRules(
|
|
|
419
380
|
|
|
420
381
|
// non-enumerable marker on merged theme objects: cache key for idempotency,
|
|
421
382
|
// overridden key set, and literal light/dark pairs for the iOS fast-scheme path
|
|
422
|
-
export const inlineLayerKey = '_tmgInlineLayer'
|
|
423
|
-
|
|
424
|
-
export type InlineLayerInfo = {
|
|
425
|
-
key: string
|
|
426
|
-
overridden: Set<string>
|
|
427
|
-
pairs: Record<string, { light: string | number; dark: string | number }>
|
|
428
|
-
}
|
|
429
|
-
|
|
430
383
|
const serializeInlineValue = (value: VariableValIn): string =>
|
|
431
384
|
value && typeof value === 'object'
|
|
432
385
|
? `object:px${value.val}`
|
|
@@ -446,7 +399,7 @@ const serializeBucket = (bucket: InlineValues['values']): string => {
|
|
|
446
399
|
|
|
447
400
|
// memoized per layer object: the flat-props path hands back identity-stable
|
|
448
401
|
// layers, so this is one serialization per distinct value set instead of one
|
|
449
|
-
// per render (getPropsKey calls it on every render of every <
|
|
402
|
+
// per render (getPropsKey calls it on every render of every <ThemeUpdate>)
|
|
450
403
|
const inlineKeys = new WeakMap<InlineValues, string>()
|
|
451
404
|
|
|
452
405
|
export const getInlineValuesKey = (inline: InlineValues): string => {
|
|
@@ -463,29 +416,7 @@ export const getInlineValuesKey = (inline: InlineValues): string => {
|
|
|
463
416
|
return key
|
|
464
417
|
}
|
|
465
418
|
|
|
466
|
-
// ---- flat theme-value props: <
|
|
467
|
-
|
|
468
|
-
const registryViews = new WeakMap<object, ModifierRegistryView>()
|
|
469
|
-
|
|
470
|
-
/**
|
|
471
|
-
* Theme and platform are the only modifiers a subtree-wide value can honor.
|
|
472
|
-
* Everything else still parses as a modifier so it can be rejected by name
|
|
473
|
-
* below, rather than coming back as a generic "unregistered modifier".
|
|
474
|
-
*/
|
|
475
|
-
const getModifierRegistry = (conf: TamaguiInternalConfig): ModifierRegistryView => {
|
|
476
|
-
let view = registryViews.get(conf.themes)
|
|
477
|
-
if (!view) {
|
|
478
|
-
view = {
|
|
479
|
-
get(name: string) {
|
|
480
|
-
if (grammarPlatformNames.has(name)) return 'platform'
|
|
481
|
-
if (isRootThemeName(name) && getThemeBucketNames(conf).has(name)) return 'theme'
|
|
482
|
-
return 'state'
|
|
483
|
-
},
|
|
484
|
-
}
|
|
485
|
-
registryViews.set(conf.themes, view)
|
|
486
|
-
}
|
|
487
|
-
return view
|
|
488
|
-
}
|
|
419
|
+
// ---- flat theme-value props: <ThemeUpdate background-hover="blue4 dark:blue2"> ----
|
|
489
420
|
|
|
490
421
|
/**
|
|
491
422
|
* One authored theme-value clause the parser could not use. The runtime warns
|
|
@@ -499,10 +430,78 @@ type FlatBuckets = {
|
|
|
499
430
|
themes: Record<string, Record<string, VariableValIn>> | null
|
|
500
431
|
}
|
|
501
432
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
433
|
+
type FlatThemeModifier = [
|
|
434
|
+
name: string,
|
|
435
|
+
kind: 0 | typeof modifierKindPlatform | typeof modifierKindTheme,
|
|
436
|
+
]
|
|
437
|
+
type FlatThemeClause = [payload: string, modifiers: FlatThemeModifier[]]
|
|
438
|
+
type FlatThemeValue = {
|
|
439
|
+
base: string | null
|
|
440
|
+
clauses: FlatThemeClause[] | null
|
|
441
|
+
error: string | null
|
|
442
|
+
}
|
|
443
|
+
type FlatThemeScanContext = {
|
|
444
|
+
source: string
|
|
445
|
+
themeBuckets: Set<string>
|
|
446
|
+
out: FlatThemeValue
|
|
447
|
+
pending: FlatThemeModifier[] | null
|
|
448
|
+
chainStart: number
|
|
449
|
+
chainEnd: number
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
const themeUpdateFlatHandler: ClauseIdentityHandler<FlatThemeScanContext> = {
|
|
453
|
+
segment(ctx, start, end, isBase) {
|
|
454
|
+
if (isBase) {
|
|
455
|
+
ctx.out.base = start < end ? ctx.source.slice(start, end) : null
|
|
456
|
+
}
|
|
457
|
+
},
|
|
458
|
+
|
|
459
|
+
chain(ctx, start, end) {
|
|
460
|
+
ctx.pending = []
|
|
461
|
+
ctx.chainStart = start
|
|
462
|
+
ctx.chainEnd = end
|
|
463
|
+
},
|
|
464
|
+
|
|
465
|
+
modifier(ctx, start, end) {
|
|
466
|
+
const name = ctx.source.slice(start, end)
|
|
467
|
+
const kind =
|
|
468
|
+
// theme updates intentionally keep their subtree-specific collision order:
|
|
469
|
+
// platform, then theme, then every unsupported kind. direct styles use
|
|
470
|
+
// the shared vocabulary's state/media/platform/theme order instead.
|
|
471
|
+
grammarPlatformNames.has(name)
|
|
472
|
+
? modifierKindPlatform
|
|
473
|
+
: isRootThemeName(name) && ctx.themeBuckets.has(name)
|
|
474
|
+
? modifierKindTheme
|
|
475
|
+
: 0
|
|
476
|
+
ctx.pending!.push([name, kind])
|
|
477
|
+
},
|
|
478
|
+
|
|
479
|
+
clause(ctx, _start, _chainEnd, start, end) {
|
|
480
|
+
;(ctx.out.clauses ||= []).push([ctx.source.slice(start, end), ctx.pending!])
|
|
481
|
+
},
|
|
482
|
+
|
|
483
|
+
error(ctx, code: ClauseIdentityErrorCode, index) {
|
|
484
|
+
if (ctx.out.error !== null) return
|
|
485
|
+
if (code === 'empty-modifier') {
|
|
486
|
+
ctx.out.error = 'a modifier chain has an empty segment'
|
|
487
|
+
} else if (code === 'empty-payload') {
|
|
488
|
+
ctx.out.error = `the "${ctx.source.slice(ctx.chainStart, ctx.chainEnd)}:" clause has no value`
|
|
489
|
+
} else if (code === 'invalid-character') {
|
|
490
|
+
ctx.out.error = `"${ctx.source[index]}" cannot appear in a value: it would end the declaration or rule`
|
|
491
|
+
} else if (code === 'unterminated-string') {
|
|
492
|
+
ctx.out.error = `unterminated ${ctx.source[index]} string`
|
|
493
|
+
} else if (code === 'unterminated-comment') {
|
|
494
|
+
ctx.out.error =
|
|
495
|
+
'unterminated "/*" comment: it would swallow the rules after this one'
|
|
496
|
+
} else if (code === 'stray-comment-close') {
|
|
497
|
+
ctx.out.error = 'stray "*/": it would close a comment opened somewhere else'
|
|
498
|
+
} else {
|
|
499
|
+
ctx.out.error = 'unterminated "(" in value'
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
const parsedInlineValues = new WeakMap<ConfigRevisionState, Map<string, FlatThemeValue>>()
|
|
506
505
|
|
|
507
506
|
const addFlatValue = (
|
|
508
507
|
out: FlatBuckets,
|
|
@@ -526,50 +525,60 @@ const addFlatValue = (
|
|
|
526
525
|
return
|
|
527
526
|
}
|
|
528
527
|
|
|
529
|
-
|
|
528
|
+
const generation = getConfigRevisionState(conf)
|
|
529
|
+
let configValues = parsedInlineValues.get(generation)
|
|
530
530
|
if (!configValues) {
|
|
531
531
|
configValues = new Map()
|
|
532
|
-
parsedInlineValues.set(
|
|
532
|
+
parsedInlineValues.set(generation, configValues)
|
|
533
533
|
}
|
|
534
534
|
|
|
535
535
|
let parsed = configValues.get(raw)
|
|
536
536
|
if (!parsed) {
|
|
537
|
-
parsed =
|
|
537
|
+
parsed = { base: null, clauses: null, error: null }
|
|
538
|
+
reduceFlatValueIdentity(raw, themeUpdateFlatHandler, {
|
|
539
|
+
source: raw,
|
|
540
|
+
themeBuckets: getThemeBucketNames(conf),
|
|
541
|
+
out: parsed,
|
|
542
|
+
pending: null,
|
|
543
|
+
chainStart: 0,
|
|
544
|
+
chainEnd: 0,
|
|
545
|
+
})
|
|
538
546
|
if (configValues.size >= 10_000) {
|
|
539
547
|
configValues.clear()
|
|
540
548
|
}
|
|
541
549
|
configValues.set(raw, parsed)
|
|
542
550
|
}
|
|
543
551
|
|
|
544
|
-
if (
|
|
552
|
+
if (parsed.error !== null) {
|
|
545
553
|
report(
|
|
546
554
|
`parse:${key}:${raw}`,
|
|
547
|
-
`<
|
|
555
|
+
`<ThemeUpdate ${key}="${raw}">: ${parsed.error}`,
|
|
548
556
|
'Dropping.'
|
|
549
557
|
)
|
|
550
558
|
return
|
|
551
559
|
}
|
|
552
560
|
|
|
553
|
-
const { base, clauses } = parsed
|
|
561
|
+
const { base, clauses } = parsed
|
|
554
562
|
if (base !== null) {
|
|
555
563
|
out.values[key] = base
|
|
556
564
|
}
|
|
557
565
|
|
|
558
|
-
|
|
566
|
+
if (!clauses) return
|
|
567
|
+
for (const [payload, modifiers] of clauses) {
|
|
559
568
|
let themeName: string | undefined
|
|
560
569
|
let applies = true
|
|
561
570
|
|
|
562
|
-
for (const modifier of
|
|
563
|
-
if (
|
|
571
|
+
for (const [modifier, kind] of modifiers) {
|
|
572
|
+
if (kind === modifierKindPlatform) {
|
|
564
573
|
// platform is fixed for the process, so this resolves once per value
|
|
565
574
|
applies &&= platformMatches(modifier)
|
|
566
575
|
continue
|
|
567
576
|
}
|
|
568
|
-
if (
|
|
577
|
+
if (kind === modifierKindTheme) {
|
|
569
578
|
if (themeName !== undefined) {
|
|
570
579
|
report(
|
|
571
580
|
`two-themes:${key}:${raw}`,
|
|
572
|
-
`<
|
|
581
|
+
`<ThemeUpdate ${key}="${raw}">: "${themeName}:${modifier}:" targets two themes at once, which a subtree value can't express. Name the composed theme instead.`,
|
|
573
582
|
'Dropping the clause.'
|
|
574
583
|
)
|
|
575
584
|
applies = false
|
|
@@ -580,7 +589,7 @@ const addFlatValue = (
|
|
|
580
589
|
}
|
|
581
590
|
report(
|
|
582
591
|
`unsupported-modifier:${modifier}`,
|
|
583
|
-
`<
|
|
592
|
+
`<ThemeUpdate ${key}="${raw}">: "${modifier}:" isn't supported here. Theme values apply to a whole subtree, so only theme (dark:) and platform (ios:) modifiers work.`,
|
|
584
593
|
'Dropping the clause.'
|
|
585
594
|
)
|
|
586
595
|
applies = false
|
|
@@ -589,29 +598,29 @@ const addFlatValue = (
|
|
|
589
598
|
|
|
590
599
|
if (!applies) continue
|
|
591
600
|
if (themeName === undefined) {
|
|
592
|
-
out.values[key] =
|
|
601
|
+
out.values[key] = payload
|
|
593
602
|
} else {
|
|
594
|
-
;((out.themes ||= {})[themeName] ||= {})[key] =
|
|
603
|
+
;((out.themes ||= {})[themeName] ||= {})[key] = payload
|
|
595
604
|
}
|
|
596
605
|
}
|
|
597
606
|
}
|
|
598
607
|
|
|
599
|
-
// keyed by config and raw prop values, so repeat renders of the same <
|
|
608
|
+
// keyed by config and raw prop values, so repeat renders of the same <ThemeUpdate>
|
|
600
609
|
// reuse one layer object. downstream identity caches and snapshot bailouts key
|
|
601
610
|
// off this object. each config cache is bounded with the same clear-on-limit
|
|
602
611
|
// pattern as simpleHash's string cache.
|
|
603
|
-
const flatLayers = new WeakMap<
|
|
612
|
+
const flatLayers = new WeakMap<ConfigRevisionState, Map<string, InlineValues>>()
|
|
604
613
|
|
|
605
614
|
/**
|
|
606
|
-
* Reads theme-key props off a <
|
|
615
|
+
* Reads theme-key props off a <ThemeUpdate> into the layer shape the rest of
|
|
607
616
|
* the system already consumes. Returns null when the element carries no theme
|
|
608
617
|
* key props at all, which is one loop over its props (two entries for a plain
|
|
609
|
-
* `<
|
|
618
|
+
* `<ThemeUpdate>`) and no allocation.
|
|
610
619
|
*
|
|
611
620
|
* A key that is present but currently undefined still produces an empty
|
|
612
621
|
* layer. Presence, not value, is what makes an element a theme-updating
|
|
613
622
|
* one (the same rule `hasThemeUpdatingProps` applies to `name`), and it is
|
|
614
|
-
* what keeps `<
|
|
623
|
+
* what keeps `<ThemeUpdate background={on ? 'red' : undefined}>` rendering the same
|
|
615
624
|
* tree in both states instead of remounting its subtree when a value appears.
|
|
616
625
|
*/
|
|
617
626
|
export function getInlineValuesFromProps(
|
|
@@ -632,10 +641,11 @@ export function getInlineValuesFromProps(
|
|
|
632
641
|
|
|
633
642
|
if (!hasKey) return null
|
|
634
643
|
|
|
635
|
-
|
|
644
|
+
const generation = getConfigRevisionState(conf)
|
|
645
|
+
let configLayers = flatLayers.get(generation)
|
|
636
646
|
if (!configLayers) {
|
|
637
647
|
configLayers = new Map()
|
|
638
|
-
flatLayers.set(
|
|
648
|
+
flatLayers.set(generation, configLayers)
|
|
639
649
|
}
|
|
640
650
|
|
|
641
651
|
// a caller that asked for issues has to see them for every call, and a cache
|
|
@@ -665,10 +675,13 @@ export function getInlineValuesFromProps(
|
|
|
665
675
|
return layer
|
|
666
676
|
}
|
|
667
677
|
|
|
668
|
-
const mergedThemeCache = new WeakMap<
|
|
678
|
+
const mergedThemeCache = new WeakMap<
|
|
679
|
+
ConfigRevisionState,
|
|
680
|
+
WeakMap<object, Map<string, Record<string, Variable>>>
|
|
681
|
+
>()
|
|
669
682
|
|
|
670
683
|
/**
|
|
671
|
-
* Builds the merged theme for
|
|
684
|
+
* Builds the merged theme for a `<ThemeUpdate>` layer: parent theme spread plus
|
|
672
685
|
* overridden keys as variables, resolved per the shared contract (effective
|
|
673
686
|
* map = values + matching non-scheme theme buckets + scheme bucket,
|
|
674
687
|
* fixed-point references, cycle-involved keys dropped everywhere). Non-scheme
|
|
@@ -685,6 +698,7 @@ export function getMergedInlineTheme(
|
|
|
685
698
|
themeName: string | undefined,
|
|
686
699
|
conf: TamaguiInternalConfig
|
|
687
700
|
): Record<string, Variable> {
|
|
701
|
+
const generation = getConfigRevisionState(conf)
|
|
688
702
|
const name = themeName || 'light'
|
|
689
703
|
const activeScheme = name === 'dark' || name.startsWith('dark_') ? 'dark' : 'light'
|
|
690
704
|
|
|
@@ -706,12 +720,15 @@ export function getMergedInlineTheme(
|
|
|
706
720
|
const cacheKey = `${getInlineValuesKey(inline)}|${activeScheme}|${matched ? matched.join(',') : ''}`
|
|
707
721
|
|
|
708
722
|
// idempotency: re-applying the same layer to its own output is a no-op
|
|
709
|
-
const existingInfo = (parentTheme as any)[
|
|
710
|
-
|
|
723
|
+
const existingInfo = (parentTheme as any)[themeUpdateStateKey] as
|
|
724
|
+
| ThemeUpdateLayerInfo
|
|
725
|
+
| undefined
|
|
726
|
+
if (existingInfo?.generation === generation && existingInfo.key === cacheKey) {
|
|
711
727
|
return parentTheme
|
|
712
728
|
}
|
|
713
729
|
|
|
714
|
-
let
|
|
730
|
+
let generationCache = mergedThemeCache.get(generation)
|
|
731
|
+
let byKey = generationCache?.get(parentTheme)
|
|
715
732
|
const cached = byKey?.get(cacheKey)
|
|
716
733
|
if (cached) return cached
|
|
717
734
|
|
|
@@ -749,7 +766,7 @@ export function getMergedInlineTheme(
|
|
|
749
766
|
if (themeValue !== undefined) {
|
|
750
767
|
return isVariable(themeValue) ? themeValue.val : themeValue
|
|
751
768
|
}
|
|
752
|
-
const token =
|
|
769
|
+
const token = findVariableToken(conf.tokensParsed, name)
|
|
753
770
|
if (token) return token.val
|
|
754
771
|
return value
|
|
755
772
|
}
|
|
@@ -759,8 +776,9 @@ export function getMergedInlineTheme(
|
|
|
759
776
|
return value
|
|
760
777
|
}
|
|
761
778
|
|
|
762
|
-
const info:
|
|
779
|
+
const info: ThemeUpdateLayerInfo = {
|
|
763
780
|
key: cacheKey,
|
|
781
|
+
generation,
|
|
764
782
|
// nested layers: carry the parent layer's overrides forward (its values
|
|
765
783
|
// are plain enumerable entries after the spread, but the iOS pair info
|
|
766
784
|
// would otherwise be lost)
|
|
@@ -798,7 +816,7 @@ export function getMergedInlineTheme(
|
|
|
798
816
|
(typeof v === 'string' &&
|
|
799
817
|
!(v in effective) &&
|
|
800
818
|
!(v in parentTheme) &&
|
|
801
|
-
!
|
|
819
|
+
!findVariableToken(conf.tokensParsed, v)) ||
|
|
802
820
|
typeof v === 'number'
|
|
803
821
|
if (isLiteral(activeLiteral) && isLiteral(oppositeLiteral)) {
|
|
804
822
|
info.pairs[key] = {
|
|
@@ -818,84 +836,20 @@ export function getMergedInlineTheme(
|
|
|
818
836
|
return parentTheme
|
|
819
837
|
}
|
|
820
838
|
|
|
821
|
-
Object.defineProperty(merged,
|
|
839
|
+
Object.defineProperty(merged, themeUpdateStateKey, {
|
|
822
840
|
value: info,
|
|
823
841
|
enumerable: false,
|
|
824
842
|
})
|
|
825
843
|
|
|
826
844
|
byKey ||= new Map()
|
|
827
|
-
|
|
845
|
+
if (!generationCache) {
|
|
846
|
+
generationCache = new WeakMap()
|
|
847
|
+
mergedThemeCache.set(generation, generationCache)
|
|
848
|
+
}
|
|
849
|
+
generationCache.set(parentTheme, byKey)
|
|
828
850
|
if (byKey.size >= 10_000) {
|
|
829
851
|
byKey.clear()
|
|
830
852
|
}
|
|
831
853
|
byKey.set(cacheKey, merged)
|
|
832
854
|
return merged
|
|
833
855
|
}
|
|
834
|
-
|
|
835
|
-
/**
|
|
836
|
-
* Config-level custom variables: merged into every base theme at createTamagui
|
|
837
|
-
* time so they behave exactly like theme keys in every existing code path.
|
|
838
|
-
* References resolve per-theme at parse time; sub-themes inherit through
|
|
839
|
-
* proxyThemesToParents (native) and the cascade (web).
|
|
840
|
-
*/
|
|
841
|
-
export function mergeConfigVariablesIntoTheme(
|
|
842
|
-
theme: Record<string, Variable>,
|
|
843
|
-
themeName: string,
|
|
844
|
-
variables: GenericVariables,
|
|
845
|
-
tokensParsed: TokensParsed
|
|
846
|
-
) {
|
|
847
|
-
const scheme = themeName.startsWith('dark') ? 'dark' : 'light'
|
|
848
|
-
const resolving = new Set<string>()
|
|
849
|
-
|
|
850
|
-
const resolveRawValue = (key: string, value: unknown): unknown => {
|
|
851
|
-
if (typeof value === 'object' && value !== null) {
|
|
852
|
-
if (isVariable(value)) return value.val
|
|
853
|
-
if ('needsPx' in value) return value
|
|
854
|
-
if ('light' in value || 'dark' in value) {
|
|
855
|
-
return resolveRawValue(key, (value as any)[scheme] ?? (value as any).light)
|
|
856
|
-
}
|
|
857
|
-
return
|
|
858
|
-
}
|
|
859
|
-
if (typeof value === 'string') {
|
|
860
|
-
const name = value
|
|
861
|
-
// other config variables first (chains allowed, cycles dropped)
|
|
862
|
-
if (name in variables && !(name in theme)) {
|
|
863
|
-
if (resolving.has(name)) {
|
|
864
|
-
warnOnce(
|
|
865
|
-
`config-cycle:${name}`,
|
|
866
|
-
`createTamagui variables: reference cycle at "${name}" — dropping.`
|
|
867
|
-
)
|
|
868
|
-
return
|
|
869
|
-
}
|
|
870
|
-
resolving.add(name)
|
|
871
|
-
const res = resolveRawValue(name, variables[name])
|
|
872
|
-
resolving.delete(name)
|
|
873
|
-
return res
|
|
874
|
-
}
|
|
875
|
-
const themeValue = theme[name]
|
|
876
|
-
if (themeValue !== undefined) {
|
|
877
|
-
return isVariable(themeValue) ? themeValue.val : themeValue
|
|
878
|
-
}
|
|
879
|
-
const token = findToken(tokensParsed, name)
|
|
880
|
-
return token ? token.val : value
|
|
881
|
-
}
|
|
882
|
-
return value
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
for (const key in variables) {
|
|
886
|
-
// an explicit theme value always wins over a config variable default
|
|
887
|
-
if (key in theme) continue
|
|
888
|
-
let raw = resolveRawValue(key, variables[key])
|
|
889
|
-
if (raw === undefined) continue
|
|
890
|
-
let needsPx = typeof raw === 'number' && !isUnitlessVariableKey(key)
|
|
891
|
-
if (typeof raw === 'object' && raw !== null && 'needsPx' in raw) {
|
|
892
|
-
needsPx = true
|
|
893
|
-
raw = (raw as unknown as { val: number }).val
|
|
894
|
-
}
|
|
895
|
-
const variable = createVariable({ key, name: key, val: raw as any })
|
|
896
|
-
if (needsPx) {
|
|
897
|
-
variable.needsPx = true
|
|
898
|
-
}
|
|
899
|
-
theme[key] = variable
|
|
900
|
-
}
|
|
901
|
-
}
|
package/src/helpers/warnOnce.ts
CHANGED
|
@@ -25,7 +25,7 @@ export function warnOnce(key: string, message = key) {
|
|
|
25
25
|
/**
|
|
26
26
|
* A value the flat-value scanner refused, reported where the author can act on
|
|
27
27
|
* it. Item 5b left refusal silent, matching the clause scanner, so an author
|
|
28
|
-
* who typed a `;` got nothing back and
|
|
28
|
+
* who typed a `;` got nothing back and the bad segment simply never appeared.
|
|
29
29
|
*
|
|
30
30
|
* It warns rather than throws, and the throw it replaced is the reason to say
|
|
31
31
|
* why. A style value is an ordinary place to put a string an app did not write
|
|
@@ -42,6 +42,6 @@ export function warnOnce(key: string, message = key) {
|
|
|
42
42
|
export function warnRefusedValue(property: string, value: string, reason: string) {
|
|
43
43
|
warnOnce(
|
|
44
44
|
`refused:${property}=${value}`,
|
|
45
|
-
`${property}="${value}"
|
|
45
|
+
`${property}="${value}" had a segment dropped: ${reason}`
|
|
46
46
|
)
|
|
47
47
|
}
|
|
@@ -3,7 +3,10 @@ import type { MutableRefObject } from 'react'
|
|
|
3
3
|
import { getConfig, getSetting } from '../config'
|
|
4
4
|
import { getVariable } from '../createVariable'
|
|
5
5
|
import { getDynamicVal } from '../helpers/getDynamicVal'
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
themeUpdateStateKey,
|
|
8
|
+
type ThemeUpdateLayerInfo,
|
|
9
|
+
} from '../helpers/themeUpdateState'
|
|
7
10
|
import type {
|
|
8
11
|
ThemeParsed,
|
|
9
12
|
ThemeState,
|
|
@@ -50,7 +53,7 @@ type ThemeGettable<Val> = Val & {
|
|
|
50
53
|
|
|
51
54
|
// only proxy each theme one time, after that we know that renders are sync,
|
|
52
55
|
// so we can just change the focus of the proxied theme and it can be re-used.
|
|
53
|
-
// WeakMap so dynamically created theme objects
|
|
56
|
+
// WeakMap so dynamically created ThemeUpdate theme objects
|
|
54
57
|
// don't retain their proxies after the layer is gone
|
|
55
58
|
const trackingCache: WeakMap<ThemeParsed, ThemeProxied> = new WeakMap()
|
|
56
59
|
const untrackedCache: WeakMap<ThemeParsed, ThemeProxied> = new WeakMap()
|
|
@@ -148,13 +151,12 @@ export function getThemeProxied(
|
|
|
148
151
|
)
|
|
149
152
|
}
|
|
150
153
|
|
|
151
|
-
//
|
|
154
|
+
// a ThemeUpdate layer overrides this key: the config.themes
|
|
152
155
|
// pair below would bypass it. use the layer's literal light/dark
|
|
153
156
|
// pair when it has one, otherwise deopt to normal tracking
|
|
154
|
-
const inlineLayer =
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
: ((curState.theme as any)?.[inlineLayerKey] as InlineLayerInfo | undefined)
|
|
157
|
+
const inlineLayer = (curState.theme as any)?.[themeUpdateStateKey] as
|
|
158
|
+
| ThemeUpdateLayerInfo
|
|
159
|
+
| undefined
|
|
158
160
|
const inlineOverridden = !!inlineLayer?.overridden.has(key)
|
|
159
161
|
|
|
160
162
|
if (shouldOptimize && inlineOverridden) {
|