UNPKG

cloudhub-components

Version:
138 lines (110 loc) 5.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _revised = _interopRequireDefault(require("@react-loadable/revised")); var _Box = _interopRequireDefault(require("@material-ui/core/Box")); var _styles = require("@material-ui/core/styles"); var _palette = require("./palette"); var _Loading = _interopRequireDefault(require("../Loading")); var _ThemeContext = _interopRequireDefault(require("./ThemeContext")); var _Sizes = _interopRequireDefault(require("./Sizes")); var _Colors = _interopRequireDefault(require("./Colors")); var _Fonts = _interopRequireDefault(require("./Fonts")); var _toastr = require("../toastr"); var _excluded = ["children", "fonts", "colors", "sizes", "theme", "addBaseWeb"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var BaseTheme = (0, _revised.default)({ loader: function loader() { return import( /* webpackChunkName: "BaseTheme" */ '../baseweb/theme/BaseTheme'); }, loading: function loading() { return /*#__PURE__*/_react.default.createElement(_Box.default, { justifyContent: "center", alignItems: "center" }, /*#__PURE__*/_react.default.createElement(_Loading.default, null)); } }); var ThemeProvider = function ThemeProvider(_ref) { var children = _ref.children, fonts = _ref.fonts, colors = _ref.colors, sizes = _ref.sizes, theme = _ref.theme, addBaseWeb = _ref.addBaseWeb, props = _objectWithoutProperties(_ref, _excluded); var newfonts = _objectSpread(_objectSpread({}, _Fonts.default), fonts); var newcolors = _objectSpread(_objectSpread({}, _Colors.default), colors); var newsizes = _objectSpread(_objectSpread({}, _Sizes.default), sizes); var mainFontFamily = newfonts.body.fontFamily; var themeMode = 'light'; var isLight = themeMode === 'light'; var createTheme = _react.default.useCallback(function () { return (0, _styles.createMuiTheme)({ palette: isLight ? (0, _palette.getLightColors)(newcolors) : (0, _palette.getDarkColors)(newcolors), layout: { contentWidth: 1236 }, typography: { fontFamily: ["".concat(mainFontFamily), 'Arial', 'sans-serif'].join(',') }, zIndex: { mobileStepper: 1000, appBar: 1100, drawer: 1200, modal: 1300, snackbar: 1400, tooltip: 1800 }, sizes: _objectSpread({}, newsizes), colors: _objectSpread({}, newcolors), fonts: _objectSpread({}, newfonts) }); }, []); return ( /*#__PURE__*/ // Apply theme for designs (Premium themes) _react.default.createElement(_styles.ThemeProvider, { theme: theme || createTheme() }, addBaseWeb ? /*#__PURE__*/_react.default.createElement(BaseTheme, { fonts: newfonts, colors: newcolors, sizes: newsizes }, /*#__PURE__*/_react.default.createElement(_ThemeContext.default.Provider, { value: _objectSpread({ fonts: newfonts, colors: newcolors, sizes: newsizes, CONFIG: props.CONFIG || {} }, props) }, children, /*#__PURE__*/_react.default.createElement("div", { style: { flex: 0, zIndex: 9999 } }, /*#__PURE__*/_react.default.createElement(_toastr.ToastContainer, null)))) : /*#__PURE__*/_react.default.createElement(_ThemeContext.default.Provider, { value: _objectSpread({ fonts: newfonts, colors: newcolors, sizes: newsizes, CONFIG: props.CONFIG || {} }, props) }, children, /*#__PURE__*/_react.default.createElement("div", { style: { flex: 0, zIndex: 9999 } }, /*#__PURE__*/_react.default.createElement(_toastr.ToastContainer, null)))) ); }; var _default = ThemeProvider; exports.default = _default;