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