suomifi-ui-components
Version:
Suomi.fi UI component library
36 lines (30 loc) • 1.23 kB
JavaScript
;
var React = require('react');
var SuomifiTheme = require('../SuomifiTheme/SuomifiTheme.js');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
var SuomifiThemeContext = /*#__PURE__*/React__default.default.createContext({
suomifiTheme: SuomifiTheme.defaultSuomifiTheme
});
var SuomifiThemeConsumer = SuomifiThemeContext.Consumer;
var SuomifiThemeProvider = function SuomifiThemeProvider(props) {
var themeContext = React.useContext(SuomifiThemeContext);
var derivedThemeContext = React.useMemo(function () {
return {
suomifiTheme: SuomifiTheme.getSuomifiTheme({
customTheme: props.theme,
defaultTheme: themeContext.suomifiTheme
})
};
}, [props.theme, themeContext.suomifiTheme]);
if (!props.children) {
return null;
}
return /*#__PURE__*/React__default.default.createElement(SuomifiThemeContext.Provider, {
value: derivedThemeContext
}, props.children);
};
exports.SuomifiThemeConsumer = SuomifiThemeConsumer;
exports.SuomifiThemeContext = SuomifiThemeContext;
exports.SuomifiThemeProvider = SuomifiThemeProvider;
//# sourceMappingURL=SuomifiThemeProvider.js.map