UNPKG

@snappmarket/config

Version:
46 lines (42 loc) • 1.36 kB
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;