@wordpress/block-editor
Version:
61 lines (48 loc) • 1.44 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useBlockMovingModeClassNames = useBlockMovingModeClassNames;
var _classnames = _interopRequireDefault(require("classnames"));
var _data = require("@wordpress/data");
var _store = require("../../../store");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
/**
* Returns the class names used for block moving mode.
*
* @param {string} clientId The block client ID to insert above.
*
* @return {string} The class names.
*/
function useBlockMovingModeClassNames(clientId) {
return (0, _data.useSelect)(select => {
const {
hasBlockMovingClientId,
canInsertBlockType,
getBlockName,
getBlockRootClientId,
isBlockSelected
} = select(_store.store); // The classes are only relevant for the selected block. Avoid
// re-rendering all blocks!
if (!isBlockSelected(clientId)) {
return;
}
const movingClientId = hasBlockMovingClientId();
if (!movingClientId) {
return;
}
return (0, _classnames.default)('is-block-moving-mode', {
'can-insert-moving-block': canInsertBlockType(getBlockName(movingClientId), getBlockRootClientId(clientId))
});
}, [clientId]);
}
//# sourceMappingURL=use-block-moving-mode-class-names.js.map