@wordpress/block-editor
Version:
8 lines (7 loc) • 3.57 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/block-alignment-matrix-control/index.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport {\n\tToolbarButton,\n\tDropdown,\n\tAlignmentMatrixControl,\n} from '@wordpress/components';\n\nconst noop = () => {};\n\n/**\n * The alignment matrix control allows users to quickly adjust inner block alignment.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-alignment-matrix-control/README.md\n *\n * @example\n * ```jsx\n * function Example() {\n * return (\n * <BlockControls>\n * <BlockAlignmentMatrixControl\n * label={ __( 'Change content position' ) }\n * value=\"center\"\n * onChange={ ( nextPosition ) =>\n * setAttributes( { contentPosition: nextPosition } )\n * }\n * />\n * </BlockControls>\n * );\n * }\n * ```\n *\n * @param {Object} props Component props.\n * @param {string} props.label Label for the control. Defaults to 'Change matrix alignment'.\n * @param {Function} props.onChange Function to execute upon change of matrix state.\n * @param {string} props.value Content alignment location. One of: 'center', 'center center',\n * 'center left', 'center right', 'top center', 'top left',\n * 'top right', 'bottom center', 'bottom left', 'bottom right'.\n * @param {boolean} props.isDisabled Whether the control should be disabled.\n * @return {Element} The BlockAlignmentMatrixControl component.\n */\nfunction BlockAlignmentMatrixControl( props ) {\n\tconst {\n\t\tlabel = __( 'Change matrix alignment' ),\n\t\tonChange = noop,\n\t\tvalue = 'center',\n\t\tisDisabled,\n\t} = props;\n\n\tconst icon = <AlignmentMatrixControl.Icon value={ value } />;\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ { placement: 'bottom-start' } }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<AlignmentMatrixControl onChange={ onChange } value={ value } />\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default BlockAlignmentMatrixControl;\n"],
"mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,YAAY;AACrB;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,OACM;AA2CO;AAzCd,IAAM,OAAO,MAAM;AAAC;AAiCpB,SAAS,4BAA6B,OAAQ;AAC7C,QAAM;AAAA,IACL,QAAQ,GAAI,yBAA0B;AAAA,IACtC,WAAW;AAAA,IACX,QAAQ;AAAA,IACR;AAAA,EACD,IAAI;AAEJ,QAAM,OAAO,oBAAC,uBAAuB,MAAvB,EAA4B,OAAgB;AAE1D,SACC;AAAA,IAAC;AAAA;AAAA,MACA,cAAe,EAAE,WAAW,eAAe;AAAA,MAC3C,cAAe,CAAE,EAAE,UAAU,OAAO,MAAO;AAC1C,cAAM,kBAAkB,CAAE,UAAW;AACpC,cAAK,CAAE,UAAU,MAAM,YAAY,MAAO;AACzC,kBAAM,eAAe;AACrB,qBAAS;AAAA,UACV;AAAA,QACD;AAEA,eACC;AAAA,UAAC;AAAA;AAAA,YACA,SAAU;AAAA,YACV,iBAAc;AAAA,YACd,iBAAgB;AAAA,YAChB,WAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,aAAW;AAAA,YACX,UAAW;AAAA;AAAA,QACZ;AAAA,MAEF;AAAA,MACA,eAAgB,MACf,oBAAC,0BAAuB,UAAsB,OAAgB;AAAA;AAAA,EAEhE;AAEF;AAEA,IAAO,yCAAQ;",
"names": []
}