@wordpress/block-editor
Version:
49 lines (43 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = FormatEdit;
var _element = require("@wordpress/element");
var _richText = require("@wordpress/rich-text");
/**
* WordPress dependencies
*/
function FormatEdit({
formatTypes,
onChange,
onFocus,
value,
forwardedRef
}) {
return formatTypes.map(settings => {
const {
name,
edit: Edit
} = settings;
if (!Edit) {
return null;
}
const activeFormat = (0, _richText.getActiveFormat)(value, name);
const isActive = activeFormat !== undefined;
const activeObject = (0, _richText.getActiveObject)(value);
const isObjectActive = activeObject !== undefined && activeObject.type === name;
return (0, _element.createElement)(Edit, {
key: name,
isActive: isActive,
activeAttributes: isActive ? activeFormat.attributes || {} : {},
isObjectActive: isObjectActive,
activeObjectAttributes: isObjectActive ? activeObject.attributes || {} : {},
value: value,
onChange: onChange,
onFocus: onFocus,
contentRef: forwardedRef
});
});
}
//# sourceMappingURL=format-edit.js.map