UNPKG

@taiga-ui/kit

Version:
26 lines 3.38 kB
import { svgNodeFilter } from '@taiga-ui/cdk'; /** * Range.setStart/set-end, except it uses offset in characters only */ export function setRangeOffset(range, node, offset, method) { var ownerDocument = node.ownerDocument; if (!ownerDocument) { return; } var treeWalker = ownerDocument.createTreeWalker(node, NodeFilter.SHOW_TEXT, svgNodeFilter, false); treeWalker.currentNode = node; while (treeWalker.nextNode()) { if (treeWalker.currentNode.nodeType === Node.TEXT_NODE) { var length_1 = treeWalker.currentNode.nodeValue ? treeWalker.currentNode.nodeValue.length : 0; if (offset > length_1) { offset -= length_1; } else { range[method](treeWalker.currentNode, offset); } } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXJhbmdlLW9mZnNldC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9raXQvdXRpbHMvZG9tLyIsInNvdXJjZXMiOlsic2V0LXJhbmdlLW9mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTVDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsS0FBWSxFQUNaLElBQWlCLEVBQ2pCLE1BQWMsRUFDZCxNQUE2QjtJQUV0QixJQUFBLGtDQUFhLENBQVM7SUFFN0IsSUFBSSxDQUFDLGFBQWEsRUFBRTtRQUNoQixPQUFPO0tBQ1Y7SUFFRCxJQUFNLFVBQVUsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQzdDLElBQUksRUFDSixVQUFVLENBQUMsU0FBUyxFQUNwQixhQUFhLEVBQ2IsS0FBSyxDQUNSLENBQUM7SUFFRixVQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUU5QixPQUFPLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUMxQixJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDcEQsSUFBTSxRQUFNLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTO2dCQUMzQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTTtnQkFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVSLElBQUksTUFBTSxHQUFHLFFBQU0sRUFBRTtnQkFDakIsTUFBTSxJQUFJLFFBQU0sQ0FBQzthQUNwQjtpQkFBTTtnQkFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNqRDtTQUNKO0tBQ0o7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzdmdOb2RlRmlsdGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcblxuLyoqXG4gKiBSYW5nZS5zZXRTdGFydC9zZXQtZW5kLCBleGNlcHQgaXQgdXNlcyBvZmZzZXQgaW4gY2hhcmFjdGVycyBvbmx5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRSYW5nZU9mZnNldChcbiAgICByYW5nZTogUmFuZ2UsXG4gICAgbm9kZTogSFRNTEVsZW1lbnQsXG4gICAgb2Zmc2V0OiBudW1iZXIsXG4gICAgbWV0aG9kOiAnc2V0U3RhcnQnIHwgJ3NldEVuZCcsXG4pIHtcbiAgICBjb25zdCB7b3duZXJEb2N1bWVudH0gPSBub2RlO1xuXG4gICAgaWYgKCFvd25lckRvY3VtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0cmVlV2Fsa2VyID0gb3duZXJEb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKFxuICAgICAgICBub2RlLFxuICAgICAgICBOb2RlRmlsdGVyLlNIT1dfVEVYVCxcbiAgICAgICAgc3ZnTm9kZUZpbHRlcixcbiAgICAgICAgZmFsc2UsXG4gICAgKTtcblxuICAgIHRyZWVXYWxrZXIuY3VycmVudE5vZGUgPSBub2RlO1xuXG4gICAgd2hpbGUgKHRyZWVXYWxrZXIubmV4dE5vZGUoKSkge1xuICAgICAgICBpZiAodHJlZVdhbGtlci5jdXJyZW50Tm9kZS5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREUpIHtcbiAgICAgICAgICAgIGNvbnN0IGxlbmd0aCA9IHRyZWVXYWxrZXIuY3VycmVudE5vZGUubm9kZVZhbHVlXG4gICAgICAgICAgICAgICAgPyB0cmVlV2Fsa2VyLmN1cnJlbnROb2RlLm5vZGVWYWx1ZS5sZW5ndGhcbiAgICAgICAgICAgICAgICA6IDA7XG5cbiAgICAgICAgICAgIGlmIChvZmZzZXQgPiBsZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQgLT0gbGVuZ3RoO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByYW5nZVttZXRob2RdKHRyZWVXYWxrZXIuY3VycmVudE5vZGUsIG9mZnNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=