@tamagui/web 1.13.3 → 1.13.4
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 +1 -76
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/addTheme.js +2 -77
- package/dist/cjs/addTheme.js.map +2 -2
- package/dist/cjs/config.js +1 -122
- package/dist/cjs/config.js.map +2 -2
- package/dist/cjs/constants/constants.js +1 -48
- package/dist/cjs/constants/constants.js.map +2 -2
- package/dist/cjs/constants/isDevTools.js +1 -36
- package/dist/cjs/constants/isDevTools.js.map +2 -2
- package/dist/cjs/contexts/AnimationDriverContext.js +1 -29
- package/dist/cjs/contexts/AnimationDriverContext.js.map +2 -2
- package/dist/cjs/contexts/ButtonNestingContext.js +1 -29
- package/dist/cjs/contexts/ButtonNestingContext.js.map +2 -2
- package/dist/cjs/contexts/FontLanguageContext.js +1 -29
- package/dist/cjs/contexts/FontLanguageContext.js.map +2 -2
- package/dist/cjs/contexts/TextAncestorContext.js +1 -29
- package/dist/cjs/contexts/TextAncestorContext.js.map +2 -2
- package/dist/cjs/createComponent.js +2 -874
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/createFont.js +1 -68
- package/dist/cjs/createFont.js.map +2 -2
- package/dist/cjs/createShorthands.js +1 -30
- package/dist/cjs/createShorthands.js.map +2 -2
- package/dist/cjs/createTamagui.js +5 -202
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +1 -30
- package/dist/cjs/createTheme.js.map +2 -2
- package/dist/cjs/createTokens.js +1 -38
- package/dist/cjs/createTokens.js.map +2 -2
- package/dist/cjs/createVariable.js +1 -110
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/createVariables.js +1 -59
- package/dist/cjs/createVariables.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.js +1 -236
- package/dist/cjs/helpers/ThemeManager.js.map +2 -2
- package/dist/cjs/helpers/ThemeManagerContext.js +1 -29
- package/dist/cjs/helpers/ThemeManagerContext.js.map +2 -2
- package/dist/cjs/helpers/createMediaStyle.js +1 -66
- package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
- package/dist/cjs/helpers/createPropMapper.js +2 -431
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createProxy.js +2 -41
- package/dist/cjs/helpers/createProxy.js.map +2 -2
- package/dist/cjs/helpers/defaultOffset.js +1 -28
- package/dist/cjs/helpers/defaultOffset.js.map +2 -2
- package/dist/cjs/helpers/expandStyle.js +1 -85
- package/dist/cjs/helpers/expandStyle.js.map +2 -2
- package/dist/cjs/helpers/expandStyles.js +1 -76
- package/dist/cjs/helpers/expandStyles.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +1 -91
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/getAnimationDriver.js +1 -31
- package/dist/cjs/helpers/getAnimationDriver.js.map +2 -2
- package/dist/cjs/helpers/getExpandedShorthands.js +1 -38
- package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/cjs/helpers/getFontLanguage.js +1 -28
- package/dist/cjs/helpers/getFontLanguage.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js +3 -865
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +1 -226
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +1 -37
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.js +4 -126
- package/dist/cjs/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.native.js +1 -30
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +2 -2
- package/dist/cjs/helpers/getVariantExtras.js +1 -91
- package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
- package/dist/cjs/helpers/insertStyleRule.js +2 -222
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/isObj.js +1 -28
- package/dist/cjs/helpers/isObj.js.map +2 -2
- package/dist/cjs/helpers/isTamaguiComponent.js +1 -31
- package/dist/cjs/helpers/isTamaguiComponent.js.map +2 -2
- package/dist/cjs/helpers/isTamaguiElement.js +1 -32
- package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.js +1 -41
- package/dist/cjs/helpers/matchMedia.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.native.js +1 -47
- package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
- package/dist/cjs/helpers/mergeProps.js +1 -53
- package/dist/cjs/helpers/mergeProps.js.map +2 -2
- package/dist/cjs/helpers/normalizeColor.js +1 -66
- package/dist/cjs/helpers/normalizeColor.js.map +2 -2
- package/dist/cjs/helpers/normalizeShadow.js +1 -46
- package/dist/cjs/helpers/normalizeShadow.js.map +2 -2
- package/dist/cjs/helpers/normalizeShadow.native.js +1 -54
- package/dist/cjs/helpers/normalizeShadow.native.js.map +2 -2
- package/dist/cjs/helpers/normalizeStylePropKeys.js +1 -28
- package/dist/cjs/helpers/normalizeStylePropKeys.js.map +2 -2
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +1 -39
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +2 -2
- package/dist/cjs/helpers/normalizeValueWithProperty.js +1 -125
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/cjs/helpers/proxyThemeVariables.js +1 -39
- package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/cjs/helpers/pseudoDescriptors.js +1 -52
- package/dist/cjs/helpers/pseudoDescriptors.js.map +2 -2
- package/dist/cjs/helpers/registerCSSVariable.js +1 -39
- package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
- package/dist/cjs/helpers/themeable.js +1 -61
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/themes.js +1 -75
- package/dist/cjs/helpers/themes.js.map +2 -2
- package/dist/cjs/helpers/timer.js +1 -34
- package/dist/cjs/helpers/timer.js.map +2 -2
- package/dist/cjs/helpers/useShallowSetState.js +1 -58
- package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
- package/dist/cjs/helpers/warnOnce.js +1 -37
- package/dist/cjs/helpers/warnOnce.js.map +2 -2
- package/dist/cjs/helpers/withStaticProperties.js +1 -32
- package/dist/cjs/helpers/withStaticProperties.js.map +2 -2
- package/dist/cjs/hooks/getThemeUnwrapped.js +1 -33
- package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/cjs/hooks/useAnimationDriver.js +1 -33
- package/dist/cjs/hooks/useAnimationDriver.js.map +2 -2
- package/dist/cjs/hooks/useId.js +1 -28
- package/dist/cjs/hooks/useId.js.map +2 -2
- package/dist/cjs/hooks/useIsTouchDevice.js +1 -32
- package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +1 -264
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/useSafeRef.js +1 -58
- package/dist/cjs/hooks/useSafeRef.js.map +2 -2
- package/dist/cjs/hooks/useServerHooks.js +1 -35
- package/dist/cjs/hooks/useServerHooks.js.map +2 -2
- package/dist/cjs/hooks/useStyle.js +1 -60
- package/dist/cjs/hooks/useStyle.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +1 -229
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useThemeName.js +1 -51
- package/dist/cjs/hooks/useThemeName.js.map +2 -2
- package/dist/cjs/index.js +1 -110
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/inject-styles.js +1 -39
- package/dist/cjs/inject-styles.js.map +2 -2
- package/dist/cjs/insertFont.js +1 -92
- package/dist/cjs/insertFont.js.map +2 -2
- package/dist/cjs/setupHooks.js +1 -33
- package/dist/cjs/setupHooks.js.map +2 -2
- package/dist/cjs/setupReactNative.js +1 -50
- package/dist/cjs/setupReactNative.js.map +2 -2
- package/dist/cjs/styled.js +1 -93
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types.js +1 -16
- package/dist/cjs/types.js.map +2 -2
- package/dist/cjs/updateTheme.js +1 -46
- package/dist/cjs/updateTheme.js.map +2 -2
- package/dist/cjs/views/AnimationDriverProvider.js +1 -32
- package/dist/cjs/views/AnimationDriverProvider.js.map +2 -2
- package/dist/cjs/views/FontLanguage.js +1 -40
- package/dist/cjs/views/FontLanguage.js.map +2 -2
- package/dist/cjs/views/FontLanguage.native.js +1 -34
- package/dist/cjs/views/FontLanguage.native.js.map +2 -2
- package/dist/cjs/views/FontLanguage.types.js +1 -16
- package/dist/cjs/views/FontLanguage.types.js.map +2 -2
- package/dist/cjs/views/Slot.js +1 -91
- package/dist/cjs/views/Slot.js.map +2 -2
- package/dist/cjs/views/Stack.js +1 -37
- package/dist/cjs/views/Stack.js.map +2 -2
- package/dist/cjs/views/TamaguiProvider.js +1 -90
- package/dist/cjs/views/TamaguiProvider.js.map +2 -2
- package/dist/cjs/views/Text.js +1 -95
- package/dist/cjs/views/Text.js.map +2 -2
- package/dist/cjs/views/Theme.js +1 -80
- package/dist/cjs/views/Theme.js.map +2 -2
- package/dist/cjs/views/ThemeProvider.js +1 -69
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/esm/Tamagui.js +1 -44
- package/dist/esm/Tamagui.js.map +2 -2
- package/dist/esm/Tamagui.mjs +1 -44
- package/dist/esm/Tamagui.mjs.map +2 -2
- package/dist/esm/addTheme.js +2 -53
- package/dist/esm/addTheme.js.map +2 -2
- package/dist/esm/addTheme.mjs +2 -53
- package/dist/esm/addTheme.mjs.map +2 -2
- package/dist/esm/config.js +1 -89
- package/dist/esm/config.js.map +2 -2
- package/dist/esm/config.mjs +1 -89
- package/dist/esm/config.mjs.map +2 -2
- package/dist/esm/constants/constants.js +1 -21
- package/dist/esm/constants/constants.js.map +2 -2
- package/dist/esm/constants/constants.mjs +1 -21
- package/dist/esm/constants/constants.mjs.map +2 -2
- package/dist/esm/constants/isDevTools.js +1 -12
- package/dist/esm/constants/isDevTools.js.map +2 -2
- package/dist/esm/constants/isDevTools.mjs +1 -12
- package/dist/esm/constants/isDevTools.mjs.map +2 -2
- package/dist/esm/contexts/AnimationDriverContext.js +1 -5
- package/dist/esm/contexts/AnimationDriverContext.js.map +2 -2
- package/dist/esm/contexts/AnimationDriverContext.mjs +1 -5
- package/dist/esm/contexts/AnimationDriverContext.mjs.map +2 -2
- package/dist/esm/contexts/ButtonNestingContext.js +1 -5
- package/dist/esm/contexts/ButtonNestingContext.js.map +2 -2
- package/dist/esm/contexts/ButtonNestingContext.mjs +1 -5
- package/dist/esm/contexts/ButtonNestingContext.mjs.map +2 -2
- package/dist/esm/contexts/FontLanguageContext.js +1 -5
- package/dist/esm/contexts/FontLanguageContext.js.map +2 -2
- package/dist/esm/contexts/FontLanguageContext.mjs +1 -5
- package/dist/esm/contexts/FontLanguageContext.mjs.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.js +1 -5
- package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.mjs +1 -5
- package/dist/esm/contexts/TextAncestorContext.mjs.map +2 -2
- package/dist/esm/createComponent.js +2 -846
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/createComponent.mjs +2 -846
- package/dist/esm/createComponent.mjs.map +2 -2
- package/dist/esm/createFont.js +1 -44
- package/dist/esm/createFont.js.map +2 -2
- package/dist/esm/createFont.mjs +1 -44
- package/dist/esm/createFont.mjs.map +2 -2
- package/dist/esm/createShorthands.js +1 -6
- package/dist/esm/createShorthands.js.map +2 -2
- package/dist/esm/createShorthands.mjs +1 -6
- package/dist/esm/createShorthands.mjs.map +2 -2
- package/dist/esm/createTamagui.js +5 -186
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTamagui.mjs +5 -186
- package/dist/esm/createTamagui.mjs.map +2 -2
- package/dist/esm/createTheme.js +1 -6
- package/dist/esm/createTheme.js.map +2 -2
- package/dist/esm/createTheme.mjs +1 -6
- package/dist/esm/createTheme.mjs.map +2 -2
- package/dist/esm/createTokens.js +1 -14
- package/dist/esm/createTokens.js.map +2 -2
- package/dist/esm/createTokens.mjs +1 -14
- package/dist/esm/createTokens.mjs.map +2 -2
- package/dist/esm/createVariable.js +1 -77
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/createVariable.mjs +1 -77
- package/dist/esm/createVariable.mjs.map +2 -2
- package/dist/esm/createVariables.js +1 -34
- package/dist/esm/createVariables.js.map +2 -2
- package/dist/esm/createVariables.mjs +1 -34
- package/dist/esm/createVariables.mjs.map +2 -2
- package/dist/esm/helpers/ThemeManager.js +1 -211
- package/dist/esm/helpers/ThemeManager.js.map +2 -2
- package/dist/esm/helpers/ThemeManager.mjs +1 -211
- package/dist/esm/helpers/ThemeManager.mjs.map +2 -2
- package/dist/esm/helpers/ThemeManagerContext.js +1 -5
- package/dist/esm/helpers/ThemeManagerContext.js.map +2 -2
- package/dist/esm/helpers/ThemeManagerContext.mjs +1 -5
- package/dist/esm/helpers/ThemeManagerContext.mjs.map +2 -2
- package/dist/esm/helpers/createMediaStyle.js +1 -41
- package/dist/esm/helpers/createMediaStyle.js.map +2 -2
- package/dist/esm/helpers/createMediaStyle.mjs +1 -41
- package/dist/esm/helpers/createMediaStyle.mjs.map +2 -2
- package/dist/esm/helpers/createPropMapper.js +2 -404
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createPropMapper.mjs +2 -404
- package/dist/esm/helpers/createPropMapper.mjs.map +2 -2
- package/dist/esm/helpers/createProxy.js +2 -17
- package/dist/esm/helpers/createProxy.js.map +2 -2
- package/dist/esm/helpers/createProxy.mjs +2 -17
- package/dist/esm/helpers/createProxy.mjs.map +2 -2
- package/dist/esm/helpers/defaultOffset.js +1 -4
- package/dist/esm/helpers/defaultOffset.js.map +2 -2
- package/dist/esm/helpers/defaultOffset.mjs +1 -4
- package/dist/esm/helpers/defaultOffset.mjs.map +2 -2
- package/dist/esm/helpers/expandStyle.js +1 -61
- package/dist/esm/helpers/expandStyle.js.map +2 -2
- package/dist/esm/helpers/expandStyle.mjs +1 -61
- package/dist/esm/helpers/expandStyle.mjs.map +2 -2
- package/dist/esm/helpers/expandStyles.js +1 -51
- package/dist/esm/helpers/expandStyles.js.map +2 -2
- package/dist/esm/helpers/expandStyles.mjs +1 -51
- package/dist/esm/helpers/expandStyles.mjs.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +1 -66
- package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.mjs +1 -66
- package/dist/esm/helpers/extendStaticConfig.mjs.map +2 -2
- package/dist/esm/helpers/getAnimationDriver.js +1 -7
- package/dist/esm/helpers/getAnimationDriver.js.map +2 -2
- package/dist/esm/helpers/getAnimationDriver.mjs +1 -7
- package/dist/esm/helpers/getAnimationDriver.mjs.map +2 -2
- package/dist/esm/helpers/getExpandedShorthands.js +1 -14
- package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/esm/helpers/getExpandedShorthands.mjs +1 -14
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +2 -2
- package/dist/esm/helpers/getFontLanguage.js +1 -4
- package/dist/esm/helpers/getFontLanguage.js.map +2 -2
- package/dist/esm/helpers/getFontLanguage.mjs +1 -4
- package/dist/esm/helpers/getFontLanguage.mjs.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +3 -866
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.mjs +3 -866
- package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +1 -200
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.mjs +1 -200
- package/dist/esm/helpers/getStylesAtomic.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.js +1 -11
- package/dist/esm/helpers/getStylesAtomic.native.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.mjs +1 -11
- package/dist/esm/helpers/getStylesAtomic.native.mjs.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.js +4 -102
- package/dist/esm/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.mjs +4 -102
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.native.js +1 -6
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.native.mjs +1 -6
- package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +2 -2
- package/dist/esm/helpers/getVariantExtras.js +1 -66
- package/dist/esm/helpers/getVariantExtras.js.map +2 -2
- package/dist/esm/helpers/getVariantExtras.mjs +1 -66
- package/dist/esm/helpers/getVariantExtras.mjs.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +2 -190
- package/dist/esm/helpers/insertStyleRule.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.mjs +2 -190
- package/dist/esm/helpers/insertStyleRule.mjs.map +2 -2
- package/dist/esm/helpers/isObj.js +1 -4
- package/dist/esm/helpers/isObj.js.map +2 -2
- package/dist/esm/helpers/isObj.mjs +1 -4
- package/dist/esm/helpers/isObj.mjs.map +2 -2
- package/dist/esm/helpers/isTamaguiComponent.js +1 -7
- package/dist/esm/helpers/isTamaguiComponent.js.map +2 -2
- package/dist/esm/helpers/isTamaguiComponent.mjs +1 -7
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +2 -2
- package/dist/esm/helpers/isTamaguiElement.js +1 -8
- package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
- package/dist/esm/helpers/isTamaguiElement.mjs +1 -8
- package/dist/esm/helpers/isTamaguiElement.mjs.map +2 -2
- package/dist/esm/helpers/matchMedia.js +1 -16
- package/dist/esm/helpers/matchMedia.js.map +2 -2
- package/dist/esm/helpers/matchMedia.mjs +1 -16
- package/dist/esm/helpers/matchMedia.mjs.map +2 -2
- package/dist/esm/helpers/matchMedia.native.js +1 -22
- package/dist/esm/helpers/matchMedia.native.js.map +2 -2
- package/dist/esm/helpers/matchMedia.native.mjs +1 -22
- package/dist/esm/helpers/matchMedia.native.mjs.map +2 -2
- package/dist/esm/helpers/mergeProps.js +1 -29
- package/dist/esm/helpers/mergeProps.js.map +2 -2
- package/dist/esm/helpers/mergeProps.mjs +1 -29
- package/dist/esm/helpers/mergeProps.mjs.map +2 -2
- package/dist/esm/helpers/normalizeColor.js +1 -30
- package/dist/esm/helpers/normalizeColor.js.map +2 -2
- package/dist/esm/helpers/normalizeColor.mjs +1 -30
- package/dist/esm/helpers/normalizeColor.mjs.map +2 -2
- package/dist/esm/helpers/normalizeShadow.js +1 -22
- package/dist/esm/helpers/normalizeShadow.js.map +2 -2
- package/dist/esm/helpers/normalizeShadow.mjs +1 -22
- package/dist/esm/helpers/normalizeShadow.mjs.map +2 -2
- package/dist/esm/helpers/normalizeShadow.native.js +1 -30
- package/dist/esm/helpers/normalizeShadow.native.js.map +2 -2
- package/dist/esm/helpers/normalizeShadow.native.mjs +1 -30
- package/dist/esm/helpers/normalizeShadow.native.mjs.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.js +1 -4
- package/dist/esm/helpers/normalizeStylePropKeys.js.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +1 -4
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +1 -15
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +1 -15
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.js +1 -100
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +1 -100
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +1 -15
- package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.mjs +1 -15
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +2 -2
- package/dist/esm/helpers/pseudoDescriptors.js +1 -28
- package/dist/esm/helpers/pseudoDescriptors.js.map +2 -2
- package/dist/esm/helpers/pseudoDescriptors.mjs +1 -28
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +2 -2
- package/dist/esm/helpers/registerCSSVariable.js +1 -13
- package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
- package/dist/esm/helpers/registerCSSVariable.mjs +1 -13
- package/dist/esm/helpers/registerCSSVariable.mjs.map +2 -2
- package/dist/esm/helpers/themeable.js +1 -27
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/themeable.mjs +1 -27
- package/dist/esm/helpers/themeable.mjs.map +2 -2
- package/dist/esm/helpers/themes.js +1 -50
- package/dist/esm/helpers/themes.js.map +2 -2
- package/dist/esm/helpers/themes.mjs +1 -50
- package/dist/esm/helpers/themes.mjs.map +2 -2
- package/dist/esm/helpers/timer.js +1 -10
- package/dist/esm/helpers/timer.js.map +2 -2
- package/dist/esm/helpers/timer.mjs +1 -10
- package/dist/esm/helpers/timer.mjs.map +2 -2
- package/dist/esm/helpers/useShallowSetState.js +1 -34
- package/dist/esm/helpers/useShallowSetState.js.map +2 -2
- package/dist/esm/helpers/useShallowSetState.mjs +1 -34
- package/dist/esm/helpers/useShallowSetState.mjs.map +2 -2
- package/dist/esm/helpers/warnOnce.js +1 -13
- package/dist/esm/helpers/warnOnce.js.map +2 -2
- package/dist/esm/helpers/warnOnce.mjs +1 -13
- package/dist/esm/helpers/warnOnce.mjs.map +2 -2
- package/dist/esm/helpers/withStaticProperties.js +1 -8
- package/dist/esm/helpers/withStaticProperties.js.map +2 -2
- package/dist/esm/helpers/withStaticProperties.mjs +1 -8
- package/dist/esm/helpers/withStaticProperties.mjs.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.js +1 -8
- package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.mjs +1 -8
- package/dist/esm/hooks/getThemeUnwrapped.mjs.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.js +1 -9
- package/dist/esm/hooks/useAnimationDriver.js.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.mjs +1 -9
- package/dist/esm/hooks/useAnimationDriver.mjs.map +2 -2
- package/dist/esm/hooks/useId.js +1 -4
- package/dist/esm/hooks/useId.js.map +2 -2
- package/dist/esm/hooks/useId.mjs +1 -4
- package/dist/esm/hooks/useId.mjs.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.js +1 -8
- package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.mjs +1 -8
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +2 -2
- package/dist/esm/hooks/useMedia.js +1 -225
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useMedia.mjs +1 -225
- package/dist/esm/hooks/useMedia.mjs.map +2 -2
- package/dist/esm/hooks/useSafeRef.js +1 -34
- package/dist/esm/hooks/useSafeRef.js.map +2 -2
- package/dist/esm/hooks/useSafeRef.mjs +1 -34
- package/dist/esm/hooks/useSafeRef.mjs.map +2 -2
- package/dist/esm/hooks/useServerHooks.js +1 -10
- package/dist/esm/hooks/useServerHooks.js.map +2 -2
- package/dist/esm/hooks/useServerHooks.mjs +1 -10
- package/dist/esm/hooks/useServerHooks.mjs.map +2 -2
- package/dist/esm/hooks/useStyle.js +1 -36
- package/dist/esm/hooks/useStyle.js.map +2 -2
- package/dist/esm/hooks/useStyle.mjs +1 -36
- package/dist/esm/hooks/useStyle.mjs.map +2 -2
- package/dist/esm/hooks/useTheme.js +1 -204
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useTheme.mjs +1 -204
- package/dist/esm/hooks/useTheme.mjs.map +2 -2
- package/dist/esm/hooks/useThemeName.js +1 -27
- package/dist/esm/hooks/useThemeName.js.map +2 -2
- package/dist/esm/hooks/useThemeName.mjs +1 -27
- package/dist/esm/hooks/useThemeName.mjs.map +2 -2
- package/dist/esm/index.js +1 -88
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +1 -88
- package/dist/esm/index.mjs.map +2 -2
- package/dist/esm/inject-styles.js +1 -15
- package/dist/esm/inject-styles.js.map +2 -2
- package/dist/esm/inject-styles.mjs +1 -15
- package/dist/esm/inject-styles.mjs.map +2 -2
- package/dist/esm/insertFont.js +1 -66
- package/dist/esm/insertFont.js.map +2 -2
- package/dist/esm/insertFont.mjs +1 -66
- package/dist/esm/insertFont.mjs.map +2 -2
- package/dist/esm/setupHooks.js +1 -8
- package/dist/esm/setupHooks.js.map +2 -2
- package/dist/esm/setupHooks.mjs +1 -8
- package/dist/esm/setupHooks.mjs.map +2 -2
- package/dist/esm/setupReactNative.js +1 -24
- package/dist/esm/setupReactNative.js.map +2 -2
- package/dist/esm/setupReactNative.mjs +1 -24
- package/dist/esm/setupReactNative.mjs.map +2 -2
- package/dist/esm/styled.js +1 -69
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/styled.mjs +1 -69
- package/dist/esm/styled.mjs.map +2 -2
- package/dist/esm/updateTheme.js +1 -22
- package/dist/esm/updateTheme.js.map +2 -2
- package/dist/esm/updateTheme.mjs +1 -22
- package/dist/esm/updateTheme.mjs.map +2 -2
- package/dist/esm/views/AnimationDriverProvider.js +1 -8
- package/dist/esm/views/AnimationDriverProvider.js.map +2 -2
- package/dist/esm/views/AnimationDriverProvider.mjs +1 -8
- package/dist/esm/views/AnimationDriverProvider.mjs.map +2 -2
- package/dist/esm/views/FontLanguage.js +1 -16
- package/dist/esm/views/FontLanguage.js.map +2 -2
- package/dist/esm/views/FontLanguage.mjs +1 -16
- package/dist/esm/views/FontLanguage.mjs.map +2 -2
- package/dist/esm/views/FontLanguage.native.js +1 -10
- package/dist/esm/views/FontLanguage.native.js.map +2 -2
- package/dist/esm/views/FontLanguage.native.mjs +1 -10
- package/dist/esm/views/FontLanguage.native.mjs.map +2 -2
- package/dist/esm/views/Slot.js +1 -65
- package/dist/esm/views/Slot.js.map +2 -2
- package/dist/esm/views/Slot.mjs +1 -65
- package/dist/esm/views/Slot.mjs.map +2 -2
- package/dist/esm/views/Stack.js +1 -13
- package/dist/esm/views/Stack.js.map +2 -2
- package/dist/esm/views/Stack.mjs +1 -13
- package/dist/esm/views/Stack.mjs.map +2 -2
- package/dist/esm/views/TamaguiProvider.js +1 -56
- package/dist/esm/views/TamaguiProvider.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.mjs +1 -56
- package/dist/esm/views/TamaguiProvider.mjs.map +2 -2
- package/dist/esm/views/Text.js +1 -71
- package/dist/esm/views/Text.js.map +2 -2
- package/dist/esm/views/Text.mjs +1 -71
- package/dist/esm/views/Text.mjs.map +2 -2
- package/dist/esm/views/Theme.js +1 -55
- package/dist/esm/views/Theme.js.map +2 -2
- package/dist/esm/views/Theme.mjs +1 -55
- package/dist/esm/views/Theme.mjs.map +2 -2
- package/dist/esm/views/ThemeProvider.js +1 -44
- package/dist/esm/views/ThemeProvider.js.map +2 -2
- package/dist/esm/views/ThemeProvider.mjs +1 -44
- 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/createTamagui.ts"],
|
|
4
4
|
"sourcesContent": ["import { isRSC, isWeb } from '@tamagui/constants'\n\nimport { configListeners, setConfig } from './config.js'\nimport { createVariables, tokensKeysOrdered } from './createVariables.js'\nimport { getThemeCSSRules } from './helpers/getThemeCSSRules.js'\nimport {\n getAllRules,\n listenForSheetChanges,\n scanAllSheets,\n} from './helpers/insertStyleRule.js'\nimport {\n registerCSSVariable,\n tokensValueToVariable,\n variableToCSS,\n} from './helpers/registerCSSVariable.js'\nimport { ensureThemeVariable, proxyThemeToParents } from './helpers/themes.js'\nimport { configureMedia } from './hooks/useMedia.js'\nimport { parseFont, registerFontVariables } from './insertFont.js'\nimport { Tamagui } from './Tamagui.js'\nimport {\n CreateTamaguiProps,\n InferTamaguiConfig,\n TamaguiInternalConfig,\n ThemeParsed,\n} from './types.js'\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, key === 'zIndex'))\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 Map<string, DedupedTheme>()\n\n // first, de-dupe and parse them\n for (const themeName in themes) {\n const rawTheme = themes[themeName] as ThemeParsed\n // dont force referential equality but may need something more consistent than JSON.stringify\n const key = JSON.stringify(rawTheme)\n\n // if existing, avoid\n if (existing.has(key)) {\n const e = existing.get(key)!\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(key, 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": "AAAA,
|
|
6
|
-
"names": ["declarationsToRuleSet", "declarations", "key", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["isRSC", "isWeb", "configListeners", "setConfig", "createVariables", "tokensKeysOrdered", "getThemeCSSRules", "getAllRules", "listenForSheetChanges", "scanAllSheets", "registerCSSVariable", "tokensValueToVariable", "variableToCSS", "ensureThemeVariable", "proxyThemeToParents", "configureMedia", "parseFont", "registerFontVariables", "Tamagui", "createdConfigs", "createTamagui", "configIn", "_a", "fontTokens", "k", "v", "fontsParsed", "res", "familyName", "themeConfig", "themes", "cssRuleSets", "declarationsToRuleSet", "decs", "selector", "sep", "declarations", "fontDeclarations", "key", "skey", "val", "fontParsed", "name", "language", "fontVars", "fontSelector", "langSelector", "selectors", "specificRuleSet", "dedupedThemes", "existing", "themeName", "rawTheme", "e", "theme", "themeRuleSets", "tokensParsed", "shorthands", "config", "separator", "cb"]
|
|
7
7
|
}
|
|
@@ -1,191 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { createVariables, tokensKeysOrdered } from "./createVariables.js";
|
|
4
|
-
import { getThemeCSSRules } from "./helpers/getThemeCSSRules.js";
|
|
5
|
-
import {
|
|
6
|
-
getAllRules,
|
|
7
|
-
listenForSheetChanges,
|
|
8
|
-
scanAllSheets
|
|
9
|
-
} from "./helpers/insertStyleRule.js";
|
|
10
|
-
import {
|
|
11
|
-
registerCSSVariable,
|
|
12
|
-
tokensValueToVariable,
|
|
13
|
-
variableToCSS
|
|
14
|
-
} from "./helpers/registerCSSVariable.js";
|
|
15
|
-
import { ensureThemeVariable, proxyThemeToParents } from "./helpers/themes.js";
|
|
16
|
-
import { configureMedia } from "./hooks/useMedia.js";
|
|
17
|
-
import { parseFont, registerFontVariables } from "./insertFont.js";
|
|
18
|
-
import { Tamagui } from "./Tamagui.js";
|
|
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, key === "zIndex"));
|
|
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 Map();
|
|
92
|
-
for (const themeName in themes) {
|
|
93
|
-
const rawTheme = themes[themeName];
|
|
94
|
-
const key = JSON.stringify(rawTheme);
|
|
95
|
-
if (existing.has(key)) {
|
|
96
|
-
const e = existing.get(key);
|
|
97
|
-
themes[themeName] = e.theme;
|
|
98
|
-
e.names.push(themeName);
|
|
99
|
-
continue;
|
|
100
|
-
}
|
|
101
|
-
const theme = { ...rawTheme };
|
|
102
|
-
for (const key2 in theme) {
|
|
103
|
-
ensureThemeVariable(theme, key2);
|
|
104
|
-
}
|
|
105
|
-
themes[themeName] = theme;
|
|
106
|
-
dedupedThemes[themeName] = {
|
|
107
|
-
names: [themeName],
|
|
108
|
-
theme
|
|
109
|
-
};
|
|
110
|
-
existing.set(key, dedupedThemes[themeName]);
|
|
111
|
-
}
|
|
112
|
-
let themeRuleSets = [];
|
|
113
|
-
if (isWeb || isRSC) {
|
|
114
|
-
for (const themeName in dedupedThemes) {
|
|
115
|
-
themeRuleSets = [
|
|
116
|
-
...themeRuleSets,
|
|
117
|
-
...getThemeCSSRules({
|
|
118
|
-
config: configIn,
|
|
119
|
-
themeName,
|
|
120
|
-
...dedupedThemes[themeName]
|
|
121
|
-
})
|
|
122
|
-
];
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
for (const themeName in themes) {
|
|
126
|
-
themes[themeName] = proxyThemeToParents(themeName, themes[themeName], themes);
|
|
127
|
-
}
|
|
128
|
-
tokensValueToVariable.clear();
|
|
129
|
-
return {
|
|
130
|
-
themes,
|
|
131
|
-
cssRuleSets,
|
|
132
|
-
themeRuleSets
|
|
133
|
-
};
|
|
134
|
-
})();
|
|
135
|
-
const tokensParsed = Object.fromEntries(
|
|
136
|
-
Object.entries(configIn.tokens).map(([k, v]) => {
|
|
137
|
-
const val = Object.fromEntries(Object.entries(v).map(([k2, v2]) => [`$${k2}`, v2]));
|
|
138
|
-
tokensKeysOrdered.set(val, tokensKeysOrdered.get(v));
|
|
139
|
-
return [k, val];
|
|
140
|
-
})
|
|
141
|
-
);
|
|
142
|
-
const shorthands = configIn.shorthands || {};
|
|
143
|
-
const config = {
|
|
144
|
-
fontLanguages: [],
|
|
145
|
-
animations: {},
|
|
146
|
-
media: {},
|
|
147
|
-
...configIn,
|
|
148
|
-
// already processed by createTokens()
|
|
149
|
-
tokens: configIn.tokens,
|
|
150
|
-
// vite made this into a function if it wasn't set
|
|
151
|
-
shorthands: { ...shorthands },
|
|
152
|
-
inverseShorthands: shorthands ? Object.fromEntries(Object.entries(shorthands).map(([k, v]) => [v, k])) : {},
|
|
153
|
-
themes: themeConfig.themes,
|
|
154
|
-
fontsParsed,
|
|
155
|
-
themeConfig,
|
|
156
|
-
tokensParsed,
|
|
157
|
-
parsed: true,
|
|
158
|
-
getCSS: (separator = "\n") => {
|
|
159
|
-
return `
|
|
1
|
+
import{isRSC as N,isWeb as $}from"@tamagui/constants";import{configListeners as S,setConfig as w}from"./config.js";import{createVariables as V,tokensKeysOrdered as E}from"./createVariables.js";import{getThemeCSSRules as P}from"./helpers/getThemeCSSRules.js";import{getAllRules as R,listenForSheetChanges as x,scanAllSheets as D}from"./helpers/insertStyleRule.js";import{registerCSSVariable as M,tokensValueToVariable as F,variableToCSS as W}from"./helpers/registerCSSVariable.js";import{ensureThemeVariable as z,proxyThemeToParents as A}from"./helpers/themes.js";import{configureMedia as L}from"./hooks/useMedia.js";import{parseFont as B,registerFontVariables as G}from"./insertFont.js";import{Tamagui as J}from"./Tamagui.js";const v=new WeakMap;function ae(n){var b;if(v.has(n))return n;if(process.env.NODE_ENV==="development"){if(!n.tokens)throw new Error("Must define tokens");if(!n.themes)throw new Error("Must define themes");if(!n.fonts)throw new Error("Must define fonts")}D(),x();const k=Object.fromEntries(Object.entries(n.fonts).map(([e,o])=>[e,V(o,"f",!0)])),T=(()=>{const e={};for(const o in k)e[`$${o}`]=B(k[o]);return e})(),d=(()=>{const e={...n.themes},o=[];if($){let r=function(t,a=""){return`:root${a} {${c}${[...t].join(`;${c}`)}${c}}`};var me=r;const s=[],m={};for(const t in n.tokens)for(const a in n.tokens[t]){const l=n.tokens[t][a];M(l),s.push(W(l,t==="zIndex"))}for(const t in T){const a=T[t],[l,p]=t.includes("_")?t.split("_"):[t],g=G(a);m[t]={name:l.slice(1),declarations:g,language:p}}const c=process.env.NODE_ENV==="development"?n.cssStyleSeparator||" ":"";if(o.push(r(s)),m)for(const t in m){const{name:a,declarations:l,language:p="default"}=m[t],g=`.font_${a}`,C=`:root .t_lang-${a}-${p} ${g}`,O=p==="default"?` ${g}, ${C}`:C,j=r(l,O);o.push(j)}}const i={},u=new Map;for(const s in e){const m=e[s],c=JSON.stringify(m);if(u.has(c)){const t=u.get(c);e[s]=t.theme,t.names.push(s);continue}const r={...m};for(const t in r)z(r,t);e[s]=r,i[s]={names:[s],theme:r},u.set(c,i[s])}let h=[];if($||N)for(const s in i)h=[...h,...P({config:n,themeName:s,...i[s]})];for(const s in e)e[s]=A(s,e[s],e);return F.clear(),{themes:e,cssRuleSets:o,themeRuleSets:h}})(),_=Object.fromEntries(Object.entries(n.tokens).map(([e,o])=>{const i=Object.fromEntries(Object.entries(o).map(([u,h])=>[`$${u}`,h]));return E.set(i,E.get(o)),[e,i]})),y=n.shorthands||{},f={fontLanguages:[],animations:{},media:{},...n,tokens:n.tokens,shorthands:{...y},inverseShorthands:y?Object.fromEntries(Object.entries(y).map(([e,o])=>[o,e])):{},themes:d.themes,fontsParsed:T,themeConfig:d,tokensParsed:_,parsed:!0,getCSS:(e=`
|
|
2
|
+
`)=>`
|
|
160
3
|
._ovs-contain {overscroll-behavior:contain;}
|
|
161
4
|
.t_unmounted .t_will-mount {opacity:0;visibility:hidden;}
|
|
162
5
|
.is_Text .is_Text {display:inline-flex;}
|
|
163
6
|
._dsp_contents {display:contents;}
|
|
164
|
-
${
|
|
165
|
-
${
|
|
166
|
-
${
|
|
167
|
-
}
|
|
168
|
-
// const tokens = [...getToken(tokens.size[0])]
|
|
169
|
-
// .spacer-sm + ._dsp_contents._dsp-sm-hidden { margin-left: -var(--${}) }
|
|
170
|
-
};
|
|
171
|
-
configureMedia(config);
|
|
172
|
-
setConfig(config);
|
|
173
|
-
if (configListeners.size) {
|
|
174
|
-
configListeners.forEach((cb) => cb(config));
|
|
175
|
-
configListeners.clear();
|
|
176
|
-
}
|
|
177
|
-
createdConfigs.set(config, true);
|
|
178
|
-
if (process.env.NODE_ENV === "development") {
|
|
179
|
-
if ((_a = process.env.DEBUG) == null ? void 0 : _a.startsWith("tamagui")) {
|
|
180
|
-
console.log("Tamagui config:", config);
|
|
181
|
-
}
|
|
182
|
-
if (!globalThis["Tamagui"]) {
|
|
183
|
-
globalThis["Tamagui"] = Tamagui;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
return config;
|
|
187
|
-
}
|
|
188
|
-
export {
|
|
189
|
-
createTamagui
|
|
190
|
-
};
|
|
7
|
+
${d.cssRuleSets.join(e)}
|
|
8
|
+
${d.themeRuleSets.join(e)}
|
|
9
|
+
${R().join(e)}`};return L(f),w(f),S.size&&(S.forEach(e=>e(f)),S.clear()),v.set(f,!0),process.env.NODE_ENV==="development"&&((b=process.env.DEBUG)!=null&&b.startsWith("tamagui")&&console.log("Tamagui config:",f),globalThis.Tamagui||(globalThis.Tamagui=J)),f}export{ae as createTamagui};
|
|
191
10
|
//# sourceMappingURL=createTamagui.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createTamagui.ts"],
|
|
4
4
|
"sourcesContent": ["import { isRSC, isWeb } from '@tamagui/constants'\n\nimport { configListeners, setConfig } from './config.js'\nimport { createVariables, tokensKeysOrdered } from './createVariables.js'\nimport { getThemeCSSRules } from './helpers/getThemeCSSRules.js'\nimport {\n getAllRules,\n listenForSheetChanges,\n scanAllSheets,\n} from './helpers/insertStyleRule.js'\nimport {\n registerCSSVariable,\n tokensValueToVariable,\n variableToCSS,\n} from './helpers/registerCSSVariable.js'\nimport { ensureThemeVariable, proxyThemeToParents } from './helpers/themes.js'\nimport { configureMedia } from './hooks/useMedia.js'\nimport { parseFont, registerFontVariables } from './insertFont.js'\nimport { Tamagui } from './Tamagui.js'\nimport {\n CreateTamaguiProps,\n InferTamaguiConfig,\n TamaguiInternalConfig,\n ThemeParsed,\n} from './types.js'\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, key === 'zIndex'))\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 Map<string, DedupedTheme>()\n\n // first, de-dupe and parse them\n for (const themeName in themes) {\n const rawTheme = themes[themeName] as ThemeParsed\n // dont force referential equality but may need something more consistent than JSON.stringify\n const key = JSON.stringify(rawTheme)\n\n // if existing, avoid\n if (existing.has(key)) {\n const e = existing.get(key)!\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(key, 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": "AAAA,
|
|
6
|
-
"names": ["declarationsToRuleSet", "declarations", "key", "
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["isRSC", "isWeb", "configListeners", "setConfig", "createVariables", "tokensKeysOrdered", "getThemeCSSRules", "getAllRules", "listenForSheetChanges", "scanAllSheets", "registerCSSVariable", "tokensValueToVariable", "variableToCSS", "ensureThemeVariable", "proxyThemeToParents", "configureMedia", "parseFont", "registerFontVariables", "Tamagui", "createdConfigs", "createTamagui", "configIn", "_a", "fontTokens", "k", "v", "fontsParsed", "res", "familyName", "themeConfig", "themes", "cssRuleSets", "declarationsToRuleSet", "decs", "selector", "sep", "declarations", "fontDeclarations", "key", "skey", "val", "fontParsed", "name", "language", "fontVars", "fontSelector", "langSelector", "selectors", "specificRuleSet", "dedupedThemes", "existing", "themeName", "rawTheme", "e", "theme", "themeRuleSets", "tokensParsed", "shorthands", "config", "separator", "cb"]
|
|
7
7
|
}
|
package/dist/esm/createTheme.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createTheme.ts"],
|
|
4
4
|
"sourcesContent": ["import type { Variable } from './createVariable.js'\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,
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAMO,MAAMA,EACXC,GAIOA",
|
|
6
|
+
"names": ["createTheme", "theme"]
|
|
7
7
|
}
|
package/dist/esm/createTheme.mjs
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createTheme.ts"],
|
|
4
4
|
"sourcesContent": ["import type { Variable } from './createVariable.js'\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,
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAMO,MAAMA,EACXC,GAIOA",
|
|
6
|
+
"names": ["createTheme", "theme"]
|
|
7
7
|
}
|
package/dist/esm/createTokens.js
CHANGED
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import
|
|
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
|
-
};
|
|
1
|
+
import{createVariables as n}from"./createVariables.js";function r(e){return n(e)}const t=r({size:{0:1},space:{0:1},radius:{0:1},zIndex:{0:1},color:{0:"hi"}});export{r as createTokens};
|
|
15
2
|
//# sourceMappingURL=createTokens.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createTokens.ts"],
|
|
4
4
|
"sourcesContent": ["import { Variable } from './createVariable.js'\nimport { createVariables } from './createVariables.js'\nimport { CreateTokens } from './types.js'\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\n// TODO move to tests\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,
|
|
6
|
-
"names": ["tokens"]
|
|
5
|
+
"mappings": "AACA,OAAS,mBAAAA,MAAuB,uBAIzB,SAASC,EAAqCC,EAA0B,CAC7E,OAAOF,EAAgBE,CAAM,CAC/B,CAiCA,MAAMA,EAASD,EAAa,CAC1B,KAAM,CAAE,EAAG,CAAE,EACb,MAAO,CAAE,EAAG,CAAE,EACd,OAAQ,CAAE,EAAG,CAAE,EACf,OAAQ,CAAE,EAAG,CAAE,EACf,MAAO,CAAE,EAAG,IAAK,CACnB,CAAC",
|
|
6
|
+
"names": ["createVariables", "createTokens", "tokens"]
|
|
7
7
|
}
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import
|
|
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
|
-
};
|
|
1
|
+
import{createVariables as n}from"./createVariables.js";function r(e){return n(e)}const t=r({size:{0:1},space:{0:1},radius:{0:1},zIndex:{0:1},color:{0:"hi"}});export{r as createTokens};
|
|
15
2
|
//# sourceMappingURL=createTokens.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createTokens.ts"],
|
|
4
4
|
"sourcesContent": ["import { Variable } from './createVariable.js'\nimport { createVariables } from './createVariables.js'\nimport { CreateTokens } from './types.js'\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\n// TODO move to tests\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,
|
|
6
|
-
"names": ["tokens"]
|
|
5
|
+
"mappings": "AACA,OAAS,mBAAAA,MAAuB,uBAIzB,SAASC,EAAqCC,EAA0B,CAC7E,OAAOF,EAAgBE,CAAM,CAC/B,CAiCA,MAAMA,EAASD,EAAa,CAC1B,KAAM,CAAE,EAAG,CAAE,EACb,MAAO,CAAE,EAAG,CAAE,EACd,OAAQ,CAAE,EAAG,CAAE,EACf,OAAQ,CAAE,EAAG,CAAE,EACf,MAAO,CAAE,EAAG,IAAK,CACnB,CAAC",
|
|
6
|
+
"names": ["createVariables", "createTokens", "tokens"]
|
|
7
7
|
}
|
|
@@ -1,78 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { simpleHash } from "@tamagui/helpers";
|
|
3
|
-
import { getConfig } from "./config.js";
|
|
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
|
-
};
|
|
1
|
+
import{isWeb as n}from"@tamagui/constants";import{simpleHash as i}from"@tamagui/helpers";import{getConfig as V}from"./config.js";const o="isVar",p=e=>{if(a(e))return e;const{key:r,name:t,val:b}=e;return{[o]:!0,key:r,name:i(t,40),val:b,variable:n?c(t):""}};function l(e,r=!1){return a(e)?!r&&n&&e.variable?e.variable:`${e.val}`:`${e||""}`}function a(e){return e&&typeof e=="object"&&o in e}function x(e){if(u(!0),a(e))return l(e);const r=V().tokensParsed;return l(r[e]??e)}let s=!1;const u=e=>s=e,A=()=>s;function m(e){return a(e)?(u(!0),e.val):e}function d(e){return a(e)?e.name:e}function k(e){return a(e)?e.variable:e}const c=(e,r=!0)=>{if(process.env.NODE_ENV==="development"&&(!e||typeof e!="string"))throw new Error(`createCSSVariable expected string: ${e}`);const t=i(e,60);return r?`var(--${t})`:t};export{c as createCSSVariable,p as createVariable,A as didGetVariableValue,x as getVariable,d as getVariableName,m as getVariableValue,k as getVariableVariable,a as isVariable,u as setDidGetVariableValue,l as variableToString};
|
|
78
2
|
//# sourceMappingURL=createVariable.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/createVariable.ts"],
|
|
4
4
|
"sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { simpleHash } from '@tamagui/helpers'\n\nimport { getConfig } from './config.js'\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,
|
|
6
|
-
"names": []
|
|
5
|
+
"mappings": "AAAA,OAAS,SAAAA,MAAa,qBACtB,OAAS,cAAAC,MAAkB,mBAE3B,OAAS,aAAAC,MAAiB,cAO1B,MAAMC,EAAS,QAaFC,EACXC,GACgB,CAChB,GAAIC,EAAWD,CAAK,EAAG,OAAOA,EAC9B,KAAM,CAAE,IAAAE,EAAK,KAAAC,EAAM,IAAAC,CAAI,EAAIJ,EAC3B,MAAO,CACL,CAACF,CAAM,EAAG,GACV,IAAKI,EACL,KAAMN,EAAWO,EAAM,EAAE,EACzB,IAAKC,EACL,SAAUT,EAAQU,EAAkBF,CAAI,EAAI,EAC9C,CACF,EAGO,SAASG,EAAiBC,EAAaC,EAAW,GAAO,CAC9D,OAAIP,EAAWM,CAAK,EACd,CAACC,GAAYb,GAASY,EAAM,SACvBA,EAAM,SAER,GAAGA,EAAM,MAEX,GAAGA,GAAS,IACrB,CAEO,SAASN,EAAWQ,EAAkC,CAC3D,OAAOA,GAAK,OAAOA,GAAM,UAAYX,KAAUW,CACjD,CAEO,SAASC,EAAYC,EAAmC,CAE7D,GADAC,EAAuB,EAAI,EACvBX,EAAWU,CAAc,EAC3B,OAAOL,EAAiBK,CAAc,EAExC,MAAME,EAAShB,EAAU,EAAE,aAC3B,OAAOS,EAAiBO,EAAOF,CAAc,GAAKA,CAAc,CAClE,CAEA,IAAIG,EAAW,GACR,MAAMF,EAA0BR,GAAkBU,EAAWV,EACvDW,EAAsB,IAAMD,EAElC,SAASE,EAAiBP,EAAmB,CAClD,OAAIR,EAAWQ,CAAC,GACdG,EAAuB,EAAI,EACpBH,EAAE,KAEJA,CACT,CAEO,SAASQ,EAAgBR,EAAmB,CACjD,OAAIR,EAAWQ,CAAC,EAAUA,EAAE,KACrBA,CACT,CAEO,SAASS,EAAoBT,EAAmB,CACrD,OAAIR,EAAWQ,CAAC,EAAUA,EAAE,SACrBA,CACT,CAGO,MAAMJ,EAAoB,CAACc,EAAkBC,EAAa,KAAS,CACxE,GAAI,QAAQ,IAAI,WAAa,gBACvB,CAACD,GAAY,OAAOA,GAAa,UACnC,MAAM,IAAI,MAAM,sCAAsCA,GAAU,EAGpE,MAAMhB,EAAOP,EAAWuB,EAAU,EAAE,EACpC,OAAOC,EAAa,SAASjB,KAAUA,CACzC",
|
|
6
|
+
"names": ["isWeb", "simpleHash", "getConfig", "IS_VAR", "createVariable", "props", "isVariable", "key", "name", "val", "createCSSVariable", "variableToString", "vrble", "getValue", "v", "getVariable", "nameOrVariable", "setDidGetVariableValue", "tokens", "accessed", "didGetVariableValue", "getVariableValue", "getVariableName", "getVariableVariable", "nameProp", "includeVar"]
|
|
7
7
|
}
|