@tamagui/core 1.2.18 → 1.3.0
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 +77 -0
- package/dist/cjs/Tamagui.js.map +7 -0
- package/dist/cjs/addTheme.js +78 -0
- package/dist/cjs/addTheme.js.map +7 -0
- package/dist/cjs/config.js +91 -0
- package/dist/cjs/config.js.map +7 -0
- package/dist/cjs/constants/constants.js +49 -0
- package/dist/cjs/constants/constants.js.map +7 -0
- package/dist/cjs/constants/isDevTools.js +37 -0
- package/dist/cjs/constants/isDevTools.js.map +7 -0
- package/dist/cjs/contexts/ButtonNestingContext.js +30 -0
- package/dist/cjs/contexts/ButtonNestingContext.js.map +7 -0
- package/dist/cjs/contexts/FontLanguageContext.js +30 -0
- package/dist/cjs/contexts/FontLanguageContext.js.map +7 -0
- package/dist/cjs/contexts/TextAncestorContext.js +30 -0
- package/dist/cjs/contexts/TextAncestorContext.js.map +7 -0
- package/dist/cjs/createComponent.js +991 -0
- package/dist/cjs/createComponent.js.map +7 -0
- package/dist/cjs/createFont.js +69 -0
- package/dist/cjs/createFont.js.map +7 -0
- package/dist/cjs/createShorthands.js +31 -0
- package/dist/cjs/createShorthands.js.map +7 -0
- package/dist/cjs/createTamagui.js +206 -0
- package/dist/cjs/createTamagui.js.map +7 -0
- package/dist/cjs/createTheme.js +31 -0
- package/dist/cjs/createTheme.js.map +7 -0
- package/dist/cjs/createTokens.js +39 -0
- package/dist/cjs/createTokens.js.map +7 -0
- package/dist/cjs/createVariable.js +111 -0
- package/dist/cjs/createVariable.js.map +7 -0
- package/dist/cjs/createVariables.js +60 -0
- package/dist/cjs/createVariables.js.map +7 -0
- package/dist/cjs/helpers/RNComponents.js +40 -0
- package/dist/cjs/helpers/RNComponents.js.map +7 -0
- package/dist/cjs/helpers/ThemeManager.js +234 -0
- package/dist/cjs/helpers/ThemeManager.js.map +7 -0
- package/dist/cjs/helpers/ThemeManagerContext.js +30 -0
- package/dist/cjs/helpers/ThemeManagerContext.js.map +7 -0
- package/dist/cjs/helpers/createMediaStyle.js +67 -0
- package/dist/cjs/helpers/createMediaStyle.js.map +7 -0
- package/dist/cjs/helpers/createPropMapper.js +411 -0
- package/dist/cjs/helpers/createPropMapper.js.map +7 -0
- package/dist/cjs/helpers/createProxy.js +43 -0
- package/dist/cjs/helpers/createProxy.js.map +7 -0
- package/dist/cjs/helpers/expandStyle.js +95 -0
- package/dist/cjs/helpers/expandStyle.js.map +7 -0
- package/dist/cjs/helpers/expandStyles.js +116 -0
- package/dist/cjs/helpers/expandStyles.js.map +7 -0
- package/dist/cjs/helpers/extendStaticConfig.js +91 -0
- package/dist/cjs/helpers/extendStaticConfig.js.map +7 -0
- package/dist/cjs/helpers/fixNativeShadow.js +30 -0
- package/dist/cjs/helpers/fixNativeShadow.js.map +7 -0
- package/dist/cjs/helpers/getAnimationDriver.js +32 -0
- package/dist/cjs/helpers/getAnimationDriver.js.map +7 -0
- package/dist/cjs/helpers/getExpandedShorthands.js +40 -0
- package/dist/cjs/helpers/getExpandedShorthands.js.map +7 -0
- package/dist/cjs/helpers/getFontLanguage.js +29 -0
- package/dist/cjs/helpers/getFontLanguage.js.map +7 -0
- package/dist/cjs/helpers/getSplitStyles.js +848 -0
- package/dist/cjs/helpers/getSplitStyles.js.map +7 -0
- package/dist/cjs/helpers/getStylesAtomic.js +226 -0
- package/dist/cjs/helpers/getStylesAtomic.js.map +7 -0
- package/dist/cjs/helpers/getStylesAtomic.native.js +38 -0
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +7 -0
- package/dist/cjs/helpers/getThemeCSSRules.js +110 -0
- package/dist/cjs/helpers/getThemeCSSRules.js.map +7 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js +31 -0
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +7 -0
- package/dist/cjs/helpers/getVariantExtras.js +92 -0
- package/dist/cjs/helpers/getVariantExtras.js.map +7 -0
- package/dist/cjs/helpers/insertStyleRule.js +218 -0
- package/dist/cjs/helpers/insertStyleRule.js.map +7 -0
- package/dist/cjs/helpers/isObj.js +29 -0
- package/dist/cjs/helpers/isObj.js.map +7 -0
- package/dist/cjs/helpers/isTamaguiComponent.js +32 -0
- package/dist/cjs/helpers/isTamaguiComponent.js.map +7 -0
- package/dist/cjs/helpers/isTamaguiElement.js +33 -0
- package/dist/cjs/helpers/isTamaguiElement.js.map +7 -0
- package/dist/cjs/helpers/matchMedia.js +42 -0
- package/dist/cjs/helpers/matchMedia.js.map +7 -0
- package/dist/cjs/helpers/matchMedia.native.js +48 -0
- package/dist/cjs/helpers/matchMedia.native.js.map +7 -0
- package/dist/cjs/helpers/mergeProps.js +54 -0
- package/dist/cjs/helpers/mergeProps.js.map +7 -0
- package/dist/cjs/helpers/mergeTransform.js +47 -0
- package/dist/cjs/helpers/mergeTransform.js.map +7 -0
- package/dist/cjs/helpers/normalizeColor.js +71 -0
- package/dist/cjs/helpers/normalizeColor.js.map +7 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.js +138 -0
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +7 -0
- package/dist/cjs/helpers/proxyThemeVariables.js +40 -0
- package/dist/cjs/helpers/proxyThemeVariables.js.map +7 -0
- package/dist/cjs/helpers/pseudoDescriptors.js +53 -0
- package/dist/cjs/helpers/pseudoDescriptors.js.map +7 -0
- package/dist/cjs/helpers/registerCSSVariable.js +40 -0
- package/dist/cjs/helpers/registerCSSVariable.js.map +7 -0
- package/dist/cjs/helpers/themeable.js +62 -0
- package/dist/cjs/helpers/themeable.js.map +7 -0
- package/dist/cjs/helpers/themes.js +78 -0
- package/dist/cjs/helpers/themes.js.map +7 -0
- package/dist/cjs/helpers/timer.js +35 -0
- package/dist/cjs/helpers/timer.js.map +7 -0
- package/dist/cjs/helpers/useShallowSetState.js +59 -0
- package/dist/cjs/helpers/useShallowSetState.js.map +7 -0
- package/dist/cjs/helpers/warnOnce.js +38 -0
- package/dist/cjs/helpers/warnOnce.js.map +7 -0
- package/dist/cjs/helpers/withStaticProperties.js +32 -0
- package/dist/cjs/helpers/withStaticProperties.js.map +7 -0
- package/dist/cjs/hooks/getThemeUnwrapped.js +34 -0
- package/dist/cjs/hooks/getThemeUnwrapped.js.map +7 -0
- package/dist/cjs/hooks/useId.js +29 -0
- package/dist/cjs/hooks/useId.js.map +7 -0
- package/dist/cjs/hooks/useIsTouchDevice.js +33 -0
- package/dist/cjs/hooks/useIsTouchDevice.js.map +7 -0
- package/dist/cjs/hooks/useMedia.js +263 -0
- package/dist/cjs/hooks/useMedia.js.map +7 -0
- package/dist/cjs/hooks/useSafeRef.js +59 -0
- package/dist/cjs/hooks/useSafeRef.js.map +7 -0
- package/dist/cjs/hooks/useServerHooks.js +36 -0
- package/dist/cjs/hooks/useServerHooks.js.map +7 -0
- package/dist/cjs/hooks/useStyle.js +61 -0
- package/dist/cjs/hooks/useStyle.js.map +7 -0
- package/dist/cjs/hooks/useTheme.js +230 -0
- package/dist/cjs/hooks/useTheme.js.map +7 -0
- package/dist/cjs/hooks/useThemeName.js +52 -0
- package/dist/cjs/hooks/useThemeName.js.map +7 -0
- package/dist/cjs/insertFont.js +93 -0
- package/dist/cjs/insertFont.js.map +7 -0
- package/dist/cjs/setupReactNative.js +51 -0
- package/dist/cjs/setupReactNative.js.map +7 -0
- package/dist/cjs/static.js +20 -0
- package/dist/cjs/static.js.map +7 -0
- package/dist/cjs/styled.js +95 -0
- package/dist/cjs/styled.js.map +7 -0
- package/dist/cjs/types-rnw.js +17 -0
- package/dist/cjs/types-rnw.js.map +7 -0
- package/dist/cjs/types.js +17 -0
- package/dist/cjs/types.js.map +7 -0
- package/dist/cjs/updateTheme.js +47 -0
- package/dist/cjs/updateTheme.js.map +7 -0
- package/dist/cjs/views/FontLanguage.js +41 -0
- package/dist/cjs/views/FontLanguage.js.map +7 -0
- package/dist/cjs/views/FontLanguage.native.js +35 -0
- package/dist/cjs/views/FontLanguage.native.js.map +7 -0
- package/dist/cjs/views/FontLanguage.types.js +17 -0
- package/dist/cjs/views/FontLanguage.types.js.map +7 -0
- package/dist/cjs/views/Slot.js +92 -0
- package/dist/cjs/views/Slot.js.map +7 -0
- package/dist/cjs/views/Stack.js +38 -0
- package/dist/cjs/views/Stack.js.map +7 -0
- package/dist/cjs/views/TamaguiProvider.js +90 -0
- package/dist/cjs/views/TamaguiProvider.js.map +7 -0
- package/dist/cjs/views/Text.js +94 -0
- package/dist/cjs/views/Text.js.map +7 -0
- package/dist/cjs/views/Theme.js +88 -0
- package/dist/cjs/views/Theme.js.map +7 -0
- package/dist/cjs/views/ThemeProvider.js +70 -0
- package/dist/cjs/views/ThemeProvider.js.map +7 -0
- package/dist/esm/Tamagui.js +41 -0
- package/dist/esm/Tamagui.js.map +7 -0
- package/dist/esm/Tamagui.mjs +41 -0
- package/dist/esm/Tamagui.mjs.map +7 -0
- package/dist/esm/addTheme.js +54 -0
- package/dist/esm/addTheme.js.map +7 -0
- package/dist/esm/addTheme.mjs +54 -0
- package/dist/esm/addTheme.mjs.map +7 -0
- package/dist/esm/config.js +58 -0
- package/dist/esm/config.js.map +7 -0
- package/dist/esm/config.mjs +58 -0
- package/dist/esm/config.mjs.map +7 -0
- package/dist/esm/constants/constants.js +22 -0
- package/dist/esm/constants/constants.js.map +7 -0
- package/dist/esm/constants/constants.mjs +22 -0
- package/dist/esm/constants/constants.mjs.map +7 -0
- package/dist/esm/constants/isDevTools.js +13 -0
- package/dist/esm/constants/isDevTools.js.map +7 -0
- package/dist/esm/constants/isDevTools.mjs +13 -0
- package/dist/esm/constants/isDevTools.mjs.map +7 -0
- package/dist/esm/contexts/ButtonNestingContext.js +6 -0
- package/dist/esm/contexts/ButtonNestingContext.js.map +7 -0
- package/dist/esm/contexts/ButtonNestingContext.mjs +6 -0
- package/dist/esm/contexts/ButtonNestingContext.mjs.map +7 -0
- package/dist/esm/contexts/FontLanguageContext.js +6 -0
- package/dist/esm/contexts/FontLanguageContext.js.map +7 -0
- package/dist/esm/contexts/FontLanguageContext.mjs +6 -0
- package/dist/esm/contexts/FontLanguageContext.mjs.map +7 -0
- package/dist/esm/contexts/TextAncestorContext.js +6 -0
- package/dist/esm/contexts/TextAncestorContext.js.map +7 -0
- package/dist/esm/contexts/TextAncestorContext.mjs +6 -0
- package/dist/esm/contexts/TextAncestorContext.mjs.map +7 -0
- package/dist/esm/createComponent.js +973 -0
- package/dist/esm/createComponent.js.map +7 -0
- package/dist/esm/createComponent.mjs +973 -0
- package/dist/esm/createComponent.mjs.map +7 -0
- package/dist/esm/createFont.js +45 -0
- package/dist/esm/createFont.js.map +7 -0
- package/dist/esm/createFont.mjs +45 -0
- package/dist/esm/createFont.mjs.map +7 -0
- package/dist/esm/createShorthands.js +7 -0
- package/dist/esm/createShorthands.js.map +7 -0
- package/dist/esm/createShorthands.mjs +7 -0
- package/dist/esm/createShorthands.mjs.map +7 -0
- package/dist/esm/createTamagui.js +190 -0
- package/dist/esm/createTamagui.js.map +7 -0
- package/dist/esm/createTamagui.mjs +190 -0
- package/dist/esm/createTamagui.mjs.map +7 -0
- package/dist/esm/createTheme.js +7 -0
- package/dist/esm/createTheme.js.map +7 -0
- package/dist/esm/createTheme.mjs +7 -0
- package/dist/esm/createTheme.mjs.map +7 -0
- package/dist/esm/createTokens.js +15 -0
- package/dist/esm/createTokens.js.map +7 -0
- package/dist/esm/createTokens.mjs +15 -0
- package/dist/esm/createTokens.mjs.map +7 -0
- package/dist/esm/createVariable.js +78 -0
- package/dist/esm/createVariable.js.map +7 -0
- package/dist/esm/createVariable.mjs +78 -0
- package/dist/esm/createVariable.mjs.map +7 -0
- package/dist/esm/createVariables.js +35 -0
- package/dist/esm/createVariables.js.map +7 -0
- package/dist/esm/createVariables.mjs +35 -0
- package/dist/esm/createVariables.mjs.map +7 -0
- package/dist/esm/helpers/RNComponents.js +16 -0
- package/dist/esm/helpers/RNComponents.js.map +7 -0
- package/dist/esm/helpers/RNComponents.mjs +16 -0
- package/dist/esm/helpers/RNComponents.mjs.map +7 -0
- package/dist/esm/helpers/ThemeManager.js +209 -0
- package/dist/esm/helpers/ThemeManager.js.map +7 -0
- package/dist/esm/helpers/ThemeManager.mjs +209 -0
- package/dist/esm/helpers/ThemeManager.mjs.map +7 -0
- package/dist/esm/helpers/ThemeManagerContext.js +6 -0
- package/dist/esm/helpers/ThemeManagerContext.js.map +7 -0
- package/dist/esm/helpers/ThemeManagerContext.mjs +6 -0
- package/dist/esm/helpers/ThemeManagerContext.mjs.map +7 -0
- package/dist/esm/helpers/createMediaStyle.js +42 -0
- package/dist/esm/helpers/createMediaStyle.js.map +7 -0
- package/dist/esm/helpers/createMediaStyle.mjs +42 -0
- package/dist/esm/helpers/createMediaStyle.mjs.map +7 -0
- package/dist/esm/helpers/createPropMapper.js +384 -0
- package/dist/esm/helpers/createPropMapper.js.map +7 -0
- package/dist/esm/helpers/createPropMapper.mjs +384 -0
- package/dist/esm/helpers/createPropMapper.mjs.map +7 -0
- package/dist/esm/helpers/createProxy.js +19 -0
- package/dist/esm/helpers/createProxy.js.map +7 -0
- package/dist/esm/helpers/createProxy.mjs +19 -0
- package/dist/esm/helpers/createProxy.mjs.map +7 -0
- package/dist/esm/helpers/expandStyle.js +71 -0
- package/dist/esm/helpers/expandStyle.js.map +7 -0
- package/dist/esm/helpers/expandStyle.mjs +71 -0
- package/dist/esm/helpers/expandStyle.mjs.map +7 -0
- package/dist/esm/helpers/expandStyles.js +90 -0
- package/dist/esm/helpers/expandStyles.js.map +7 -0
- package/dist/esm/helpers/expandStyles.mjs +90 -0
- package/dist/esm/helpers/expandStyles.mjs.map +7 -0
- package/dist/esm/helpers/extendStaticConfig.js +66 -0
- package/dist/esm/helpers/extendStaticConfig.js.map +7 -0
- package/dist/esm/helpers/extendStaticConfig.mjs +66 -0
- package/dist/esm/helpers/extendStaticConfig.mjs.map +7 -0
- package/dist/esm/helpers/fixNativeShadow.js +6 -0
- package/dist/esm/helpers/fixNativeShadow.js.map +7 -0
- package/dist/esm/helpers/fixNativeShadow.mjs +6 -0
- package/dist/esm/helpers/fixNativeShadow.mjs.map +7 -0
- package/dist/esm/helpers/getAnimationDriver.js +8 -0
- package/dist/esm/helpers/getAnimationDriver.js.map +7 -0
- package/dist/esm/helpers/getAnimationDriver.mjs +8 -0
- package/dist/esm/helpers/getAnimationDriver.mjs.map +7 -0
- package/dist/esm/helpers/getExpandedShorthands.js +16 -0
- package/dist/esm/helpers/getExpandedShorthands.js.map +7 -0
- package/dist/esm/helpers/getExpandedShorthands.mjs +16 -0
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +7 -0
- package/dist/esm/helpers/getFontLanguage.js +5 -0
- package/dist/esm/helpers/getFontLanguage.js.map +7 -0
- package/dist/esm/helpers/getFontLanguage.mjs +5 -0
- package/dist/esm/helpers/getFontLanguage.mjs.map +7 -0
- package/dist/esm/helpers/getSplitStyles.js +847 -0
- package/dist/esm/helpers/getSplitStyles.js.map +7 -0
- package/dist/esm/helpers/getSplitStyles.mjs +847 -0
- package/dist/esm/helpers/getSplitStyles.mjs.map +7 -0
- package/dist/esm/helpers/getStylesAtomic.js +200 -0
- package/dist/esm/helpers/getStylesAtomic.js.map +7 -0
- package/dist/esm/helpers/getStylesAtomic.mjs +200 -0
- package/dist/esm/helpers/getStylesAtomic.mjs.map +7 -0
- package/dist/esm/helpers/getStylesAtomic.native.js +12 -0
- package/dist/esm/helpers/getStylesAtomic.native.js.map +7 -0
- package/dist/esm/helpers/getStylesAtomic.native.mjs +12 -0
- package/dist/esm/helpers/getStylesAtomic.native.mjs.map +7 -0
- package/dist/esm/helpers/getThemeCSSRules.js +86 -0
- package/dist/esm/helpers/getThemeCSSRules.js.map +7 -0
- package/dist/esm/helpers/getThemeCSSRules.mjs +86 -0
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +7 -0
- package/dist/esm/helpers/getThemeCSSRules.native.js +7 -0
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +7 -0
- package/dist/esm/helpers/getThemeCSSRules.native.mjs +7 -0
- package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +7 -0
- package/dist/esm/helpers/getVariantExtras.js +67 -0
- package/dist/esm/helpers/getVariantExtras.js.map +7 -0
- package/dist/esm/helpers/getVariantExtras.mjs +67 -0
- package/dist/esm/helpers/getVariantExtras.mjs.map +7 -0
- package/dist/esm/helpers/insertStyleRule.js +186 -0
- package/dist/esm/helpers/insertStyleRule.js.map +7 -0
- package/dist/esm/helpers/insertStyleRule.mjs +186 -0
- package/dist/esm/helpers/insertStyleRule.mjs.map +7 -0
- package/dist/esm/helpers/isObj.js +5 -0
- package/dist/esm/helpers/isObj.js.map +7 -0
- package/dist/esm/helpers/isObj.mjs +5 -0
- package/dist/esm/helpers/isObj.mjs.map +7 -0
- package/dist/esm/helpers/isTamaguiComponent.js +8 -0
- package/dist/esm/helpers/isTamaguiComponent.js.map +7 -0
- package/dist/esm/helpers/isTamaguiComponent.mjs +8 -0
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +7 -0
- package/dist/esm/helpers/isTamaguiElement.js +9 -0
- package/dist/esm/helpers/isTamaguiElement.js.map +7 -0
- package/dist/esm/helpers/isTamaguiElement.mjs +9 -0
- package/dist/esm/helpers/isTamaguiElement.mjs.map +7 -0
- package/dist/esm/helpers/matchMedia.js +17 -0
- package/dist/esm/helpers/matchMedia.js.map +7 -0
- package/dist/esm/helpers/matchMedia.mjs +17 -0
- package/dist/esm/helpers/matchMedia.mjs.map +7 -0
- package/dist/esm/helpers/matchMedia.native.js +23 -0
- package/dist/esm/helpers/matchMedia.native.js.map +7 -0
- package/dist/esm/helpers/matchMedia.native.mjs +23 -0
- package/dist/esm/helpers/matchMedia.native.mjs.map +7 -0
- package/dist/esm/helpers/mergeProps.js +30 -0
- package/dist/esm/helpers/mergeProps.js.map +7 -0
- package/dist/esm/helpers/mergeProps.mjs +30 -0
- package/dist/esm/helpers/mergeProps.mjs.map +7 -0
- package/dist/esm/helpers/mergeTransform.js +21 -0
- package/dist/esm/helpers/mergeTransform.js.map +7 -0
- package/dist/esm/helpers/mergeTransform.mjs +21 -0
- package/dist/esm/helpers/mergeTransform.mjs.map +7 -0
- package/dist/esm/helpers/normalizeColor.js +36 -0
- package/dist/esm/helpers/normalizeColor.js.map +7 -0
- package/dist/esm/helpers/normalizeColor.mjs +36 -0
- package/dist/esm/helpers/normalizeColor.mjs.map +7 -0
- package/dist/esm/helpers/normalizeValueWithProperty.js +113 -0
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +7 -0
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +113 -0
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +7 -0
- package/dist/esm/helpers/proxyThemeVariables.js +16 -0
- package/dist/esm/helpers/proxyThemeVariables.js.map +7 -0
- package/dist/esm/helpers/proxyThemeVariables.mjs +16 -0
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +7 -0
- package/dist/esm/helpers/pseudoDescriptors.js +29 -0
- package/dist/esm/helpers/pseudoDescriptors.js.map +7 -0
- package/dist/esm/helpers/pseudoDescriptors.mjs +29 -0
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +7 -0
- package/dist/esm/helpers/registerCSSVariable.js +14 -0
- package/dist/esm/helpers/registerCSSVariable.js.map +7 -0
- package/dist/esm/helpers/registerCSSVariable.mjs +14 -0
- package/dist/esm/helpers/registerCSSVariable.mjs.map +7 -0
- package/dist/esm/helpers/themeable.js +28 -0
- package/dist/esm/helpers/themeable.js.map +7 -0
- package/dist/esm/helpers/themeable.mjs +28 -0
- package/dist/esm/helpers/themeable.mjs.map +7 -0
- package/dist/esm/helpers/themes.js +53 -0
- package/dist/esm/helpers/themes.js.map +7 -0
- package/dist/esm/helpers/themes.mjs +53 -0
- package/dist/esm/helpers/themes.mjs.map +7 -0
- package/dist/esm/helpers/timer.js +11 -0
- package/dist/esm/helpers/timer.js.map +7 -0
- package/dist/esm/helpers/timer.mjs +11 -0
- package/dist/esm/helpers/timer.mjs.map +7 -0
- package/dist/esm/helpers/useShallowSetState.js +35 -0
- package/dist/esm/helpers/useShallowSetState.js.map +7 -0
- package/dist/esm/helpers/useShallowSetState.mjs +35 -0
- package/dist/esm/helpers/useShallowSetState.mjs.map +7 -0
- package/dist/esm/helpers/warnOnce.js +14 -0
- package/dist/esm/helpers/warnOnce.js.map +7 -0
- package/dist/esm/helpers/warnOnce.mjs +14 -0
- package/dist/esm/helpers/warnOnce.mjs.map +7 -0
- package/dist/esm/helpers/withStaticProperties.js +8 -0
- package/dist/esm/helpers/withStaticProperties.js.map +7 -0
- package/dist/esm/helpers/withStaticProperties.mjs +8 -0
- package/dist/esm/helpers/withStaticProperties.mjs.map +7 -0
- package/dist/esm/hooks/getThemeUnwrapped.js +9 -0
- package/dist/esm/hooks/getThemeUnwrapped.js.map +7 -0
- package/dist/esm/hooks/getThemeUnwrapped.mjs +9 -0
- package/dist/esm/hooks/getThemeUnwrapped.mjs.map +7 -0
- package/dist/esm/hooks/useId.js +5 -0
- package/dist/esm/hooks/useId.js.map +7 -0
- package/dist/esm/hooks/useId.mjs +5 -0
- package/dist/esm/hooks/useId.mjs.map +7 -0
- package/dist/esm/hooks/useIsTouchDevice.js +9 -0
- package/dist/esm/hooks/useIsTouchDevice.js.map +7 -0
- package/dist/esm/hooks/useIsTouchDevice.mjs +9 -0
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +7 -0
- package/dist/esm/hooks/useMedia.js +225 -0
- package/dist/esm/hooks/useMedia.js.map +7 -0
- package/dist/esm/hooks/useMedia.mjs +225 -0
- package/dist/esm/hooks/useMedia.mjs.map +7 -0
- package/dist/esm/hooks/useSafeRef.js +35 -0
- package/dist/esm/hooks/useSafeRef.js.map +7 -0
- package/dist/esm/hooks/useSafeRef.mjs +35 -0
- package/dist/esm/hooks/useSafeRef.mjs.map +7 -0
- package/dist/esm/hooks/useServerHooks.js +11 -0
- package/dist/esm/hooks/useServerHooks.js.map +7 -0
- package/dist/esm/hooks/useServerHooks.mjs +11 -0
- package/dist/esm/hooks/useServerHooks.mjs.map +7 -0
- package/dist/esm/hooks/useStyle.js +37 -0
- package/dist/esm/hooks/useStyle.js.map +7 -0
- package/dist/esm/hooks/useStyle.mjs +37 -0
- package/dist/esm/hooks/useStyle.mjs.map +7 -0
- package/dist/esm/hooks/useTheme.js +205 -0
- package/dist/esm/hooks/useTheme.js.map +7 -0
- package/dist/esm/hooks/useTheme.mjs +205 -0
- package/dist/esm/hooks/useTheme.mjs.map +7 -0
- package/dist/esm/hooks/useThemeName.js +28 -0
- package/dist/esm/hooks/useThemeName.js.map +7 -0
- package/dist/esm/hooks/useThemeName.mjs +28 -0
- package/dist/esm/hooks/useThemeName.mjs.map +7 -0
- package/dist/esm/insertFont.js +67 -0
- package/dist/esm/insertFont.js.map +7 -0
- package/dist/esm/insertFont.mjs +67 -0
- package/dist/esm/insertFont.mjs.map +7 -0
- package/dist/esm/setupReactNative.js +25 -0
- package/dist/esm/setupReactNative.js.map +7 -0
- package/dist/esm/setupReactNative.mjs +25 -0
- package/dist/esm/setupReactNative.mjs.map +7 -0
- package/dist/esm/static.js +3 -0
- package/dist/esm/static.js.map +7 -0
- package/dist/esm/static.mjs +3 -0
- package/dist/esm/static.mjs.map +7 -0
- package/dist/esm/styled.js +71 -0
- package/dist/esm/styled.js.map +7 -0
- package/dist/esm/styled.mjs +71 -0
- package/dist/esm/styled.mjs.map +7 -0
- package/dist/esm/types-rnw.js +1 -0
- package/dist/esm/types-rnw.js.map +7 -0
- package/dist/esm/types-rnw.mjs +1 -0
- package/dist/esm/types-rnw.mjs.map +7 -0
- package/dist/esm/types.js +1 -0
- package/dist/esm/types.js.map +7 -0
- package/dist/esm/types.mjs +1 -0
- package/dist/esm/types.mjs.map +7 -0
- package/dist/esm/updateTheme.js +23 -0
- package/dist/esm/updateTheme.js.map +7 -0
- package/dist/esm/updateTheme.mjs +23 -0
- package/dist/esm/updateTheme.mjs.map +7 -0
- package/dist/esm/views/FontLanguage.js +17 -0
- package/dist/esm/views/FontLanguage.js.map +7 -0
- package/dist/esm/views/FontLanguage.mjs +17 -0
- package/dist/esm/views/FontLanguage.mjs.map +7 -0
- package/dist/esm/views/FontLanguage.native.js +11 -0
- package/dist/esm/views/FontLanguage.native.js.map +7 -0
- package/dist/esm/views/FontLanguage.native.mjs +11 -0
- package/dist/esm/views/FontLanguage.native.mjs.map +7 -0
- package/dist/esm/views/FontLanguage.types.js +1 -0
- package/dist/esm/views/FontLanguage.types.js.map +7 -0
- package/dist/esm/views/FontLanguage.types.mjs +1 -0
- package/dist/esm/views/FontLanguage.types.mjs.map +7 -0
- package/dist/esm/views/Slot.js +71 -0
- package/dist/esm/views/Slot.js.map +7 -0
- package/dist/esm/views/Slot.mjs +71 -0
- package/dist/esm/views/Slot.mjs.map +7 -0
- package/dist/esm/views/Stack.js +14 -0
- package/dist/esm/views/Stack.js.map +7 -0
- package/dist/esm/views/Stack.mjs +14 -0
- package/dist/esm/views/Stack.mjs.map +7 -0
- package/dist/esm/views/TamaguiProvider.js +56 -0
- package/dist/esm/views/TamaguiProvider.js.map +7 -0
- package/dist/esm/views/TamaguiProvider.mjs +56 -0
- package/dist/esm/views/TamaguiProvider.mjs.map +7 -0
- package/dist/esm/views/Text.js +70 -0
- package/dist/esm/views/Text.js.map +7 -0
- package/dist/esm/views/Text.mjs +70 -0
- package/dist/esm/views/Text.mjs.map +7 -0
- package/dist/esm/views/Theme.js +63 -0
- package/dist/esm/views/Theme.js.map +7 -0
- package/dist/esm/views/Theme.mjs +63 -0
- package/dist/esm/views/Theme.mjs.map +7 -0
- package/dist/esm/views/ThemeProvider.js +45 -0
- package/dist/esm/views/ThemeProvider.js.map +7 -0
- package/dist/esm/views/ThemeProvider.mjs +45 -0
- package/dist/esm/views/ThemeProvider.mjs.map +7 -0
- package/package.json +5 -5
- package/types/Tamagui.d.ts.map +1 -0
- package/types/addTheme.d.ts.map +1 -0
- package/types/config.d.ts.map +1 -0
- package/types/constants/constants.d.ts.map +1 -0
- package/types/constants/isDevTools.d.ts.map +1 -0
- package/types/contexts/ButtonNestingContext.d.ts.map +1 -0
- package/types/contexts/FontLanguageContext.d.ts.map +1 -0
- package/types/contexts/TextAncestorContext.d.ts.map +1 -0
- package/types/createComponent.d.ts.map +1 -0
- package/types/createFont.d.ts.map +1 -0
- package/types/createShorthands.d.ts.map +1 -0
- package/types/createTamagui.d.ts.map +1 -0
- package/types/createTheme.d.ts.map +1 -0
- package/types/createTokens.d.ts.map +1 -0
- package/types/createVariable.d.ts.map +1 -0
- package/types/createVariables.d.ts.map +1 -0
- package/types/helpers/RNComponents.d.ts.map +1 -0
- package/types/helpers/ThemeManager.d.ts.map +1 -0
- package/types/helpers/ThemeManagerContext.d.ts.map +1 -0
- package/types/helpers/createMediaStyle.d.ts.map +1 -0
- package/types/helpers/createPropMapper.d.ts.map +1 -0
- package/types/helpers/createProxy.d.ts.map +1 -0
- package/types/helpers/expandStyle.d.ts.map +1 -0
- package/types/helpers/expandStyles.d.ts.map +1 -0
- package/types/helpers/extendStaticConfig.d.ts.map +1 -0
- package/types/helpers/fixNativeShadow.d.ts.map +1 -0
- package/types/helpers/getAnimationDriver.d.ts.map +1 -0
- package/types/helpers/getExpandedShorthands.d.ts.map +1 -0
- package/types/helpers/getFontLanguage.d.ts.map +1 -0
- package/types/helpers/getSplitStyles.d.ts.map +1 -0
- package/types/helpers/getStylesAtomic.d.ts.map +1 -0
- package/types/helpers/getStylesAtomic.native.d.ts.map +1 -0
- package/types/helpers/getThemeCSSRules.d.ts.map +1 -0
- package/types/helpers/getThemeCSSRules.native.d.ts.map +1 -0
- package/types/helpers/getVariantExtras.d.ts.map +1 -0
- package/types/helpers/insertStyleRule.d.ts.map +1 -0
- package/types/helpers/isObj.d.ts.map +1 -0
- package/types/helpers/isTamaguiComponent.d.ts.map +1 -0
- package/types/helpers/isTamaguiElement.d.ts.map +1 -0
- package/types/helpers/matchMedia.d.ts.map +1 -0
- package/types/helpers/matchMedia.native.d.ts.map +1 -0
- package/types/helpers/mergeProps.d.ts.map +1 -0
- package/types/helpers/mergeTransform.d.ts.map +1 -0
- package/types/helpers/normalizeColor.d.ts.map +1 -0
- package/types/helpers/normalizeValueWithProperty.d.ts.map +1 -0
- package/types/helpers/proxyThemeVariables.d.ts.map +1 -0
- package/types/helpers/pseudoDescriptors.d.ts.map +1 -0
- package/types/helpers/registerCSSVariable.d.ts.map +1 -0
- package/types/helpers/themeable.d.ts.map +1 -0
- package/types/helpers/themes.d.ts.map +1 -0
- package/types/helpers/timer.d.ts.map +1 -0
- package/types/helpers/useShallowSetState.d.ts.map +1 -0
- package/types/helpers/warnOnce.d.ts.map +1 -0
- package/types/helpers/withStaticProperties.d.ts.map +1 -0
- package/types/hooks/getThemeUnwrapped.d.ts.map +1 -0
- package/types/hooks/useId.d.ts.map +1 -0
- package/types/hooks/useIsTouchDevice.d.ts.map +1 -0
- package/types/hooks/useMedia.d.ts.map +1 -0
- package/types/hooks/useSafeRef.d.ts.map +1 -0
- package/types/hooks/useServerHooks.d.ts.map +1 -0
- package/types/hooks/useStyle.d.ts.map +1 -0
- package/types/hooks/useTheme.d.ts.map +1 -0
- package/types/hooks/useThemeName.d.ts.map +1 -0
- package/types/insertFont.d.ts.map +1 -0
- package/types/setupReactNative.d.ts.map +1 -0
- package/types/static.d.ts.map +1 -0
- package/types/styled.d.ts.map +1 -0
- package/types/types-rnw.d.ts.map +1 -0
- package/types/types.d.ts.map +1 -0
- package/types/updateTheme.d.ts.map +1 -0
- package/types/views/FontLanguage.d.ts.map +1 -0
- package/types/views/FontLanguage.native.d.ts.map +1 -0
- package/types/views/FontLanguage.types.d.ts.map +1 -0
- package/types/views/Slot.d.ts.map +1 -0
- package/types/views/Stack.d.ts.map +1 -0
- package/types/views/TamaguiProvider.d.ts.map +1 -0
- package/types/views/Text.d.ts.map +1 -0
- package/types/views/Theme.d.ts.map +1 -0
- package/types/views/ThemeProvider.d.ts.map +1 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { isRSC, isWeb } from "@tamagui/constants";
|
|
2
|
+
import { configListeners, setConfig } from "./config";
|
|
3
|
+
import { createVariables, tokensKeysOrdered } from "./createVariables";
|
|
4
|
+
import { getThemeCSSRules } from "./helpers/getThemeCSSRules";
|
|
5
|
+
import {
|
|
6
|
+
getAllRules,
|
|
7
|
+
listenForSheetChanges,
|
|
8
|
+
scanAllSheets
|
|
9
|
+
} from "./helpers/insertStyleRule";
|
|
10
|
+
import {
|
|
11
|
+
registerCSSVariable,
|
|
12
|
+
tokensValueToVariable,
|
|
13
|
+
variableToCSS
|
|
14
|
+
} from "./helpers/registerCSSVariable";
|
|
15
|
+
import { ensureThemeVariable, proxyThemeToParents } from "./helpers/themes";
|
|
16
|
+
import { configureMedia } from "./hooks/useMedia";
|
|
17
|
+
import { parseFont, registerFontVariables } from "./insertFont";
|
|
18
|
+
import { Tamagui } from "./Tamagui";
|
|
19
|
+
const createdConfigs = /* @__PURE__ */ new WeakMap();
|
|
20
|
+
function createTamagui(configIn) {
|
|
21
|
+
var _a;
|
|
22
|
+
if (createdConfigs.has(configIn)) {
|
|
23
|
+
return configIn;
|
|
24
|
+
}
|
|
25
|
+
if (process.env.NODE_ENV === "development") {
|
|
26
|
+
if (!configIn.tokens) {
|
|
27
|
+
throw new Error("Must define tokens");
|
|
28
|
+
}
|
|
29
|
+
if (!configIn.themes) {
|
|
30
|
+
throw new Error("Must define themes");
|
|
31
|
+
}
|
|
32
|
+
if (!configIn.fonts) {
|
|
33
|
+
throw new Error("Must define fonts");
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
scanAllSheets();
|
|
37
|
+
listenForSheetChanges();
|
|
38
|
+
const fontTokens = Object.fromEntries(
|
|
39
|
+
Object.entries(configIn.fonts).map(([k, v]) => {
|
|
40
|
+
return [k, createVariables(v, "f", true)];
|
|
41
|
+
})
|
|
42
|
+
);
|
|
43
|
+
const fontsParsed = (() => {
|
|
44
|
+
const res = {};
|
|
45
|
+
for (const familyName in fontTokens) {
|
|
46
|
+
res[`$${familyName}`] = parseFont(fontTokens[familyName]);
|
|
47
|
+
}
|
|
48
|
+
return res;
|
|
49
|
+
})();
|
|
50
|
+
const themeConfig = (() => {
|
|
51
|
+
const themes = { ...configIn.themes };
|
|
52
|
+
const cssRuleSets = [];
|
|
53
|
+
if (isWeb) {
|
|
54
|
+
let declarationsToRuleSet2 = function(decs, selector = "") {
|
|
55
|
+
return `:root${selector} {${sep}${[...decs].join(`;${sep}`)}${sep}}`;
|
|
56
|
+
};
|
|
57
|
+
var declarationsToRuleSet = declarationsToRuleSet2;
|
|
58
|
+
const declarations = [];
|
|
59
|
+
const fontDeclarations = {};
|
|
60
|
+
for (const key in configIn.tokens) {
|
|
61
|
+
for (const skey in configIn.tokens[key]) {
|
|
62
|
+
const val = configIn.tokens[key][skey];
|
|
63
|
+
registerCSSVariable(val);
|
|
64
|
+
declarations.push(variableToCSS(val));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
for (const key in fontsParsed) {
|
|
68
|
+
const fontParsed = fontsParsed[key];
|
|
69
|
+
const [name, language] = key.includes("_") ? key.split("_") : [key];
|
|
70
|
+
const fontVars = registerFontVariables(fontParsed);
|
|
71
|
+
fontDeclarations[key] = {
|
|
72
|
+
name: name.slice(1),
|
|
73
|
+
declarations: fontVars,
|
|
74
|
+
language
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const sep = process.env.NODE_ENV === "development" ? configIn.cssStyleSeparator || " " : "";
|
|
78
|
+
cssRuleSets.push(declarationsToRuleSet2(declarations));
|
|
79
|
+
if (fontDeclarations) {
|
|
80
|
+
for (const key in fontDeclarations) {
|
|
81
|
+
const { name, declarations: declarations2, language = "default" } = fontDeclarations[key];
|
|
82
|
+
const fontSelector = `.font_${name}`;
|
|
83
|
+
const langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`;
|
|
84
|
+
const selectors = language === "default" ? ` ${fontSelector}, ${langSelector}` : langSelector;
|
|
85
|
+
const specificRuleSet = declarationsToRuleSet2(declarations2, selectors);
|
|
86
|
+
cssRuleSets.push(specificRuleSet);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
const dedupedThemes = {};
|
|
91
|
+
const existing = /* @__PURE__ */ new WeakMap();
|
|
92
|
+
for (const themeName in themes) {
|
|
93
|
+
const rawTheme = themes[themeName];
|
|
94
|
+
if (existing.has(rawTheme)) {
|
|
95
|
+
const e = existing.get(rawTheme);
|
|
96
|
+
themes[themeName] = e.theme;
|
|
97
|
+
e.names.push(themeName);
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const theme = { ...rawTheme };
|
|
101
|
+
for (const key in theme) {
|
|
102
|
+
ensureThemeVariable(theme, key);
|
|
103
|
+
}
|
|
104
|
+
themes[themeName] = theme;
|
|
105
|
+
dedupedThemes[themeName] = {
|
|
106
|
+
names: [themeName],
|
|
107
|
+
theme
|
|
108
|
+
};
|
|
109
|
+
existing.set(rawTheme, dedupedThemes[themeName]);
|
|
110
|
+
}
|
|
111
|
+
let themeRuleSets = [];
|
|
112
|
+
if (isWeb || isRSC) {
|
|
113
|
+
for (const themeName in dedupedThemes) {
|
|
114
|
+
themeRuleSets = [
|
|
115
|
+
...themeRuleSets,
|
|
116
|
+
...getThemeCSSRules({
|
|
117
|
+
config: configIn,
|
|
118
|
+
themeName,
|
|
119
|
+
...dedupedThemes[themeName]
|
|
120
|
+
})
|
|
121
|
+
];
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
for (const themeName in themes) {
|
|
125
|
+
themes[themeName] = proxyThemeToParents(themeName, themes[themeName], themes);
|
|
126
|
+
}
|
|
127
|
+
tokensValueToVariable.clear();
|
|
128
|
+
return {
|
|
129
|
+
themes,
|
|
130
|
+
cssRuleSets,
|
|
131
|
+
themeRuleSets
|
|
132
|
+
};
|
|
133
|
+
})();
|
|
134
|
+
const tokensParsed = Object.fromEntries(
|
|
135
|
+
Object.entries(configIn.tokens).map(([k, v]) => {
|
|
136
|
+
const val = Object.fromEntries(Object.entries(v).map(([k2, v2]) => [`$${k2}`, v2]));
|
|
137
|
+
tokensKeysOrdered.set(val, tokensKeysOrdered.get(v));
|
|
138
|
+
return [k, val];
|
|
139
|
+
})
|
|
140
|
+
);
|
|
141
|
+
const shorthands = configIn.shorthands || {};
|
|
142
|
+
const config = {
|
|
143
|
+
fontLanguages: [],
|
|
144
|
+
animations: {},
|
|
145
|
+
media: {},
|
|
146
|
+
...configIn,
|
|
147
|
+
// already processed by createTokens()
|
|
148
|
+
tokens: configIn.tokens,
|
|
149
|
+
// vite made this into a function if it wasn't set
|
|
150
|
+
shorthands: { ...shorthands },
|
|
151
|
+
inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},
|
|
152
|
+
themes: themeConfig.themes,
|
|
153
|
+
fontsParsed,
|
|
154
|
+
themeConfig,
|
|
155
|
+
tokensParsed,
|
|
156
|
+
parsed: true,
|
|
157
|
+
getCSS: (separator = "\n") => {
|
|
158
|
+
return `
|
|
159
|
+
._ovs-contain {overscroll-behavior:contain;}
|
|
160
|
+
.t_unmounted .t_will-mount {opacity:0;visibility:hidden;}
|
|
161
|
+
.is_Text .is_Text {display:inline-flex;}
|
|
162
|
+
._dsp_contents {display:contents;}
|
|
163
|
+
${themeConfig.cssRuleSets.join(separator)}
|
|
164
|
+
${themeConfig.themeRuleSets.join(separator)}
|
|
165
|
+
${getAllRules().join(separator)}`;
|
|
166
|
+
}
|
|
167
|
+
// const tokens = [...getToken(tokens.size[0])]
|
|
168
|
+
// .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }
|
|
169
|
+
};
|
|
170
|
+
configureMedia(config);
|
|
171
|
+
setConfig(config);
|
|
172
|
+
if (configListeners.size) {
|
|
173
|
+
configListeners.forEach((cb) => cb(config));
|
|
174
|
+
configListeners.clear();
|
|
175
|
+
}
|
|
176
|
+
createdConfigs.set(config, true);
|
|
177
|
+
if (process.env.NODE_ENV === "development") {
|
|
178
|
+
if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
|
|
179
|
+
console.log("Tamagui config:", config);
|
|
180
|
+
}
|
|
181
|
+
if (!globalThis["Tamagui"]) {
|
|
182
|
+
globalThis["Tamagui"] = Tamagui;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return config;
|
|
186
|
+
}
|
|
187
|
+
export {
|
|
188
|
+
createTamagui
|
|
189
|
+
};
|
|
190
|
+
//# sourceMappingURL=createTamagui.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createTamagui.ts"],
|
|
4
|
+
"sourcesContent": ["import { isRSC, isWeb } from '@tamagui/constants'\n\nimport { configListeners, setConfig } from './config'\nimport { createVariables, tokensKeysOrdered } from './createVariables'\nimport { getThemeCSSRules } from './helpers/getThemeCSSRules'\nimport {\n getAllRules,\n listenForSheetChanges,\n scanAllSheets,\n} from './helpers/insertStyleRule'\nimport {\n registerCSSVariable,\n tokensValueToVariable,\n variableToCSS,\n} from './helpers/registerCSSVariable'\nimport { ensureThemeVariable, proxyThemeToParents } from './helpers/themes'\nimport { configureMedia } from './hooks/useMedia'\nimport { parseFont, registerFontVariables } from './insertFont'\nimport { Tamagui } from './Tamagui'\nimport {\n CreateTamaguiProps,\n InferTamaguiConfig,\n TamaguiInternalConfig,\n ThemeParsed,\n} from './types'\n\n// config is re-run by the @tamagui/static, dont double validate\nconst createdConfigs = new WeakMap<any, boolean>()\n\nexport function createTamagui<Conf extends CreateTamaguiProps>(\n configIn: Conf\n): InferTamaguiConfig<Conf> {\n if (createdConfigs.has(configIn)) {\n return configIn as any\n }\n\n if (process.env.NODE_ENV === 'development') {\n if (!configIn.tokens) {\n throw new Error('Must define tokens')\n }\n if (!configIn.themes) {\n throw new Error('Must define themes')\n }\n if (!configIn.fonts) {\n throw new Error('Must define fonts')\n }\n }\n\n scanAllSheets()\n listenForSheetChanges()\n\n const fontTokens = Object.fromEntries(\n Object.entries(configIn.fonts!).map(([k, v]) => {\n return [k, createVariables(v, 'f', true)]\n })\n )\n\n const fontsParsed = (() => {\n const res = {} as typeof fontTokens\n for (const familyName in fontTokens) {\n res[`$${familyName}`] = parseFont(fontTokens[familyName])\n }\n return res!\n })()\n\n const themeConfig = (() => {\n const themes = { ...configIn.themes }\n const cssRuleSets: string[] = []\n\n if (isWeb) {\n const declarations: string[] = []\n const fontDeclarations: Record<\n string,\n { name: string; declarations: string[]; language?: string }\n > = {}\n\n for (const key in configIn.tokens) {\n for (const skey in configIn.tokens[key]) {\n const val = configIn.tokens[key][skey]\n registerCSSVariable(val)\n declarations.push(variableToCSS(val))\n }\n }\n\n for (const key in fontsParsed) {\n const fontParsed = fontsParsed[key]\n const [name, language] = key.includes('_') ? key.split('_') : [key]\n const fontVars = registerFontVariables(fontParsed)\n fontDeclarations[key] = {\n name: name.slice(1),\n declarations: fontVars,\n language,\n }\n }\n\n const sep =\n process.env.NODE_ENV === 'development' ? configIn.cssStyleSeparator || ' ' : ''\n\n function declarationsToRuleSet(decs: string[], selector = '') {\n return `:root${selector} {${sep}${[...decs].join(`;${sep}`)}${sep}}`\n }\n\n // non-font\n cssRuleSets.push(declarationsToRuleSet(declarations))\n\n // fonts\n if (fontDeclarations) {\n for (const key in fontDeclarations) {\n const { name, declarations, language = 'default' } = fontDeclarations[key]\n const fontSelector = `.font_${name}`\n const langSelector = `:root .t_lang-${name}-${language} ${fontSelector}`\n const selectors =\n language === 'default' ? ` ${fontSelector}, ${langSelector}` : langSelector\n const specificRuleSet = declarationsToRuleSet(declarations, selectors)\n cssRuleSets.push(specificRuleSet)\n }\n }\n }\n\n // dedupe themes to avoid duplicate CSS generation\n type DedupedTheme = {\n names: string[]\n theme: ThemeParsed\n }\n const dedupedThemes: {\n [key: string]: DedupedTheme\n } = {}\n const existing = new WeakMap<ThemeParsed, DedupedTheme>()\n\n // first, de-dupe and parse them\n for (const themeName in themes) {\n const rawTheme = themes[themeName] as ThemeParsed\n\n // if existing, avoid\n if (existing.has(rawTheme)) {\n const e = existing.get(rawTheme)!\n themes[themeName] = e.theme\n e.names.push(themeName)\n continue\n }\n\n // ensure each theme object unique for dedupe\n const theme = { ...rawTheme }\n // parse into variables\n for (const key in theme) {\n // make sure properly names theme variables\n ensureThemeVariable(theme, key)\n }\n themes[themeName] = theme\n\n // set deduped\n dedupedThemes[themeName] = {\n names: [themeName],\n theme,\n }\n\n existing.set(rawTheme, dedupedThemes[themeName])\n }\n\n // then, generate CSS from de-duped\n let themeRuleSets: string[] = []\n\n if (isWeb || isRSC) {\n for (const themeName in dedupedThemes) {\n themeRuleSets = [\n ...themeRuleSets,\n ...getThemeCSSRules({\n config: configIn,\n themeName,\n ...dedupedThemes[themeName],\n }),\n ]\n }\n }\n\n // proxy upwards to get parent variables (themes are subset going down)\n for (const themeName in themes) {\n themes[themeName] = proxyThemeToParents(themeName, themes[themeName], themes)\n }\n\n tokensValueToVariable.clear()\n\n return {\n themes,\n cssRuleSets,\n themeRuleSets,\n }\n })()\n\n // faster $lookups\n const tokensParsed: any = Object.fromEntries(\n Object.entries(configIn.tokens).map(([k, v]) => {\n const val = Object.fromEntries(Object.entries(v).map(([k, v]) => [`$${k}`, v]))\n tokensKeysOrdered.set(val, tokensKeysOrdered.get(v))\n return [k, val]\n })\n )\n\n const shorthands = configIn.shorthands || {}\n\n const config: TamaguiInternalConfig = {\n fontLanguages: [],\n animations: {} as any,\n media: {},\n ...configIn,\n // already processed by createTokens()\n tokens: configIn.tokens as any,\n // vite made this into a function if it wasn't set\n shorthands: { ...shorthands },\n inverseShorthands: shorthands\n ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k]))\n : {},\n themes: themeConfig.themes as any,\n fontsParsed,\n themeConfig,\n tokensParsed,\n parsed: true,\n getCSS: (separator = '\\n') => {\n return `\n._ovs-contain {overscroll-behavior:contain;}\n.t_unmounted .t_will-mount {opacity:0;visibility:hidden;}\n.is_Text .is_Text {display:inline-flex;}\n._dsp_contents {display:contents;}\n${themeConfig.cssRuleSets.join(separator)}\n${themeConfig.themeRuleSets.join(separator)}\n${getAllRules().join(separator)}`\n },\n // const tokens = [...getToken(tokens.size[0])]\n // .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }\n }\n\n configureMedia(config)\n setConfig(config)\n\n if (configListeners.size) {\n configListeners.forEach((cb) => cb(config))\n configListeners.clear()\n }\n\n createdConfigs.set(config, true)\n\n if (process.env.NODE_ENV === 'development') {\n if (process.env.DEBUG?.startsWith('tamagui')) {\n // eslint-disable-next-line no-console\n console.log('Tamagui config:', config)\n }\n if (!globalThis['Tamagui']) {\n globalThis['Tamagui'] = Tamagui\n }\n }\n\n return config as any\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["declarationsToRuleSet", "declarations", "k", "v"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createTheme.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Variable } from './createVariable'\n\ntype GenericTheme = { [key: string]: string | Variable }\n\n// export const themeToVariableToValueMap = new WeakMap<any, Record<string, string>>()\n\nexport const createTheme = <Theme extends GenericTheme>(\n theme: Theme\n): {\n [K in keyof Theme]: Theme[K] | string | Variable\n} => {\n return theme\n}\n"],
|
|
5
|
+
"mappings": "AAMO,MAAM,cAAc,CACzB,UAGG;AACH,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createTheme.ts"],
|
|
4
|
+
"sourcesContent": ["import type { Variable } from './createVariable'\n\ntype GenericTheme = { [key: string]: string | Variable }\n\n// export const themeToVariableToValueMap = new WeakMap<any, Record<string, string>>()\n\nexport const createTheme = <Theme extends GenericTheme>(\n theme: Theme\n): {\n [K in keyof Theme]: Theme[K] | string | Variable\n} => {\n return theme\n}\n"],
|
|
5
|
+
"mappings": "AAMO,MAAM,cAAc,CACzB,UAGG;AACH,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createVariables } from "./createVariables";
|
|
2
|
+
function createTokens(tokens2) {
|
|
3
|
+
return createVariables(tokens2);
|
|
4
|
+
}
|
|
5
|
+
const tokens = createTokens({
|
|
6
|
+
size: { 0: 1 },
|
|
7
|
+
space: { 0: 1 },
|
|
8
|
+
radius: { 0: 1 },
|
|
9
|
+
zIndex: { 0: 1 },
|
|
10
|
+
color: { 0: "hi" }
|
|
11
|
+
});
|
|
12
|
+
export {
|
|
13
|
+
createTokens
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=createTokens.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createTokens.ts"],
|
|
4
|
+
"sourcesContent": ["import { Variable } from './createVariable'\nimport { createVariables } from './createVariables'\nimport { CreateTokens } from './types'\n\n// tokens.color.dark.red ===> { var: `color-dark-red`, val: '' }\nexport function createTokens<T extends CreateTokens>(tokens: T): MakeTokens<T> {\n return createVariables(tokens) as any\n}\n\n// verbose but gives us nice types...\ntype MakeTokens<T> = T extends {\n color: infer E\n space: infer F\n size: infer G\n radius: infer H\n zIndex: infer J\n}\n ? {\n color: {\n // removes $ prefix allowing for defining either as $1: or 1:,\n // which is important because Chrome re-orders numerical-seeming keys :/\n [Key in keyof E extends `$${infer X}` ? X : keyof E]: Variable<string>\n }\n space: {\n [Key in keyof F extends `$${infer X}` ? X : keyof F]: Variable<number>\n }\n size: {\n [Key in keyof G extends `$${infer X}` ? X : keyof G]: Variable<number>\n }\n radius: {\n [Key in keyof H extends `$${infer X}` ? X : keyof H]: Variable<number>\n }\n zIndex: {\n [Key in keyof J extends `$${infer X}` ? X : keyof J]: Variable<number>\n }\n }\n : never\n\n// test\nconst tokens = createTokens({\n size: { 0: 1 },\n space: { 0: 1 },\n radius: { 0: 1 },\n zIndex: { 0: 1 },\n color: { 0: 'hi' },\n})\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,uBAAuB;AAIzB,SAAS,aAAqCA,SAA0B;AAC7E,SAAO,gBAAgBA,OAAM;AAC/B;AAgCA,MAAM,SAAS,aAAa;AAAA,EAC1B,MAAM,EAAE,GAAG,EAAE;AAAA,EACb,OAAO,EAAE,GAAG,EAAE;AAAA,EACd,QAAQ,EAAE,GAAG,EAAE;AAAA,EACf,QAAQ,EAAE,GAAG,EAAE;AAAA,EACf,OAAO,EAAE,GAAG,KAAK;AACnB,CAAC;",
|
|
6
|
+
"names": ["tokens"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { createVariables } from "./createVariables";
|
|
2
|
+
function createTokens(tokens2) {
|
|
3
|
+
return createVariables(tokens2);
|
|
4
|
+
}
|
|
5
|
+
const tokens = createTokens({
|
|
6
|
+
size: { 0: 1 },
|
|
7
|
+
space: { 0: 1 },
|
|
8
|
+
radius: { 0: 1 },
|
|
9
|
+
zIndex: { 0: 1 },
|
|
10
|
+
color: { 0: "hi" }
|
|
11
|
+
});
|
|
12
|
+
export {
|
|
13
|
+
createTokens
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=createTokens.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createTokens.ts"],
|
|
4
|
+
"sourcesContent": ["import { Variable } from './createVariable'\nimport { createVariables } from './createVariables'\nimport { CreateTokens } from './types'\n\n// tokens.color.dark.red ===> { var: `color-dark-red`, val: '' }\nexport function createTokens<T extends CreateTokens>(tokens: T): MakeTokens<T> {\n return createVariables(tokens) as any\n}\n\n// verbose but gives us nice types...\ntype MakeTokens<T> = T extends {\n color: infer E\n space: infer F\n size: infer G\n radius: infer H\n zIndex: infer J\n}\n ? {\n color: {\n // removes $ prefix allowing for defining either as $1: or 1:,\n // which is important because Chrome re-orders numerical-seeming keys :/\n [Key in keyof E extends `$${infer X}` ? X : keyof E]: Variable<string>\n }\n space: {\n [Key in keyof F extends `$${infer X}` ? X : keyof F]: Variable<number>\n }\n size: {\n [Key in keyof G extends `$${infer X}` ? X : keyof G]: Variable<number>\n }\n radius: {\n [Key in keyof H extends `$${infer X}` ? X : keyof H]: Variable<number>\n }\n zIndex: {\n [Key in keyof J extends `$${infer X}` ? X : keyof J]: Variable<number>\n }\n }\n : never\n\n// test\nconst tokens = createTokens({\n size: { 0: 1 },\n space: { 0: 1 },\n radius: { 0: 1 },\n zIndex: { 0: 1 },\n color: { 0: 'hi' },\n})\n"],
|
|
5
|
+
"mappings": "AACA,SAAS,uBAAuB;AAIzB,SAAS,aAAqCA,SAA0B;AAC7E,SAAO,gBAAgBA,OAAM;AAC/B;AAgCA,MAAM,SAAS,aAAa;AAAA,EAC1B,MAAM,EAAE,GAAG,EAAE;AAAA,EACb,OAAO,EAAE,GAAG,EAAE;AAAA,EACd,QAAQ,EAAE,GAAG,EAAE;AAAA,EACf,QAAQ,EAAE,GAAG,EAAE;AAAA,EACf,OAAO,EAAE,GAAG,KAAK;AACnB,CAAC;",
|
|
6
|
+
"names": ["tokens"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { isWeb } from "@tamagui/constants";
|
|
2
|
+
import { simpleHash } from "@tamagui/helpers";
|
|
3
|
+
import { getConfig } from "./config";
|
|
4
|
+
const IS_VAR = "isVar";
|
|
5
|
+
const createVariable = (props) => {
|
|
6
|
+
if (isVariable(props))
|
|
7
|
+
return props;
|
|
8
|
+
const { key, name, val } = props;
|
|
9
|
+
return {
|
|
10
|
+
[IS_VAR]: true,
|
|
11
|
+
key,
|
|
12
|
+
name: simpleHash(name, 40),
|
|
13
|
+
val,
|
|
14
|
+
variable: isWeb ? createCSSVariable(name) : ""
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
function variableToString(vrble, getValue = false) {
|
|
18
|
+
if (isVariable(vrble)) {
|
|
19
|
+
if (!getValue && isWeb && vrble.variable) {
|
|
20
|
+
return vrble.variable;
|
|
21
|
+
}
|
|
22
|
+
return `${vrble.val}`;
|
|
23
|
+
}
|
|
24
|
+
return `${vrble || ""}`;
|
|
25
|
+
}
|
|
26
|
+
function isVariable(v) {
|
|
27
|
+
return v && typeof v === "object" && IS_VAR in v;
|
|
28
|
+
}
|
|
29
|
+
function getVariable(nameOrVariable) {
|
|
30
|
+
setDidGetVariableValue(true);
|
|
31
|
+
if (isVariable(nameOrVariable)) {
|
|
32
|
+
return variableToString(nameOrVariable);
|
|
33
|
+
}
|
|
34
|
+
const tokens = getConfig().tokensParsed;
|
|
35
|
+
return variableToString(tokens[nameOrVariable] ?? nameOrVariable);
|
|
36
|
+
}
|
|
37
|
+
let accessed = false;
|
|
38
|
+
const setDidGetVariableValue = (val) => accessed = val;
|
|
39
|
+
const didGetVariableValue = () => accessed;
|
|
40
|
+
function getVariableValue(v) {
|
|
41
|
+
if (isVariable(v)) {
|
|
42
|
+
setDidGetVariableValue(true);
|
|
43
|
+
return v.val;
|
|
44
|
+
}
|
|
45
|
+
return v;
|
|
46
|
+
}
|
|
47
|
+
function getVariableName(v) {
|
|
48
|
+
if (isVariable(v))
|
|
49
|
+
return v.name;
|
|
50
|
+
return v;
|
|
51
|
+
}
|
|
52
|
+
function getVariableVariable(v) {
|
|
53
|
+
if (isVariable(v))
|
|
54
|
+
return v.variable;
|
|
55
|
+
return v;
|
|
56
|
+
}
|
|
57
|
+
const createCSSVariable = (nameProp, includeVar = true) => {
|
|
58
|
+
if (process.env.NODE_ENV === "development") {
|
|
59
|
+
if (!nameProp || typeof nameProp !== "string") {
|
|
60
|
+
throw new Error(`createCSSVariable expected string: ${nameProp}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const name = simpleHash(nameProp, 60);
|
|
64
|
+
return includeVar ? `var(--${name})` : name;
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
createCSSVariable,
|
|
68
|
+
createVariable,
|
|
69
|
+
didGetVariableValue,
|
|
70
|
+
getVariable,
|
|
71
|
+
getVariableName,
|
|
72
|
+
getVariableValue,
|
|
73
|
+
getVariableVariable,
|
|
74
|
+
isVariable,
|
|
75
|
+
setDidGetVariableValue,
|
|
76
|
+
variableToString
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=createVariable.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createVariable.ts"],
|
|
4
|
+
"sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { simpleHash } from '@tamagui/helpers'\n\nimport { getConfig } from './config'\n\n/**\n * Should rename this to Token\n * Moving to objects for React Server Components support\n */\n\nconst IS_VAR = 'isVar'\n\nexport interface Variable<A = any> {\n [IS_VAR]?: true\n variable?: string\n val: A\n name: string\n key: string\n}\n\nexport type MakeVariable<A = any> = A extends string | number ? Variable<A> : A\n\ntype VariableIn<A = any> = Pick<Variable<A>, 'key' | 'name' | 'val'>\nexport const createVariable = <A extends string | number | Variable = any>(\n props: VariableIn<A>\n): Variable<A> => {\n if (isVariable(props)) return props\n const { key, name, val } = props\n return {\n [IS_VAR]: true,\n key: key!,\n name: simpleHash(name, 40),\n val: val as any,\n variable: isWeb ? createCSSVariable(name) : '',\n }\n}\n\n// could do weakmap cache\nexport function variableToString(vrble?: any, getValue = false) {\n if (isVariable(vrble)) {\n if (!getValue && isWeb && vrble.variable) {\n return vrble.variable\n }\n return `${vrble.val}`\n }\n return `${vrble || ''}`\n}\n\nexport function isVariable(v: Variable | any): v is Variable {\n return v && typeof v === 'object' && IS_VAR in v\n}\n\nexport function getVariable(nameOrVariable: Variable | string) {\n setDidGetVariableValue(true)\n if (isVariable(nameOrVariable)) {\n return variableToString(nameOrVariable)\n }\n const tokens = getConfig().tokensParsed\n return variableToString(tokens[nameOrVariable] ?? nameOrVariable)\n}\n\nlet accessed = false\nexport const setDidGetVariableValue = (val: boolean) => (accessed = val)\nexport const didGetVariableValue = () => accessed\n\nexport function getVariableValue(v: Variable | any) {\n if (isVariable(v)) {\n setDidGetVariableValue(true)\n return v.val\n }\n return v\n}\n\nexport function getVariableName(v: Variable | any) {\n if (isVariable(v)) return v.name\n return v\n}\n\nexport function getVariableVariable(v: Variable | any) {\n if (isVariable(v)) return v.variable\n return v\n}\n\n// bugfix { space: { 0.5: 10 } } was generating var(--space-0.5) (invalid CSS):\nexport const createCSSVariable = (nameProp: string, includeVar = true) => {\n if (process.env.NODE_ENV === 'development') {\n if (!nameProp || typeof nameProp !== 'string') {\n throw new Error(`createCSSVariable expected string: ${nameProp}`)\n }\n }\n const name = simpleHash(nameProp, 60)\n return includeVar ? `var(--${name})` : name\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAE3B,SAAS,iBAAiB;AAO1B,MAAM,SAAS;AAaR,MAAM,iBAAiB,CAC5B,UACgB;AAChB,MAAI,WAAW,KAAK;AAAG,WAAO;AAC9B,QAAM,EAAE,KAAK,MAAM,IAAI,IAAI;AAC3B,SAAO;AAAA,IACL,CAAC,MAAM,GAAG;AAAA,IACV;AAAA,IACA,MAAM,WAAW,MAAM,EAAE;AAAA,IACzB;AAAA,IACA,UAAU,QAAQ,kBAAkB,IAAI,IAAI;AAAA,EAC9C;AACF;AAGO,SAAS,iBAAiB,OAAa,WAAW,OAAO;AAC9D,MAAI,WAAW,KAAK,GAAG;AACrB,QAAI,CAAC,YAAY,SAAS,MAAM,UAAU;AACxC,aAAO,MAAM;AAAA,IACf;AACA,WAAO,GAAG,MAAM;AAAA,EAClB;AACA,SAAO,GAAG,SAAS;AACrB;AAEO,SAAS,WAAW,GAAkC;AAC3D,SAAO,KAAK,OAAO,MAAM,YAAY,UAAU;AACjD;AAEO,SAAS,YAAY,gBAAmC;AAC7D,yBAAuB,IAAI;AAC3B,MAAI,WAAW,cAAc,GAAG;AAC9B,WAAO,iBAAiB,cAAc;AAAA,EACxC;AACA,QAAM,SAAS,UAAU,EAAE;AAC3B,SAAO,iBAAiB,OAAO,cAAc,KAAK,cAAc;AAClE;AAEA,IAAI,WAAW;AACR,MAAM,yBAAyB,CAAC,QAAkB,WAAW;AAC7D,MAAM,sBAAsB,MAAM;AAElC,SAAS,iBAAiB,GAAmB;AAClD,MAAI,WAAW,CAAC,GAAG;AACjB,2BAAuB,IAAI;AAC3B,WAAO,EAAE;AAAA,EACX;AACA,SAAO;AACT;AAEO,SAAS,gBAAgB,GAAmB;AACjD,MAAI,WAAW,CAAC;AAAG,WAAO,EAAE;AAC5B,SAAO;AACT;AAEO,SAAS,oBAAoB,GAAmB;AACrD,MAAI,WAAW,CAAC;AAAG,WAAO,EAAE;AAC5B,SAAO;AACT;AAGO,MAAM,oBAAoB,CAAC,UAAkB,aAAa,SAAS;AACxE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC,YAAY,OAAO,aAAa,UAAU;AAC7C,YAAM,IAAI,MAAM,sCAAsC,UAAU;AAAA,IAClE;AAAA,EACF;AACA,QAAM,OAAO,WAAW,UAAU,EAAE;AACpC,SAAO,aAAa,SAAS,UAAU;AACzC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { isWeb } from "@tamagui/constants";
|
|
2
|
+
import { simpleHash } from "@tamagui/helpers";
|
|
3
|
+
import { getConfig } from "./config";
|
|
4
|
+
const IS_VAR = "isVar";
|
|
5
|
+
const createVariable = (props) => {
|
|
6
|
+
if (isVariable(props))
|
|
7
|
+
return props;
|
|
8
|
+
const { key, name, val } = props;
|
|
9
|
+
return {
|
|
10
|
+
[IS_VAR]: true,
|
|
11
|
+
key,
|
|
12
|
+
name: simpleHash(name, 40),
|
|
13
|
+
val,
|
|
14
|
+
variable: isWeb ? createCSSVariable(name) : ""
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
function variableToString(vrble, getValue = false) {
|
|
18
|
+
if (isVariable(vrble)) {
|
|
19
|
+
if (!getValue && isWeb && vrble.variable) {
|
|
20
|
+
return vrble.variable;
|
|
21
|
+
}
|
|
22
|
+
return `${vrble.val}`;
|
|
23
|
+
}
|
|
24
|
+
return `${vrble || ""}`;
|
|
25
|
+
}
|
|
26
|
+
function isVariable(v) {
|
|
27
|
+
return v && typeof v === "object" && IS_VAR in v;
|
|
28
|
+
}
|
|
29
|
+
function getVariable(nameOrVariable) {
|
|
30
|
+
setDidGetVariableValue(true);
|
|
31
|
+
if (isVariable(nameOrVariable)) {
|
|
32
|
+
return variableToString(nameOrVariable);
|
|
33
|
+
}
|
|
34
|
+
const tokens = getConfig().tokensParsed;
|
|
35
|
+
return variableToString(tokens[nameOrVariable] ?? nameOrVariable);
|
|
36
|
+
}
|
|
37
|
+
let accessed = false;
|
|
38
|
+
const setDidGetVariableValue = (val) => accessed = val;
|
|
39
|
+
const didGetVariableValue = () => accessed;
|
|
40
|
+
function getVariableValue(v) {
|
|
41
|
+
if (isVariable(v)) {
|
|
42
|
+
setDidGetVariableValue(true);
|
|
43
|
+
return v.val;
|
|
44
|
+
}
|
|
45
|
+
return v;
|
|
46
|
+
}
|
|
47
|
+
function getVariableName(v) {
|
|
48
|
+
if (isVariable(v))
|
|
49
|
+
return v.name;
|
|
50
|
+
return v;
|
|
51
|
+
}
|
|
52
|
+
function getVariableVariable(v) {
|
|
53
|
+
if (isVariable(v))
|
|
54
|
+
return v.variable;
|
|
55
|
+
return v;
|
|
56
|
+
}
|
|
57
|
+
const createCSSVariable = (nameProp, includeVar = true) => {
|
|
58
|
+
if (process.env.NODE_ENV === "development") {
|
|
59
|
+
if (!nameProp || typeof nameProp !== "string") {
|
|
60
|
+
throw new Error(`createCSSVariable expected string: ${nameProp}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const name = simpleHash(nameProp, 60);
|
|
64
|
+
return includeVar ? `var(--${name})` : name;
|
|
65
|
+
};
|
|
66
|
+
export {
|
|
67
|
+
createCSSVariable,
|
|
68
|
+
createVariable,
|
|
69
|
+
didGetVariableValue,
|
|
70
|
+
getVariable,
|
|
71
|
+
getVariableName,
|
|
72
|
+
getVariableValue,
|
|
73
|
+
getVariableVariable,
|
|
74
|
+
isVariable,
|
|
75
|
+
setDidGetVariableValue,
|
|
76
|
+
variableToString
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=createVariable.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createVariable.ts"],
|
|
4
|
+
"sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { simpleHash } from '@tamagui/helpers'\n\nimport { getConfig } from './config'\n\n/**\n * Should rename this to Token\n * Moving to objects for React Server Components support\n */\n\nconst IS_VAR = 'isVar'\n\nexport interface Variable<A = any> {\n [IS_VAR]?: true\n variable?: string\n val: A\n name: string\n key: string\n}\n\nexport type MakeVariable<A = any> = A extends string | number ? Variable<A> : A\n\ntype VariableIn<A = any> = Pick<Variable<A>, 'key' | 'name' | 'val'>\nexport const createVariable = <A extends string | number | Variable = any>(\n props: VariableIn<A>\n): Variable<A> => {\n if (isVariable(props)) return props\n const { key, name, val } = props\n return {\n [IS_VAR]: true,\n key: key!,\n name: simpleHash(name, 40),\n val: val as any,\n variable: isWeb ? createCSSVariable(name) : '',\n }\n}\n\n// could do weakmap cache\nexport function variableToString(vrble?: any, getValue = false) {\n if (isVariable(vrble)) {\n if (!getValue && isWeb && vrble.variable) {\n return vrble.variable\n }\n return `${vrble.val}`\n }\n return `${vrble || ''}`\n}\n\nexport function isVariable(v: Variable | any): v is Variable {\n return v && typeof v === 'object' && IS_VAR in v\n}\n\nexport function getVariable(nameOrVariable: Variable | string) {\n setDidGetVariableValue(true)\n if (isVariable(nameOrVariable)) {\n return variableToString(nameOrVariable)\n }\n const tokens = getConfig().tokensParsed\n return variableToString(tokens[nameOrVariable] ?? nameOrVariable)\n}\n\nlet accessed = false\nexport const setDidGetVariableValue = (val: boolean) => (accessed = val)\nexport const didGetVariableValue = () => accessed\n\nexport function getVariableValue(v: Variable | any) {\n if (isVariable(v)) {\n setDidGetVariableValue(true)\n return v.val\n }\n return v\n}\n\nexport function getVariableName(v: Variable | any) {\n if (isVariable(v)) return v.name\n return v\n}\n\nexport function getVariableVariable(v: Variable | any) {\n if (isVariable(v)) return v.variable\n return v\n}\n\n// bugfix { space: { 0.5: 10 } } was generating var(--space-0.5) (invalid CSS):\nexport const createCSSVariable = (nameProp: string, includeVar = true) => {\n if (process.env.NODE_ENV === 'development') {\n if (!nameProp || typeof nameProp !== 'string') {\n throw new Error(`createCSSVariable expected string: ${nameProp}`)\n }\n }\n const name = simpleHash(nameProp, 60)\n return includeVar ? `var(--${name})` : name\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,aAAa;AACtB,SAAS,kBAAkB;AAE3B,SAAS,iBAAiB;AAO1B,MAAM,SAAS;AAaR,MAAM,iBAAiB,CAC5B,UACgB;AAChB,MAAI,WAAW,KAAK;AAAG,WAAO;AAC9B,QAAM,EAAE,KAAK,MAAM,IAAI,IAAI;AAC3B,SAAO;AAAA,IACL,CAAC,MAAM,GAAG;AAAA,IACV;AAAA,IACA,MAAM,WAAW,MAAM,EAAE;AAAA,IACzB;AAAA,IACA,UAAU,QAAQ,kBAAkB,IAAI,IAAI;AAAA,EAC9C;AACF;AAGO,SAAS,iBAAiB,OAAa,WAAW,OAAO;AAC9D,MAAI,WAAW,KAAK,GAAG;AACrB,QAAI,CAAC,YAAY,SAAS,MAAM,UAAU;AACxC,aAAO,MAAM;AAAA,IACf;AACA,WAAO,GAAG,MAAM;AAAA,EAClB;AACA,SAAO,GAAG,SAAS;AACrB;AAEO,SAAS,WAAW,GAAkC;AAC3D,SAAO,KAAK,OAAO,MAAM,YAAY,UAAU;AACjD;AAEO,SAAS,YAAY,gBAAmC;AAC7D,yBAAuB,IAAI;AAC3B,MAAI,WAAW,cAAc,GAAG;AAC9B,WAAO,iBAAiB,cAAc;AAAA,EACxC;AACA,QAAM,SAAS,UAAU,EAAE;AAC3B,SAAO,iBAAiB,OAAO,cAAc,KAAK,cAAc;AAClE;AAEA,IAAI,WAAW;AACR,MAAM,yBAAyB,CAAC,QAAkB,WAAW;AAC7D,MAAM,sBAAsB,MAAM;AAElC,SAAS,iBAAiB,GAAmB;AAClD,MAAI,WAAW,CAAC,GAAG;AACjB,2BAAuB,IAAI;AAC3B,WAAO,EAAE;AAAA,EACX;AACA,SAAO;AACT;AAEO,SAAS,gBAAgB,GAAmB;AACjD,MAAI,WAAW,CAAC;AAAG,WAAO,EAAE;AAC5B,SAAO;AACT;AAEO,SAAS,oBAAoB,GAAmB;AACrD,MAAI,WAAW,CAAC;AAAG,WAAO,EAAE;AAC5B,SAAO;AACT;AAGO,MAAM,oBAAoB,CAAC,UAAkB,aAAa,SAAS;AACxE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC,YAAY,OAAO,aAAa,UAAU;AAC7C,YAAM,IAAI,MAAM,sCAAsC,UAAU;AAAA,IAClE;AAAA,EACF;AACA,QAAM,OAAO,WAAW,UAAU,EAAE;AACpC,SAAO,aAAa,SAAS,UAAU;AACzC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { simpleHash } from "@tamagui/helpers";
|
|
2
|
+
import { createVariable, isVariable } from "./createVariable";
|
|
3
|
+
const tokensKeysOrdered = /* @__PURE__ */ new WeakMap();
|
|
4
|
+
const createVariables = (tokens, parentPath = "", isFont = false) => {
|
|
5
|
+
const res = {};
|
|
6
|
+
let i = 0;
|
|
7
|
+
for (let key in tokens) {
|
|
8
|
+
i++;
|
|
9
|
+
const val = tokens[key];
|
|
10
|
+
if (key[0] === "$") {
|
|
11
|
+
key = key.slice(1);
|
|
12
|
+
}
|
|
13
|
+
if (isVariable(val)) {
|
|
14
|
+
res[key] = val;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const niceKey = simpleHash(key);
|
|
18
|
+
let name = isFont ? niceKey.slice(0, 2) : i;
|
|
19
|
+
name = parentPath ? `${parentPath}-${name}` : niceKey;
|
|
20
|
+
if (val && typeof val === "object") {
|
|
21
|
+
res[key] = createVariables(tokens[key], name);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
res[key] = isVariable(val) ? val : createVariable({ val, name, key: niceKey });
|
|
25
|
+
}
|
|
26
|
+
if (parentPath === "size" || parentPath === "space") {
|
|
27
|
+
tokensKeysOrdered.set(res, Object.keys(tokens));
|
|
28
|
+
}
|
|
29
|
+
return res;
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
createVariables,
|
|
33
|
+
tokensKeysOrdered
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=createVariables.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createVariables.ts"],
|
|
4
|
+
"sourcesContent": ["import { simpleHash } from '@tamagui/helpers'\n\nimport { Variable, createVariable, isVariable } from './createVariable'\n\ntype DeepTokenObject<Val extends string | number = any> = {\n [key: string]: Val | DeepTokenObject<Val>\n}\n\nexport type DeepVariableObject<A extends DeepTokenObject> = {\n [Key in keyof A]: A[Key] extends string | number\n ? Variable<A[Key]>\n : A[Key] extends DeepTokenObject\n ? DeepVariableObject<A[Key]>\n : never\n}\n\nexport const tokensKeysOrdered = new WeakMap()\n\nexport const createVariables = <A extends DeepTokenObject>(\n tokens: A,\n parentPath = '',\n isFont = false\n): DeepVariableObject<A> => {\n const res: any = {}\n let i = 0\n for (let key in tokens) {\n i++\n const val = tokens[key]\n // always remove $ prefix\n if (key[0] === '$') {\n // @ts-ignore\n key = key.slice(1)\n }\n if (isVariable(val)) {\n res[key] = val\n continue\n }\n const niceKey = simpleHash(key)\n let name = isFont ? niceKey.slice(0, 2) : i\n name = parentPath ? `${parentPath}-${name}` : niceKey\n if (val && typeof val === 'object') {\n // recurse\n res[key] = createVariables(tokens[key] as any, name)\n continue\n }\n res[key] = isVariable(val) ? val : createVariable({ val, name, key: niceKey })\n }\n\n // ordering for relative sizing for now just size/space\n if (parentPath === 'size' || parentPath === 'space') {\n tokensKeysOrdered.set(res, Object.keys(tokens))\n }\n\n return res\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAmB,gBAAgB,kBAAkB;AAc9C,MAAM,oBAAoB,oBAAI,QAAQ;AAEtC,MAAM,kBAAkB,CAC7B,QACA,aAAa,IACb,SAAS,UACiB;AAC1B,QAAM,MAAW,CAAC;AAClB,MAAI,IAAI;AACR,WAAS,OAAO,QAAQ;AACtB;AACA,UAAM,MAAM,OAAO,GAAG;AAEtB,QAAI,IAAI,CAAC,MAAM,KAAK;AAElB,YAAM,IAAI,MAAM,CAAC;AAAA,IACnB;AACA,QAAI,WAAW,GAAG,GAAG;AACnB,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AACA,UAAM,UAAU,WAAW,GAAG;AAC9B,QAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,IAAI;AAC1C,WAAO,aAAa,GAAG,cAAc,SAAS;AAC9C,QAAI,OAAO,OAAO,QAAQ,UAAU;AAElC,UAAI,GAAG,IAAI,gBAAgB,OAAO,GAAG,GAAU,IAAI;AACnD;AAAA,IACF;AACA,QAAI,GAAG,IAAI,WAAW,GAAG,IAAI,MAAM,eAAe,EAAE,KAAK,MAAM,KAAK,QAAQ,CAAC;AAAA,EAC/E;AAGA,MAAI,eAAe,UAAU,eAAe,SAAS;AACnD,sBAAkB,IAAI,KAAK,OAAO,KAAK,MAAM,CAAC;AAAA,EAChD;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { simpleHash } from "@tamagui/helpers";
|
|
2
|
+
import { createVariable, isVariable } from "./createVariable";
|
|
3
|
+
const tokensKeysOrdered = /* @__PURE__ */ new WeakMap();
|
|
4
|
+
const createVariables = (tokens, parentPath = "", isFont = false) => {
|
|
5
|
+
const res = {};
|
|
6
|
+
let i = 0;
|
|
7
|
+
for (let key in tokens) {
|
|
8
|
+
i++;
|
|
9
|
+
const val = tokens[key];
|
|
10
|
+
if (key[0] === "$") {
|
|
11
|
+
key = key.slice(1);
|
|
12
|
+
}
|
|
13
|
+
if (isVariable(val)) {
|
|
14
|
+
res[key] = val;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const niceKey = simpleHash(key);
|
|
18
|
+
let name = isFont ? niceKey.slice(0, 2) : i;
|
|
19
|
+
name = parentPath ? `${parentPath}-${name}` : niceKey;
|
|
20
|
+
if (val && typeof val === "object") {
|
|
21
|
+
res[key] = createVariables(tokens[key], name);
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
res[key] = isVariable(val) ? val : createVariable({ val, name, key: niceKey });
|
|
25
|
+
}
|
|
26
|
+
if (parentPath === "size" || parentPath === "space") {
|
|
27
|
+
tokensKeysOrdered.set(res, Object.keys(tokens));
|
|
28
|
+
}
|
|
29
|
+
return res;
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
createVariables,
|
|
33
|
+
tokensKeysOrdered
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=createVariables.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/createVariables.ts"],
|
|
4
|
+
"sourcesContent": ["import { simpleHash } from '@tamagui/helpers'\n\nimport { Variable, createVariable, isVariable } from './createVariable'\n\ntype DeepTokenObject<Val extends string | number = any> = {\n [key: string]: Val | DeepTokenObject<Val>\n}\n\nexport type DeepVariableObject<A extends DeepTokenObject> = {\n [Key in keyof A]: A[Key] extends string | number\n ? Variable<A[Key]>\n : A[Key] extends DeepTokenObject\n ? DeepVariableObject<A[Key]>\n : never\n}\n\nexport const tokensKeysOrdered = new WeakMap()\n\nexport const createVariables = <A extends DeepTokenObject>(\n tokens: A,\n parentPath = '',\n isFont = false\n): DeepVariableObject<A> => {\n const res: any = {}\n let i = 0\n for (let key in tokens) {\n i++\n const val = tokens[key]\n // always remove $ prefix\n if (key[0] === '$') {\n // @ts-ignore\n key = key.slice(1)\n }\n if (isVariable(val)) {\n res[key] = val\n continue\n }\n const niceKey = simpleHash(key)\n let name = isFont ? niceKey.slice(0, 2) : i\n name = parentPath ? `${parentPath}-${name}` : niceKey\n if (val && typeof val === 'object') {\n // recurse\n res[key] = createVariables(tokens[key] as any, name)\n continue\n }\n res[key] = isVariable(val) ? val : createVariable({ val, name, key: niceKey })\n }\n\n // ordering for relative sizing for now just size/space\n if (parentPath === 'size' || parentPath === 'space') {\n tokensKeysOrdered.set(res, Object.keys(tokens))\n }\n\n return res\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,kBAAkB;AAE3B,SAAmB,gBAAgB,kBAAkB;AAc9C,MAAM,oBAAoB,oBAAI,QAAQ;AAEtC,MAAM,kBAAkB,CAC7B,QACA,aAAa,IACb,SAAS,UACiB;AAC1B,QAAM,MAAW,CAAC;AAClB,MAAI,IAAI;AACR,WAAS,OAAO,QAAQ;AACtB;AACA,UAAM,MAAM,OAAO,GAAG;AAEtB,QAAI,IAAI,CAAC,MAAM,KAAK;AAElB,YAAM,IAAI,MAAM,CAAC;AAAA,IACnB;AACA,QAAI,WAAW,GAAG,GAAG;AACnB,UAAI,GAAG,IAAI;AACX;AAAA,IACF;AACA,UAAM,UAAU,WAAW,GAAG;AAC9B,QAAI,OAAO,SAAS,QAAQ,MAAM,GAAG,CAAC,IAAI;AAC1C,WAAO,aAAa,GAAG,cAAc,SAAS;AAC9C,QAAI,OAAO,OAAO,QAAQ,UAAU;AAElC,UAAI,GAAG,IAAI,gBAAgB,OAAO,GAAG,GAAU,IAAI;AACnD;AAAA,IACF;AACA,QAAI,GAAG,IAAI,WAAW,GAAG,IAAI,MAAM,eAAe,EAAE,KAAK,MAAM,KAAK,QAAQ,CAAC;AAAA,EAC/E;AAGA,MAAI,eAAe,UAAU,eAAe,SAAS;AACnD,sBAAkB,IAAI,KAAK,OAAO,KAAK,MAAM,CAAC;AAAA,EAChD;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Image, Text, TextInput, View } from "react-native";
|
|
2
|
+
const RNComponents = /* @__PURE__ */ new Set([
|
|
3
|
+
Image,
|
|
4
|
+
TextInput,
|
|
5
|
+
Text,
|
|
6
|
+
View,
|
|
7
|
+
// see fake-react-native + styled() check
|
|
8
|
+
"Image",
|
|
9
|
+
"TextInput",
|
|
10
|
+
"Text",
|
|
11
|
+
"View"
|
|
12
|
+
]);
|
|
13
|
+
export {
|
|
14
|
+
RNComponents
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=RNComponents.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/RNComponents.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Image, Text, TextInput, View } from 'react-native'\n\n// limited support\nexport const RNComponents = new Set<any>([\n Image,\n TextInput,\n Text,\n View,\n // see fake-react-native + styled() check\n 'Image',\n 'TextInput',\n 'Text',\n 'View',\n])\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,OAAO,MAAM,WAAW,YAAY;AAGtC,MAAM,eAAe,oBAAI,IAAS;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Image, Text, TextInput, View } from "react-native";
|
|
2
|
+
const RNComponents = /* @__PURE__ */ new Set([
|
|
3
|
+
Image,
|
|
4
|
+
TextInput,
|
|
5
|
+
Text,
|
|
6
|
+
View,
|
|
7
|
+
// see fake-react-native + styled() check
|
|
8
|
+
"Image",
|
|
9
|
+
"TextInput",
|
|
10
|
+
"Text",
|
|
11
|
+
"View"
|
|
12
|
+
]);
|
|
13
|
+
export {
|
|
14
|
+
RNComponents
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=RNComponents.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/helpers/RNComponents.tsx"],
|
|
4
|
+
"sourcesContent": ["import { Image, Text, TextInput, View } from 'react-native'\n\n// limited support\nexport const RNComponents = new Set<any>([\n Image,\n TextInput,\n Text,\n View,\n // see fake-react-native + styled() check\n 'Image',\n 'TextInput',\n 'Text',\n 'View',\n])\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,OAAO,MAAM,WAAW,YAAY;AAGtC,MAAM,eAAe,oBAAI,IAAS;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|