@wordpress/components
Version:
UI components for WordPress.
66 lines (53 loc) • 1.66 kB
JavaScript
;
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 _vStack = require("../v-stack");
var _formGroupContext = require("./form-group-context");
var _formGroupHelp = _interopRequireDefault(require("./form-group-help"));
var _formGroupLabel = _interopRequireDefault(require("./form-group-label"));
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* @param {import('../context').ViewOwnProps<import('./types').FormGroupContentProps, 'label'>} props
*/
function FormGroupContent({
alignLabel,
children,
help,
horizontal = false,
id,
label,
labelHidden,
spacing = 2,
truncate,
...props
}) {
const contextProps = (0, _element.useMemo)(() => ({
id,
horizontal
}), [id, horizontal]);
const content = help ? (0, _element.createElement)(_vStack.VStack, {
expanded: false,
spacing: spacing
}, children, (0, _element.createElement)(_formGroupHelp.default, null, help)) : children;
return (0, _element.createElement)(_formGroupContext.FormGroupContext.Provider, {
value: contextProps
}, (0, _element.createElement)(_formGroupLabel.default, (0, _extends2.default)({
align: alignLabel,
id: id,
labelHidden: labelHidden,
truncate: truncate
}, props), label), content);
}
var _default = (0, _element.memo)(FormGroupContent);
exports.default = _default;
//# sourceMappingURL=form-group-content.js.map