UNPKG

@wordpress/components

Version:
78 lines (61 loc) 1.95 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _emotion = require("emotion"); var _context = require("../context"); var _scrollable = require("../scrollable"); var _view = require("../view"); var styles = _interopRequireWildcard(require("./styles")); /** * WordPress dependencies */ /** * Internal dependencies */ /** * @param {import('../context').ViewOwnProps<import('./types').CardBodyProps, 'div'>} props * @param {import('react').Ref<any>} forwardedRef */ function CardBody(props, forwardedRef) { const { className, scrollable = true, ...otherProps } = (0, _context.useContextSystem)(props, 'CardBody'); const classes = (0, _element.useMemo)(() => (0, _emotion.cx)(styles.Body, styles.borderRadius, className), [className]); if (scrollable) { return (0, _element.createElement)(_scrollable.Scrollable, (0, _extends2.default)({}, otherProps, { className: classes, ref: forwardedRef })); } return (0, _element.createElement)(_view.View, (0, _extends2.default)({}, otherProps, { className: classes, ref: forwardedRef })); } /** * `CardBody` is a layout component, rendering the contents of a `Card`. * Multiple `CardBody` components can be used within `Card` if needed. * * @example * ```jsx * import { Card, CardBody } from `@wordpress/components/ui`; * * <Card> * <CardBody> * ... * </CardBody> * </Card> * ``` */ const ConnectedCardBody = (0, _context.contextConnect)(CardBody, 'CardBody'); var _default = ConnectedCardBody; exports.default = _default; //# sourceMappingURL=body.js.map