@wordpress/block-editor
Version:
41 lines (40 loc) • 1.36 kB
JavaScript
// 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