UNPKG

@wordpress/block-editor

Version:
41 lines (40 loc) 1.36 kB
// packages/block-editor/src/components/block-visibility/viewport-menu-item.js import { __ } from "@wordpress/i18n"; import { MenuItem } from "@wordpress/components"; import { seen, unseen } from "@wordpress/icons"; import { useState } from "@wordpress/element"; import { useSelect } from "@wordpress/data"; import { BlockVisibilityModal } from "./index.mjs"; import { store as blockEditorStore } from "../../store/index.mjs"; import { unlock } from "../../lock-unlock.mjs"; import { Fragment, jsx, jsxs } from "react/jsx-runtime"; function BlockVisibilityViewportMenuItem({ clientIds }) { const [isModalOpen, setIsModalOpen] = useState(false); const areBlocksHiddenAnywhere = useSelect( (select) => unlock(select(blockEditorStore)).areBlocksHiddenAnywhere( clientIds ), [clientIds] ); return /* @__PURE__ */ jsxs(Fragment, { children: [ /* @__PURE__ */ jsx( MenuItem, { icon: areBlocksHiddenAnywhere ? unseen : seen, onClick: () => setIsModalOpen(true), children: areBlocksHiddenAnywhere ? __("Show") : __("Hide") } ), isModalOpen && /* @__PURE__ */ jsx( BlockVisibilityModal, { clientIds, onClose: () => setIsModalOpen(false) } ) ] }); } export { BlockVisibilityViewportMenuItem as default }; //# sourceMappingURL=viewport-menu-item.mjs.map