@snappmarket/config
Version:
> 🧮 babel, eslint, theme and etc
46 lines (42 loc) • 1.36 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import React from 'react';
import PropTypes from 'prop-types';
import { ThemeProvider } from 'styled-components';
import { makeTheme } from '../theme';
import ToolboxContext from './context';
import faIR from '../languages/fa-IR';
import GlobalConfig from './config';
var Provider = function Provider(_ref) {
var theme = _ref.theme,
language = _ref.language,
options = _ref.options,
children = _ref.children;
var unifiedOptions = _extends({}, GlobalConfig.options, options);
var unifiedTheme = makeTheme(theme);
GlobalConfig.language = language;
GlobalConfig.theme = unifiedTheme;
GlobalConfig.options = unifiedOptions;
return /*#__PURE__*/React.createElement(ToolboxContext.Provider, {
value: GlobalConfig
}, /*#__PURE__*/React.createElement(ThemeProvider, {
theme: unifiedTheme
}, children));
};
process.env.NODE_ENV !== "production" ? Provider.propTypes = {
theme: PropTypes.object,
language: PropTypes.object,
options: PropTypes.shape({
SSR: PropTypes.bool,
importSpriteSVG: PropTypes.bool,
useSpriteFile: PropTypes.bool,
publicPath: PropTypes.string,
spriteSvgName: PropTypes.string
}),
children: PropTypes.node
} : void 0;
Provider.defaultProps = {
language: faIR,
options: {},
theme: {}
};
export default Provider;