@wordpress/block-editor
Version:
48 lines (47 loc) • 1.73 kB
JavaScript
// packages/block-editor/src/components/block-visibility/block-visibility-info.js
import {
Icon,
__experimentalText as Text,
__experimentalHStack as HStack,
privateApis as componentsPrivateApis
} from "@wordpress/components";
import { useSelect } from "@wordpress/data";
import { __ } from "@wordpress/i18n";
import { unseen } from "@wordpress/icons";
import { unlock } from "../../lock-unlock.mjs";
import { store as blockEditorStore } from "../../store/index.mjs";
import { jsx, jsxs } from "react/jsx-runtime";
var { Badge } = unlock(componentsPrivateApis);
function BlockVisibilityInfo({ clientId }) {
const { isBlockHidden, hasHiddenParent } = useSelect(
(select) => {
if (!clientId) {
return { isBlockHidden: false, hasHiddenParent: false };
}
const { isBlockHidden: _isBlockHidden, getBlockParents } = unlock(
select(blockEditorStore)
);
const blockHidden = _isBlockHidden(clientId);
const parents = getBlockParents(clientId);
const parentHidden = parents.some(
(parentId) => _isBlockHidden(parentId)
);
return {
isBlockHidden: blockHidden,
hasHiddenParent: parentHidden
};
},
[clientId]
);
if (!(isBlockHidden || hasHiddenParent)) {
return null;
}
return /* @__PURE__ */ jsx(Badge, { className: "block-editor-block-visibility-info", children: /* @__PURE__ */ jsxs(HStack, { spacing: 2, justify: "start", children: [
/* @__PURE__ */ jsx(Icon, { icon: unseen }),
/* @__PURE__ */ jsx(Text, { children: isBlockHidden ? __("Block is hidden") : __("Parent block is hidden") })
] }) });
}
export {
BlockVisibilityInfo as default
};
//# sourceMappingURL=block-visibility-info.mjs.map