@atlaskit/editor-plugin-block-menu
Version:
BlockMenu plugin for @atlaskit/editor-core
15 lines • 752 B
JavaScript
import { getBlockNodesInRange, getSelectedNode } from '../editor-commands/transform-node-utils/utils';
const EXTENSION_NODE_TYPES = new Set(['extension', 'bodiedExtension', 'multiBodiedExtension']);
export const getSingleTransformSourceNode = (selection, range) => {
var _getSelectedNode;
const selectedNode = (_getSelectedNode = getSelectedNode(selection)) === null || _getSelectedNode === void 0 ? void 0 : _getSelectedNode.node;
if (selectedNode) {
return selectedNode;
}
if (!range) {
return undefined;
}
const blockNodes = getBlockNodesInRange(range);
return blockNodes.length === 1 ? blockNodes[0] : undefined;
};
export const isExtensionTransformSource = node => Boolean(node && EXTENSION_NODE_TYPES.has(node.type.name));