UNPKG

@wordpress/components

Version:
63 lines (48 loc) 1.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.withGlobalStyles = exports.useGlobalStyles = exports.getMergedGlobalStyles = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _lodash = require("lodash"); var _utils = require("./utils"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const GlobalStylesContext = (0, _element.createContext)({ style: {} }); GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES = _utils.BLOCK_STYLE_ATTRIBUTES; const getMergedGlobalStyles = (globalStyle, wrapperPropsStyle, blockAttributes, defaultColors) => { const blockStyleAttributes = (0, _lodash.pick)(blockAttributes, _utils.BLOCK_STYLE_ATTRIBUTES); const mergedStyle = { ...globalStyle, ...wrapperPropsStyle }; const blockPaddings = (0, _utils.getBlockPaddings)(mergedStyle, wrapperPropsStyle, blockStyleAttributes); const blockColors = (0, _utils.getBlockColors)(blockStyleAttributes, defaultColors); return { ...mergedStyle, ...blockPaddings, ...blockColors }; }; exports.getMergedGlobalStyles = getMergedGlobalStyles; const useGlobalStyles = () => { const globalStyles = (0, _element.useContext)(GlobalStylesContext); return globalStyles; }; exports.useGlobalStyles = useGlobalStyles; const withGlobalStyles = WrappedComponent => props => (0, _element.createElement)(GlobalStylesContext.Consumer, null, globalStyles => (0, _element.createElement)(WrappedComponent, (0, _extends2.default)({}, props, { globalStyles: globalStyles }))); exports.withGlobalStyles = withGlobalStyles; var _default = GlobalStylesContext; exports.default = _default; //# sourceMappingURL=index.native.js.map