@tamagui/web 1.14.1 → 1.14.3
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.js +76 -1
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/addTheme.js +77 -2
- package/dist/cjs/addTheme.js.map +2 -2
- package/dist/cjs/config.js +122 -1
- package/dist/cjs/config.js.map +2 -2
- package/dist/cjs/constants/constants.js +48 -1
- package/dist/cjs/constants/constants.js.map +2 -2
- package/dist/cjs/constants/isDevTools.js +36 -1
- package/dist/cjs/constants/isDevTools.js.map +2 -2
- package/dist/cjs/contexts/AnimationDriverContext.js +29 -1
- package/dist/cjs/contexts/AnimationDriverContext.js.map +2 -2
- package/dist/cjs/contexts/ButtonNestingContext.js +29 -1
- package/dist/cjs/contexts/ButtonNestingContext.js.map +2 -2
- package/dist/cjs/contexts/FontLanguageContext.js +29 -1
- package/dist/cjs/contexts/FontLanguageContext.js.map +2 -2
- package/dist/cjs/contexts/TextAncestorContext.js +29 -1
- package/dist/cjs/contexts/TextAncestorContext.js.map +2 -2
- package/dist/cjs/createComponent.js +896 -2
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +68 -1
- package/dist/cjs/createFont.js.map +2 -2
- package/dist/cjs/createShorthands.js +30 -1
- package/dist/cjs/createShorthands.js.map +2 -2
- package/dist/cjs/createTamagui.js +202 -5
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +30 -1
- package/dist/cjs/createTheme.js.map +2 -2
- package/dist/cjs/createTokens.js +38 -1
- package/dist/cjs/createTokens.js.map +2 -2
- package/dist/cjs/createVariable.js +110 -1
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/createVariables.js +59 -1
- package/dist/cjs/createVariables.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.js +243 -1
- package/dist/cjs/helpers/ThemeManager.js.map +2 -2
- package/dist/cjs/helpers/ThemeManagerContext.js +29 -1
- package/dist/cjs/helpers/ThemeManagerContext.js.map +2 -2
- package/dist/cjs/helpers/createMediaStyle.js +66 -1
- package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
- package/dist/cjs/helpers/createPropMapper.js +431 -2
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createProxy.js +41 -2
- package/dist/cjs/helpers/createProxy.js.map +2 -2
- package/dist/cjs/helpers/defaultOffset.js +28 -1
- package/dist/cjs/helpers/defaultOffset.js.map +2 -2
- package/dist/cjs/helpers/expandStyle.js +85 -1
- package/dist/cjs/helpers/expandStyle.js.map +2 -2
- package/dist/cjs/helpers/expandStyles.js +76 -1
- package/dist/cjs/helpers/expandStyles.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +91 -1
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/getAnimationDriver.js +31 -1
- package/dist/cjs/helpers/getAnimationDriver.js.map +2 -2
- package/dist/cjs/helpers/getExpandedShorthands.js +38 -1
- package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/cjs/helpers/getFontLanguage.js +28 -1
- package/dist/cjs/helpers/getFontLanguage.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js +858 -3
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +226 -1
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +37 -1
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.js +126 -4
- package/dist/cjs/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.native.js +30 -1
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +2 -2
- package/dist/cjs/helpers/getVariantExtras.js +91 -1
- package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
- package/dist/cjs/helpers/insertStyleRule.js +222 -2
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/isObj.js +28 -1
- package/dist/cjs/helpers/isObj.js.map +2 -2
- package/dist/cjs/helpers/isTamaguiComponent.js +31 -1
- package/dist/cjs/helpers/isTamaguiComponent.js.map +2 -2
- package/dist/cjs/helpers/isTamaguiElement.js +32 -1
- package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.js +41 -1
- package/dist/cjs/helpers/matchMedia.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.native.js +47 -1
- package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
- package/dist/cjs/helpers/mergeProps.js +53 -1
- package/dist/cjs/helpers/mergeProps.js.map +2 -2
- package/dist/cjs/helpers/normalizeColor.js +66 -1
- package/dist/cjs/helpers/normalizeColor.js.map +2 -2
- package/dist/cjs/helpers/normalizeShadow.js +46 -1
- package/dist/cjs/helpers/normalizeShadow.js.map +2 -2
- package/dist/cjs/helpers/normalizeShadow.native.js +54 -1
- package/dist/cjs/helpers/normalizeShadow.native.js.map +2 -2
- package/dist/cjs/helpers/normalizeStylePropKeys.js +28 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.js.map +2 -2
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +39 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +2 -2
- package/dist/cjs/helpers/normalizeValueWithProperty.js +125 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/cjs/helpers/proxyThemeVariables.js +39 -1
- package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/cjs/helpers/pseudoDescriptors.js +52 -1
- package/dist/cjs/helpers/pseudoDescriptors.js.map +2 -2
- package/dist/cjs/helpers/registerCSSVariable.js +39 -1
- package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
- package/dist/cjs/helpers/themeable.js +61 -1
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/themes.js +75 -1
- package/dist/cjs/helpers/themes.js.map +2 -2
- package/dist/cjs/helpers/timer.js +34 -1
- package/dist/cjs/helpers/timer.js.map +2 -2
- package/dist/cjs/helpers/useShallowSetState.js +58 -1
- package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
- package/dist/cjs/helpers/warnOnce.js +37 -1
- package/dist/cjs/helpers/warnOnce.js.map +2 -2
- package/dist/cjs/helpers/withStaticProperties.js +32 -1
- package/dist/cjs/helpers/withStaticProperties.js.map +2 -2
- package/dist/cjs/hooks/getThemeUnwrapped.js +33 -1
- package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/cjs/hooks/useAnimationDriver.js +33 -1
- package/dist/cjs/hooks/useAnimationDriver.js.map +2 -2
- package/dist/cjs/hooks/useId.js +28 -1
- package/dist/cjs/hooks/useId.js.map +2 -2
- package/dist/cjs/hooks/useIsTouchDevice.js +32 -1
- package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +264 -1
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/useSafeRef.js +58 -1
- package/dist/cjs/hooks/useSafeRef.js.map +2 -2
- package/dist/cjs/hooks/useServerHooks.js +35 -1
- package/dist/cjs/hooks/useServerHooks.js.map +2 -2
- package/dist/cjs/hooks/useStyle.js +60 -1
- package/dist/cjs/hooks/useStyle.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +276 -1
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useThemeName.js +51 -1
- package/dist/cjs/hooks/useThemeName.js.map +2 -2
- package/dist/cjs/index.js +110 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/inject-styles.js +39 -1
- package/dist/cjs/inject-styles.js.map +2 -2
- package/dist/cjs/insertFont.js +92 -1
- package/dist/cjs/insertFont.js.map +2 -2
- package/dist/cjs/setupHooks.js +33 -1
- package/dist/cjs/setupHooks.js.map +2 -2
- package/dist/cjs/setupReactNative.js +50 -1
- package/dist/cjs/setupReactNative.js.map +2 -2
- package/dist/cjs/styled.js +93 -1
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types.js +16 -1
- package/dist/cjs/types.js.map +2 -2
- package/dist/cjs/updateTheme.js +46 -1
- package/dist/cjs/updateTheme.js.map +2 -2
- package/dist/cjs/views/AnimationDriverProvider.js +32 -1
- package/dist/cjs/views/AnimationDriverProvider.js.map +2 -2
- package/dist/cjs/views/FontLanguage.js +40 -1
- package/dist/cjs/views/FontLanguage.js.map +2 -2
- package/dist/cjs/views/FontLanguage.native.js +34 -1
- package/dist/cjs/views/FontLanguage.native.js.map +2 -2
- package/dist/cjs/views/FontLanguage.types.js +16 -1
- package/dist/cjs/views/FontLanguage.types.js.map +2 -2
- package/dist/cjs/views/Slot.js +91 -1
- package/dist/cjs/views/Slot.js.map +2 -2
- package/dist/cjs/views/Stack.js +37 -1
- package/dist/cjs/views/Stack.js.map +2 -2
- package/dist/cjs/views/TamaguiProvider.js +90 -1
- package/dist/cjs/views/TamaguiProvider.js.map +2 -2
- package/dist/cjs/views/Text.js +95 -1
- package/dist/cjs/views/Text.js.map +2 -2
- package/dist/cjs/views/Theme.js +99 -1
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeDebug.js +72 -1
- package/dist/cjs/views/ThemeDebug.js.map +2 -2
- package/dist/cjs/views/ThemeProvider.js +69 -1
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/esm/Tamagui.js +44 -1
- package/dist/esm/Tamagui.js.map +2 -2
- package/dist/esm/Tamagui.mjs +44 -1
- package/dist/esm/Tamagui.mjs.map +2 -2
- package/dist/esm/addTheme.js +53 -2
- package/dist/esm/addTheme.js.map +2 -2
- package/dist/esm/addTheme.mjs +53 -2
- package/dist/esm/addTheme.mjs.map +2 -2
- package/dist/esm/config.js +89 -1
- package/dist/esm/config.js.map +2 -2
- package/dist/esm/config.mjs +89 -1
- package/dist/esm/config.mjs.map +2 -2
- package/dist/esm/constants/constants.js +21 -1
- package/dist/esm/constants/constants.js.map +2 -2
- package/dist/esm/constants/constants.mjs +21 -1
- package/dist/esm/constants/constants.mjs.map +2 -2
- package/dist/esm/constants/isDevTools.js +12 -1
- package/dist/esm/constants/isDevTools.js.map +2 -2
- package/dist/esm/constants/isDevTools.mjs +12 -1
- package/dist/esm/constants/isDevTools.mjs.map +2 -2
- package/dist/esm/contexts/AnimationDriverContext.js +5 -1
- package/dist/esm/contexts/AnimationDriverContext.js.map +2 -2
- package/dist/esm/contexts/AnimationDriverContext.mjs +5 -1
- package/dist/esm/contexts/AnimationDriverContext.mjs.map +2 -2
- package/dist/esm/contexts/ButtonNestingContext.js +5 -1
- package/dist/esm/contexts/ButtonNestingContext.js.map +2 -2
- package/dist/esm/contexts/ButtonNestingContext.mjs +5 -1
- package/dist/esm/contexts/ButtonNestingContext.mjs.map +2 -2
- package/dist/esm/contexts/FontLanguageContext.js +5 -1
- package/dist/esm/contexts/FontLanguageContext.js.map +2 -2
- package/dist/esm/contexts/FontLanguageContext.mjs +5 -1
- package/dist/esm/contexts/FontLanguageContext.mjs.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.js +5 -1
- package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.mjs +5 -1
- package/dist/esm/contexts/TextAncestorContext.mjs.map +2 -2
- package/dist/esm/createComponent.js +869 -2
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createComponent.mjs +869 -2
- package/dist/esm/createComponent.mjs.map +2 -2
- package/dist/esm/createFont.js +44 -1
- package/dist/esm/createFont.js.map +2 -2
- package/dist/esm/createFont.mjs +44 -1
- package/dist/esm/createFont.mjs.map +2 -2
- package/dist/esm/createShorthands.js +6 -1
- package/dist/esm/createShorthands.js.map +2 -2
- package/dist/esm/createShorthands.mjs +6 -1
- package/dist/esm/createShorthands.mjs.map +2 -2
- package/dist/esm/createTamagui.js +186 -5
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTamagui.mjs +186 -5
- package/dist/esm/createTamagui.mjs.map +2 -2
- package/dist/esm/createTheme.js +6 -1
- package/dist/esm/createTheme.js.map +2 -2
- package/dist/esm/createTheme.mjs +6 -1
- package/dist/esm/createTheme.mjs.map +2 -2
- package/dist/esm/createTokens.js +14 -1
- package/dist/esm/createTokens.js.map +2 -2
- package/dist/esm/createTokens.mjs +14 -1
- package/dist/esm/createTokens.mjs.map +2 -2
- package/dist/esm/createVariable.js +77 -1
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/createVariable.mjs +77 -1
- package/dist/esm/createVariable.mjs.map +2 -2
- package/dist/esm/createVariables.js +34 -1
- package/dist/esm/createVariables.js.map +2 -2
- package/dist/esm/createVariables.mjs +34 -1
- package/dist/esm/createVariables.mjs.map +2 -2
- package/dist/esm/helpers/ThemeManager.js +218 -1
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/ThemeManager.mjs +218 -1
- package/dist/esm/helpers/ThemeManager.mjs.map +2 -2
- package/dist/esm/helpers/ThemeManagerContext.js +5 -1
- package/dist/esm/helpers/ThemeManagerContext.js.map +2 -2
- package/dist/esm/helpers/ThemeManagerContext.mjs +5 -1
- package/dist/esm/helpers/ThemeManagerContext.mjs.map +2 -2
- package/dist/esm/helpers/createMediaStyle.js +41 -1
- package/dist/esm/helpers/createMediaStyle.js.map +2 -2
- package/dist/esm/helpers/createMediaStyle.mjs +41 -1
- package/dist/esm/helpers/createMediaStyle.mjs.map +2 -2
- package/dist/esm/helpers/createPropMapper.js +404 -2
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createPropMapper.mjs +404 -2
- package/dist/esm/helpers/createPropMapper.mjs.map +2 -2
- package/dist/esm/helpers/createProxy.js +17 -2
- package/dist/esm/helpers/createProxy.js.map +2 -2
- package/dist/esm/helpers/createProxy.mjs +17 -2
- package/dist/esm/helpers/createProxy.mjs.map +2 -2
- package/dist/esm/helpers/defaultOffset.js +4 -1
- package/dist/esm/helpers/defaultOffset.js.map +2 -2
- package/dist/esm/helpers/defaultOffset.mjs +4 -1
- package/dist/esm/helpers/defaultOffset.mjs.map +2 -2
- package/dist/esm/helpers/expandStyle.js +61 -1
- package/dist/esm/helpers/expandStyle.js.map +2 -2
- package/dist/esm/helpers/expandStyle.mjs +61 -1
- package/dist/esm/helpers/expandStyle.mjs.map +2 -2
- package/dist/esm/helpers/expandStyles.js +51 -1
- package/dist/esm/helpers/expandStyles.js.map +2 -2
- package/dist/esm/helpers/expandStyles.mjs +51 -1
- package/dist/esm/helpers/expandStyles.mjs.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +66 -1
- package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.mjs +66 -1
- package/dist/esm/helpers/extendStaticConfig.mjs.map +2 -2
- package/dist/esm/helpers/getAnimationDriver.js +7 -1
- package/dist/esm/helpers/getAnimationDriver.js.map +2 -2
- package/dist/esm/helpers/getAnimationDriver.mjs +7 -1
- package/dist/esm/helpers/getAnimationDriver.mjs.map +2 -2
- package/dist/esm/helpers/getExpandedShorthands.js +14 -1
- package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/esm/helpers/getExpandedShorthands.mjs +14 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +2 -2
- package/dist/esm/helpers/getFontLanguage.js +4 -1
- package/dist/esm/helpers/getFontLanguage.js.map +2 -2
- package/dist/esm/helpers/getFontLanguage.mjs +4 -1
- package/dist/esm/helpers/getFontLanguage.mjs.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +859 -3
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.mjs +859 -3
- package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +200 -1
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.mjs +200 -1
- package/dist/esm/helpers/getStylesAtomic.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.js +11 -1
- package/dist/esm/helpers/getStylesAtomic.native.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.mjs +11 -1
- package/dist/esm/helpers/getStylesAtomic.native.mjs.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.js +102 -4
- package/dist/esm/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.mjs +102 -4
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.native.js +6 -1
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.native.mjs +6 -1
- package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +2 -2
- package/dist/esm/helpers/getVariantExtras.js +66 -1
- package/dist/esm/helpers/getVariantExtras.js.map +2 -2
- package/dist/esm/helpers/getVariantExtras.mjs +66 -1
- package/dist/esm/helpers/getVariantExtras.mjs.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +190 -2
- package/dist/esm/helpers/insertStyleRule.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.mjs +190 -2
- package/dist/esm/helpers/insertStyleRule.mjs.map +2 -2
- package/dist/esm/helpers/isObj.js +4 -1
- package/dist/esm/helpers/isObj.js.map +2 -2
- package/dist/esm/helpers/isObj.mjs +4 -1
- package/dist/esm/helpers/isObj.mjs.map +2 -2
- package/dist/esm/helpers/isTamaguiComponent.js +7 -1
- package/dist/esm/helpers/isTamaguiComponent.js.map +2 -2
- package/dist/esm/helpers/isTamaguiComponent.mjs +7 -1
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +2 -2
- package/dist/esm/helpers/isTamaguiElement.js +8 -1
- package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
- package/dist/esm/helpers/isTamaguiElement.mjs +8 -1
- package/dist/esm/helpers/isTamaguiElement.mjs.map +2 -2
- package/dist/esm/helpers/matchMedia.js +16 -1
- package/dist/esm/helpers/matchMedia.js.map +2 -2
- package/dist/esm/helpers/matchMedia.mjs +16 -1
- package/dist/esm/helpers/matchMedia.mjs.map +2 -2
- package/dist/esm/helpers/matchMedia.native.js +22 -1
- package/dist/esm/helpers/matchMedia.native.js.map +2 -2
- package/dist/esm/helpers/matchMedia.native.mjs +22 -1
- package/dist/esm/helpers/matchMedia.native.mjs.map +2 -2
- package/dist/esm/helpers/mergeProps.js +29 -1
- package/dist/esm/helpers/mergeProps.js.map +2 -2
- package/dist/esm/helpers/mergeProps.mjs +29 -1
- package/dist/esm/helpers/mergeProps.mjs.map +2 -2
- package/dist/esm/helpers/normalizeColor.js +30 -1
- package/dist/esm/helpers/normalizeColor.js.map +2 -2
- package/dist/esm/helpers/normalizeColor.mjs +30 -1
- package/dist/esm/helpers/normalizeColor.mjs.map +2 -2
- package/dist/esm/helpers/normalizeShadow.js +22 -1
- package/dist/esm/helpers/normalizeShadow.js.map +2 -2
- package/dist/esm/helpers/normalizeShadow.mjs +22 -1
- package/dist/esm/helpers/normalizeShadow.mjs.map +2 -2
- package/dist/esm/helpers/normalizeShadow.native.js +30 -1
- package/dist/esm/helpers/normalizeShadow.native.js.map +2 -2
- package/dist/esm/helpers/normalizeShadow.native.mjs +30 -1
- package/dist/esm/helpers/normalizeShadow.native.mjs.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.js +4 -1
- package/dist/esm/helpers/normalizeStylePropKeys.js.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +4 -1
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +15 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +15 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.js +100 -1
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +100 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +15 -1
- package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.mjs +15 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +2 -2
- package/dist/esm/helpers/pseudoDescriptors.js +28 -1
- package/dist/esm/helpers/pseudoDescriptors.js.map +2 -2
- package/dist/esm/helpers/pseudoDescriptors.mjs +28 -1
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +2 -2
- package/dist/esm/helpers/registerCSSVariable.js +13 -1
- package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
- package/dist/esm/helpers/registerCSSVariable.mjs +13 -1
- package/dist/esm/helpers/registerCSSVariable.mjs.map +2 -2
- package/dist/esm/helpers/themeable.js +27 -1
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/themeable.mjs +27 -1
- package/dist/esm/helpers/themeable.mjs.map +2 -2
- package/dist/esm/helpers/themes.js +50 -1
- package/dist/esm/helpers/themes.js.map +2 -2
- package/dist/esm/helpers/themes.mjs +50 -1
- package/dist/esm/helpers/themes.mjs.map +2 -2
- package/dist/esm/helpers/timer.js +10 -1
- package/dist/esm/helpers/timer.js.map +2 -2
- package/dist/esm/helpers/timer.mjs +10 -1
- package/dist/esm/helpers/timer.mjs.map +2 -2
- package/dist/esm/helpers/useShallowSetState.js +34 -1
- package/dist/esm/helpers/useShallowSetState.js.map +2 -2
- package/dist/esm/helpers/useShallowSetState.mjs +34 -1
- package/dist/esm/helpers/useShallowSetState.mjs.map +2 -2
- package/dist/esm/helpers/warnOnce.js +13 -1
- package/dist/esm/helpers/warnOnce.js.map +2 -2
- package/dist/esm/helpers/warnOnce.mjs +13 -1
- package/dist/esm/helpers/warnOnce.mjs.map +2 -2
- package/dist/esm/helpers/withStaticProperties.js +8 -1
- package/dist/esm/helpers/withStaticProperties.js.map +2 -2
- package/dist/esm/helpers/withStaticProperties.mjs +8 -1
- package/dist/esm/helpers/withStaticProperties.mjs.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.js +8 -1
- package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.mjs +8 -1
- package/dist/esm/hooks/getThemeUnwrapped.mjs.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.js +9 -1
- package/dist/esm/hooks/useAnimationDriver.js.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.mjs +9 -1
- package/dist/esm/hooks/useAnimationDriver.mjs.map +2 -2
- package/dist/esm/hooks/useId.js +4 -1
- package/dist/esm/hooks/useId.js.map +2 -2
- package/dist/esm/hooks/useId.mjs +4 -1
- package/dist/esm/hooks/useId.mjs.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.js +8 -1
- package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.mjs +8 -1
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +2 -2
- package/dist/esm/hooks/useMedia.js +225 -1
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useMedia.mjs +225 -1
- package/dist/esm/hooks/useMedia.mjs.map +2 -2
- package/dist/esm/hooks/useSafeRef.js +34 -1
- package/dist/esm/hooks/useSafeRef.js.map +2 -2
- package/dist/esm/hooks/useSafeRef.mjs +34 -1
- package/dist/esm/hooks/useSafeRef.mjs.map +2 -2
- package/dist/esm/hooks/useServerHooks.js +10 -1
- package/dist/esm/hooks/useServerHooks.js.map +2 -2
- package/dist/esm/hooks/useServerHooks.mjs +10 -1
- package/dist/esm/hooks/useServerHooks.mjs.map +2 -2
- package/dist/esm/hooks/useStyle.js +36 -1
- package/dist/esm/hooks/useStyle.js.map +2 -2
- package/dist/esm/hooks/useStyle.mjs +36 -1
- package/dist/esm/hooks/useStyle.mjs.map +2 -2
- package/dist/esm/hooks/useTheme.js +250 -1
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useTheme.mjs +250 -1
- package/dist/esm/hooks/useTheme.mjs.map +2 -2
- package/dist/esm/hooks/useThemeName.js +27 -1
- package/dist/esm/hooks/useThemeName.js.map +2 -2
- package/dist/esm/hooks/useThemeName.mjs +27 -1
- package/dist/esm/hooks/useThemeName.mjs.map +2 -2
- package/dist/esm/index.js +88 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +88 -1
- package/dist/esm/index.mjs.map +2 -2
- package/dist/esm/inject-styles.js +15 -1
- package/dist/esm/inject-styles.js.map +2 -2
- package/dist/esm/inject-styles.mjs +15 -1
- package/dist/esm/inject-styles.mjs.map +2 -2
- package/dist/esm/insertFont.js +66 -1
- package/dist/esm/insertFont.js.map +2 -2
- package/dist/esm/insertFont.mjs +66 -1
- package/dist/esm/insertFont.mjs.map +2 -2
- package/dist/esm/setupHooks.js +8 -1
- package/dist/esm/setupHooks.js.map +2 -2
- package/dist/esm/setupHooks.mjs +8 -1
- package/dist/esm/setupHooks.mjs.map +2 -2
- package/dist/esm/setupReactNative.js +24 -1
- package/dist/esm/setupReactNative.js.map +2 -2
- package/dist/esm/setupReactNative.mjs +24 -1
- package/dist/esm/setupReactNative.mjs.map +2 -2
- package/dist/esm/styled.js +69 -1
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/styled.mjs +69 -1
- package/dist/esm/styled.mjs.map +2 -2
- package/dist/esm/updateTheme.js +22 -1
- package/dist/esm/updateTheme.js.map +2 -2
- package/dist/esm/updateTheme.mjs +22 -1
- package/dist/esm/updateTheme.mjs.map +2 -2
- package/dist/esm/views/AnimationDriverProvider.js +8 -1
- package/dist/esm/views/AnimationDriverProvider.js.map +2 -2
- package/dist/esm/views/AnimationDriverProvider.mjs +8 -1
- package/dist/esm/views/AnimationDriverProvider.mjs.map +2 -2
- package/dist/esm/views/FontLanguage.js +16 -1
- package/dist/esm/views/FontLanguage.js.map +2 -2
- package/dist/esm/views/FontLanguage.mjs +16 -1
- package/dist/esm/views/FontLanguage.mjs.map +2 -2
- package/dist/esm/views/FontLanguage.native.js +10 -1
- package/dist/esm/views/FontLanguage.native.js.map +2 -2
- package/dist/esm/views/FontLanguage.native.mjs +10 -1
- package/dist/esm/views/FontLanguage.native.mjs.map +2 -2
- package/dist/esm/views/Slot.js +65 -1
- package/dist/esm/views/Slot.js.map +2 -2
- package/dist/esm/views/Slot.mjs +65 -1
- package/dist/esm/views/Slot.mjs.map +2 -2
- package/dist/esm/views/Stack.js +13 -1
- package/dist/esm/views/Stack.js.map +2 -2
- package/dist/esm/views/Stack.mjs +13 -1
- package/dist/esm/views/Stack.mjs.map +2 -2
- package/dist/esm/views/TamaguiProvider.js +56 -1
- package/dist/esm/views/TamaguiProvider.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.mjs +56 -1
- package/dist/esm/views/TamaguiProvider.mjs.map +2 -2
- package/dist/esm/views/Text.js +71 -1
- package/dist/esm/views/Text.js.map +2 -2
- package/dist/esm/views/Text.mjs +71 -1
- package/dist/esm/views/Text.mjs.map +2 -2
- package/dist/esm/views/Theme.js +74 -1
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/Theme.mjs +74 -1
- package/dist/esm/views/Theme.mjs.map +2 -2
- package/dist/esm/views/ThemeDebug.js +48 -1
- package/dist/esm/views/ThemeDebug.js.map +2 -2
- package/dist/esm/views/ThemeDebug.mjs +48 -1
- package/dist/esm/views/ThemeDebug.mjs.map +2 -2
- package/dist/esm/views/ThemeProvider.js +44 -1
- package/dist/esm/views/ThemeProvider.js.map +2 -2
- package/dist/esm/views/ThemeProvider.mjs +44 -1
- package/dist/esm/views/ThemeProvider.mjs.map +2 -2
- package/package.json +9 -9
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getSplitStyles.tsx"],
|
|
4
4
|
"sourcesContent": ["import {\n isClient,\n isRSC,\n isServer,\n isWeb,\n useIsomorphicLayoutEffect,\n} from '@tamagui/constants'\nimport {\n stylePropsFont,\n stylePropsText,\n stylePropsTransform,\n validPseudoKeys,\n validStyles,\n validStylesOnBaseProps,\n} from '@tamagui/helpers'\nimport { useInsertionEffect } from 'react'\nimport type { TextStyle, ViewStyle } from 'react-native'\n\nimport { getConfig, getFont } from '../config.js'\nimport { isDevTools } from '../constants/isDevTools.js'\nimport {\n getMediaImportanceIfMoreImportant,\n mediaState as globalMediaState,\n mediaKeysWithAndWithout$,\n mediaQueryConfig,\n mergeMediaByImportance,\n} from '../hooks/useMedia.js'\nimport type {\n ClassNamesObject,\n DebugProp,\n GetStyleResult,\n MediaQueryKey,\n PseudoPropKeys,\n PseudoStyles,\n RulesToInsert,\n SpaceTokens,\n SplitStyleState,\n StaticConfigParsed,\n StyleObject,\n TamaguiInternalConfig,\n TextStyleProps,\n ThemeParsed,\n ViewStyleWithPseudos,\n} from '../types.js'\nimport type {\n FontLanguageProps,\n LanguageContextType,\n} from '../views/FontLanguage.types.js'\nimport { createMediaStyle } from './createMediaStyle.js'\nimport { getPropMappedFontFamily } from './createPropMapper.js'\nimport { fixStyles } from './expandStyles.js'\nimport { getAtomicStyle, getStylesAtomic, styleToCSS } from './getStylesAtomic'\nimport {\n insertStyleRules,\n insertedTransforms,\n scanAllSheets,\n shouldInsertStyleRules,\n updateRules,\n} from './insertStyleRule.js'\nimport {\n normalizeValueWithProperty,\n reverseMapClassNameToValue,\n} from './normalizeValueWithProperty.js'\nimport { pseudoDescriptors } from './pseudoDescriptors.js'\n\ntype GetStyleState = {\n style: TextStyleProps\n usedKeys: Record<string, number>\n classNames: ClassNamesObject\n staticConfig: StaticConfigParsed\n theme: ThemeParsed\n props: Record<string, any>\n viewProps: Record<string, any>\n state: SplitStyleState\n conf: TamaguiInternalConfig\n languageContext?: FontLanguageProps\n avoidDefaultProps?: boolean\n avoidMergeTransform?: boolean\n}\n\nexport type SplitStyles = ReturnType<typeof getSplitStyles>\n\nexport type SplitStyleResult = ReturnType<typeof getSplitStyles>\n\nconst skipProps = {\n animation: true,\n space: true,\n animateOnly: true,\n debug: true,\n componentName: true,\n tag: true,\n}\n\nif (process.env.NODE_ENV === 'test') {\n skipProps['data-test-renders'] = true\n}\n\nconst IS_STATIC = process.env.IS_STATIC === 'is_static'\n\n// native only skips\nif (process.env.TAMAGUI_TARGET === 'native') {\n Object.assign(skipProps, {\n whiteSpace: true,\n wordWrap: true,\n textOverflow: true,\n textDecorationDistance: true,\n cursor: true,\n contain: true,\n boxSizing: true,\n boxShadow: true,\n })\n}\n\n// web only maps accessibility to aria props\nconst accessibilityDirectMap: Record<string, string> = {}\nif (process.env.TAMAGUI_TARGET === 'web') {\n // bundle size shave\n const items = {\n Hidden: true,\n ActiveDescendant: true,\n Atomic: true,\n AutoComplete: true,\n Busy: true,\n Checked: true,\n ColumnCount: 'colcount',\n ColumnIndex: 'colindex',\n ColumnSpan: 'colspan',\n Current: true,\n Details: true,\n ErrorMessage: true,\n Expanded: true,\n HasPopup: true,\n Invalid: true,\n Label: true,\n Level: true,\n Modal: true,\n Multiline: true,\n MultiSelectable: true,\n Orientation: true,\n Owns: true,\n Placeholder: true,\n PosInSet: true,\n Pressed: true,\n RoleDescription: true,\n RowCount: true,\n RowIndex: true,\n RowSpan: true,\n Selected: true,\n SetSize: true,\n Sort: true,\n ValueMax: true,\n ValueMin: true,\n ValueNow: true,\n ValueText: true,\n }\n for (const key in items) {\n let val = items[key]\n if (val === true) {\n val = key.toLowerCase()\n }\n accessibilityDirectMap[`accessibility${key}`] = `aria-${val}`\n }\n}\n\ntype TransformNamespaceKey = 'transform' | PseudoPropKeys | MediaQueryKey\n\nlet conf: TamaguiInternalConfig\n\ntype StyleSplitter = (\n props: { [key: string]: any },\n staticConfig: StaticConfigParsed,\n theme: ThemeParsed,\n state: SplitStyleState,\n parentSplitStyles?: GetStyleResult | null,\n languageContext?: LanguageContextType,\n // web-only\n elementType?: string,\n debug?: DebugProp\n) => GetStyleResult\n\nexport const PROP_SPLIT = '-'\n\nconst accessibilityRoleToWebRole = {\n adjustable: 'slider',\n header: 'heading',\n image: 'img',\n link: 'link',\n none: 'presentation',\n summary: 'region',\n}\n\n// loop props backwards\n// track used keys:\n// const keys = new Set<string>()\n// keep classnames and styles separate:\n// const styles = {}\n// const classNames = {}\n\nconst isMediaKey = (key: string) =>\n Boolean(key[0] === '$' && mediaKeysWithAndWithout$.has(key))\n\nexport const getSplitStyles: StyleSplitter = (\n props,\n staticConfig,\n theme,\n state,\n parentSplitStyles,\n languageContext,\n elementType,\n debug\n) => {\n if (cache.has(props)) {\n return cache.get(props)\n }\n\n conf = conf || getConfig()\n const { shorthands } = conf\n const { variants, propMapper, isReactNative, inlineProps, inlineWhenUnflattened } =\n staticConfig\n const validStyleProps = staticConfig.isText ? stylePropsText : validStyles\n const viewProps: GetStyleResult['viewProps'] = {}\n let pseudos: PseudoStyles | null = null\n let psuedosUsed: Record<string, number> | null = null\n const mediaState = state.mediaState || globalMediaState\n const usedKeys: Record<string, number> = {}\n const propKeys = Object.keys(props)\n let space: SpaceTokens | null = props.space\n let hasMedia: boolean | string[] = false\n\n const shouldDoClasses =\n staticConfig.acceptsClassName && (isWeb || IS_STATIC) && !state.noClassNames\n\n let style: ViewStyleWithPseudos = {}\n const flatTransforms: FlatTransforms = {}\n\n const len = propKeys.length\n const rulesToInsert: RulesToInsert = []\n const classNames: ClassNamesObject = {}\n let className = '' // existing classNames\n // we need to gather these specific to each media query / pseudo\n // value is [hash, val], so [\"-jnjad-asdnjk\", \"scaleX(1) rotate(10deg)\"]\n const transforms: Record<TransformNamespaceKey, [string, string]> = {}\n // fontFamily is our special baby, ensure we grab the latest set one always\n let fontFamily: string | undefined\n\n /**\n * Not the biggest fan of creating this object but it is a nice API\n */\n const styleState: GetStyleState = {\n classNames,\n conf,\n props,\n state,\n staticConfig,\n style,\n theme,\n usedKeys,\n viewProps,\n languageContext,\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.groupCollapsed('getSplitStyles (looping backwards)')\n // prettier-ignore\n // eslint-disable-next-line no-console\n console.log({ props, staticConfig, shouldDoClasses, state, IS_STATIC, propKeys, styleState })\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n\n if (props.className) {\n for (const cn of props.className.split(' ')) {\n if (cn[0] === '_') {\n // tamagui, merge it expanded on key, eventually this will go away with better compiler\n const [shorthand, mediaOrPseudo] = cn.slice(1).split('-')\n const isMedia = mediaOrPseudo[0] === '_'\n const isPseudo = mediaOrPseudo[0] === '0'\n const isMediaOrPseudo = isMedia || isPseudo\n let fullKey = shorthands[shorthand]\n if (isMedia) {\n // is media\n let mediaShortKey = mediaOrPseudo.slice(1)\n mediaShortKey = mediaShortKey.slice(0, mediaShortKey.indexOf('_'))\n fullKey += `${PROP_SPLIT}${mediaShortKey}`\n } else if (isPseudo) {\n // is pseudo\n const pseudoShortKey = mediaOrPseudo.slice(1)\n fullKey += `${PROP_SPLIT}${pseudoShortKey}`\n }\n usedKeys[fullKey] = 1\n mergeClassName(transforms, classNames, fullKey, cn, isMediaOrPseudo)\n } else if (cn) {\n className += ` ${cn}`\n }\n }\n }\n\n /**\n * Need to process these after done with flattening the rest of the props + variants/mediam when we have the final font family.\n *\n * We use this because fonts are grouped together and cannot be processed correctly without the correct font family.\n */\n const specialProps: [string, any][] = []\n\n function processProp(\n keyInit: string,\n valInit: any,\n special = false,\n fontFamilyOverride: any = null\n ) {\n if (keyInit === 'className') return // handled above\n\n // normalize shorthands up front\n if (keyInit in shorthands) {\n keyInit = shorthands[keyInit]\n }\n\n if (process.env.TAMAGUI_TARGET === 'native') {\n // map userSelect to native prop\n if (keyInit === 'userSelect') {\n keyInit = 'selectable'\n valInit = valInit === 'none' ? false : true\n } else if (keyInit.startsWith('data-') || keyInit.startsWith('aria-')) {\n return\n }\n }\n\n if (!staticConfig.isHOC) {\n if (keyInit in skipProps) {\n return\n }\n }\n\n if (keyInit in usedKeys) {\n return\n }\n\n if (typeof valInit === 'string' && valInit[0] === '_') {\n if (keyInit in validStyleProps || keyInit.includes('-')) {\n if (shouldDoClasses) {\n classNames[keyInit] = valInit\n } else {\n style[keyInit] = reverseMapClassNameToValue(keyInit, valInit)\n }\n usedKeys[keyInit] = 1\n return\n }\n }\n\n if (keyInit === 'dataSet') {\n for (const key in valInit) {\n viewProps[`data-${hyphenate(key)}`] = valInit[key]\n }\n return\n }\n\n const isMainStyle = keyInit === 'style'\n if (isMainStyle || keyInit.startsWith('_style')) {\n if (!valInit) return\n const styles = Array.isArray(valInit) ? valInit : [valInit]\n const styleLen = styles.length\n for (let j = styleLen; j >= 0; j--) {\n const cur = styles[j]\n if (!cur) continue\n for (const key in cur) {\n if (!isMainStyle && usedKeys[key]) {\n continue\n }\n usedKeys[key] = 1\n style[key] = cur[key]\n }\n }\n return\n }\n\n if (process.env.TAMAGUI_TARGET === 'web') {\n /**\n * Copying in the accessibility/prop handling from react-native-web here\n * Keeps it in a single loop, avoids dup de-structuring to avoid bundle size\n */\n if (keyInit === 'disabled' && valInit === true) {\n usedKeys[keyInit] = 1\n viewProps['aria-disabled'] = true\n // Enhance with native semantics\n if (\n elementType === 'button' ||\n elementType === 'form' ||\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.disabled = true\n }\n if (!variants?.disabled) {\n return\n }\n }\n\n if (keyInit === 'testID') {\n usedKeys[keyInit] = 1\n viewProps[isReactNative ? 'testId' : 'data-testid'] = valInit\n return\n }\n\n if (keyInit === 'id' || keyInit === 'nativeID') {\n usedKeys[keyInit] = 1\n if (isReactNative) {\n viewProps.nativeID = valInit\n } else {\n viewProps.id = valInit\n }\n return\n }\n\n let didUseKeyInit = false\n\n if (isReactNative) {\n // pass along to react-native-web\n if (accessibilityDirectMap[keyInit] || keyInit.startsWith('accessibility')) {\n viewProps[keyInit] = valInit\n usedKeys[keyInit] = 1\n return\n }\n } else {\n didUseKeyInit = true\n\n if (accessibilityDirectMap[keyInit]) {\n viewProps[accessibilityDirectMap[keyInit]] = valInit\n } else {\n switch (keyInit) {\n case 'accessibilityRole': {\n if (valInit === 'none') {\n viewProps.role = 'presentation'\n } else {\n viewProps.role = accessibilityRoleToWebRole[valInit] || valInit\n }\n return\n }\n case 'accessibilityLabelledBy':\n case 'accessibilityFlowTo':\n case 'accessibilityControls':\n case 'accessibilityDescribedBy': {\n viewProps[`aria-${keyInit.replace('accessibility', '').toLowerCase()}`] =\n processIDRefList(valInit)\n return\n }\n case 'accessibilityKeyShortcuts': {\n if (Array.isArray(valInit)) {\n viewProps['aria-keyshortcuts'] = valInit.join(' ')\n }\n return\n }\n case 'accessibilityLiveRegion': {\n viewProps['aria-live'] = valInit === 'none' ? 'off' : valInit\n return\n }\n case 'accessibilityReadOnly': {\n viewProps['aria-readonly'] = valInit\n // Enhance with native semantics\n if (\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.readOnly = true\n }\n return\n }\n case 'accessibilityRequired': {\n viewProps['aria-required'] = valInit\n // Enhance with native semantics\n if (\n elementType === 'input' ||\n elementType === 'select' ||\n elementType === 'textarea'\n ) {\n viewProps.required = valInit\n }\n return\n }\n default: {\n didUseKeyInit = false\n }\n }\n }\n }\n\n if (didUseKeyInit) {\n usedKeys[keyInit] = 1\n return\n }\n\n if (valInit && valInit[0] === '_') {\n // if valid style key (or pseudo like color-hover):\n // this conditional and esp the pseudo check rarely runs so not a perf issue\n const isValidClassName = keyInit in validStyles\n const isMediaOrPseudo =\n !isValidClassName &&\n keyInit.includes(PROP_SPLIT) &&\n validStyles[keyInit.split(PROP_SPLIT)[0]]\n\n if (isValidClassName || isMediaOrPseudo) {\n usedKeys[keyInit] = 1\n if (process.env.NODE_ENV === 'development' && debug) {\n // eslint-disable-next-line no-console\n console.log('tamagui classname props', keyInit, valInit)\n }\n mergeClassName(transforms, classNames, keyInit, valInit, isMediaOrPseudo)\n return\n }\n }\n }\n\n /**\n * There's (some) reason to this madness: we want to allow returning media/pseudo from variants\n * Say you have a variant hoverable: { true: { hoverStyle: {} } }\n * We run propMapper first to expand variant, then we run the inner loop and look again\n * for if there's a pseudo/media returned from it.\n */\n\n let isMedia = isMediaKey(keyInit)\n let isPseudo = keyInit in validPseudoKeys\n\n const isVariant = variants && keyInit in variants\n\n const shouldPassProp = !(\n isMedia ||\n isPseudo ||\n isVariant ||\n keyInit in validStyleProps ||\n keyInit in shorthands\n )\n\n const parentHasVariant =\n staticConfig.parentStaticConfig?.variants &&\n keyInit in staticConfig.parentStaticConfig\n const isHOCShouldPassThrough = staticConfig.isHOC && (isMedia || isPseudo)\n const shouldPassThrough = shouldPassProp || isHOCShouldPassThrough || parentHasVariant\n\n if (\n process.env.NODE_ENV === 'development' &&\n debug === 'verbose' &&\n shouldPassThrough\n ) {\n // eslint-disable-next-line no-console\n console.log(` \uD83D\uDD39 pass through ${keyInit}`)\n }\n\n if (shouldPassThrough) {\n usedKeys[keyInit] = 1\n viewProps[keyInit] = valInit\n\n // if it's a variant here, we have a two layer variant...\n // aka styled(Input, { unstyled: true, variants: { unstyled: {} } })\n // which now has it's own unstyled + the child unstyled...\n // so *don't* skip applying the styles, but also pass `unstyled` to children\n if (!isVariant) {\n return\n }\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // eslint-disable-next-line no-console\n console.groupCollapsed(' \uD83D\uDD39 styles', keyInit, valInit)\n }\n\n const expanded =\n isMedia || isPseudo\n ? [[keyInit, valInit]]\n : propMapper(\n keyInit,\n valInit,\n theme,\n special ? { ...props, fontFamily: fontFamilyOverride } : props,\n state,\n languageContext,\n undefined,\n debug\n )\n\n if (!fontFamily) {\n fontFamily = getPropMappedFontFamily(expanded)\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n if (!isServer && isDevTools) {\n // eslint-disable-next-line no-console\n console.log('expanded', expanded, '\\nusedKeys', usedKeys, '\\ncurrent', {\n ...style,\n })\n }\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n if (!expanded) return\n\n for (const [key, val] of expanded) {\n if (val === undefined) continue\n if (key in stylePropsFont && !special && key !== 'fontFamily') {\n specialProps.push([key, val])\n continue\n }\n\n isMedia = isMediaKey(key)\n isPseudo = key in validPseudoKeys\n const isMediaOrPseudo = isMedia || isPseudo\n\n if (!isMediaOrPseudo && usedKeys[key]) {\n if (process.env.NODE_ENV === 'developmnet' && debug === 'verbose') {\n console.log(`Used media/pseudo ${key}`)\n }\n continue\n }\n\n if (inlineProps?.has(key) || inlineWhenUnflattened?.has(key)) {\n usedKeys[key] = 1\n viewProps[key] = props[key] ?? val\n }\n\n // pseudo\n if (isPseudo) {\n if (!val) continue\n\n // TODO can avoid processing this if !shouldDoClasses + state is off\n const pseudoStyleObject = getSubStyle(\n styleState,\n key,\n val,\n true,\n state.noClassNames\n )\n\n const descriptor = pseudoDescriptors[key as keyof typeof pseudoDescriptors]\n const isEnter = descriptor.name === 'enter'\n const isExit = descriptor.name === 'exit'\n\n // don't continue here on isEnter && !state.unmounted because we need to merge defaults\n if (!descriptor || (isExit && !state.isExiting)) {\n continue\n }\n\n if (!shouldDoClasses || IS_STATIC) {\n pseudos ||= {}\n pseudos[key] ||= {}\n Object.assign(pseudos[key], pseudoStyleObject)\n }\n\n if (shouldDoClasses && !isEnter && !isExit) {\n const pseudoStyles = getAtomicStyle(pseudoStyleObject, descriptor)\n for (const psuedoStyle of pseudoStyles) {\n const fullKey = `${psuedoStyle.property}${PROP_SPLIT}${descriptor.name}`\n if (!usedKeys[fullKey]) {\n usedKeys[fullKey] = 1\n addStyleToInsertRules(rulesToInsert, psuedoStyle)\n mergeClassName(\n transforms,\n classNames,\n fullKey,\n psuedoStyle.identifier,\n isMediaOrPseudo\n )\n }\n }\n } else {\n if (usedKeys[key]) {\n continue\n }\n\n let isDisabled = !state[descriptor.stateKey || descriptor.name]\n\n // we never animate in on server side just show the full thing\n // on client side we use CSS to hide the fully in SSR items, then\n // un-hide and replay with original animation.\n if (isWeb && !isClient && isEnter) {\n isDisabled = false\n }\n\n if (!isDisabled) {\n if (valInit === staticConfig.defaultProps[keyInit]) {\n // ignore:\n // if it's a default property given by styled(), we don't mark it as used, so\n // that props given inline can override:\n } else {\n usedKeys[key] ||= 1\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n console.log(`Setting used ${key}`)\n }\n }\n }\n\n psuedosUsed ||= {}\n\n const importance = descriptor.priority\n for (const pkey in pseudoStyleObject) {\n const val = pseudoStyleObject[pkey]\n // when disabled ensure the default value is set for future animations to align\n if (isDisabled) {\n if (!(pkey in usedKeys) && pkey in animatableDefaults) {\n const defaultVal = animatableDefaults[pkey]\n mergeStyle(styleState, flatTransforms, pkey, defaultVal, true)\n }\n continue\n }\n const curImportance = psuedosUsed[importance] || 0\n const shouldMerge = importance >= curImportance\n if (shouldMerge) {\n psuedosUsed[pkey] = importance\n pseudos ||= {}\n pseudos[key] ||= {}\n pseudos[key][pkey] = val\n mergeStyle(styleState, flatTransforms, pkey, val)\n }\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // prettier-ignore\n console.log(' merge pseudo?', keyInit, shouldMerge, { importance, curImportance, pkey, val })\n }\n }\n }\n continue\n }\n\n // media\n if (isMedia) {\n if (!val) continue\n\n hasMedia ||= true\n\n // THIS USED TO PROXY BACK TO REGULAR PROPS BUT THAT IS THE WRONG BEHAVIOR\n // we avoid passing in default props for media queries because that would confuse things like SizableText.size:\n\n const mediaStyle = getSubStyle(\n styleState,\n key,\n val,\n // TODO try true like pseudo\n false\n )\n\n const mediaKeyShort = key.slice(1)\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n // prettier-ignore\n // eslint-disable-next-line no-console\n console.log(` \uD83D\uDCFA ${key}`, { key, mediaStyle, props, shouldDoClasses })\n }\n\n if ('space' in mediaStyle) {\n if (!Array.isArray(hasMedia)) {\n hasMedia = []\n }\n hasMedia.push(mediaKeyShort)\n }\n\n if (shouldDoClasses) {\n if ('space' in mediaStyle) {\n delete mediaStyle['space']\n if (mediaState[mediaKeyShort]) {\n const val = valInit.space\n const importance = getMediaImportanceIfMoreImportant(\n mediaKeyShort,\n 'space',\n usedKeys\n )\n if (importance) {\n space = val\n usedKeys['space'] = importance\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n console.log(\n `Found more important space for current media ${mediaKeyShort}: ${val} (importance: ${importance})`\n )\n }\n }\n }\n }\n\n const mediaStyles = getStylesAtomic(mediaStyle)\n for (const style of mediaStyles) {\n const out = createMediaStyle(style, mediaKeyShort, mediaQueryConfig)\n const fullKey = `${style.property}${PROP_SPLIT}${mediaKeyShort}`\n if (!usedKeys[fullKey]) {\n usedKeys[fullKey] = 1\n addStyleToInsertRules(rulesToInsert, out as any)\n mergeClassName(transforms, classNames, fullKey, out.identifier, true)\n }\n }\n } else if (mediaState[mediaKeyShort]) {\n for (const subKey in mediaStyle) {\n const importance = getMediaImportanceIfMoreImportant(\n mediaKeyShort,\n subKey,\n usedKeys\n )\n if (importance === null) continue\n if (subKey === 'space') {\n space = valInit.space\n continue\n }\n mergeMediaByImportance(\n style,\n mediaKeyShort,\n subKey,\n mediaStyle[subKey],\n usedKeys\n )\n if (key === 'fontFamily') {\n fontFamily = mediaStyle.fontFamily as string\n }\n }\n }\n continue\n }\n\n if (process.env.TAMAGUI_TARGET === 'native') {\n if (key === 'pointerEvents') {\n usedKeys[key] = 1\n viewProps[key] = val\n continue\n }\n }\n\n if (key === 'fontFamily' && !fontFamily && valInit && val) {\n fontFamily = valInit[0] === '$' ? valInit : val\n }\n\n if (key in validStyleProps) {\n mergeStyle(styleState, flatTransforms, key, val)\n continue\n }\n\n // pass to view props\n if (!variants || !(key in variants)) {\n if (!(key in skipProps)) {\n viewProps[key] = val\n usedKeys[key] = 1\n }\n }\n }\n }\n\n // loop backwards so we can skip already-used props\n for (let i = len - 1; i >= 0; i--) {\n const keyInit = propKeys[i]\n const valInit = props[keyInit]\n processProp(keyInit, valInit)\n }\n // loop the special props once again\n // this one doesn't need to be backwards since it was pushed in the backwards loop (is already reversed)\n for (let i = 0; i < specialProps.length; i++) {\n const [key, value] = specialProps[i]\n processProp(key, value, true, fontFamily)\n }\n\n fixStyles(style)\n if (isWeb) {\n styleToCSS(style)\n }\n\n // native: swap out the right family based on weight/style\n if (process.env.TAMAGUI_TARGET === 'native') {\n if ('fontFamily' in style && style.fontFamily) {\n const faceInfo = getFont(style.fontFamily as string)?.face\n if (faceInfo) {\n const overrideFace =\n faceInfo[style.fontWeight as string]?.[style.fontStyle || 'normal']?.val\n if (overrideFace) {\n style.fontFamily = overrideFace\n fontFamily = overrideFace\n delete style.fontWeight\n delete style.fontStyle\n }\n }\n if (process.env.NODE_ENV === 'development') {\n if (debug) {\n console.log(`Found fontFamily native: ${style.fontFamily}`, faceInfo)\n }\n }\n }\n }\n\n // always do this at the very end to preserve the order strictly (animations, origin)\n // and allow proper merging of all pseudos before applying\n if (flatTransforms) {\n mergeTransforms(style, flatTransforms, true)\n }\n\n // add in defaults if not set:\n if (parentSplitStyles) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (shouldDoClasses) {\n for (const key in parentSplitStyles.classNames) {\n const val = parentSplitStyles.classNames[key]\n if (key in style || key in classNames) continue\n classNames[key] = val\n }\n }\n }\n if (!shouldDoClasses) {\n for (const key in parentSplitStyles.style) {\n if (key in classNames || key in style) continue\n style[key] = parentSplitStyles.style[key]\n }\n }\n }\n\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (shouldDoClasses) {\n const retainedStyles = {}\n if (style['$$css']) {\n // avoid re-processing for rnw\n } else {\n const atomic = getStylesAtomic(style)\n for (const atomicStyle of atomic) {\n const key = atomicStyle.property\n if (props.animateOnly && props.animateOnly.includes(key)) {\n retainedStyles[key] = atomicStyle.value\n } else {\n addStyleToInsertRules(rulesToInsert, atomicStyle)\n mergeClassName(transforms, classNames, key, atomicStyle.identifier)\n }\n }\n if (!IS_STATIC) {\n style = retainedStyles\n }\n }\n }\n\n if (transforms) {\n for (const namespace in transforms) {\n if (!transforms[namespace]) {\n if (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn('Error no transform', transforms, namespace)\n }\n continue\n }\n const [hash, val] = transforms[namespace]\n const identifier = `_transform${hash}`\n if (isClient && !insertedTransforms[identifier]) {\n const rule = `.${identifier} { transform: ${val}; }`\n addStyleToInsertRules(rulesToInsert, {\n identifier,\n rules: [rule],\n property: namespace,\n } as StyleObject)\n }\n classNames[namespace] = identifier\n }\n }\n }\n\n // now we need to reverse viewProps because order is important for wrapped tamagui children:\n // techcnically we could just do this when it is HOC/has parentStaticConfig I think... but safer this way\n const nextViewProps = {}\n const ks = Object.keys(viewProps)\n const l = ks.length\n for (let i = l - 1; i >= 0; i--) {\n nextViewProps[ks[i]] = viewProps[ks[i]]\n }\n\n const result = {\n space,\n hasMedia,\n fontFamily,\n viewProps: nextViewProps,\n style,\n pseudos,\n classNames,\n rulesToInsert,\n }\n\n if (className) {\n classNames.className = className\n }\n\n if (process.env.NODE_ENV === 'development' && debug === 'verbose') {\n if (isDevTools) {\n // eslint-disable-next-line no-console\n console.groupCollapsed(' \uD83D\uDD39 styles =>')\n // prettier-ignore\n const logs = { ...result, state, etc: { transforms, viewProps, rulesToInsert, parentSplitStyles, flatTransforms } }\n for (const key in logs) {\n // eslint-disable-next-line no-console\n console.log(key, logs[key])\n }\n // eslint-disable-next-line no-console\n console.groupEnd()\n }\n }\n\n cache.set(props, result)\n\n return result\n}\n\nfunction mergeClassName(\n transforms: Record<string, any[]>,\n classNames: Record<string, string>,\n key: string,\n val: string,\n isMediaOrPseudo = false\n) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n // empty classnames passed by compiler sometimes\n if (!val) return\n if (val[0] === '_' && val.startsWith('_transform-')) {\n const ns: TransformNamespaceKey = isMediaOrPseudo ? key : 'transform'\n let transform = insertedTransforms[val]\n if (isClient && !transform) {\n scanAllSheets() // HMR or loaded a new chunk\n transform = insertedTransforms[val]\n if (!transform && isWeb && val[0] !== '_') {\n transform = val // runtime insert\n }\n }\n transforms[ns] ||= ['', '']\n transforms[ns][0] += val.replace('_transform', '')\n // ssr doesn't need to do anything just make the right classname\n if (transform) {\n transforms[ns][1] += transform\n }\n } else {\n classNames[key] = val\n }\n }\n}\n\n/**\n * getSubStyle calls propMapper with props\n * those should be specific to the substyle, but fallback to the base props\n * so given props:\n *\n * { fontSize: 12, color: 'red', $sm: { color: 'blue' } }\n *\n * getSubStyle props should be a proxy that ends up like:\n *\n * { fontSize: 12, color: 'blue' }\n *\n * and to avoid re-creating it over and over, use a WeakMap\n */\nconst cache = new WeakMap()\nfunction getSubStyleProps(\n defaultProps: Object,\n baseProps: Object,\n specificProps: Object\n) {\n const key = specificProps || baseProps\n // can cache based only on specific it's always referentially consistent with base\n if (!cache.has(key)) {\n cache.set(key, {\n ...defaultProps,\n ...baseProps,\n ...specificProps,\n })\n }\n return cache.get(key)!\n}\n\nfunction mergeStyle(\n { usedKeys, classNames, viewProps, style }: GetStyleState,\n flatTransforms: FlatTransforms,\n key: string,\n val: any,\n dontSetUsed = false\n) {\n if (!dontSetUsed) {\n usedKeys[key] ||= 1\n }\n if (val && val[0] === '_') {\n classNames[key] = val\n } else if (key in stylePropsTransform) {\n flatTransforms ||= {}\n flatTransforms[key] = val\n } else {\n const out = normalizeValueWithProperty(val, key)\n if (key in validStylesOnBaseProps) {\n viewProps[key] = out\n } else {\n style[key] = out\n }\n }\n}\n\nexport const getSubStyle = (\n styleState: GetStyleState,\n subKey: string,\n styleIn: Object,\n avoidDefaultProps?: boolean,\n avoidMergeTransform?: boolean\n): TextStyleProps => {\n const { staticConfig, theme, props, state, conf, languageContext } = styleState\n const styleOut: TextStyleProps = {}\n\n for (let key in styleIn) {\n const val = styleIn[key]\n key = conf.shorthands[key] || key\n const expanded = staticConfig.propMapper(\n key,\n val,\n theme,\n getSubStyleProps(staticConfig.defaultProps, props, props[subKey]),\n state,\n languageContext,\n avoidDefaultProps\n )\n if (!expanded) continue\n for (const [skey, sval] of expanded) {\n if (!avoidMergeTransform && skey in stylePropsTransform) {\n mergeTransform(styleOut, skey, sval)\n } else {\n styleOut[skey] = normalizeValueWithProperty(sval, key)\n }\n }\n }\n\n fixStyles(styleOut)\n\n return styleOut\n}\n\n// on native no need to insert any css\nconst useInsertEffectCompat = isWeb\n ? useInsertionEffect || useIsomorphicLayoutEffect\n : () => {}\n\nexport const useSplitStyles: StyleSplitter = (...args) => {\n const res = getSplitStyles(...args)\n\n if (!isRSC) {\n useInsertEffectCompat(() => {\n insertStyleRules(res.rulesToInsert)\n }, [res.rulesToInsert])\n }\n\n return res\n}\n\nfunction addStyleToInsertRules(rulesToInsert: RulesToInsert, styleObject: StyleObject) {\n if (process.env.TAMAGUI_TARGET === 'web') {\n if (!shouldInsertStyleRules(styleObject.identifier)) {\n return\n }\n updateRules(styleObject.identifier, styleObject.rules)\n rulesToInsert.push(styleObject)\n }\n}\n\nfunction processIDRefList(idRefList: string | Array<string>): string {\n return Array.isArray(idRefList) ? idRefList.join(' ') : idRefList\n}\n\nconst animatableDefaults = {\n opacity: 1,\n scale: 1,\n rotate: '0deg',\n rotateY: '0deg',\n rotateX: '0deg',\n}\n\nconst lowercaseHyphenate = (match: string) => `-${match.toLowerCase()}`\nconst hyphenate = (str: string) => str.replace(/[A-Z]/g, lowercaseHyphenate)\n\nexport type FlatTransforms = Record<string, any>\n\nconst mergeTransform = (\n obj: TextStyleProps,\n key: string,\n val: any,\n backwards = false\n) => {\n obj.transform ||= []\n obj.transform[backwards ? 'unshift' : 'push']({\n [mapTransformKeys[key] || key]: val,\n } as any)\n}\n\nconst mergeTransforms = (\n obj: TextStyleProps,\n flatTransforms: FlatTransforms,\n backwards = false\n) => {\n Object.entries(flatTransforms).forEach(([key, val]) => {\n mergeTransform(obj, key, val, backwards)\n })\n}\n\nconst mapTransformKeys = {\n x: 'translateX',\n y: 'translateY',\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["_a", "val", "style", "conf"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,201 @@
|
|
|
1
|
-
import{simpleHash
|
|
1
|
+
import { simpleHash } from "@tamagui/helpers";
|
|
2
|
+
import { getConfig } from "../config.js";
|
|
3
|
+
import { defaultOffset } from "./defaultOffset.js";
|
|
4
|
+
import { normalizeValueWithProperty } from "./normalizeValueWithProperty.js";
|
|
5
|
+
import { pseudoDescriptors } from "./pseudoDescriptors.js";
|
|
6
|
+
const pseudosOrdered = [
|
|
7
|
+
pseudoDescriptors.hoverStyle,
|
|
8
|
+
pseudoDescriptors.pressStyle,
|
|
9
|
+
pseudoDescriptors.focusStyle
|
|
10
|
+
];
|
|
11
|
+
function getStylesAtomic(stylesIn) {
|
|
12
|
+
if (!(stylesIn.hoverStyle || stylesIn.pressStyle || stylesIn.focusStyle)) {
|
|
13
|
+
return getAtomicStyle(stylesIn);
|
|
14
|
+
}
|
|
15
|
+
const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn;
|
|
16
|
+
let res = [];
|
|
17
|
+
for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {
|
|
18
|
+
if (!style)
|
|
19
|
+
continue;
|
|
20
|
+
const pseudo = pseudosOrdered[index];
|
|
21
|
+
res = [...res, ...getAtomicStyle(style, pseudo)];
|
|
22
|
+
}
|
|
23
|
+
return res;
|
|
24
|
+
}
|
|
25
|
+
function getAtomicStyle(style, pseudo) {
|
|
26
|
+
if (!style)
|
|
27
|
+
return [];
|
|
28
|
+
if (process.env.NODE_ENV === "development") {
|
|
29
|
+
if (!style || typeof style !== "object") {
|
|
30
|
+
throw new Error(`Wrong style type: "${typeof style}": ${style}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return generateAtomicStyles(style, pseudo);
|
|
34
|
+
}
|
|
35
|
+
let conf;
|
|
36
|
+
const generateAtomicStyles = (styleIn, pseudo) => {
|
|
37
|
+
conf = conf || getConfig();
|
|
38
|
+
const style = styleIn;
|
|
39
|
+
if (style.transform && Array.isArray(style.transform)) {
|
|
40
|
+
style.transform = style.transform.map(
|
|
41
|
+
// { scale: 2 } => 'scale(2)'
|
|
42
|
+
// { translateX: 20 } => 'translateX(20px)'
|
|
43
|
+
// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'
|
|
44
|
+
(transform) => {
|
|
45
|
+
const type = Object.keys(transform)[0];
|
|
46
|
+
const value = transform[type];
|
|
47
|
+
if (type === "matrix" || type === "matrix3d") {
|
|
48
|
+
return `${type}(${value.join(",")})`;
|
|
49
|
+
}
|
|
50
|
+
return `${type}(${normalizeValueWithProperty(value, type)})`;
|
|
51
|
+
}
|
|
52
|
+
).join(" ");
|
|
53
|
+
}
|
|
54
|
+
styleToCSS(style);
|
|
55
|
+
const out = [];
|
|
56
|
+
for (const key in style) {
|
|
57
|
+
const value = normalizeValueWithProperty(style[key], key);
|
|
58
|
+
if (value == null || value == void 0)
|
|
59
|
+
continue;
|
|
60
|
+
let hash;
|
|
61
|
+
if (presetHashes[value]) {
|
|
62
|
+
hash = value;
|
|
63
|
+
} else {
|
|
64
|
+
hash = simpleHash(`${value}`);
|
|
65
|
+
}
|
|
66
|
+
const pseudoPrefix = pseudo ? `0${pseudo.name}-` : "";
|
|
67
|
+
const shortProp = conf.inverseShorthands[key] || key;
|
|
68
|
+
const identifier = `_${shortProp}-${pseudoPrefix}${hash}`;
|
|
69
|
+
const rules = createAtomicRules(identifier, key, value, pseudo);
|
|
70
|
+
const styleObject = {
|
|
71
|
+
property: key,
|
|
72
|
+
pseudo: pseudo == null ? void 0 : pseudo.name,
|
|
73
|
+
value,
|
|
74
|
+
identifier,
|
|
75
|
+
rules
|
|
76
|
+
};
|
|
77
|
+
out.push(styleObject);
|
|
78
|
+
}
|
|
79
|
+
if (process.env.NODE_ENV === "development" && process.env.TAMAGUI_DEBUG) {
|
|
80
|
+
if (out.find((x) => x.property === "transform" && x.value.includes(`[object Object]`))) {
|
|
81
|
+
debugger;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
};
|
|
86
|
+
const presetHashes = {
|
|
87
|
+
none: true
|
|
88
|
+
};
|
|
89
|
+
function styleToCSS(style) {
|
|
90
|
+
const { shadowOffset, shadowRadius, shadowColor } = style;
|
|
91
|
+
if (style.shadowRadius !== void 0) {
|
|
92
|
+
const offset = shadowOffset || defaultOffset;
|
|
93
|
+
const shadow = `${normalizeValueWithProperty(
|
|
94
|
+
offset.width
|
|
95
|
+
)} ${normalizeValueWithProperty(offset.height)} ${normalizeValueWithProperty(
|
|
96
|
+
shadowRadius
|
|
97
|
+
)} ${shadowColor}`;
|
|
98
|
+
style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow;
|
|
99
|
+
style.shadowOffset = void 0;
|
|
100
|
+
style.shadowRadius = void 0;
|
|
101
|
+
style.shadowColor = void 0;
|
|
102
|
+
}
|
|
103
|
+
const { textShadowColor, textShadowOffset, textShadowRadius } = style;
|
|
104
|
+
if (textShadowColor || textShadowOffset || textShadowRadius) {
|
|
105
|
+
const { height, width } = textShadowOffset || defaultOffset;
|
|
106
|
+
const radius = textShadowRadius || 0;
|
|
107
|
+
const color = normalizeValueWithProperty(textShadowColor, "textShadowColor");
|
|
108
|
+
if (color && (height !== 0 || width !== 0 || radius !== 0)) {
|
|
109
|
+
const blurRadius = normalizeValueWithProperty(radius);
|
|
110
|
+
const offsetX = normalizeValueWithProperty(width);
|
|
111
|
+
const offsetY = normalizeValueWithProperty(height);
|
|
112
|
+
style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`;
|
|
113
|
+
}
|
|
114
|
+
style.textShadowColor = void 0;
|
|
115
|
+
style.textShadowOffset = void 0;
|
|
116
|
+
style.textShadowRadius = void 0;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function createDeclarationBlock(style, important = false) {
|
|
120
|
+
let next = "";
|
|
121
|
+
for (const key in style) {
|
|
122
|
+
const prop = hyphenateStyleName(key);
|
|
123
|
+
const value = style[key];
|
|
124
|
+
next += `${prop}:${value}${important ? " !important" : ""};`;
|
|
125
|
+
}
|
|
126
|
+
return `{${next}}`;
|
|
127
|
+
}
|
|
128
|
+
const hcache = {};
|
|
129
|
+
const toHyphenLower = (match) => `-${match.toLowerCase()}`;
|
|
130
|
+
const hyphenateStyleName = (key) => {
|
|
131
|
+
let val = hcache[key];
|
|
132
|
+
if (val)
|
|
133
|
+
return val;
|
|
134
|
+
hcache[key] = val = key.replace(/[A-Z]/g, toHyphenLower);
|
|
135
|
+
return val;
|
|
136
|
+
};
|
|
137
|
+
const pseudoSelectorPrefixes = (() => {
|
|
138
|
+
const res = {};
|
|
139
|
+
for (const key in pseudoDescriptors) {
|
|
140
|
+
const pseudo = pseudoDescriptors[key];
|
|
141
|
+
res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => ":root").join("")} `;
|
|
142
|
+
}
|
|
143
|
+
return res;
|
|
144
|
+
})();
|
|
145
|
+
function createAtomicRules(identifier, property, value, pseudo) {
|
|
146
|
+
const selector = pseudo ? `${pseudoSelectorPrefixes[pseudo.name]} .${identifier}:${pseudo.name}` : `.${identifier}`;
|
|
147
|
+
const important = !!pseudo;
|
|
148
|
+
let rules = [];
|
|
149
|
+
switch (property) {
|
|
150
|
+
case "placeholderTextColor": {
|
|
151
|
+
const block = createDeclarationBlock({ color: value, opacity: 1 }, important);
|
|
152
|
+
rules.push(`${selector}::placeholder${block}`);
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
case "backgroundClip":
|
|
156
|
+
case "userSelect": {
|
|
157
|
+
const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`;
|
|
158
|
+
const webkitProperty = `Webkit${propertyCapitalized}`;
|
|
159
|
+
const block = createDeclarationBlock(
|
|
160
|
+
{ [property]: value, [webkitProperty]: value },
|
|
161
|
+
important
|
|
162
|
+
);
|
|
163
|
+
rules.push(`${selector}${block}`);
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
case "pointerEvents": {
|
|
167
|
+
let finalValue = value;
|
|
168
|
+
if (value === "auto" || value === "box-only") {
|
|
169
|
+
finalValue = "auto";
|
|
170
|
+
if (value === "box-only") {
|
|
171
|
+
rules.push(`${selector}>*${boxOnly}`);
|
|
172
|
+
}
|
|
173
|
+
} else if (value === "none" || value === "box-none") {
|
|
174
|
+
finalValue = "none";
|
|
175
|
+
if (value === "box-none") {
|
|
176
|
+
rules.push(`${selector}>*${boxNone}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const block = createDeclarationBlock({ pointerEvents: finalValue }, true);
|
|
180
|
+
rules.push(`${selector}${block}`);
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
default: {
|
|
184
|
+
const block = createDeclarationBlock({ [property]: value }, important);
|
|
185
|
+
rules.push(`${selector}${block}`);
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
if (pseudo && pseudo.name === "hover") {
|
|
190
|
+
rules = rules.map((r) => `@media not all and (hover: none) { ${r} }`);
|
|
191
|
+
}
|
|
192
|
+
return rules;
|
|
193
|
+
}
|
|
194
|
+
const boxNone = createDeclarationBlock({ pointerEvents: "auto" }, true);
|
|
195
|
+
const boxOnly = createDeclarationBlock({ pointerEvents: "none" }, true);
|
|
196
|
+
export {
|
|
197
|
+
getAtomicStyle,
|
|
198
|
+
getStylesAtomic,
|
|
199
|
+
styleToCSS
|
|
200
|
+
};
|
|
2
201
|
//# sourceMappingURL=getStylesAtomic.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getStylesAtomic.ts"],
|
|
4
4
|
"sourcesContent": ["/**\n * Some parts adapted from react-native-web\n * Copyright (c) Nicolas Gallagher licensed under the MIT license.\n */\n\nimport { StyleObject, simpleHash } from '@tamagui/helpers'\n\nimport { getConfig } from '../config.js'\nimport type { TamaguiInternalConfig, ViewStyleWithPseudos } from '../types.js'\nimport { defaultOffset } from './defaultOffset.js'\nimport { normalizeValueWithProperty } from './normalizeValueWithProperty.js'\nimport { PseudoDescriptor, pseudoDescriptors } from './pseudoDescriptors.js'\n\n// refactor this file away next...\n\n// matching order of the below *0\nconst pseudosOrdered = [\n pseudoDescriptors.hoverStyle,\n pseudoDescriptors.pressStyle,\n pseudoDescriptors.focusStyle,\n]\n\nexport function getStylesAtomic(stylesIn: ViewStyleWithPseudos) {\n // performance optimization\n if (!(stylesIn.hoverStyle || stylesIn.pressStyle || stylesIn.focusStyle)) {\n return getAtomicStyle(stylesIn)\n }\n\n // only for pseudos\n const { hoverStyle, pressStyle, focusStyle, ...base } = stylesIn\n let res: StyleObject[] = []\n // *1 order matched to *0\n for (const [index, style] of [hoverStyle, pressStyle, focusStyle, base].entries()) {\n if (!style) continue\n const pseudo = pseudosOrdered[index]\n res = [...res, ...getAtomicStyle(style, pseudo)]\n }\n return res\n}\n\nexport function getAtomicStyle(\n style: ViewStyleWithPseudos,\n pseudo?: PseudoDescriptor\n): StyleObject[] {\n if (!style) return []\n if (process.env.NODE_ENV === 'development') {\n if (!style || typeof style !== 'object') {\n throw new Error(`Wrong style type: \"${typeof style}\": ${style}`)\n }\n }\n return generateAtomicStyles(style, pseudo)\n}\n\nlet conf: TamaguiInternalConfig\n\nconst generateAtomicStyles = (\n styleIn: ViewStyleWithPseudos,\n pseudo?: PseudoDescriptor\n): StyleObject[] => {\n conf = conf || getConfig()\n\n // were converting to css styles\n const style = styleIn as Record<string, string | null | undefined>\n\n // transform\n if (style.transform && Array.isArray(style.transform)) {\n style.transform = style.transform\n .map(\n // { scale: 2 } => 'scale(2)'\n // { translateX: 20 } => 'translateX(20px)'\n // { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\n (transform) => {\n const type = Object.keys(transform)[0]\n const value = transform[type]\n if (type === 'matrix' || type === 'matrix3d') {\n return `${type}(${value.join(',')})`\n }\n return `${type}(${normalizeValueWithProperty(value, type)})`\n }\n )\n .join(' ')\n }\n\n styleToCSS(style)\n\n const out: StyleObject[] = []\n for (const key in style) {\n const value = normalizeValueWithProperty(style[key], key)\n if (value == null || value == undefined) continue\n\n let hash: string\n if (presetHashes[value]) {\n hash = value as string\n } else {\n hash = simpleHash(`${value}`)\n }\n\n const pseudoPrefix = pseudo ? `0${pseudo.name}-` : ''\n const shortProp = conf.inverseShorthands[key] || key\n const identifier = `_${shortProp}-${pseudoPrefix}${hash}`\n const rules = createAtomicRules(identifier, key, value, pseudo)\n const styleObject: StyleObject = {\n property: key,\n pseudo: pseudo?.name as any,\n value,\n identifier,\n rules,\n }\n out.push(styleObject)\n }\n\n if (process.env.NODE_ENV === 'development' && process.env.TAMAGUI_DEBUG) {\n // when Animated.Value gets passed into Tamagui problems are caused this helps debug\n if (\n out.find((x) => x.property === 'transform' && x.value.includes(`[object Object]`))\n ) {\n // rome-ignore lint/suspicious/noDebugger: only dev\n debugger\n }\n }\n\n return out\n}\n\nconst presetHashes = {\n none: true,\n}\n\nexport function styleToCSS(style: Record<string, any>) {\n // box-shadow\n const { shadowOffset, shadowRadius, shadowColor } = style\n if (style.shadowRadius !== undefined) {\n const offset = shadowOffset || defaultOffset\n const shadow = `${normalizeValueWithProperty(\n offset.width\n )} ${normalizeValueWithProperty(offset.height)} ${normalizeValueWithProperty(\n shadowRadius\n )} ${shadowColor}`\n style.boxShadow = style.boxShadow ? `${style.boxShadow}, ${shadow}` : shadow\n style.shadowOffset = undefined\n style.shadowRadius = undefined\n style.shadowColor = undefined\n }\n\n // text-shadow\n const { textShadowColor, textShadowOffset, textShadowRadius } = style\n if (textShadowColor || textShadowOffset || textShadowRadius) {\n const { height, width } = textShadowOffset || defaultOffset\n const radius = textShadowRadius || 0\n const color = normalizeValueWithProperty(textShadowColor, 'textShadowColor')\n if (color && (height !== 0 || width !== 0 || radius !== 0)) {\n const blurRadius = normalizeValueWithProperty(radius)\n const offsetX = normalizeValueWithProperty(width)\n const offsetY = normalizeValueWithProperty(height)\n style.textShadow = `${offsetX} ${offsetY} ${blurRadius} ${color}`\n }\n style.textShadowColor = undefined\n style.textShadowOffset = undefined\n style.textShadowRadius = undefined\n }\n}\n\nfunction createDeclarationBlock(style: Record<string, any>, important = false) {\n let next = ''\n for (const key in style) {\n const prop = hyphenateStyleName(key)\n const value = style[key]\n next += `${prop}:${value}${important ? ' !important' : ''};`\n }\n return `{${next}}`\n}\n\nconst hcache = {}\nconst toHyphenLower = (match: string) => `-${match.toLowerCase()}`\nconst hyphenateStyleName = (key: string) => {\n let val = hcache[key]\n if (val) return val\n hcache[key] = val = key.replace(/[A-Z]/g, toHyphenLower)\n return val\n}\n\nconst pseudoSelectorPrefixes = (() => {\n const res: Record<string, string> = {}\n for (const key in pseudoDescriptors) {\n const pseudo = pseudoDescriptors[key]\n res[pseudo.name] = `${[...Array(pseudo.priority)].map(() => ':root').join('')} `\n }\n return res\n})()\n\nfunction createAtomicRules(\n identifier: string,\n property: string,\n value: any,\n pseudo?: PseudoDescriptor\n): string[] {\n const selector = pseudo\n ? `${pseudoSelectorPrefixes[pseudo.name]} .${identifier}:${pseudo.name}`\n : `.${identifier}`\n const important = !!pseudo\n\n let rules: string[] = []\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor': {\n const block = createDeclarationBlock({ color: value, opacity: 1 }, important)\n rules.push(`${selector}::placeholder${block}`)\n break\n }\n\n // all webkit prefixed rules\n case 'backgroundClip':\n case 'userSelect': {\n const propertyCapitalized = `${property[0].toUpperCase()}${property.slice(1)}`\n const webkitProperty = `Webkit${propertyCapitalized}`\n const block = createDeclarationBlock(\n { [property]: value, [webkitProperty]: value },\n important\n )\n rules.push(`${selector}${block}`)\n break\n }\n\n // Polyfill for additional 'pointer-events' values\n case 'pointerEvents': {\n let finalValue = value\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto'\n if (value === 'box-only') {\n rules.push(`${selector}>*${boxOnly}`)\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none'\n if (value === 'box-none') {\n rules.push(`${selector}>*${boxNone}`)\n }\n }\n const block = createDeclarationBlock({ pointerEvents: finalValue }, true)\n rules.push(`${selector}${block}`)\n break\n }\n\n default: {\n const block = createDeclarationBlock({ [property]: value }, important)\n rules.push(`${selector}${block}`)\n break\n }\n }\n\n // hover styles need to be conditional\n // perhaps this can be generalized but for now lets just shortcut\n // and hardcode for hover styles, if we need to later we can\n // WEIRD SYNTAX, SEE:\n // https://stackoverflow.com/questions/40532204/media-query-for-devices-supporting-hover\n if (pseudo && pseudo.name === 'hover') {\n rules = rules.map((r) => `@media not all and (hover: none) { ${r} }`)\n }\n\n return rules\n}\n\nconst boxNone = createDeclarationBlock({ pointerEvents: 'auto' }, true)\nconst boxOnly = createDeclarationBlock({ pointerEvents: 'none' }, true)\n"],
|
|
5
|
-
"mappings": "AAKA,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|