UNPKG

@wordpress/block-editor

Version:
58 lines (53 loc) 1.44 kB
import { createElement } from "@wordpress/element"; /** * WordPress dependencies */ import { __ } from '@wordpress/i18n'; import { DOWN } from '@wordpress/keycodes'; import { ToolbarButton, Dropdown, __experimentalAlignmentMatrixControl as AlignmentMatrixControl } from '@wordpress/components'; const noop = () => {}; function BlockAlignmentMatrixControl(props) { const { label = __('Change matrix alignment'), onChange = noop, value = 'center', isDisabled } = props; const icon = createElement(AlignmentMatrixControl.Icon, { value: value }); return createElement(Dropdown, { popoverProps: { variant: 'toolbar', placement: 'bottom-start' }, renderToggle: ({ onToggle, isOpen }) => { const openOnArrowDown = event => { if (!isOpen && event.keyCode === DOWN) { event.preventDefault(); 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