@tamagui/web 1.14.0 → 1.14.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Tamagui.js +76 -1
- package/dist/cjs/Tamagui.js.map +2 -2
- package/dist/cjs/addTheme.js +77 -2
- package/dist/cjs/addTheme.js.map +2 -2
- package/dist/cjs/config.js +122 -1
- package/dist/cjs/config.js.map +2 -2
- package/dist/cjs/constants/constants.js +48 -1
- package/dist/cjs/constants/constants.js.map +2 -2
- package/dist/cjs/constants/isDevTools.js +36 -1
- package/dist/cjs/constants/isDevTools.js.map +2 -2
- package/dist/cjs/contexts/AnimationDriverContext.js +29 -1
- package/dist/cjs/contexts/AnimationDriverContext.js.map +2 -2
- package/dist/cjs/contexts/ButtonNestingContext.js +29 -1
- package/dist/cjs/contexts/ButtonNestingContext.js.map +2 -2
- package/dist/cjs/contexts/FontLanguageContext.js +29 -1
- package/dist/cjs/contexts/FontLanguageContext.js.map +2 -2
- package/dist/cjs/contexts/TextAncestorContext.js +29 -1
- package/dist/cjs/contexts/TextAncestorContext.js.map +2 -2
- package/dist/cjs/createComponent.js +896 -2
- package/dist/cjs/createComponent.js.map +3 -3
- package/dist/cjs/createFont.js +68 -1
- package/dist/cjs/createFont.js.map +2 -2
- package/dist/cjs/createShorthands.js +30 -1
- package/dist/cjs/createShorthands.js.map +2 -2
- package/dist/cjs/createTamagui.js +202 -5
- package/dist/cjs/createTamagui.js.map +2 -2
- package/dist/cjs/createTheme.js +30 -1
- package/dist/cjs/createTheme.js.map +2 -2
- package/dist/cjs/createTokens.js +38 -1
- package/dist/cjs/createTokens.js.map +2 -2
- package/dist/cjs/createVariable.js +110 -1
- package/dist/cjs/createVariable.js.map +2 -2
- package/dist/cjs/createVariables.js +59 -1
- package/dist/cjs/createVariables.js.map +2 -2
- package/dist/cjs/helpers/ThemeManager.js +243 -1
- package/dist/cjs/helpers/ThemeManager.js.map +3 -3
- package/dist/cjs/helpers/ThemeManagerContext.js +29 -1
- package/dist/cjs/helpers/ThemeManagerContext.js.map +2 -2
- package/dist/cjs/helpers/createMediaStyle.js +66 -1
- package/dist/cjs/helpers/createMediaStyle.js.map +2 -2
- package/dist/cjs/helpers/createPropMapper.js +431 -2
- package/dist/cjs/helpers/createPropMapper.js.map +2 -2
- package/dist/cjs/helpers/createProxy.js +41 -2
- package/dist/cjs/helpers/createProxy.js.map +2 -2
- package/dist/cjs/helpers/defaultOffset.js +28 -1
- package/dist/cjs/helpers/defaultOffset.js.map +2 -2
- package/dist/cjs/helpers/expandStyle.js +85 -1
- package/dist/cjs/helpers/expandStyle.js.map +2 -2
- package/dist/cjs/helpers/expandStyles.js +76 -1
- package/dist/cjs/helpers/expandStyles.js.map +2 -2
- package/dist/cjs/helpers/extendStaticConfig.js +91 -1
- package/dist/cjs/helpers/extendStaticConfig.js.map +2 -2
- package/dist/cjs/helpers/getAnimationDriver.js +31 -1
- package/dist/cjs/helpers/getAnimationDriver.js.map +2 -2
- package/dist/cjs/helpers/getExpandedShorthands.js +38 -1
- package/dist/cjs/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/cjs/helpers/getFontLanguage.js +28 -1
- package/dist/cjs/helpers/getFontLanguage.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js +858 -3
- package/dist/cjs/helpers/getSplitStyles.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.js +226 -1
- package/dist/cjs/helpers/getStylesAtomic.js.map +2 -2
- package/dist/cjs/helpers/getStylesAtomic.native.js +37 -1
- package/dist/cjs/helpers/getStylesAtomic.native.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.js +126 -4
- package/dist/cjs/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/cjs/helpers/getThemeCSSRules.native.js +30 -1
- package/dist/cjs/helpers/getThemeCSSRules.native.js.map +2 -2
- package/dist/cjs/helpers/getVariantExtras.js +91 -1
- package/dist/cjs/helpers/getVariantExtras.js.map +2 -2
- package/dist/cjs/helpers/insertStyleRule.js +222 -2
- package/dist/cjs/helpers/insertStyleRule.js.map +2 -2
- package/dist/cjs/helpers/isObj.js +28 -1
- package/dist/cjs/helpers/isObj.js.map +2 -2
- package/dist/cjs/helpers/isTamaguiComponent.js +31 -1
- package/dist/cjs/helpers/isTamaguiComponent.js.map +2 -2
- package/dist/cjs/helpers/isTamaguiElement.js +32 -1
- package/dist/cjs/helpers/isTamaguiElement.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.js +41 -1
- package/dist/cjs/helpers/matchMedia.js.map +2 -2
- package/dist/cjs/helpers/matchMedia.native.js +47 -1
- package/dist/cjs/helpers/matchMedia.native.js.map +2 -2
- package/dist/cjs/helpers/mergeProps.js +53 -1
- package/dist/cjs/helpers/mergeProps.js.map +2 -2
- package/dist/cjs/helpers/normalizeColor.js +66 -1
- package/dist/cjs/helpers/normalizeColor.js.map +2 -2
- package/dist/cjs/helpers/normalizeShadow.js +46 -1
- package/dist/cjs/helpers/normalizeShadow.js.map +2 -2
- package/dist/cjs/helpers/normalizeShadow.native.js +54 -1
- package/dist/cjs/helpers/normalizeShadow.native.js.map +2 -2
- package/dist/cjs/helpers/normalizeStylePropKeys.js +28 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.js.map +2 -2
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js +39 -1
- package/dist/cjs/helpers/normalizeStylePropKeys.native.js.map +2 -2
- package/dist/cjs/helpers/normalizeValueWithProperty.js +125 -1
- package/dist/cjs/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/cjs/helpers/proxyThemeVariables.js +39 -1
- package/dist/cjs/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/cjs/helpers/pseudoDescriptors.js +52 -1
- package/dist/cjs/helpers/pseudoDescriptors.js.map +2 -2
- package/dist/cjs/helpers/registerCSSVariable.js +39 -1
- package/dist/cjs/helpers/registerCSSVariable.js.map +2 -2
- package/dist/cjs/helpers/themeable.js +61 -1
- package/dist/cjs/helpers/themeable.js.map +2 -2
- package/dist/cjs/helpers/themes.js +75 -1
- package/dist/cjs/helpers/themes.js.map +2 -2
- package/dist/cjs/helpers/timer.js +34 -1
- package/dist/cjs/helpers/timer.js.map +2 -2
- package/dist/cjs/helpers/useShallowSetState.js +58 -1
- package/dist/cjs/helpers/useShallowSetState.js.map +2 -2
- package/dist/cjs/helpers/warnOnce.js +37 -1
- package/dist/cjs/helpers/warnOnce.js.map +2 -2
- package/dist/cjs/helpers/withStaticProperties.js +32 -1
- package/dist/cjs/helpers/withStaticProperties.js.map +2 -2
- package/dist/cjs/hooks/getThemeUnwrapped.js +33 -1
- package/dist/cjs/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/cjs/hooks/useAnimationDriver.js +33 -1
- package/dist/cjs/hooks/useAnimationDriver.js.map +2 -2
- package/dist/cjs/hooks/useId.js +28 -1
- package/dist/cjs/hooks/useId.js.map +2 -2
- package/dist/cjs/hooks/useIsTouchDevice.js +32 -1
- package/dist/cjs/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/cjs/hooks/useMedia.js +264 -1
- package/dist/cjs/hooks/useMedia.js.map +2 -2
- package/dist/cjs/hooks/useSafeRef.js +58 -1
- package/dist/cjs/hooks/useSafeRef.js.map +2 -2
- package/dist/cjs/hooks/useServerHooks.js +35 -1
- package/dist/cjs/hooks/useServerHooks.js.map +2 -2
- package/dist/cjs/hooks/useStyle.js +60 -1
- package/dist/cjs/hooks/useStyle.js.map +2 -2
- package/dist/cjs/hooks/useTheme.js +276 -1
- package/dist/cjs/hooks/useTheme.js.map +2 -2
- package/dist/cjs/hooks/useThemeName.js +51 -1
- package/dist/cjs/hooks/useThemeName.js.map +2 -2
- package/dist/cjs/index.js +110 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/inject-styles.js +39 -1
- package/dist/cjs/inject-styles.js.map +2 -2
- package/dist/cjs/insertFont.js +92 -1
- package/dist/cjs/insertFont.js.map +2 -2
- package/dist/cjs/setupHooks.js +33 -1
- package/dist/cjs/setupHooks.js.map +2 -2
- package/dist/cjs/setupReactNative.js +50 -1
- package/dist/cjs/setupReactNative.js.map +2 -2
- package/dist/cjs/styled.js +93 -1
- package/dist/cjs/styled.js.map +2 -2
- package/dist/cjs/types.js +16 -1
- package/dist/cjs/types.js.map +2 -2
- package/dist/cjs/updateTheme.js +46 -1
- package/dist/cjs/updateTheme.js.map +2 -2
- package/dist/cjs/views/AnimationDriverProvider.js +32 -1
- package/dist/cjs/views/AnimationDriverProvider.js.map +2 -2
- package/dist/cjs/views/FontLanguage.js +40 -1
- package/dist/cjs/views/FontLanguage.js.map +2 -2
- package/dist/cjs/views/FontLanguage.native.js +34 -1
- package/dist/cjs/views/FontLanguage.native.js.map +2 -2
- package/dist/cjs/views/FontLanguage.types.js +16 -1
- package/dist/cjs/views/FontLanguage.types.js.map +2 -2
- package/dist/cjs/views/Slot.js +91 -1
- package/dist/cjs/views/Slot.js.map +2 -2
- package/dist/cjs/views/Stack.js +37 -1
- package/dist/cjs/views/Stack.js.map +2 -2
- package/dist/cjs/views/TamaguiProvider.js +90 -1
- package/dist/cjs/views/TamaguiProvider.js.map +2 -2
- package/dist/cjs/views/Text.js +95 -1
- package/dist/cjs/views/Text.js.map +2 -2
- package/dist/cjs/views/Theme.js +99 -1
- package/dist/cjs/views/Theme.js.map +3 -3
- package/dist/cjs/views/ThemeDebug.js +73 -0
- package/dist/cjs/views/ThemeDebug.js.map +7 -0
- package/dist/cjs/views/ThemeProvider.js +69 -1
- package/dist/cjs/views/ThemeProvider.js.map +2 -2
- package/dist/esm/Tamagui.js +44 -1
- package/dist/esm/Tamagui.js.map +2 -2
- package/dist/esm/Tamagui.mjs +44 -1
- package/dist/esm/Tamagui.mjs.map +2 -2
- package/dist/esm/addTheme.js +53 -2
- package/dist/esm/addTheme.js.map +2 -2
- package/dist/esm/addTheme.mjs +53 -2
- package/dist/esm/addTheme.mjs.map +2 -2
- package/dist/esm/config.js +89 -1
- package/dist/esm/config.js.map +2 -2
- package/dist/esm/config.mjs +89 -1
- package/dist/esm/config.mjs.map +2 -2
- package/dist/esm/constants/constants.js +21 -1
- package/dist/esm/constants/constants.js.map +2 -2
- package/dist/esm/constants/constants.mjs +21 -1
- package/dist/esm/constants/constants.mjs.map +2 -2
- package/dist/esm/constants/isDevTools.js +12 -1
- package/dist/esm/constants/isDevTools.js.map +2 -2
- package/dist/esm/constants/isDevTools.mjs +12 -1
- package/dist/esm/constants/isDevTools.mjs.map +2 -2
- package/dist/esm/contexts/AnimationDriverContext.js +5 -1
- package/dist/esm/contexts/AnimationDriverContext.js.map +2 -2
- package/dist/esm/contexts/AnimationDriverContext.mjs +5 -1
- package/dist/esm/contexts/AnimationDriverContext.mjs.map +2 -2
- package/dist/esm/contexts/ButtonNestingContext.js +5 -1
- package/dist/esm/contexts/ButtonNestingContext.js.map +2 -2
- package/dist/esm/contexts/ButtonNestingContext.mjs +5 -1
- package/dist/esm/contexts/ButtonNestingContext.mjs.map +2 -2
- package/dist/esm/contexts/FontLanguageContext.js +5 -1
- package/dist/esm/contexts/FontLanguageContext.js.map +2 -2
- package/dist/esm/contexts/FontLanguageContext.mjs +5 -1
- package/dist/esm/contexts/FontLanguageContext.mjs.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.js +5 -1
- package/dist/esm/contexts/TextAncestorContext.js.map +2 -2
- package/dist/esm/contexts/TextAncestorContext.mjs +5 -1
- package/dist/esm/contexts/TextAncestorContext.mjs.map +2 -2
- package/dist/esm/createComponent.js +869 -2
- package/dist/esm/createComponent.js.map +3 -3
- package/dist/esm/createComponent.mjs +869 -2
- package/dist/esm/createComponent.mjs.map +3 -3
- package/dist/esm/createFont.js +44 -1
- package/dist/esm/createFont.js.map +2 -2
- package/dist/esm/createFont.mjs +44 -1
- package/dist/esm/createFont.mjs.map +2 -2
- package/dist/esm/createShorthands.js +6 -1
- package/dist/esm/createShorthands.js.map +2 -2
- package/dist/esm/createShorthands.mjs +6 -1
- package/dist/esm/createShorthands.mjs.map +2 -2
- package/dist/esm/createTamagui.js +186 -5
- package/dist/esm/createTamagui.js.map +2 -2
- package/dist/esm/createTamagui.mjs +186 -5
- package/dist/esm/createTamagui.mjs.map +2 -2
- package/dist/esm/createTheme.js +6 -1
- package/dist/esm/createTheme.js.map +2 -2
- package/dist/esm/createTheme.mjs +6 -1
- package/dist/esm/createTheme.mjs.map +2 -2
- package/dist/esm/createTokens.js +14 -1
- package/dist/esm/createTokens.js.map +2 -2
- package/dist/esm/createTokens.mjs +14 -1
- package/dist/esm/createTokens.mjs.map +2 -2
- package/dist/esm/createVariable.js +77 -1
- package/dist/esm/createVariable.js.map +2 -2
- package/dist/esm/createVariable.mjs +77 -1
- package/dist/esm/createVariable.mjs.map +2 -2
- package/dist/esm/createVariables.js +34 -1
- package/dist/esm/createVariables.js.map +2 -2
- package/dist/esm/createVariables.mjs +34 -1
- package/dist/esm/createVariables.mjs.map +2 -2
- package/dist/esm/helpers/ThemeManager.js +218 -1
- package/dist/esm/helpers/ThemeManager.js.map +3 -3
- package/dist/esm/helpers/ThemeManager.mjs +218 -1
- package/dist/esm/helpers/ThemeManager.mjs.map +3 -3
- package/dist/esm/helpers/ThemeManagerContext.js +5 -1
- package/dist/esm/helpers/ThemeManagerContext.js.map +2 -2
- package/dist/esm/helpers/ThemeManagerContext.mjs +5 -1
- package/dist/esm/helpers/ThemeManagerContext.mjs.map +2 -2
- package/dist/esm/helpers/createMediaStyle.js +41 -1
- package/dist/esm/helpers/createMediaStyle.js.map +2 -2
- package/dist/esm/helpers/createMediaStyle.mjs +41 -1
- package/dist/esm/helpers/createMediaStyle.mjs.map +2 -2
- package/dist/esm/helpers/createPropMapper.js +404 -2
- package/dist/esm/helpers/createPropMapper.js.map +2 -2
- package/dist/esm/helpers/createPropMapper.mjs +404 -2
- package/dist/esm/helpers/createPropMapper.mjs.map +2 -2
- package/dist/esm/helpers/createProxy.js +17 -2
- package/dist/esm/helpers/createProxy.js.map +2 -2
- package/dist/esm/helpers/createProxy.mjs +17 -2
- package/dist/esm/helpers/createProxy.mjs.map +2 -2
- package/dist/esm/helpers/defaultOffset.js +4 -1
- package/dist/esm/helpers/defaultOffset.js.map +2 -2
- package/dist/esm/helpers/defaultOffset.mjs +4 -1
- package/dist/esm/helpers/defaultOffset.mjs.map +2 -2
- package/dist/esm/helpers/expandStyle.js +61 -1
- package/dist/esm/helpers/expandStyle.js.map +2 -2
- package/dist/esm/helpers/expandStyle.mjs +61 -1
- package/dist/esm/helpers/expandStyle.mjs.map +2 -2
- package/dist/esm/helpers/expandStyles.js +51 -1
- package/dist/esm/helpers/expandStyles.js.map +2 -2
- package/dist/esm/helpers/expandStyles.mjs +51 -1
- package/dist/esm/helpers/expandStyles.mjs.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.js +66 -1
- package/dist/esm/helpers/extendStaticConfig.js.map +2 -2
- package/dist/esm/helpers/extendStaticConfig.mjs +66 -1
- package/dist/esm/helpers/extendStaticConfig.mjs.map +2 -2
- package/dist/esm/helpers/getAnimationDriver.js +7 -1
- package/dist/esm/helpers/getAnimationDriver.js.map +2 -2
- package/dist/esm/helpers/getAnimationDriver.mjs +7 -1
- package/dist/esm/helpers/getAnimationDriver.mjs.map +2 -2
- package/dist/esm/helpers/getExpandedShorthands.js +14 -1
- package/dist/esm/helpers/getExpandedShorthands.js.map +2 -2
- package/dist/esm/helpers/getExpandedShorthands.mjs +14 -1
- package/dist/esm/helpers/getExpandedShorthands.mjs.map +2 -2
- package/dist/esm/helpers/getFontLanguage.js +4 -1
- package/dist/esm/helpers/getFontLanguage.js.map +2 -2
- package/dist/esm/helpers/getFontLanguage.mjs +4 -1
- package/dist/esm/helpers/getFontLanguage.mjs.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js +859 -3
- package/dist/esm/helpers/getSplitStyles.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.mjs +859 -3
- package/dist/esm/helpers/getSplitStyles.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.js +200 -1
- package/dist/esm/helpers/getStylesAtomic.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.mjs +200 -1
- package/dist/esm/helpers/getStylesAtomic.mjs.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.js +11 -1
- package/dist/esm/helpers/getStylesAtomic.native.js.map +2 -2
- package/dist/esm/helpers/getStylesAtomic.native.mjs +11 -1
- package/dist/esm/helpers/getStylesAtomic.native.mjs.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.js +102 -4
- package/dist/esm/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.mjs +102 -4
- package/dist/esm/helpers/getThemeCSSRules.mjs.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.native.js +6 -1
- package/dist/esm/helpers/getThemeCSSRules.native.js.map +2 -2
- package/dist/esm/helpers/getThemeCSSRules.native.mjs +6 -1
- package/dist/esm/helpers/getThemeCSSRules.native.mjs.map +2 -2
- package/dist/esm/helpers/getVariantExtras.js +66 -1
- package/dist/esm/helpers/getVariantExtras.js.map +2 -2
- package/dist/esm/helpers/getVariantExtras.mjs +66 -1
- package/dist/esm/helpers/getVariantExtras.mjs.map +2 -2
- package/dist/esm/helpers/insertStyleRule.js +190 -2
- package/dist/esm/helpers/insertStyleRule.js.map +2 -2
- package/dist/esm/helpers/insertStyleRule.mjs +190 -2
- package/dist/esm/helpers/insertStyleRule.mjs.map +2 -2
- package/dist/esm/helpers/isObj.js +4 -1
- package/dist/esm/helpers/isObj.js.map +2 -2
- package/dist/esm/helpers/isObj.mjs +4 -1
- package/dist/esm/helpers/isObj.mjs.map +2 -2
- package/dist/esm/helpers/isTamaguiComponent.js +7 -1
- package/dist/esm/helpers/isTamaguiComponent.js.map +2 -2
- package/dist/esm/helpers/isTamaguiComponent.mjs +7 -1
- package/dist/esm/helpers/isTamaguiComponent.mjs.map +2 -2
- package/dist/esm/helpers/isTamaguiElement.js +8 -1
- package/dist/esm/helpers/isTamaguiElement.js.map +2 -2
- package/dist/esm/helpers/isTamaguiElement.mjs +8 -1
- package/dist/esm/helpers/isTamaguiElement.mjs.map +2 -2
- package/dist/esm/helpers/matchMedia.js +16 -1
- package/dist/esm/helpers/matchMedia.js.map +2 -2
- package/dist/esm/helpers/matchMedia.mjs +16 -1
- package/dist/esm/helpers/matchMedia.mjs.map +2 -2
- package/dist/esm/helpers/matchMedia.native.js +22 -1
- package/dist/esm/helpers/matchMedia.native.js.map +2 -2
- package/dist/esm/helpers/matchMedia.native.mjs +22 -1
- package/dist/esm/helpers/matchMedia.native.mjs.map +2 -2
- package/dist/esm/helpers/mergeProps.js +29 -1
- package/dist/esm/helpers/mergeProps.js.map +2 -2
- package/dist/esm/helpers/mergeProps.mjs +29 -1
- package/dist/esm/helpers/mergeProps.mjs.map +2 -2
- package/dist/esm/helpers/normalizeColor.js +30 -1
- package/dist/esm/helpers/normalizeColor.js.map +2 -2
- package/dist/esm/helpers/normalizeColor.mjs +30 -1
- package/dist/esm/helpers/normalizeColor.mjs.map +2 -2
- package/dist/esm/helpers/normalizeShadow.js +22 -1
- package/dist/esm/helpers/normalizeShadow.js.map +2 -2
- package/dist/esm/helpers/normalizeShadow.mjs +22 -1
- package/dist/esm/helpers/normalizeShadow.mjs.map +2 -2
- package/dist/esm/helpers/normalizeShadow.native.js +30 -1
- package/dist/esm/helpers/normalizeShadow.native.js.map +2 -2
- package/dist/esm/helpers/normalizeShadow.native.mjs +30 -1
- package/dist/esm/helpers/normalizeShadow.native.mjs.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.js +4 -1
- package/dist/esm/helpers/normalizeStylePropKeys.js.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.mjs +4 -1
- package/dist/esm/helpers/normalizeStylePropKeys.mjs.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.native.js +15 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.js.map +2 -2
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs +15 -1
- package/dist/esm/helpers/normalizeStylePropKeys.native.mjs.map +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.js +100 -1
- package/dist/esm/helpers/normalizeValueWithProperty.js.map +2 -2
- package/dist/esm/helpers/normalizeValueWithProperty.mjs +100 -1
- package/dist/esm/helpers/normalizeValueWithProperty.mjs.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.js +15 -1
- package/dist/esm/helpers/proxyThemeVariables.js.map +2 -2
- package/dist/esm/helpers/proxyThemeVariables.mjs +15 -1
- package/dist/esm/helpers/proxyThemeVariables.mjs.map +2 -2
- package/dist/esm/helpers/pseudoDescriptors.js +28 -1
- package/dist/esm/helpers/pseudoDescriptors.js.map +2 -2
- package/dist/esm/helpers/pseudoDescriptors.mjs +28 -1
- package/dist/esm/helpers/pseudoDescriptors.mjs.map +2 -2
- package/dist/esm/helpers/registerCSSVariable.js +13 -1
- package/dist/esm/helpers/registerCSSVariable.js.map +2 -2
- package/dist/esm/helpers/registerCSSVariable.mjs +13 -1
- package/dist/esm/helpers/registerCSSVariable.mjs.map +2 -2
- package/dist/esm/helpers/themeable.js +27 -1
- package/dist/esm/helpers/themeable.js.map +2 -2
- package/dist/esm/helpers/themeable.mjs +27 -1
- package/dist/esm/helpers/themeable.mjs.map +2 -2
- package/dist/esm/helpers/themes.js +50 -1
- package/dist/esm/helpers/themes.js.map +2 -2
- package/dist/esm/helpers/themes.mjs +50 -1
- package/dist/esm/helpers/themes.mjs.map +2 -2
- package/dist/esm/helpers/timer.js +10 -1
- package/dist/esm/helpers/timer.js.map +2 -2
- package/dist/esm/helpers/timer.mjs +10 -1
- package/dist/esm/helpers/timer.mjs.map +2 -2
- package/dist/esm/helpers/useShallowSetState.js +34 -1
- package/dist/esm/helpers/useShallowSetState.js.map +2 -2
- package/dist/esm/helpers/useShallowSetState.mjs +34 -1
- package/dist/esm/helpers/useShallowSetState.mjs.map +2 -2
- package/dist/esm/helpers/warnOnce.js +13 -1
- package/dist/esm/helpers/warnOnce.js.map +2 -2
- package/dist/esm/helpers/warnOnce.mjs +13 -1
- package/dist/esm/helpers/warnOnce.mjs.map +2 -2
- package/dist/esm/helpers/withStaticProperties.js +8 -1
- package/dist/esm/helpers/withStaticProperties.js.map +2 -2
- package/dist/esm/helpers/withStaticProperties.mjs +8 -1
- package/dist/esm/helpers/withStaticProperties.mjs.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.js +8 -1
- package/dist/esm/hooks/getThemeUnwrapped.js.map +2 -2
- package/dist/esm/hooks/getThemeUnwrapped.mjs +8 -1
- package/dist/esm/hooks/getThemeUnwrapped.mjs.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.js +9 -1
- package/dist/esm/hooks/useAnimationDriver.js.map +2 -2
- package/dist/esm/hooks/useAnimationDriver.mjs +9 -1
- package/dist/esm/hooks/useAnimationDriver.mjs.map +2 -2
- package/dist/esm/hooks/useId.js +4 -1
- package/dist/esm/hooks/useId.js.map +2 -2
- package/dist/esm/hooks/useId.mjs +4 -1
- package/dist/esm/hooks/useId.mjs.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.js +8 -1
- package/dist/esm/hooks/useIsTouchDevice.js.map +2 -2
- package/dist/esm/hooks/useIsTouchDevice.mjs +8 -1
- package/dist/esm/hooks/useIsTouchDevice.mjs.map +2 -2
- package/dist/esm/hooks/useMedia.js +225 -1
- package/dist/esm/hooks/useMedia.js.map +2 -2
- package/dist/esm/hooks/useMedia.mjs +225 -1
- package/dist/esm/hooks/useMedia.mjs.map +2 -2
- package/dist/esm/hooks/useSafeRef.js +34 -1
- package/dist/esm/hooks/useSafeRef.js.map +2 -2
- package/dist/esm/hooks/useSafeRef.mjs +34 -1
- package/dist/esm/hooks/useSafeRef.mjs.map +2 -2
- package/dist/esm/hooks/useServerHooks.js +10 -1
- package/dist/esm/hooks/useServerHooks.js.map +2 -2
- package/dist/esm/hooks/useServerHooks.mjs +10 -1
- package/dist/esm/hooks/useServerHooks.mjs.map +2 -2
- package/dist/esm/hooks/useStyle.js +36 -1
- package/dist/esm/hooks/useStyle.js.map +2 -2
- package/dist/esm/hooks/useStyle.mjs +36 -1
- package/dist/esm/hooks/useStyle.mjs.map +2 -2
- package/dist/esm/hooks/useTheme.js +250 -1
- package/dist/esm/hooks/useTheme.js.map +2 -2
- package/dist/esm/hooks/useTheme.mjs +250 -1
- package/dist/esm/hooks/useTheme.mjs.map +2 -2
- package/dist/esm/hooks/useThemeName.js +27 -1
- package/dist/esm/hooks/useThemeName.js.map +2 -2
- package/dist/esm/hooks/useThemeName.mjs +27 -1
- package/dist/esm/hooks/useThemeName.mjs.map +2 -2
- package/dist/esm/index.js +88 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/index.mjs +88 -1
- package/dist/esm/index.mjs.map +2 -2
- package/dist/esm/inject-styles.js +15 -1
- package/dist/esm/inject-styles.js.map +2 -2
- package/dist/esm/inject-styles.mjs +15 -1
- package/dist/esm/inject-styles.mjs.map +2 -2
- package/dist/esm/insertFont.js +66 -1
- package/dist/esm/insertFont.js.map +2 -2
- package/dist/esm/insertFont.mjs +66 -1
- package/dist/esm/insertFont.mjs.map +2 -2
- package/dist/esm/setupHooks.js +8 -1
- package/dist/esm/setupHooks.js.map +2 -2
- package/dist/esm/setupHooks.mjs +8 -1
- package/dist/esm/setupHooks.mjs.map +2 -2
- package/dist/esm/setupReactNative.js +24 -1
- package/dist/esm/setupReactNative.js.map +2 -2
- package/dist/esm/setupReactNative.mjs +24 -1
- package/dist/esm/setupReactNative.mjs.map +2 -2
- package/dist/esm/styled.js +69 -1
- package/dist/esm/styled.js.map +2 -2
- package/dist/esm/styled.mjs +69 -1
- package/dist/esm/styled.mjs.map +2 -2
- package/dist/esm/updateTheme.js +22 -1
- package/dist/esm/updateTheme.js.map +2 -2
- package/dist/esm/updateTheme.mjs +22 -1
- package/dist/esm/updateTheme.mjs.map +2 -2
- package/dist/esm/views/AnimationDriverProvider.js +8 -1
- package/dist/esm/views/AnimationDriverProvider.js.map +2 -2
- package/dist/esm/views/AnimationDriverProvider.mjs +8 -1
- package/dist/esm/views/AnimationDriverProvider.mjs.map +2 -2
- package/dist/esm/views/FontLanguage.js +16 -1
- package/dist/esm/views/FontLanguage.js.map +2 -2
- package/dist/esm/views/FontLanguage.mjs +16 -1
- package/dist/esm/views/FontLanguage.mjs.map +2 -2
- package/dist/esm/views/FontLanguage.native.js +10 -1
- package/dist/esm/views/FontLanguage.native.js.map +2 -2
- package/dist/esm/views/FontLanguage.native.mjs +10 -1
- package/dist/esm/views/FontLanguage.native.mjs.map +2 -2
- package/dist/esm/views/Slot.js +65 -1
- package/dist/esm/views/Slot.js.map +2 -2
- package/dist/esm/views/Slot.mjs +65 -1
- package/dist/esm/views/Slot.mjs.map +2 -2
- package/dist/esm/views/Stack.js +13 -1
- package/dist/esm/views/Stack.js.map +2 -2
- package/dist/esm/views/Stack.mjs +13 -1
- package/dist/esm/views/Stack.mjs.map +2 -2
- package/dist/esm/views/TamaguiProvider.js +56 -1
- package/dist/esm/views/TamaguiProvider.js.map +2 -2
- package/dist/esm/views/TamaguiProvider.mjs +56 -1
- package/dist/esm/views/TamaguiProvider.mjs.map +2 -2
- package/dist/esm/views/Text.js +71 -1
- package/dist/esm/views/Text.js.map +2 -2
- package/dist/esm/views/Text.mjs +71 -1
- package/dist/esm/views/Text.mjs.map +2 -2
- package/dist/esm/views/Theme.js +74 -1
- package/dist/esm/views/Theme.js.map +3 -3
- package/dist/esm/views/Theme.mjs +74 -1
- package/dist/esm/views/Theme.mjs.map +3 -3
- package/dist/esm/views/ThemeDebug.js +49 -0
- package/dist/esm/views/ThemeDebug.js.map +7 -0
- package/dist/esm/views/ThemeDebug.mjs +49 -0
- package/dist/esm/views/ThemeDebug.mjs.map +7 -0
- package/dist/esm/views/ThemeProvider.js +44 -1
- package/dist/esm/views/ThemeProvider.js.map +2 -2
- package/dist/esm/views/ThemeProvider.mjs +44 -1
- package/dist/esm/views/ThemeProvider.mjs.map +2 -2
- package/package.json +9 -9
- package/src/createComponent.tsx +7 -14
- package/src/helpers/ThemeManager.tsx +3 -3
- package/src/views/Theme.tsx +10 -20
- package/src/views/ThemeDebug.tsx +49 -0
- package/types/createComponent.d.ts.map +1 -1
- package/types/views/Theme.d.ts +3 -2
- package/types/views/Theme.d.ts.map +1 -1
- package/types/views/ThemeDebug.d.ts +9 -0
- package/types/views/ThemeDebug.d.ts.map +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/Theme.tsx"],
|
|
4
|
-
"sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { Children, cloneElement, isValidElement, useEffect, useId, useMemo } from 'react'\n\nimport { variableToString } from '../createVariable.js'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'\nimport { useServerRef } from '../hooks/useServerHooks.js'\nimport { ChangedThemeResponse, useChangeThemeEffect } from '../hooks/useTheme.js'\nimport type { ThemeProps } from '../types.js'\n\nexport function Theme(props: ThemeProps) {\n // @ts-expect-error only for internal views\n if (props.disable) {\n return props.children\n }\n\n const isRoot = !!props['_isRoot']\n const themeState = useChangeThemeEffect(props, isRoot)\n\n let children = props['data-themeable']\n ? Children.map(props.children, (child) =>\n cloneElement(child, { ['data-themeable']: true })\n )\n : props.children\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] === 'visualize') {\n children = (\n <
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["import { isWeb } from '@tamagui/constants'\nimport { Children, cloneElement, isValidElement, useEffect, useId, useMemo } from 'react'\n\nimport { variableToString } from '../createVariable.js'\nimport { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'\nimport { useServerRef } from '../hooks/useServerHooks.js'\nimport { ChangedThemeResponse, useChangeThemeEffect } from '../hooks/useTheme.js'\nimport type { DebugProp, ThemeProps } from '../types.js'\nimport { ThemeDebug } from './ThemeDebug'\n\nexport function Theme(props: ThemeProps) {\n // @ts-expect-error only for internal views\n if (props.disable) {\n return props.children\n }\n\n const isRoot = !!props['_isRoot']\n const themeState = useChangeThemeEffect(props, isRoot)\n\n let children = props['data-themeable']\n ? Children.map(props.children, (child) =>\n cloneElement(child, { ['data-themeable']: true })\n )\n : props.children\n\n if (process.env.NODE_ENV === 'development') {\n if (props['debug'] === 'visualize') {\n children = (\n <ThemeDebug themeState={themeState} themeProps={props}>\n {children}\n </ThemeDebug>\n )\n }\n }\n\n return useThemedChildren(themeState, children, props, isRoot)\n}\n\nexport function useThemedChildren(\n themeState: ChangedThemeResponse,\n children: any,\n props: {\n forceClassName?: boolean\n shallow?: boolean\n passPropsToChildren?: boolean\n debug?: DebugProp\n },\n isRoot = false\n) {\n const { themeManager, className, theme, isNewTheme } = themeState\n const { shallow, forceClassName } = props\n const hasEverThemed = useServerRef(false)\n if (isNewTheme) {\n hasEverThemed.current = true\n }\n\n const shouldRenderChildrenWithTheme =\n isNewTheme || hasEverThemed.current || forceClassName || isRoot\n\n return useMemo(() => {\n if (!shouldRenderChildrenWithTheme) {\n return children\n }\n\n // be sure to memoize shouldReset to avoid reparenting\n let next = Children.toArray(children)\n\n // each children of these children wont get the theme\n if (shallow && themeManager) {\n next = next.map((child) => {\n return isValidElement(child)\n ? cloneElement(\n child,\n undefined,\n <Theme name={themeManager.state.parentName}>\n {(child as any).props.children}\n </Theme>\n )\n : child\n })\n }\n\n const wrapped = (\n <ThemeManagerContext.Provider value={themeManager}>\n {next}\n </ThemeManagerContext.Provider>\n )\n\n if (forceClassName === false) {\n return wrapped\n }\n\n if (isWeb && !props.passPropsToChildren) {\n // in order to provide currentColor, set color by default\n const themeColor = theme && isNewTheme ? variableToString(theme.color) : ''\n const colorStyle = {\n color: themeColor,\n }\n\n return (\n <span className={`${className || ''} _dsp_contents is_Theme`} style={colorStyle}>\n {wrapped}\n </span>\n )\n }\n\n return wrapped\n }, [\n forceClassName,\n props.passPropsToChildren,\n shouldRenderChildrenWithTheme,\n themeManager,\n children,\n theme,\n isNewTheme,\n className,\n ])\n}\n"],
|
|
5
|
+
"mappings": "AA4BQ;AA5BR,SAAS,aAAa;AACtB,SAAS,UAAU,cAAc,gBAAkC,eAAe;AAElF,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,oBAAoB;AAC7B,SAA+B,4BAA4B;AAE3D,SAAS,kBAAkB;AAEpB,SAAS,MAAM,OAAmB;AAEvC,MAAI,MAAM,SAAS;AACjB,WAAO,MAAM;AAAA,EACf;AAEA,QAAM,SAAS,CAAC,CAAC,MAAM,SAAS;AAChC,QAAM,aAAa,qBAAqB,OAAO,MAAM;AAErD,MAAI,WAAW,MAAM,gBAAgB,IACjC,SAAS;AAAA,IAAI,MAAM;AAAA,IAAU,CAAC,UAC5B,aAAa,OAAO,EAAE,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAAA,EAClD,IACA,MAAM;AAEV,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,MAAM,OAAO,MAAM,aAAa;AAClC,iBACE,oBAAC,cAAW,YAAwB,YAAY,OAC7C,UACH;AAAA,IAEJ;AAAA,EACF;AAEA,SAAO,kBAAkB,YAAY,UAAU,OAAO,MAAM;AAC9D;AAEO,SAAS,kBACd,YACA,UACA,OAMA,SAAS,OACT;AACA,QAAM,EAAE,cAAc,WAAW,OAAO,WAAW,IAAI;AACvD,QAAM,EAAE,SAAS,eAAe,IAAI;AACpC,QAAM,gBAAgB,aAAa,KAAK;AACxC,MAAI,YAAY;AACd,kBAAc,UAAU;AAAA,EAC1B;AAEA,QAAM,gCACJ,cAAc,cAAc,WAAW,kBAAkB;AAE3D,SAAO,QAAQ,MAAM;AACnB,QAAI,CAAC,+BAA+B;AAClC,aAAO;AAAA,IACT;AAGA,QAAI,OAAO,SAAS,QAAQ,QAAQ;AAGpC,QAAI,WAAW,cAAc;AAC3B,aAAO,KAAK,IAAI,CAAC,UAAU;AACzB,eAAO,eAAe,KAAK,IACvB;AAAA,UACE;AAAA,UACA;AAAA,UACA,oBAAC,SAAM,MAAM,aAAa,MAAM,YAC5B,gBAAc,MAAM,UACxB;AAAA,QACF,IACA;AAAA,MACN,CAAC;AAAA,IACH;AAEA,UAAM,UACJ,oBAAC,oBAAoB,UAApB,EAA6B,OAAO,cAClC,gBACH;AAGF,QAAI,mBAAmB,OAAO;AAC5B,aAAO;AAAA,IACT;AAEA,QAAI,SAAS,CAAC,MAAM,qBAAqB;AAEvC,YAAM,aAAa,SAAS,aAAa,iBAAiB,MAAM,KAAK,IAAI;AACzE,YAAM,aAAa;AAAA,QACjB,OAAO;AAAA,MACT;AAEA,aACE,oBAAC,UAAK,WAAW,GAAG,aAAa,6BAA6B,OAAO,YAClE,mBACH;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT,GAAG;AAAA,IACD;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsxs } from "react/jsx-runtime";
|
|
2
|
+
function ThemeDebug({
|
|
3
|
+
themeState,
|
|
4
|
+
themeProps,
|
|
5
|
+
children,
|
|
6
|
+
onChangeCount
|
|
7
|
+
}) {
|
|
8
|
+
var _a, _b, _c, _d;
|
|
9
|
+
if (process.env.NODE_ENV === "development") {
|
|
10
|
+
return /* @__PURE__ */ jsxs(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
style: {
|
|
14
|
+
whiteSpace: "pre",
|
|
15
|
+
background: "green",
|
|
16
|
+
display: "inline",
|
|
17
|
+
border: "1px solid #ccc",
|
|
18
|
+
margin: 20
|
|
19
|
+
},
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ jsxs("code", { children: [
|
|
22
|
+
"<Theme />\xA0",
|
|
23
|
+
JSON.stringify(
|
|
24
|
+
{
|
|
25
|
+
name: themeState.name,
|
|
26
|
+
className: themeState.className,
|
|
27
|
+
inverse: themeProps.inverse,
|
|
28
|
+
forceClassName: themeProps.forceClassName,
|
|
29
|
+
parent: (_a = themeState.themeManager) == null ? void 0 : _a.state.parentName,
|
|
30
|
+
id: (_b = themeState.themeManager) == null ? void 0 : _b.id,
|
|
31
|
+
parentId: (_d = (_c = themeState.themeManager) == null ? void 0 : _c.parentManager) == null ? void 0 : _d.id,
|
|
32
|
+
isNew: themeState.isNewTheme,
|
|
33
|
+
onChangeCount
|
|
34
|
+
},
|
|
35
|
+
null,
|
|
36
|
+
2
|
|
37
|
+
)
|
|
38
|
+
] }),
|
|
39
|
+
children
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
return children;
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
ThemeDebug
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=ThemeDebug.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/ThemeDebug.tsx"],
|
|
4
|
+
"sourcesContent": ["import { ChangedThemeResponse } from '../hooks/useTheme.js'\nimport { ThemeProps } from '../types.js'\n\nexport function ThemeDebug({\n themeState,\n themeProps,\n children,\n onChangeCount,\n}: {\n themeState: ChangedThemeResponse\n themeProps: ThemeProps\n onChangeCount?: number\n children: any\n}) {\n if (process.env.NODE_ENV === 'development') {\n return (\n <div\n style={{\n whiteSpace: 'pre',\n background: 'green',\n display: 'inline',\n border: '1px solid #ccc',\n margin: 20,\n }}\n >\n <code>\n <Theme /> \n {JSON.stringify(\n {\n name: themeState.name,\n className: themeState.className,\n inverse: themeProps.inverse,\n forceClassName: themeProps.forceClassName,\n parent: themeState.themeManager?.state.parentName,\n id: themeState.themeManager?.id,\n parentId: themeState.themeManager?.parentManager?.id,\n isNew: themeState.isNewTheme,\n onChangeCount,\n },\n null,\n 2\n )}\n </code>\n {children}\n </div>\n )\n }\n return children\n}\n"],
|
|
5
|
+
"mappings": "AAyBQ;AAtBD,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAbH;AAcE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,QAEA;AAAA,+BAAC,UAAK;AAAA;AAAA,YAEH,KAAK;AAAA,cACJ;AAAA,gBACE,MAAM,WAAW;AAAA,gBACjB,WAAW,WAAW;AAAA,gBACtB,SAAS,WAAW;AAAA,gBACpB,gBAAgB,WAAW;AAAA,gBAC3B,SAAQ,gBAAW,iBAAX,mBAAyB,MAAM;AAAA,gBACvC,KAAI,gBAAW,iBAAX,mBAAyB;AAAA,gBAC7B,WAAU,sBAAW,iBAAX,mBAAyB,kBAAzB,mBAAwC;AAAA,gBAClD,OAAO,WAAW;AAAA,gBAClB;AAAA,cACF;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,aACF;AAAA,UACC;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsxs } from "react/jsx-runtime";
|
|
2
|
+
function ThemeDebug({
|
|
3
|
+
themeState,
|
|
4
|
+
themeProps,
|
|
5
|
+
children,
|
|
6
|
+
onChangeCount
|
|
7
|
+
}) {
|
|
8
|
+
var _a, _b, _c, _d;
|
|
9
|
+
if (process.env.NODE_ENV === "development") {
|
|
10
|
+
return /* @__PURE__ */ jsxs(
|
|
11
|
+
"div",
|
|
12
|
+
{
|
|
13
|
+
style: {
|
|
14
|
+
whiteSpace: "pre",
|
|
15
|
+
background: "green",
|
|
16
|
+
display: "inline",
|
|
17
|
+
border: "1px solid #ccc",
|
|
18
|
+
margin: 20
|
|
19
|
+
},
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ jsxs("code", { children: [
|
|
22
|
+
"<Theme />\xA0",
|
|
23
|
+
JSON.stringify(
|
|
24
|
+
{
|
|
25
|
+
name: themeState.name,
|
|
26
|
+
className: themeState.className,
|
|
27
|
+
inverse: themeProps.inverse,
|
|
28
|
+
forceClassName: themeProps.forceClassName,
|
|
29
|
+
parent: (_a = themeState.themeManager) == null ? void 0 : _a.state.parentName,
|
|
30
|
+
id: (_b = themeState.themeManager) == null ? void 0 : _b.id,
|
|
31
|
+
parentId: (_d = (_c = themeState.themeManager) == null ? void 0 : _c.parentManager) == null ? void 0 : _d.id,
|
|
32
|
+
isNew: themeState.isNewTheme,
|
|
33
|
+
onChangeCount
|
|
34
|
+
},
|
|
35
|
+
null,
|
|
36
|
+
2
|
|
37
|
+
)
|
|
38
|
+
] }),
|
|
39
|
+
children
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
return children;
|
|
45
|
+
}
|
|
46
|
+
export {
|
|
47
|
+
ThemeDebug
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=ThemeDebug.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/views/ThemeDebug.tsx"],
|
|
4
|
+
"sourcesContent": ["import { ChangedThemeResponse } from '../hooks/useTheme.js'\nimport { ThemeProps } from '../types.js'\n\nexport function ThemeDebug({\n themeState,\n themeProps,\n children,\n onChangeCount,\n}: {\n themeState: ChangedThemeResponse\n themeProps: ThemeProps\n onChangeCount?: number\n children: any\n}) {\n if (process.env.NODE_ENV === 'development') {\n return (\n <div\n style={{\n whiteSpace: 'pre',\n background: 'green',\n display: 'inline',\n border: '1px solid #ccc',\n margin: 20,\n }}\n >\n <code>\n <Theme /> \n {JSON.stringify(\n {\n name: themeState.name,\n className: themeState.className,\n inverse: themeProps.inverse,\n forceClassName: themeProps.forceClassName,\n parent: themeState.themeManager?.state.parentName,\n id: themeState.themeManager?.id,\n parentId: themeState.themeManager?.parentManager?.id,\n isNew: themeState.isNewTheme,\n onChangeCount,\n },\n null,\n 2\n )}\n </code>\n {children}\n </div>\n )\n }\n return children\n}\n"],
|
|
5
|
+
"mappings": "AAyBQ;AAtBD,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AAbH;AAcE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,YAAY;AAAA,UACZ,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,QACV;AAAA,QAEA;AAAA,+BAAC,UAAK;AAAA;AAAA,YAEH,KAAK;AAAA,cACJ;AAAA,gBACE,MAAM,WAAW;AAAA,gBACjB,WAAW,WAAW;AAAA,gBACtB,SAAS,WAAW;AAAA,gBACpB,gBAAgB,WAAW;AAAA,gBAC3B,SAAQ,gBAAW,iBAAX,mBAAyB,MAAM;AAAA,gBACvC,KAAI,gBAAW,iBAAX,mBAAyB;AAAA,gBAC7B,WAAU,sBAAW,iBAAX,mBAAyB,kBAAzB,mBAAwC;AAAA,gBAClD,OAAO,WAAW;AAAA,gBAClB;AAAA,cACF;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAAA,aACF;AAAA,UACC;AAAA;AAAA;AAAA,IACH;AAAA,EAEJ;AACA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,2 +1,45 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isClient } from "@tamagui/constants";
|
|
3
|
+
import { createContext, useLayoutEffect, useMemo } from "react";
|
|
4
|
+
import { THEME_CLASSNAME_PREFIX } from "../constants/constants.js";
|
|
5
|
+
import { Theme } from "./Theme.js";
|
|
6
|
+
const ThemeProviderRootContext = createContext(null);
|
|
7
|
+
const ThemeProvider = (props) => {
|
|
8
|
+
if (isClient) {
|
|
9
|
+
useLayoutEffect(() => {
|
|
10
|
+
if (props.disableRootThemeClass)
|
|
11
|
+
return;
|
|
12
|
+
const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`;
|
|
13
|
+
const target = props.themeClassNameOnRoot ? document.documentElement : document.body;
|
|
14
|
+
target.classList.add(cn);
|
|
15
|
+
return () => {
|
|
16
|
+
target.classList.remove(cn);
|
|
17
|
+
};
|
|
18
|
+
}, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot]);
|
|
19
|
+
}
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
ThemeProviderRootContext.Provider,
|
|
22
|
+
{
|
|
23
|
+
value: useMemo(() => {
|
|
24
|
+
return {
|
|
25
|
+
defaultTheme: props.defaultTheme
|
|
26
|
+
};
|
|
27
|
+
}, []),
|
|
28
|
+
children: /* @__PURE__ */ jsx(
|
|
29
|
+
Theme,
|
|
30
|
+
{
|
|
31
|
+
className: props.className,
|
|
32
|
+
name: props.defaultTheme,
|
|
33
|
+
forceClassName: props.disableRootThemeClass ? false : void 0,
|
|
34
|
+
_isRoot: true,
|
|
35
|
+
children: props.children
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
ThemeProvider,
|
|
43
|
+
ThemeProviderRootContext
|
|
44
|
+
};
|
|
2
45
|
//# sourceMappingURL=ThemeProvider.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/ThemeProvider.tsx"],
|
|
4
4
|
"sourcesContent": ["import { isClient } from '@tamagui/constants'\nimport { createContext, useLayoutEffect, useMemo } from 'react'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants.js'\nimport { Theme } from './Theme.js'\n\nexport type ThemeProviderProps = {\n className?: string\n defaultTheme: string\n disableRootThemeClass?: boolean\n themeClassNameOnRoot?: boolean\n children?: any\n reset?: boolean\n}\n\nexport const ThemeProviderRootContext = createContext<Pick<\n ThemeProviderProps,\n 'defaultTheme'\n> | null>(null)\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n // ensure theme is attached to root body node as well to work with modals by default\n if (isClient) {\n useLayoutEffect(() => {\n if (props.disableRootThemeClass) return\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`\n const target = props.themeClassNameOnRoot ? document.documentElement : document.body\n target.classList.add(cn)\n return () => {\n target.classList.remove(cn)\n }\n }, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot])\n }\n\n return (\n <ThemeProviderRootContext.Provider\n value={useMemo(() => {\n return {\n defaultTheme: props.defaultTheme,\n }\n // NOTE DON'T CHANGE THIS ITS ONLY USED BY useThemeName for SSR safety for now...\n }, [])}\n >\n <Theme\n className={props.className}\n name={props.defaultTheme}\n forceClassName={props.disableRootThemeClass ? false : undefined}\n // @ts-expect-error\n _isRoot\n >\n {props.children}\n </Theme>\n </ThemeProviderRootContext.Provider>\n )\n}\n"],
|
|
5
|
-
"mappings": "AA2CM,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AA2CM;AA3CN,SAAS,gBAAgB;AACzB,SAAS,eAAe,iBAAiB,eAAe;AAExD,SAAS,8BAA8B;AACvC,SAAS,aAAa;AAWf,MAAM,2BAA2B,cAG9B,IAAI;AAEP,MAAM,gBAAgB,CAAC,UAA8B;AAE1D,MAAI,UAAU;AACZ,oBAAgB,MAAM;AACpB,UAAI,MAAM;AAAuB;AACjC,YAAM,KAAK,GAAG,yBAAyB,MAAM;AAC7C,YAAM,SAAS,MAAM,uBAAuB,SAAS,kBAAkB,SAAS;AAChF,aAAO,UAAU,IAAI,EAAE;AACvB,aAAO,MAAM;AACX,eAAO,UAAU,OAAO,EAAE;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC,MAAM,cAAc,MAAM,uBAAuB,MAAM,oBAAoB,CAAC;AAAA,EAClF;AAEA,SACE;AAAA,IAAC,yBAAyB;AAAA,IAAzB;AAAA,MACC,OAAO,QAAQ,MAAM;AACnB,eAAO;AAAA,UACL,cAAc,MAAM;AAAA,QACtB;AAAA,MAEF,GAAG,CAAC,CAAC;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,MAAM;AAAA,UACjB,MAAM,MAAM;AAAA,UACZ,gBAAgB,MAAM,wBAAwB,QAAQ;AAAA,UAEtD,SAAO;AAAA,UAEN,gBAAM;AAAA;AAAA,MACT;AAAA;AAAA,EACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,2 +1,45 @@
|
|
|
1
|
-
import{jsx
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isClient } from "@tamagui/constants";
|
|
3
|
+
import { createContext, useLayoutEffect, useMemo } from "react";
|
|
4
|
+
import { THEME_CLASSNAME_PREFIX } from "../constants/constants.js";
|
|
5
|
+
import { Theme } from "./Theme.js";
|
|
6
|
+
const ThemeProviderRootContext = createContext(null);
|
|
7
|
+
const ThemeProvider = (props) => {
|
|
8
|
+
if (isClient) {
|
|
9
|
+
useLayoutEffect(() => {
|
|
10
|
+
if (props.disableRootThemeClass)
|
|
11
|
+
return;
|
|
12
|
+
const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`;
|
|
13
|
+
const target = props.themeClassNameOnRoot ? document.documentElement : document.body;
|
|
14
|
+
target.classList.add(cn);
|
|
15
|
+
return () => {
|
|
16
|
+
target.classList.remove(cn);
|
|
17
|
+
};
|
|
18
|
+
}, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot]);
|
|
19
|
+
}
|
|
20
|
+
return /* @__PURE__ */ jsx(
|
|
21
|
+
ThemeProviderRootContext.Provider,
|
|
22
|
+
{
|
|
23
|
+
value: useMemo(() => {
|
|
24
|
+
return {
|
|
25
|
+
defaultTheme: props.defaultTheme
|
|
26
|
+
};
|
|
27
|
+
}, []),
|
|
28
|
+
children: /* @__PURE__ */ jsx(
|
|
29
|
+
Theme,
|
|
30
|
+
{
|
|
31
|
+
className: props.className,
|
|
32
|
+
name: props.defaultTheme,
|
|
33
|
+
forceClassName: props.disableRootThemeClass ? false : void 0,
|
|
34
|
+
_isRoot: true,
|
|
35
|
+
children: props.children
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
};
|
|
41
|
+
export {
|
|
42
|
+
ThemeProvider,
|
|
43
|
+
ThemeProviderRootContext
|
|
44
|
+
};
|
|
2
45
|
//# sourceMappingURL=ThemeProvider.mjs.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/views/ThemeProvider.tsx"],
|
|
4
4
|
"sourcesContent": ["import { isClient } from '@tamagui/constants'\nimport { createContext, useLayoutEffect, useMemo } from 'react'\n\nimport { THEME_CLASSNAME_PREFIX } from '../constants/constants.js'\nimport { Theme } from './Theme.js'\n\nexport type ThemeProviderProps = {\n className?: string\n defaultTheme: string\n disableRootThemeClass?: boolean\n themeClassNameOnRoot?: boolean\n children?: any\n reset?: boolean\n}\n\nexport const ThemeProviderRootContext = createContext<Pick<\n ThemeProviderProps,\n 'defaultTheme'\n> | null>(null)\n\nexport const ThemeProvider = (props: ThemeProviderProps) => {\n // ensure theme is attached to root body node as well to work with modals by default\n if (isClient) {\n useLayoutEffect(() => {\n if (props.disableRootThemeClass) return\n const cn = `${THEME_CLASSNAME_PREFIX}${props.defaultTheme}`\n const target = props.themeClassNameOnRoot ? document.documentElement : document.body\n target.classList.add(cn)\n return () => {\n target.classList.remove(cn)\n }\n }, [props.defaultTheme, props.disableRootThemeClass, props.themeClassNameOnRoot])\n }\n\n return (\n <ThemeProviderRootContext.Provider\n value={useMemo(() => {\n return {\n defaultTheme: props.defaultTheme,\n }\n // NOTE DON'T CHANGE THIS ITS ONLY USED BY useThemeName for SSR safety for now...\n }, [])}\n >\n <Theme\n className={props.className}\n name={props.defaultTheme}\n forceClassName={props.disableRootThemeClass ? false : undefined}\n // @ts-expect-error\n _isRoot\n >\n {props.children}\n </Theme>\n </ThemeProviderRootContext.Provider>\n )\n}\n"],
|
|
5
|
-
"mappings": "AA2CM,
|
|
6
|
-
"names": [
|
|
5
|
+
"mappings": "AA2CM;AA3CN,SAAS,gBAAgB;AACzB,SAAS,eAAe,iBAAiB,eAAe;AAExD,SAAS,8BAA8B;AACvC,SAAS,aAAa;AAWf,MAAM,2BAA2B,cAG9B,IAAI;AAEP,MAAM,gBAAgB,CAAC,UAA8B;AAE1D,MAAI,UAAU;AACZ,oBAAgB,MAAM;AACpB,UAAI,MAAM;AAAuB;AACjC,YAAM,KAAK,GAAG,yBAAyB,MAAM;AAC7C,YAAM,SAAS,MAAM,uBAAuB,SAAS,kBAAkB,SAAS;AAChF,aAAO,UAAU,IAAI,EAAE;AACvB,aAAO,MAAM;AACX,eAAO,UAAU,OAAO,EAAE;AAAA,MAC5B;AAAA,IACF,GAAG,CAAC,MAAM,cAAc,MAAM,uBAAuB,MAAM,oBAAoB,CAAC;AAAA,EAClF;AAEA,SACE;AAAA,IAAC,yBAAyB;AAAA,IAAzB;AAAA,MACC,OAAO,QAAQ,MAAM;AACnB,eAAO;AAAA,UACL,cAAc,MAAM;AAAA,QACtB;AAAA,MAEF,GAAG,CAAC,CAAC;AAAA,MAEL;AAAA,QAAC;AAAA;AAAA,UACC,WAAW,MAAM;AAAA,UACjB,MAAM,MAAM;AAAA,UACZ,gBAAgB,MAAM,wBAAwB,QAAQ;AAAA,UAEtD,SAAO;AAAA,UAEN,gBAAM;AAAA;AAAA,MACT;AAAA;AAAA,EACF;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.2",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/cjs",
|
|
6
6
|
"module": "dist/esm",
|
|
@@ -27,19 +27,19 @@
|
|
|
27
27
|
"reset.css"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@tamagui/compose-refs": "1.14.
|
|
31
|
-
"@tamagui/constants": "1.14.
|
|
32
|
-
"@tamagui/helpers": "1.14.
|
|
33
|
-
"@tamagui/normalize-css-color": "1.14.
|
|
34
|
-
"@tamagui/use-did-finish-ssr": "1.14.
|
|
35
|
-
"@tamagui/use-event": "1.14.
|
|
36
|
-
"@tamagui/use-force-update": "1.14.
|
|
30
|
+
"@tamagui/compose-refs": "1.14.2",
|
|
31
|
+
"@tamagui/constants": "1.14.2",
|
|
32
|
+
"@tamagui/helpers": "1.14.2",
|
|
33
|
+
"@tamagui/normalize-css-color": "1.14.2",
|
|
34
|
+
"@tamagui/use-did-finish-ssr": "1.14.2",
|
|
35
|
+
"@tamagui/use-event": "1.14.2",
|
|
36
|
+
"@tamagui/use-force-update": "1.14.2"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "*"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@tamagui/build": "1.14.
|
|
42
|
+
"@tamagui/build": "1.14.2",
|
|
43
43
|
"@testing-library/react": "^13.4.0",
|
|
44
44
|
"csstype": "^3.0.10",
|
|
45
45
|
"react": "^18.2.0",
|
package/src/createComponent.tsx
CHANGED
|
@@ -51,6 +51,7 @@ import { Slot } from './views/Slot.js'
|
|
|
51
51
|
import { Stack } from './views/Stack.js'
|
|
52
52
|
import { Text } from './views/Text.js'
|
|
53
53
|
import { useThemedChildren } from './views/Theme.js'
|
|
54
|
+
import { ThemeDebug } from './views/ThemeDebug.js'
|
|
54
55
|
|
|
55
56
|
// let t
|
|
56
57
|
// import { timer } from '@tamagui/timer'
|
|
@@ -744,21 +745,13 @@ export function createComponent<
|
|
|
744
745
|
}, [themeState.themeManager])
|
|
745
746
|
|
|
746
747
|
content = (
|
|
747
|
-
|
|
748
|
+
<ThemeDebug
|
|
749
|
+
themeState={themeState}
|
|
750
|
+
themeProps={props}
|
|
751
|
+
onChangeCount={onChangeCount}
|
|
752
|
+
>
|
|
748
753
|
{content}
|
|
749
|
-
|
|
750
|
-
<pre>
|
|
751
|
-
{JSON.stringify({
|
|
752
|
-
name: themeState.themeManager?.state.name,
|
|
753
|
-
parent: themeState.themeManager?.state.parentName,
|
|
754
|
-
id: themeState.themeManager?.id,
|
|
755
|
-
parentId: themeState.themeManager?.parentManager?.id,
|
|
756
|
-
isNew: themeState.isNewTheme,
|
|
757
|
-
onChangeCount,
|
|
758
|
-
})}
|
|
759
|
-
</pre>
|
|
760
|
-
</code>
|
|
761
|
-
</>
|
|
754
|
+
</ThemeDebug>
|
|
762
755
|
)
|
|
763
756
|
}
|
|
764
757
|
}
|
|
@@ -165,9 +165,9 @@ export class ThemeManager {
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
function getNextThemeClassName(name: string,
|
|
168
|
+
function getNextThemeClassName(name: string, props: ThemeProps) {
|
|
169
169
|
const next = `t_sub_theme ${THEME_CLASSNAME_PREFIX}${name}`
|
|
170
|
-
if (
|
|
170
|
+
if (props.inverse || props.forceClassName) {
|
|
171
171
|
return (
|
|
172
172
|
next +
|
|
173
173
|
// ensure you invert to base dark as well as specific dark
|
|
@@ -273,7 +273,7 @@ function getState(
|
|
|
273
273
|
result = {
|
|
274
274
|
name: found,
|
|
275
275
|
theme: getThemeUnwrapped(themes[found]),
|
|
276
|
-
className: getNextThemeClassName(found, props
|
|
276
|
+
className: getNextThemeClassName(found, props),
|
|
277
277
|
parentName,
|
|
278
278
|
}
|
|
279
279
|
break
|
package/src/views/Theme.tsx
CHANGED
|
@@ -5,7 +5,8 @@ import { variableToString } from '../createVariable.js'
|
|
|
5
5
|
import { ThemeManagerContext } from '../helpers/ThemeManagerContext.js'
|
|
6
6
|
import { useServerRef } from '../hooks/useServerHooks.js'
|
|
7
7
|
import { ChangedThemeResponse, useChangeThemeEffect } from '../hooks/useTheme.js'
|
|
8
|
-
import type { ThemeProps } from '../types.js'
|
|
8
|
+
import type { DebugProp, ThemeProps } from '../types.js'
|
|
9
|
+
import { ThemeDebug } from './ThemeDebug'
|
|
9
10
|
|
|
10
11
|
export function Theme(props: ThemeProps) {
|
|
11
12
|
// @ts-expect-error only for internal views
|
|
@@ -25,21 +26,9 @@ export function Theme(props: ThemeProps) {
|
|
|
25
26
|
if (process.env.NODE_ENV === 'development') {
|
|
26
27
|
if (props['debug'] === 'visualize') {
|
|
27
28
|
children = (
|
|
28
|
-
<
|
|
29
|
-
<code>
|
|
30
|
-
<pre>
|
|
31
|
-
<Theme />
|
|
32
|
-
{JSON.stringify({
|
|
33
|
-
name: themeState.themeManager?.state.name,
|
|
34
|
-
parent: themeState.themeManager?.state.parentName,
|
|
35
|
-
id: themeState.themeManager?.id,
|
|
36
|
-
parentId: themeState.themeManager?.parentManager?.id,
|
|
37
|
-
isNew: themeState.isNewTheme,
|
|
38
|
-
})}
|
|
39
|
-
</pre>
|
|
40
|
-
</code>
|
|
29
|
+
<ThemeDebug themeState={themeState} themeProps={props}>
|
|
41
30
|
{children}
|
|
42
|
-
</
|
|
31
|
+
</ThemeDebug>
|
|
43
32
|
)
|
|
44
33
|
}
|
|
45
34
|
}
|
|
@@ -50,15 +39,16 @@ export function Theme(props: ThemeProps) {
|
|
|
50
39
|
export function useThemedChildren(
|
|
51
40
|
themeState: ChangedThemeResponse,
|
|
52
41
|
children: any,
|
|
53
|
-
|
|
42
|
+
props: {
|
|
54
43
|
forceClassName?: boolean
|
|
55
44
|
shallow?: boolean
|
|
56
45
|
passPropsToChildren?: boolean
|
|
46
|
+
debug?: DebugProp
|
|
57
47
|
},
|
|
58
48
|
isRoot = false
|
|
59
49
|
) {
|
|
60
50
|
const { themeManager, className, theme, isNewTheme } = themeState
|
|
61
|
-
const { shallow, forceClassName } =
|
|
51
|
+
const { shallow, forceClassName } = props
|
|
62
52
|
const hasEverThemed = useServerRef(false)
|
|
63
53
|
if (isNewTheme) {
|
|
64
54
|
hasEverThemed.current = true
|
|
@@ -68,8 +58,6 @@ export function useThemedChildren(
|
|
|
68
58
|
isNewTheme || hasEverThemed.current || forceClassName || isRoot
|
|
69
59
|
|
|
70
60
|
return useMemo(() => {
|
|
71
|
-
// console.warn(`re-render Theme`)
|
|
72
|
-
|
|
73
61
|
if (!shouldRenderChildrenWithTheme) {
|
|
74
62
|
return children
|
|
75
63
|
}
|
|
@@ -102,7 +90,7 @@ export function useThemedChildren(
|
|
|
102
90
|
return wrapped
|
|
103
91
|
}
|
|
104
92
|
|
|
105
|
-
if (isWeb && !
|
|
93
|
+
if (isWeb && !props.passPropsToChildren) {
|
|
106
94
|
// in order to provide currentColor, set color by default
|
|
107
95
|
const themeColor = theme && isNewTheme ? variableToString(theme.color) : ''
|
|
108
96
|
const colorStyle = {
|
|
@@ -118,6 +106,8 @@ export function useThemedChildren(
|
|
|
118
106
|
|
|
119
107
|
return wrapped
|
|
120
108
|
}, [
|
|
109
|
+
forceClassName,
|
|
110
|
+
props.passPropsToChildren,
|
|
121
111
|
shouldRenderChildrenWithTheme,
|
|
122
112
|
themeManager,
|
|
123
113
|
children,
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ChangedThemeResponse } from '../hooks/useTheme.js'
|
|
2
|
+
import { ThemeProps } from '../types.js'
|
|
3
|
+
|
|
4
|
+
export function ThemeDebug({
|
|
5
|
+
themeState,
|
|
6
|
+
themeProps,
|
|
7
|
+
children,
|
|
8
|
+
onChangeCount,
|
|
9
|
+
}: {
|
|
10
|
+
themeState: ChangedThemeResponse
|
|
11
|
+
themeProps: ThemeProps
|
|
12
|
+
onChangeCount?: number
|
|
13
|
+
children: any
|
|
14
|
+
}) {
|
|
15
|
+
if (process.env.NODE_ENV === 'development') {
|
|
16
|
+
return (
|
|
17
|
+
<div
|
|
18
|
+
style={{
|
|
19
|
+
whiteSpace: 'pre',
|
|
20
|
+
background: 'green',
|
|
21
|
+
display: 'inline',
|
|
22
|
+
border: '1px solid #ccc',
|
|
23
|
+
margin: 20,
|
|
24
|
+
}}
|
|
25
|
+
>
|
|
26
|
+
<code>
|
|
27
|
+
<Theme />
|
|
28
|
+
{JSON.stringify(
|
|
29
|
+
{
|
|
30
|
+
name: themeState.name,
|
|
31
|
+
className: themeState.className,
|
|
32
|
+
inverse: themeProps.inverse,
|
|
33
|
+
forceClassName: themeProps.forceClassName,
|
|
34
|
+
parent: themeState.themeManager?.state.parentName,
|
|
35
|
+
id: themeState.themeManager?.id,
|
|
36
|
+
parentId: themeState.themeManager?.parentManager?.id,
|
|
37
|
+
isNew: themeState.isNewTheme,
|
|
38
|
+
onChangeCount,
|
|
39
|
+
},
|
|
40
|
+
null,
|
|
41
|
+
2
|
|
42
|
+
)}
|
|
43
|
+
</code>
|
|
44
|
+
{children}
|
|
45
|
+
</div>
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
return children
|
|
49
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAYN,MAAM,OAAO,CAAA;AAiBd,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EAErB,cAAc,EAIf,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"createComponent.d.ts","sourceRoot":"","sources":["../src/createComponent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAYN,MAAM,OAAO,CAAA;AAiBd,OAAO,EACL,SAAS,EACT,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EAErB,cAAc,EAIf,MAAM,SAAS,CAAA;AAsBhB,eAAO,MAAM,qBAAqB,EAAE,qBAMnC,CAAA;AAeD,eAAO,MAAM,QAAQ,eAAsB,CAAA;AA8B3C,wBAAgB,eAAe,CAC7B,kBAAkB,SAAS,MAAM,GAAG,EAAE,EACtC,GAAG,GAAG,cAAc,EACpB,SAAS,GAAG,KAAK,EAEjB,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,kBAAkB,EACpD,eAAe,CAAC,EAAE,iBAAiB,4DA8xBpC;AAGD,eAAO,MAAM,QAAQ;YAAW;QAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;KAAE;;CAAmB,CAAA;AAMrE,eAAO,MAAM,MAAM,0DA8CjB,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAAA;IACnC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;IAC5B,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,mBAiGxD"}
|
package/types/views/Theme.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ChangedThemeResponse } from '../hooks/useTheme.js';
|
|
2
|
-
import type { ThemeProps } from '../types.js';
|
|
2
|
+
import type { DebugProp, ThemeProps } from '../types.js';
|
|
3
3
|
export declare function Theme(props: ThemeProps): any;
|
|
4
|
-
export declare function useThemedChildren(themeState: ChangedThemeResponse, children: any,
|
|
4
|
+
export declare function useThemedChildren(themeState: ChangedThemeResponse, children: any, props: {
|
|
5
5
|
forceClassName?: boolean;
|
|
6
6
|
shallow?: boolean;
|
|
7
7
|
passPropsToChildren?: boolean;
|
|
8
|
+
debug?: DebugProp;
|
|
8
9
|
}, isRoot?: boolean): any;
|
|
9
10
|
//# sourceMappingURL=Theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/views/Theme.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,sBAAsB,CAAA;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../src/views/Theme.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,sBAAsB,CAAA;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,OA0BtC;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE;IACL,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB,EACD,MAAM,UAAQ,OAsEf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChangedThemeResponse } from '../hooks/useTheme.js';
|
|
2
|
+
import { ThemeProps } from '../types.js';
|
|
3
|
+
export declare function ThemeDebug({ themeState, themeProps, children, onChangeCount, }: {
|
|
4
|
+
themeState: ChangedThemeResponse;
|
|
5
|
+
themeProps: ThemeProps;
|
|
6
|
+
onChangeCount?: number;
|
|
7
|
+
children: any;
|
|
8
|
+
}): any;
|
|
9
|
+
//# sourceMappingURL=ThemeDebug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeDebug.d.ts","sourceRoot":"","sources":["../../src/views/ThemeDebug.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,GACd,EAAE;IACD,UAAU,EAAE,oBAAoB,CAAA;IAChC,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,EAAE,GAAG,CAAA;CACd,OAmCA"}
|