UNPKG

@wordpress/block-editor

Version:
8 lines (7 loc) 2.39 kB
{ "version": 3, "sources": ["../../../src/components/block-tools/use-show-block-tools.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Source of truth for which block tools are showing in the block editor.\n *\n * @return {Object} Object of which block tools will be shown.\n */\nexport function useShowBlockTools() {\n\treturn useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetFirstMultiSelectedBlockClientId,\n\t\t\tgetBlock,\n\t\t\tgetBlockMode,\n\t\t\tgetSettings,\n\t\t\tisTyping,\n\t\t\tisBlockInterfaceHidden,\n\t\t} = unlock( select( blockEditorStore ) );\n\n\t\tconst clientId =\n\t\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\t\tconst block = getBlock( clientId );\n\t\tconst hasSelectedBlock = !! clientId && !! block;\n\t\tconst isEmptyDefaultBlock =\n\t\t\thasSelectedBlock &&\n\t\t\tisUnmodifiedDefaultBlock( block, 'content' ) &&\n\t\t\tgetBlockMode( clientId ) !== 'html';\n\t\tconst _showEmptyBlockSideInserter =\n\t\t\tclientId && ! isTyping() && isEmptyDefaultBlock;\n\t\tconst _showBlockToolbarPopover =\n\t\t\t! isBlockInterfaceHidden() &&\n\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t! _showEmptyBlockSideInserter &&\n\t\t\thasSelectedBlock &&\n\t\t\t! isEmptyDefaultBlock;\n\n\t\treturn {\n\t\t\tshowEmptyBlockSideInserter: _showEmptyBlockSideInserter,\n\t\t\tshowBlockToolbarPopover: _showBlockToolbarPopover,\n\t\t};\n\t}, [] );\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAA0B;AAC1B,oBAAyC;AAKzC,mBAA0C;AAC1C,yBAAuB;AAOhB,SAAS,oBAAoB;AACnC,aAAO,uBAAW,CAAE,WAAY;AAC/B,UAAM;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,QAAI,2BAAQ,OAAQ,aAAAA,KAAiB,CAAE;AAEvC,UAAM,WACL,yBAAyB,KAAK,mCAAmC;AAElE,UAAM,QAAQ,SAAU,QAAS;AACjC,UAAM,mBAAmB,CAAC,CAAE,YAAY,CAAC,CAAE;AAC3C,UAAM,sBACL,wBACA,wCAA0B,OAAO,SAAU,KAC3C,aAAc,QAAS,MAAM;AAC9B,UAAM,8BACL,YAAY,CAAE,SAAS,KAAK;AAC7B,UAAM,2BACL,CAAE,uBAAuB,KACzB,CAAE,YAAY,EAAE,mBAChB,CAAE,+BACF,oBACA,CAAE;AAEH,WAAO;AAAA,MACN,4BAA4B;AAAA,MAC5B,yBAAyB;AAAA,IAC1B;AAAA,EACD,GAAG,CAAC,CAAE;AACP;", "names": ["blockEditorStore"] }