UNPKG

@zenkit/styles

Version:

ZenKit components for impliments styles

42 lines (32 loc) 1.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _react = _interopRequireDefault(require("react")); var _stylesContext = _interopRequireDefault(require("./styles-context")); function mergeOuterLocalTheme(outerTheme, localTheme) { if (typeof localTheme === 'function') { return localTheme(outerTheme); } return (0, _extends2.default)({}, outerTheme, localTheme); } function StylesProvider(_ref) { var children = _ref.children, localTheme = _ref.theme, localOptions = (0, _objectWithoutProperties2.default)(_ref, ["children", "theme"]); if (!children) return; return _react.default.createElement(_stylesContext.default.Consumer, null, function (outerOptions) { var theme = localTheme ? mergeOuterLocalTheme(outerOptions.theme, localTheme) : outerOptions.theme; return _react.default.createElement(_stylesContext.default.Provider, { value: (0, _extends2.default)({}, outerOptions, localOptions, { theme: theme }) }, children); }); } var _default = StylesProvider; exports.default = _default;