slate-react 0.97.2 → 0.98.0

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":"react-editor.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/plugin/react-editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-editor.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/plugin/react-editor.ts"],"names":[],"mappings":"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"}
@@ -1799,15 +1799,37 @@
1799
1799
 
1800
1800
  if (el) {
1801
1801
  if (isDOMSelection(domRange)) {
1802
- anchorNode = domRange.anchorNode;
1803
- anchorOffset = domRange.anchorOffset;
1804
- focusNode = domRange.focusNode;
1805
- focusOffset = domRange.focusOffset; // COMPAT: There's a bug in chrome that always returns `true` for
1802
+ // COMPAT: In firefox the normal seletion way does not work
1803
+ // (https://github.com/ianstormtaylor/slate/pull/5486#issue-1820720223)
1804
+ if (IS_FIREFOX && domRange.rangeCount > 1) {
1805
+ focusNode = domRange.focusNode; // Focus node works fine
1806
+
1807
+ var firstRange = domRange.getRangeAt(0);
1808
+ var lastRange = domRange.getRangeAt(domRange.rangeCount - 1); // Right to left
1809
+
1810
+ if (firstRange.startContainer === focusNode) {
1811
+ anchorNode = lastRange.endContainer;
1812
+ anchorOffset = lastRange.endOffset;
1813
+ focusOffset = firstRange.startOffset;
1814
+ } else {
1815
+ // Left to right
1816
+ anchorNode = firstRange.startContainer;
1817
+ anchorOffset = firstRange.endOffset;
1818
+ focusOffset = lastRange.startOffset;
1819
+ }
1820
+ } else {
1821
+ anchorNode = domRange.anchorNode;
1822
+ anchorOffset = domRange.anchorOffset;
1823
+ focusNode = domRange.focusNode;
1824
+ focusOffset = domRange.focusOffset;
1825
+ } // COMPAT: There's a bug in chrome that always returns `true` for
1806
1826
  // `isCollapsed` for a Selection that comes from a ShadowRoot.
1807
1827
  // (2020/08/08)
1808
1828
  // https://bugs.chromium.org/p/chromium/issues/detail?id=447523
1829
+ // IsCollapsed might not work in firefox, but this will
1830
+
1809
1831
 
1810
- if (IS_CHROME && hasShadowRoot(anchorNode)) {
1832
+ if (IS_CHROME && hasShadowRoot(anchorNode) || IS_FIREFOX) {
1811
1833
  isCollapsed = domRange.anchorNode === domRange.focusNode && domRange.anchorOffset === domRange.focusOffset;
1812
1834
  } else {
1813
1835
  isCollapsed = domRange.isCollapsed;
@@ -1852,46 +1874,6 @@
1852
1874
  if (!focus) {
1853
1875
  return null;
1854
1876
  }
1855
- /**
1856
- * suppose we have this document:
1857
- *
1858
- * { type: 'paragraph',
1859
- * children: [
1860
- * { text: 'foo ' },
1861
- * { text: 'bar' },
1862
- * { text: ' baz' }
1863
- * ]
1864
- * }
1865
- *
1866
- * a double click on "bar" on chrome will create this range:
1867
- *
1868
- * anchor -> [0,1] offset 0
1869
- * focus -> [0,1] offset 3
1870
- *
1871
- * while on firefox will create this range:
1872
- *
1873
- * anchor -> [0,0] offset 4
1874
- * focus -> [0,2] offset 0
1875
- *
1876
- * let's try to fix it...
1877
- */
1878
-
1879
-
1880
- if (IS_FIREFOX && !isCollapsed && anchorNode !== focusNode) {
1881
- var isEnd = slate.Editor.isEnd(editor, anchor, anchor.path);
1882
- var isStart = slate.Editor.isStart(editor, focus, focus.path);
1883
-
1884
- if (isEnd) {
1885
- var after = slate.Editor.after(editor, anchor); // Editor.after() might return undefined
1886
-
1887
- anchor = after || anchor;
1888
- }
1889
-
1890
- if (isStart) {
1891
- var before = slate.Editor.before(editor, focus);
1892
- focus = before || focus;
1893
- }
1894
- }
1895
1877
 
1896
1878
  var range = {
1897
1879
  anchor: anchor,
@@ -5214,13 +5196,32 @@
5214
5196
 
5215
5197
  if (!selection && !hasDomSelection) {
5216
5198
  return;
5199
+ } // Get anchorNode and focusNode
5200
+
5201
+
5202
+ var focusNode = domSelection.focusNode;
5203
+ var anchorNode; // COMPAT: In firefox the normal seletion way does not work
5204
+ // (https://github.com/ianstormtaylor/slate/pull/5486#issue-1820720223)
5205
+
5206
+ if (IS_FIREFOX && domSelection.rangeCount > 1) {
5207
+ var firstRange = domSelection.getRangeAt(0);
5208
+ var lastRange = domSelection.getRangeAt(domSelection.rangeCount - 1); // Right to left
5209
+
5210
+ if (firstRange.startContainer === focusNode) {
5211
+ anchorNode = lastRange.endContainer;
5212
+ } else {
5213
+ // Left to right
5214
+ anchorNode = firstRange.startContainer;
5215
+ }
5216
+ } else {
5217
+ anchorNode = domSelection.anchorNode;
5217
5218
  } // verify that the dom selection is in the editor
5218
5219
 
5219
5220
 
5220
5221
  var editorElement = EDITOR_TO_ELEMENT.get(editor);
5221
5222
  var hasDomSelectionInEditor = false;
5222
5223
 
5223
- if (editorElement.contains(domSelection.anchorNode) && editorElement.contains(domSelection.focusNode)) {
5224
+ if (editorElement.contains(anchorNode) && editorElement.contains(focusNode)) {
5224
5225
  hasDomSelectionInEditor = true;
5225
5226
  } // If the DOM selection is in the editor and the editor selection is already correct, we're done.
5226
5227
 
@@ -5234,16 +5235,14 @@
5234
5235
  });
5235
5236
 
5236
5237
  if (slateRange && slate.Range.equals(slateRange, selection)) {
5237
- var _anchorNode$parentEle;
5238
+ var _anchorNode, _anchorNode$parentEle;
5238
5239
 
5239
5240
  if (!state.hasMarkPlaceholder) {
5240
5241
  return;
5241
5242
  } // Ensure selection is inside the mark placeholder
5242
5243
 
5243
5244
 
5244
- var anchorNode = domSelection.anchorNode;
5245
-
5246
- if (anchorNode !== null && anchorNode !== void 0 && (_anchorNode$parentEle = anchorNode.parentElement) !== null && _anchorNode$parentEle !== void 0 && _anchorNode$parentEle.hasAttribute('data-slate-mark-placeholder')) {
5245
+ if ((_anchorNode = anchorNode) !== null && _anchorNode !== void 0 && (_anchorNode$parentEle = _anchorNode.parentElement) !== null && _anchorNode$parentEle !== void 0 && _anchorNode$parentEle.hasAttribute('data-slate-mark-placeholder')) {
5247
5246
  return;
5248
5247
  }
5249
5248
  }
@@ -5280,20 +5279,17 @@
5280
5279
  }
5281
5280
 
5282
5281
  return newDomRange;
5283
- };
5282
+ }; // In firefox if there is more then 1 range and we call setDomSelection we remove the ability to select more cells in a table
5283
+
5284
+
5285
+ if (domSelection.rangeCount <= 1) {
5286
+ setDomSelection();
5287
+ }
5284
5288
 
5285
- var newDomRange = setDomSelection();
5286
5289
  var ensureSelection = ((_androidInputManagerR2 = androidInputManagerRef.current) === null || _androidInputManagerR2 === void 0 ? void 0 : _androidInputManagerR2.isFlushing()) === 'action';
5287
5290
 
5288
5291
  if (!IS_ANDROID || !ensureSelection) {
5289
5292
  setTimeout(function () {
5290
- // COMPAT: In Firefox, it's not enough to create a range, you also need
5291
- // to focus the contenteditable element too. (2016/11/16)
5292
- if (newDomRange && IS_FIREFOX) {
5293
- var el = ReactEditor.toDOMNode(editor, editor);
5294
- el.focus();
5295
- }
5296
-
5297
5293
  state.isUpdatingSelection = false;
5298
5294
  });
5299
5295
  return;