UNPKG

@wordpress/editor

Version:
52 lines (50 loc) 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _data = require("@wordpress/data"); var _element = require("@wordpress/element"); var _blockEditor = require("@wordpress/block-editor"); var _preferences = require("@wordpress/preferences"); var _interface = require("@wordpress/interface"); /** * WordPress dependencies */ /** * This listener hook monitors for block selection and triggers the appropriate * sidebar state. */ function useAutoSwitchEditorSidebars() { const { hasBlockSelection } = (0, _data.useSelect)(select => { return { hasBlockSelection: !!select(_blockEditor.store).getBlockSelectionStart() }; }, []); const { getActiveComplementaryArea } = (0, _data.useSelect)(_interface.store); const { enableComplementaryArea } = (0, _data.useDispatch)(_interface.store); const { get: getPreference } = (0, _data.useSelect)(_preferences.store); (0, _element.useEffect)(() => { const activeGeneralSidebar = getActiveComplementaryArea('core'); const isEditorSidebarOpened = ['edit-post/document', 'edit-post/block'].includes(activeGeneralSidebar); const isDistractionFree = getPreference('core', 'distractionFree'); if (!isEditorSidebarOpened || isDistractionFree) { return; } if (hasBlockSelection) { enableComplementaryArea('core', 'edit-post/block'); } else { enableComplementaryArea('core', 'edit-post/document'); } }, [hasBlockSelection, getActiveComplementaryArea, enableComplementaryArea, getPreference]); } var _default = exports.default = useAutoSwitchEditorSidebars; //# sourceMappingURL=use-auto-switch-editor-sidebars.js.map