UNPKG

@appbuckets/react-ui

Version:
63 lines (56 loc) 1.69 kB
'use strict'; var React = require('react'); var merge = require('deepmerge'); var BucketTheme_default = require('./BucketTheme.default.js'); var BucketContext = require('./BucketContext.js'); function _interopDefaultLegacy(e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; } function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty( n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; }, } ); } }); } n['default'] = e; return Object.freeze(n); } var React__namespace = /*#__PURE__*/ _interopNamespace(React); var merge__default = /*#__PURE__*/ _interopDefaultLegacy(merge); /* -------- * Prebuild a Component that will initialize the Bucket Theme * -------- */ var BucketTheme = function (props) { /** Get the user defined theme configuration */ var children = props.children, userDefinedTheme = props.theme; /** Merge theme with default theme configuration */ var theme = merge__default['default']( BucketTheme_default.defaultBucketThemeConfig, userDefinedTheme ); /** Create the Context Provider element and render with children */ return React__namespace.createElement( BucketContext.ThemeContext.Provider, { value: { theme: theme } }, children ); }; BucketTheme.displayName = 'BucketTheme'; module.exports = BucketTheme;