diff --git a/docs/manifest.json b/docs/manifest.json index fbd0a960597ba4..c9e4d0b8b32d7c 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -629,6 +629,12 @@ "markdown_source": "../packages/components/README.md", "parent": null }, + { + "title": "AlignmentMatrixControl", + "slug": "alignment-matrix-control", + "markdown_source": "../packages/components/src/alignment-matrix-control/README.md", + "parent": "components" + }, { "title": "AnglePickerControl", "slug": "angle-picker-control", diff --git a/packages/block-editor/src/components/block-alignment-matrix-toolbar/index.js b/packages/block-editor/src/components/block-alignment-matrix-toolbar/index.js new file mode 100644 index 00000000000000..fae00840d121bf --- /dev/null +++ b/packages/block-editor/src/components/block-alignment-matrix-toolbar/index.js @@ -0,0 +1,67 @@ +/** + * External dependencies + */ +import { noop } from 'lodash'; +/** + * WordPress dependencies + */ +import { __ } from '@wordpress/i18n'; +import { DOWN } from '@wordpress/keycodes'; +import { + Button, + Dropdown, + ToolbarGroup, + __experimentalAlignmentMatrixControl as AlignmentMatrixControl, +} from '@wordpress/components'; + +export function BlockAlignmentMatrixToolbar( props ) { + const { + label = __( 'Change matrix alignment' ), + onChange = noop, + value = 'center', + } = props; + + const icon = ; + const className = 'block-editor-block-alignment-matrix-toolbar'; + const popoverClassName = `${ className }__popover`; + + return ( + { + const openOnArrowDown = ( event ) => { + if ( ! isOpen && event.keyCode === DOWN ) { + event.preventDefault(); + event.stopPropagation(); + onToggle(); + } + }; + + return ( + +