@wordpress/components
Version:
UI components for WordPress.
78 lines (61 loc) • 1.95 kB
JavaScript
;
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