@wordpress/block-editor
Version:
8 lines (7 loc) • 4.22 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/block-allowed-blocks/modal.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFlex,\n\tFlexItem,\n\tModal,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockManager from '../block-manager';\n\nexport default function BlockAllowedBlocksModal( {\n\tclientId,\n\tblockTypes,\n\tselectedBlockTypes,\n\tonClose,\n} ) {\n\tconst [ currentSelectedBlockTypes, setCurrentSelectedBlockTypes ] =\n\t\tuseState( selectedBlockTypes );\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst handleSubmit = () => {\n\t\tconst isFullySelected =\n\t\t\tcurrentSelectedBlockTypes.length === blockTypes.length;\n\t\tconst newBlockNames = currentSelectedBlockTypes.map(\n\t\t\t( { name } ) => name\n\t\t);\n\t\tupdateBlockAttributes( clientId, {\n\t\t\tallowedBlocks: isFullySelected ? undefined : newBlockNames,\n\t\t} );\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Manage allowed blocks' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\toverlayClassName=\"block-editor-block-allowed-blocks-modal\"\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<VStack\n\t\t\t\tas=\"form\"\n\t\t\t\tonSubmit={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t\tspacing=\"4\"\n\t\t\t>\n\t\t\t\t<Text>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Select which blocks can be added inside this container.'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<BlockManager\n\t\t\t\t\tblockTypes={ blockTypes }\n\t\t\t\t\tselectedBlockTypes={ currentSelectedBlockTypes }\n\t\t\t\t\tonChange={ ( newSelectedBlockTypes ) => {\n\t\t\t\t\t\tsetCurrentSelectedBlockTypes( newSelectedBlockTypes );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"block-editor-block-allowed-blocks-modal__actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t</Modal>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAOO;AACP,qBAAyB;AACzB,kBAAmB;AACnB,kBAA4B;AAK5B,mBAA0C;AAC1C,2BAAyB;AAyCrB;AAvCW,SAAR,wBAA0C;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,2BAA2B,4BAA6B,QAC/D,yBAAU,kBAAmB;AAE9B,QAAM,EAAE,sBAAsB,QAAI,yBAAa,aAAAA,KAAiB;AAEhE,QAAM,eAAe,MAAM;AAC1B,UAAM,kBACL,0BAA0B,WAAW,WAAW;AACjD,UAAM,gBAAgB,0BAA0B;AAAA,MAC/C,CAAE,EAAE,KAAK,MAAO;AAAA,IACjB;AACA,0BAAuB,UAAU;AAAA,MAChC,eAAe,kBAAkB,SAAY;AAAA,IAC9C,CAAE;AACF,YAAQ;AAAA,EACT;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,uBAAwB;AAAA,MACpC,gBAAiB;AAAA,MACjB,kBAAiB;AAAA,MACjB,cAAa;AAAA,MACb,MAAK;AAAA,MAEL;AAAA,QAAC,kBAAAC;AAAA,QAAA;AAAA,UACA,IAAG;AAAA,UACH,UAAW,CAAE,MAAO;AACnB,cAAE,eAAe;AACjB,yBAAa;AAAA,UACd;AAAA,UACA,SAAQ;AAAA,UAER;AAAA,wDAAC,kBAAAC,oBAAA,EACE;AAAA,cACD;AAAA,YACD,GACD;AAAA,YACA;AAAA,cAAC,qBAAAC;AAAA,cAAA;AAAA,gBACA;AAAA,gBACA,oBAAqB;AAAA,gBACrB,UAAW,CAAE,0BAA2B;AACvC,+CAA8B,qBAAsB;AAAA,gBACrD;AAAA;AAAA,YACD;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,WAAU;AAAA,gBACV,SAAQ;AAAA,gBACR,UAAW;AAAA,gBAEX;AAAA,8DAAC,8BACA;AAAA,oBAAC;AAAA;AAAA,sBACA,SAAQ;AAAA,sBACR,SAAU;AAAA,sBACV,uBAAqB;AAAA,sBAEnB,8BAAI,QAAS;AAAA;AAAA,kBAChB,GACD;AAAA,kBACA,4CAAC,8BACA;AAAA,oBAAC;AAAA;AAAA,sBACA,SAAQ;AAAA,sBACR,MAAK;AAAA,sBACL,uBAAqB;AAAA,sBAEnB,8BAAI,OAAQ;AAAA;AAAA,kBACf,GACD;AAAA;AAAA;AAAA,YACD;AAAA;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
"names": ["blockEditorStore", "VStack", "Text", "BlockManager"]
}