@portabletext/editor
Version:
Portable Text Editor made in React
36 lines (35 loc) • 1.03 kB
JavaScript
import { isTextBlock, isSpan$1 as isSpan, getTextBlockText } from "./selection-point.js";
function getBlockEndPoint({
context,
block
}) {
if (isTextBlock(context, block.node)) {
const lastChild = block.node.children[block.node.children.length - 1];
if (lastChild)
return {
path: [...block.path, "children", {
_key: lastChild._key
}],
offset: isSpan(context, lastChild) ? lastChild.text.length : 0
};
}
return {
path: block.path,
offset: 0
};
}
function isEmptyTextBlock(context, block) {
if (!isTextBlock(context, block))
return !1;
const onlyText = block.children.every((child) => isSpan(context, child)), blockText = getTextBlockText(block);
return onlyText && blockText === "";
}
function isEqualSelectionPoints(a, b) {
return a.offset === b.offset && JSON.stringify(a.path) === JSON.stringify(b.path);
}
export {
getBlockEndPoint,
isEmptyTextBlock,
isEqualSelectionPoints
};
//# sourceMappingURL=util.is-equal-selection-points.js.map