@wordpress/block-editor
Version:
8 lines (7 loc) • 3.04 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/block-removal-warning-modal/index.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tModal,\n\tButton,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport function BlockRemovalWarningModal( { rules } ) {\n\tconst { clientIds, selectPrevious, message } = useSelect( ( select ) =>\n\t\tunlock( select( blockEditorStore ) ).getRemovalPromptData()\n\t);\n\n\tconst {\n\t\tclearBlockRemovalPrompt,\n\t\tsetBlockRemovalRules,\n\t\tprivateRemoveBlocks,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\t// Load block removal rules, simultaneously signalling that the block\n\t// removal prompt is in place.\n\tuseEffect( () => {\n\t\tsetBlockRemovalRules( rules );\n\t\treturn () => {\n\t\t\tsetBlockRemovalRules();\n\t\t};\n\t}, [ rules, setBlockRemovalRules ] );\n\n\tif ( ! message ) {\n\t\treturn;\n\t}\n\n\tconst onConfirmRemoval = () => {\n\t\tprivateRemoveBlocks( clientIds, selectPrevious, /* force */ true );\n\t\tclearBlockRemovalPrompt();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Be careful!' ) }\n\t\t\tonRequestClose={ clearBlockRemovalPrompt }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<p>{ message }</p>\n\t\t\t<HStack justify=\"right\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ clearBlockRemovalPrompt }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ onConfirmRemoval }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAA0B;AAC1B,kBAAuC;AACvC,wBAIO;AACP,kBAAmB;AAKnB,mBAA0C;AAC1C,yBAAuB;AAqCpB;AAnCI,SAAS,yBAA0B,EAAE,MAAM,GAAI;AACrD,QAAM,EAAE,WAAW,gBAAgB,QAAQ,QAAI;AAAA,IAAW,CAAE,eAC3D,2BAAQ,OAAQ,aAAAA,KAAiB,CAAE,EAAE,qBAAqB;AAAA,EAC3D;AAEA,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACD,QAAI,+BAAQ,yBAAa,aAAAA,KAAiB,CAAE;AAI5C,gCAAW,MAAM;AAChB,yBAAsB,KAAM;AAC5B,WAAO,MAAM;AACZ,2BAAqB;AAAA,IACtB;AAAA,EACD,GAAG,CAAE,OAAO,oBAAqB,CAAE;AAEnC,MAAK,CAAE,SAAU;AAChB;AAAA,EACD;AAEA,QAAM,mBAAmB,MAAM;AAC9B;AAAA,MAAqB;AAAA,MAAW;AAAA;AAAA,MAA4B;AAAA,IAAK;AACjE,4BAAwB;AAAA,EACzB;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAQ,gBAAI,aAAc;AAAA,MAC1B,gBAAiB;AAAA,MACjB,MAAK;AAAA,MAEL;AAAA,oDAAC,OAAI,mBAAS;AAAA,QACd,6CAAC,kBAAAC,sBAAA,EAAO,SAAQ,SACf;AAAA;AAAA,YAAC;AAAA;AAAA,cACA,SAAQ;AAAA,cACR,SAAU;AAAA,cACV,uBAAqB;AAAA,cAEnB,8BAAI,QAAS;AAAA;AAAA,UAChB;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACA,SAAQ;AAAA,cACR,SAAU;AAAA,cACV,uBAAqB;AAAA,cAEnB,8BAAI,QAAS;AAAA;AAAA,UAChB;AAAA,WACD;AAAA;AAAA;AAAA,EACD;AAEF;",
"names": ["blockEditorStore", "HStack"]
}