UNPKG

@atlaskit/editor-plugin-card

Version:

Card plugin for @atlaskit/editor-core

45 lines (44 loc) 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCardAtPasteRange = exports.DISPLAY_AS_OPTIONS = void 0; var DISPLAY_AS_OPTIONS = exports.DISPLAY_AS_OPTIONS = ['url', 'inline', 'block', 'embed']; var getCardAtPasteRange = exports.getCardAtPasteRange = function getCardAtPasteRange(state, pasteStartPos, pasteEndPos) { var result; var docContentSize = state.doc.content.size; var clampedStart = Math.max(0, Math.min(pasteStartPos, docContentSize)); var clampedEnd = Math.max(0, Math.min(pasteEndPos, docContentSize)); var from = Math.min(clampedStart, clampedEnd); var to = Math.max(clampedStart, clampedEnd); try { if (from === to) { for (var _i = 0, _arr = [from - 1, from]; _i < _arr.length; _i++) { var pos = _arr[_i]; if (pos < 0 || pos >= docContentSize) { continue; } var node = state.doc.nodeAt(pos); if ((node === null || node === void 0 ? void 0 : node.type.name) === 'inlineCard' || (node === null || node === void 0 ? void 0 : node.type.name) === 'blockCard' || (node === null || node === void 0 ? void 0 : node.type.name) === 'embedCard') { return { appearance: node.type.name === 'inlineCard' ? 'inline' : node.type.name === 'blockCard' ? 'block' : 'embed', pos: pos }; } } } state.doc.nodesBetween(from, to, function (node, pos) { if (node.type.name === 'inlineCard' || node.type.name === 'blockCard' || node.type.name === 'embedCard') { result = { appearance: node.type.name === 'inlineCard' ? 'inline' : node.type.name === 'blockCard' ? 'block' : 'embed', pos: pos }; return false; } return true; }); } catch (_unused) { return; } return result; };