UNPKG

@wordpress/editor

Version:
52 lines (49 loc) 1.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useZoomOutModeExit = useZoomOutModeExit; var _data = require("@wordpress/data"); var _compose = require("@wordpress/compose"); var _blockEditor = require("@wordpress/block-editor"); var _lockUnlock = require("../../lock-unlock"); /** * WordPress dependencies */ /** * Internal dependencies */ /** * Allows Zoom Out mode to be exited by double clicking in the selected block. */ function useZoomOutModeExit() { const { getSettings, isZoomOut } = (0, _lockUnlock.unlock)((0, _data.useSelect)(_blockEditor.store)); const { resetZoomLevel } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_blockEditor.store)); return (0, _compose.useRefEffect)(node => { function onDoubleClick(event) { if (!isZoomOut()) { return; } if (!event.defaultPrevented) { event.preventDefault(); const { __experimentalSetIsInserterOpened } = getSettings(); if (typeof __experimentalSetIsInserterOpened === 'function') { __experimentalSetIsInserterOpened(false); } resetZoomLevel(); } } node.addEventListener('dblclick', onDoubleClick); return () => { node.removeEventListener('dblclick', onDoubleClick); }; }, [getSettings, isZoomOut, resetZoomLevel]); } //# sourceMappingURL=use-zoom-out-mode-exit.js.map