UNPKG

@wordpress/components

Version:
56 lines (47 loc) 1.34 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports.useSurface = useSurface; var _emotion = require("emotion"); var _element = require("@wordpress/element"); var _context = require("../context"); var styles = _interopRequireWildcard(require("./styles")); /** * WordPress dependencies */ /** * Internal dependencies */ /** * @param {import('../context').ViewOwnProps<import('./types').Props, 'div'>} props */ function useSurface(props) { const { backgroundSize = 12, border, borderBottom, borderLeft, borderRight, borderTop, className, variant = 'primary', ...otherProps } = (0, _context.useContextSystem)(props, 'Surface'); const classes = (0, _element.useMemo)(() => { const sx = {}; sx.borders = styles.getBorders({ border, borderBottom, borderLeft, borderRight, borderTop }); return (0, _emotion.cx)(styles.Surface, sx.borders, styles.getVariant(variant, `${backgroundSize}px`, `${backgroundSize - 1}px`), className); }, [backgroundSize, border, borderBottom, borderLeft, borderRight, borderTop, className, variant]); return { ...otherProps, className: classes }; } //# sourceMappingURL=hook.js.map