slate-react 0.141.0 → 0.142.0-20261016070622

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"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"}
package/dist/index.es.js CHANGED
@@ -2691,10 +2691,13 @@ const useCompositionDOM = editor => {
2691
2691
  };
2692
2692
 
2693
2693
  const caretTop = (editor, point) => {
2694
- const range = ReactEditor.toDOMRange(editor, {
2694
+ const range = ReactEditor.resolveDOMRange(editor, {
2695
2695
  anchor: point,
2696
2696
  focus: point
2697
2697
  });
2698
+ if (!range) {
2699
+ return null;
2700
+ }
2698
2701
  const [rect] = Array.from(range.getClientRects());
2699
2702
  return (rect !== null && rect !== void 0 ? rect : range.getBoundingClientRect()).top;
2700
2703
  };
@@ -2711,10 +2714,15 @@ const getPointAboveTrailingNewline = (editor, point) => {
2711
2714
  if (!before || !Editor.leaf(editor, before)[0].text.endsWith('\n')) {
2712
2715
  return null;
2713
2716
  }
2714
- if (!Point.equals(point, blockStart) && Math.abs(caretTop(editor, point) - caretTop(editor, blockStart)) > 2) {
2717
+ if (Point.equals(point, blockStart)) {
2718
+ return before;
2719
+ }
2720
+ const pointTop = caretTop(editor, point);
2721
+ const blockStartTop = caretTop(editor, blockStart);
2722
+ if (pointTop === null || blockStartTop === null) {
2715
2723
  return null;
2716
2724
  }
2717
- return before;
2725
+ return Math.abs(pointTop - blockStartTop) > 2 ? null : before;
2718
2726
  };
2719
2727
 
2720
2728
  const getCharacterMoveUnit = (editor, point, reverse) => {
@@ -3158,12 +3166,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
3158
3166
  }
3159
3167
  // Otherwise the DOM selection is out of sync, so update it.
3160
3168
  state.isUpdatingSelection = true;
3161
- let newDomRange = null;
3162
- try {
3163
- newDomRange = selection && ReactEditor.toDOMRange(editor, selection);
3164
- } catch (e) {
3165
- // Ignore, dom and state might be out of sync
3166
- }
3169
+ const newDomRange = selection && ReactEditor.resolveDOMRange(editor, selection);
3167
3170
  if (newDomRange) {
3168
3171
  if (ReactEditor.isComposing(editor) && !IS_ANDROID) {
3169
3172
  if (domSelection.rangeCount > 0) {
@@ -3195,13 +3198,12 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
3195
3198
  const animationFrameId = requestAnimationFrame(() => {
3196
3199
  if (ensureSelection) {
3197
3200
  const ensureDomSelection = forceChange => {
3198
- try {
3199
- const el = ReactEditor.toDOMNode(editor, editor);
3200
- el.focus();
3201
- setDomSelection(forceChange);
3202
- } catch (e) {
3203
- // Ignore, dom and state might be out of sync
3201
+ const el = EDITOR_TO_ELEMENT.get(editor);
3202
+ if (!el) {
3203
+ return;
3204
3204
  }
3205
+ el.focus();
3206
+ setDomSelection(forceChange);
3205
3207
  };
3206
3208
  // Compat: Android IMEs try to force their selection by manually re-applying it even after we set it.
3207
3209
  // This essentially would make setting the slate selection during an update meaningless, so we force it
@@ -3309,36 +3311,41 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
3309
3311
  }
3310
3312
  // If the NODE_MAP is dirty, we can't trust the selection anchor (eg ReactEditor.toDOMPoint)
3311
3313
  if (!IS_NODE_MAP_DIRTY.get(editor)) {
3312
- var _node$parentElement, _window$getComputedSt;
3313
3314
  // Chrome also has issues correctly editing the end of anchor elements: https://bugs.chromium.org/p/chromium/issues/detail?id=1259100
3314
3315
  // Therefore we don't allow native events to insert text at the end of anchor nodes.
3315
3316
  const {
3316
3317
  anchor
3317
3318
  } = selection;
3318
- const [node, offset] = ReactEditor.toDOMPoint(editor, anchor);
3319
- const anchorNode = (_node$parentElement = node.parentElement) === null || _node$parentElement === void 0 ? void 0 : _node$parentElement.closest('a');
3320
- const window = ReactEditor.getWindow(editor);
3321
- if (native && anchorNode && ReactEditor.hasDOMNode(editor, anchorNode)) {
3322
- var _lastText$textContent;
3323
- // Find the last text node inside the anchor.
3324
- const lastText = window === null || window === void 0 ? void 0 : window.document.createTreeWalker(anchorNode, NodeFilter.SHOW_TEXT).lastChild();
3325
- if (lastText === node && ((_lastText$textContent = lastText.textContent) === null || _lastText$textContent === void 0 ? void 0 : _lastText$textContent.length) === offset) {
3326
- native = false;
3319
+ const domPoint = ReactEditor.resolveDOMPoint(editor, anchor);
3320
+ if (!domPoint) {
3321
+ native = false;
3322
+ } else {
3323
+ var _node$parentElement, _window$getComputedSt;
3324
+ const [node, offset] = domPoint;
3325
+ const anchorNode = (_node$parentElement = node.parentElement) === null || _node$parentElement === void 0 ? void 0 : _node$parentElement.closest('a');
3326
+ const window = ReactEditor.getWindow(editor);
3327
+ if (native && anchorNode && ReactEditor.hasDOMNode(editor, anchorNode)) {
3328
+ var _lastText$textContent;
3329
+ // Find the last text node inside the anchor.
3330
+ const lastText = window === null || window === void 0 ? void 0 : window.document.createTreeWalker(anchorNode, NodeFilter.SHOW_TEXT).lastChild();
3331
+ if (lastText === node && ((_lastText$textContent = lastText.textContent) === null || _lastText$textContent === void 0 ? void 0 : _lastText$textContent.length) === offset) {
3332
+ native = false;
3333
+ }
3327
3334
  }
3328
- }
3329
- // Chrome has issues with the presence of tab characters inside elements with whiteSpace = 'pre'
3330
- // causing abnormal insert behavior: https://bugs.chromium.org/p/chromium/issues/detail?id=1219139
3331
- if (native && node.parentElement && (window === null || window === void 0 || (_window$getComputedSt = window.getComputedStyle(node.parentElement)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.whiteSpace) === 'pre') {
3332
- const block = Editor.above(editor, {
3333
- at: anchor.path,
3334
- match: n => Node.isElement(n) && Editor.isBlock(editor, n)
3335
- });
3336
- if (block && Node.string(block[0]).includes('\t')) {
3337
- native = false;
3335
+ // Chrome has issues with the presence of tab characters inside elements with whiteSpace = 'pre'
3336
+ // causing abnormal insert behavior: https://bugs.chromium.org/p/chromium/issues/detail?id=1219139
3337
+ if (native && node.parentElement && (window === null || window === void 0 || (_window$getComputedSt = window.getComputedStyle(node.parentElement)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.whiteSpace) === 'pre') {
3338
+ const block = Editor.above(editor, {
3339
+ at: anchor.path,
3340
+ match: n => Node.isElement(n) && Editor.isBlock(editor, n)
3341
+ });
3342
+ if (block && Node.string(block[0]).includes('\t')) {
3343
+ native = false;
3344
+ }
3345
+ }
3346
+ if (native && isTextDOMNode(node)) {
3347
+ nativePoint = domSelection !== null && domSelection !== void 0 && domSelection.isCollapsed && isTextDOMNode(domAnchor) ? [domAnchor, domSelection.anchorOffset] : [node, offset];
3338
3348
  }
3339
- }
3340
- if (native && isTextDOMNode(node)) {
3341
- nativePoint = domSelection !== null && domSelection !== void 0 && domSelection.isCollapsed && isTextDOMNode(domAnchor) ? [domAnchor, domSelection.anchorOffset] : [node, offset];
3342
3349
  }
3343
3350
  }
3344
3351
  }
@@ -3902,7 +3909,10 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
3902
3909
  at: editor.selection.anchor
3903
3910
  });
3904
3911
  if (event.shiftKey && selectedVoid && !Path.isAncestor(selectedVoid[1], path) && !(startVoid && Path.equals(startVoid[1], selectedVoid[1]))) {
3905
- const clicked = ReactEditor.findEventRange(editor, event);
3912
+ const clicked = ReactEditor.resolveEventRange(editor, event);
3913
+ if (!clicked) {
3914
+ return;
3915
+ }
3906
3916
  const voidStart = Editor.start(editor, selectedVoid[1]);
3907
3917
  const voidEnd = Editor.end(editor, selectedVoid[1]);
3908
3918
  const anchor = Point.isBefore(clicked.anchor, voidStart) ? voidEnd : voidStart;
@@ -4512,7 +4522,10 @@ const restoreDomSelection = (editor, domSelection, state) => {
4512
4522
  if (!editor.selection) {
4513
4523
  return;
4514
4524
  }
4515
- const domRange = ReactEditor.toDOMRange(editor, editor.selection);
4525
+ const domRange = ReactEditor.resolveDOMRange(editor, editor.selection);
4526
+ if (!domRange) {
4527
+ return;
4528
+ }
4516
4529
  const backward = Range.isBackward(editor.selection);
4517
4530
  state.isUpdatingSelection = true;
4518
4531
  domSelection.setBaseAndExtent(backward ? domRange.endContainer : domRange.startContainer, backward ? domRange.endOffset : domRange.startOffset, backward ? domRange.startContainer : domRange.endContainer, backward ? domRange.startOffset : domRange.endOffset);