suomifi-ui-components
Version:
Suomi.fi UI component library
28 lines (25 loc) • 968 B
JavaScript
import React, { useContext, useMemo } from 'react';
import { defaultSuomifiTheme, getSuomifiTheme } from '../SuomifiTheme/SuomifiTheme.js';
var SuomifiThemeContext = /*#__PURE__*/React.createContext({
suomifiTheme: defaultSuomifiTheme
});
var SuomifiThemeConsumer = SuomifiThemeContext.Consumer;
var SuomifiThemeProvider = function SuomifiThemeProvider(props) {
var themeContext = useContext(SuomifiThemeContext);
var derivedThemeContext = useMemo(function () {
return {
suomifiTheme: getSuomifiTheme({
customTheme: props.theme,
defaultTheme: themeContext.suomifiTheme
})
};
}, [props.theme, themeContext.suomifiTheme]);
if (!props.children) {
return null;
}
return /*#__PURE__*/React.createElement(SuomifiThemeContext.Provider, {
value: derivedThemeContext
}, props.children);
};
export { SuomifiThemeConsumer, SuomifiThemeContext, SuomifiThemeProvider };
//# sourceMappingURL=SuomifiThemeProvider.js.map