@atlaskit/editor-plugin-highlight
Version:
Highlight plugin for @atlaskit/editor-core
47 lines (46 loc) • 1.41 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.shouldPadRight = exports.shouldPadLeft = exports.isHighlightedTextNode = void 0;
var isHighlightedTextNode = exports.isHighlightedTextNode = function isHighlightedTextNode(node) {
return node.isText && node.marks.some(function (mark) {
return mark.type.name === 'backgroundColor';
});
};
var shouldPadLeft = exports.shouldPadLeft = function shouldPadLeft(_ref) {
var state = _ref.state,
nodeStart = _ref.nodeStart;
var $pos = state.doc.resolve(nodeStart);
var isAtBlockStart = $pos.parentOffset === 0;
if (isAtBlockStart) {
return true;
}
var isAtDocStart = nodeStart === 0;
if (isAtDocStart) {
return true;
}
var isPrevCharSpace = state.doc.textBetween(nodeStart - 1, nodeStart) === ' ';
if (isPrevCharSpace) {
return true;
}
return false;
};
var shouldPadRight = exports.shouldPadRight = function shouldPadRight(_ref2) {
var state = _ref2.state,
nodeEnd = _ref2.nodeEnd;
var $pos = state.doc.resolve(nodeEnd);
var isAtBlockEnd = $pos.parentOffset === $pos.parent.content.size;
if (isAtBlockEnd) {
return true;
}
var isAtDocEnd = nodeEnd === state.doc.content.size;
if (isAtDocEnd) {
return true;
}
var isNextCharSpace = state.doc.textBetween(nodeEnd, nodeEnd + 1) === ' ';
if (isNextCharSpace) {
return true;
}
return false;
};