UNPKG

@wordpress/interface

Version:

Interface module for WordPress. The package contains shared functionality across the modern JavaScript-based WordPress screens.

46 lines (44 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); /** * WordPress dependencies */ const FullscreenMode = ({ isActive }) => { (0, _element.useEffect)(() => { let isSticky = false; // `is-fullscreen-mode` is set in PHP as a body class by Gutenberg, and this causes // `sticky-menu` to be applied by WordPress and prevents the admin menu being scrolled // even if `is-fullscreen-mode` is then removed. Let's remove `sticky-menu` here as // a consequence of the FullscreenMode setup. if (document.body.classList.contains('sticky-menu')) { isSticky = true; document.body.classList.remove('sticky-menu'); } return () => { if (isSticky) { document.body.classList.add('sticky-menu'); } }; }, []); (0, _element.useEffect)(() => { if (isActive) { document.body.classList.add('is-fullscreen-mode'); } else { document.body.classList.remove('is-fullscreen-mode'); } return () => { if (isActive) { document.body.classList.remove('is-fullscreen-mode'); } }; }, [isActive]); return null; }; var _default = exports.default = FullscreenMode; //# sourceMappingURL=index.js.map