UNPKG

@wordpress/block-editor

Version:
67 lines (62 loc) 1.72 kB
import { createElement } from "@wordpress/element"; /** * External dependencies */ import { noop } from 'lodash'; /** * WordPress dependencies */ import { __ } from '@wordpress/i18n'; import { DOWN } from '@wordpress/keycodes'; import { ToolbarButton, Dropdown, __experimentalAlignmentMatrixControl as AlignmentMatrixControl } from '@wordpress/components'; function BlockAlignmentMatrixControl(props) { const { label = __('Change matrix alignment'), onChange = noop, value = 'center', isDisabled } = props; const icon = createElement(AlignmentMatrixControl.Icon, { value: value }); const className = 'block-editor-block-alignment-matrix-control'; const popoverClassName = `${className}__popover`; const isAlternate = true; return createElement(Dropdown, { position: "bottom right", className: className, popoverProps: { className: popoverClassName, isAlternate }, renderToggle: ({ onToggle, isOpen }) => { const openOnArrowDown = event => { if (!isOpen && event.keyCode === DOWN) { event.preventDefault(); event.stopPropagation(); onToggle(); } }; return createElement(ToolbarButton, { onClick: onToggle, "aria-haspopup": "true", "aria-expanded": isOpen, onKeyDown: openOnArrowDown, label: label, icon: icon, showTooltip: true, disabled: isDisabled }); }, renderContent: () => createElement(AlignmentMatrixControl, { hasFocusBorder: false, onChange: onChange, value: value }) }); } export default BlockAlignmentMatrixControl; //# sourceMappingURL=index.js.map