// Metro module 3913 (f3914). import { useContext, useMemo } from "react"; import { ThemeContext, FALLBACK_THEME_CONTEXT_VALUE, createThemedContext } from "./Module3912"; export function ThemeContextProvider(props) { const { children, theme, primaryColor, secondaryColor, gradient, flags, contrast, saturation, enabledExperiments, density, disableAdaptiveTheme, reduceAdaptiveTheme } = props; const context = useContext(ThemeContext); FALLBACK_THEME_CONTEXT_VALUE; return { let theme2 = theme; if (theme == null) { theme2 = context.theme; } let primaryColor2 = primaryColor; if (primaryColor == null) { primaryColor2 = context.primaryColor; } let secondaryColor2 = secondaryColor; if (secondaryColor == null) { secondaryColor2 = context.secondaryColor; } let gradient2 = gradient; if (gradient == null) { gradient2 = context.gradient; } let flags2 = flags; if (flags == null) { flags2 = context.flags; } let contrast2 = contrast; if (contrast == null) { contrast2 = context.contrast; } let saturation2 = saturation; if (saturation == null) { saturation2 = context.saturation; } let enabledExperiments2 = enabledExperiments; if (enabledExperiments == null) { enabledExperiments2 = context.enabledExperiments; } let density2 = density; if (density == null) { density2 = context.density; } let disableAdaptiveTheme2 = disableAdaptiveTheme; if (disableAdaptiveTheme == null) { disableAdaptiveTheme2 = context.disableAdaptiveTheme; } let reduceAdaptiveTheme2 = reduceAdaptiveTheme; if (reduceAdaptiveTheme == null) { reduceAdaptiveTheme2 = context.reduceAdaptiveTheme; } return createThemedContext({ theme: theme2, primaryColor: primaryColor2, secondaryColor: secondaryColor2, gradient: gradient2, flags: flags2, contrast: contrast2, saturation: saturation2, enabledExperiments: enabledExperiments2, density: density2, disableAdaptiveTheme: disableAdaptiveTheme2, reduceAdaptiveTheme: reduceAdaptiveTheme2 }); }, [theme, context.theme, context.primaryColor, context.secondaryColor, context.gradient, context.flags, context.contrast, context.saturation, context.enabledExperiments, context.density, context.disableAdaptiveTheme, context.reduceAdaptiveTheme, primaryColor, secondaryColor, gradient, flags, contrast, saturation, enabledExperiments, density, disableAdaptiveTheme, reduceAdaptiveTheme])}>{children}; }