68 lines
2.6 KiB
React
68 lines
2.6 KiB
React
// 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 <ThemeContext.Provider value={useMemo(() => {
|
|
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}</ThemeContext.Provider>;
|
|
}
|