@wordpress/block-editor
Version:
8 lines (7 loc) • 2 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/block-visibility/viewport-menu-item.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItem } from '@wordpress/components';\nimport { seen, unseen } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { BlockVisibilityModal } from './';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function BlockVisibilityViewportMenuItem( { clientIds } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst areBlocksHiddenAnywhere = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).areBlocksHiddenAnywhere(\n\t\t\t\tclientIds\n\t\t\t),\n\t\t[ clientIds ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\ticon={ areBlocksHiddenAnywhere ? unseen : seen }\n\t\t\t\tonClick={ () => setIsModalOpen( true ) }\n\t\t\t>\n\t\t\t\t{ areBlocksHiddenAnywhere ? __( 'Show' ) : __( 'Hide' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<BlockVisibilityModal\n\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\tonClose={ () => setIsModalOpen( false ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAAyB;AACzB,mBAA6B;AAC7B,qBAAyB;AACzB,kBAA0B;AAK1B,eAAqC;AACrC,mBAA0C;AAC1C,yBAAuB;AAYrB;AAVa,SAAR,gCAAkD,EAAE,UAAU,GAAI;AACxE,QAAM,CAAE,aAAa,cAAe,QAAI,yBAAU,KAAM;AACxD,QAAM,8BAA0B;AAAA,IAC/B,CAAE,eACD,2BAAQ,OAAQ,aAAAA,KAAiB,CAAE,EAAE;AAAA,MACpC;AAAA,IACD;AAAA,IACD,CAAE,SAAU;AAAA,EACb;AACA,SACC,4EACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,MAAO,0BAA0B,sBAAS;AAAA,QAC1C,SAAU,MAAM,eAAgB,IAAK;AAAA,QAEnC,wCAA0B,gBAAI,MAAO,QAAI,gBAAI,MAAO;AAAA;AAAA,IACvD;AAAA,IACE,eACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA,SAAU,MAAM,eAAgB,KAAM;AAAA;AAAA,IACvC;AAAA,KAEF;AAEF;",
"names": ["blockEditorStore"]
}