@wordpress/block-library
Version:
Block library for the WordPress editor.
76 lines (61 loc) • 2.27 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 _classnames = _interopRequireDefault(require("classnames"));
var _blockEditor = require("@wordpress/block-editor");
var _data = require("@wordpress/data");
var _button = require("../button");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const ALLOWED_BLOCKS = [_button.name];
const DEFAULT_BLOCK = {
name: _button.name,
attributesToCopy: ['backgroundColor', 'border', 'className', 'fontFamily', 'fontSize', 'gradient', 'style', 'textColor', 'width']
};
function ButtonsEdit(_ref) {
var _style$typography;
let {
attributes,
className
} = _ref;
const {
fontSize,
layout = {},
style
} = attributes;
const blockProps = (0, _blockEditor.useBlockProps)({
className: (0, _classnames.default)(className, {
'has-custom-font-size': fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize)
})
});
const preferredStyle = (0, _data.useSelect)(select => {
var _preferredStyleVariat;
const preferredStyleVariations = select(_blockEditor.store).getSettings().__experimentalPreferredStyleVariations;
return preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat[_button.name];
}, []);
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
allowedBlocks: ALLOWED_BLOCKS,
__experimentalDefaultBlock: DEFAULT_BLOCK,
__experimentalDirectInsert: true,
template: [[_button.name, {
className: preferredStyle && `is-style-${preferredStyle}`
}]],
__experimentalLayout: layout,
templateInsertUpdatesSelection: true
});
return (0, _element.createElement)("div", innerBlocksProps);
}
var _default = ButtonsEdit;
exports.default = _default;
//# sourceMappingURL=edit.js.map
;