slate-react 0.70.2 → 0.71.1-2021114161528

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # slate-react
2
2
 
3
+ ## 0.71.1-2021114161528
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4706](https://github.com/ianstormtaylor/slate/pull/4706) [`6d194077`](https://github.com/ianstormtaylor/slate/commit/6d194077763ec0a9d5642be5cafef20e65dbce8e) Thanks [@BitPhinix](https://github.com/BitPhinix)! - Update android restoreDOM to use partial dom restoring
8
+
9
+ * [#4707](https://github.com/ianstormtaylor/slate/pull/4707) [`c020ca23`](https://github.com/ianstormtaylor/slate/commit/c020ca23b6f5d2307eb62630566ec711def89fcf) Thanks [@ahoisl](https://github.com/ahoisl)! - fix: add 'readonly' dependency for onDragStart callback
10
+
11
+ * Updated dependencies [[`2fc7ad92`](https://github.com/ianstormtaylor/slate/commit/2fc7ad924cfbb75de59f685eeabb0375769201b9)]:
12
+ - slate@0.71.1-2021114161528
13
+
14
+ ## 0.71.0
15
+
16
+ ### Minor Changes
17
+
18
+ - [#4682](https://github.com/ianstormtaylor/slate/pull/4682) [`e5380655`](https://github.com/ianstormtaylor/slate/commit/e53806557217b08bce6217b7d871cd5ae7dad31c) Thanks [@matthewkeil](https://github.com/matthewkeil)! - Support SSR for autoCorrect, spellCheck and autoCapitalize.
19
+ Fixes prop mismatch between server and client.
20
+ Removes the need to add
21
+ <Editable
22
+ spellCheck={false}
23
+ autoCorrect="false"
24
+ autoCapitalize="false"
25
+ />
26
+
3
27
  ## 0.70.2
4
28
 
5
29
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"android-editable.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/android-editable.tsx"],"names":[],"mappings":";AACA,OAAO,EAAsB,OAAO,EAA2B,MAAM,OAAO,CAAA;AA2B5E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAY3C;;GAEG;AAEH,eAAO,MAAM,eAAe,UAAW,aAAa,KAAG,GAAG,CAAC,OAqb1D,CAAA"}
1
+ {"version":3,"file":"android-editable.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/android-editable.tsx"],"names":[],"mappings":";AACA,OAAO,EAAsB,OAAO,EAA2B,MAAM,OAAO,CAAA;AAyB5E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAa3C;;GAEG;AAEH,eAAO,MAAM,eAAe,UAAW,aAAa,KAAG,GAAG,CAAC,OAgb1D,CAAA"}
@@ -20,10 +20,12 @@ import { ReactEditor } from '../../plugin/react-editor';
20
20
  * - Line breaks
21
21
  *
22
22
  * @param editor
23
+ * @param restoreDOM
23
24
  */
24
25
  export declare class AndroidInputManager {
25
26
  private editor;
26
- constructor(editor: ReactEditor);
27
+ private restoreDOM;
28
+ constructor(editor: ReactEditor, restoreDOM: () => void);
27
29
  /**
28
30
  * Handle MutationObserver flush
29
31
  *
@@ -1 +1 @@
1
- {"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/android-input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAuBvD;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAIvC;;;;OAIG;IAEH,KAAK,cAAe,cAAc,EAAE,UAYnC;IAED;;;;OAIG;IAEH,OAAO,CAAC,kBAAkB,CAkBzB;IAED;;OAEG;IAEH,OAAO,CAAC,UAAU,CAuBjB;IAED;;OAEG;IAEH,OAAO,CAAC,WAAW,CAsBlB;IAED;;OAEG;IAEH,OAAO,CAAC,wBAAwB,CAY/B;IAED;;OAEG;IAEH,OAAO,CAAC,cAAc,CAOrB;IAED;;OAEG;IACH,OAAO,CAAC,eAAe,CAWtB;CACF;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/android-input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAsBvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,MAAM;IAAe,OAAO,CAAC,UAAU;gBAAvC,MAAM,EAAE,WAAW,EAAU,UAAU,EAAE,MAAM,IAAI;IAKvE;;;;OAIG;IAEH,KAAK,cAAe,cAAc,EAAE,UAYnC;IAED;;;;OAIG;IAEH,OAAO,CAAC,kBAAkB,CAkBzB;IAED;;OAEG;IAEH,OAAO,CAAC,UAAU,CAuBjB;IAED;;OAEG;IAEH,OAAO,CAAC,WAAW,CAoBlB;IAED;;OAEG;IAEH,OAAO,CAAC,wBAAwB,CAY/B;IAED;;OAEG;IAEH,OAAO,CAAC,cAAc,CAOrB;IAED;;OAEG;IACH,OAAO,CAAC,eAAe,CAWtB;CACF;AAED,eAAe,mBAAmB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-android-input-manager.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/use-android-input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAA;AAehE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC;;;EA8BlE"}
1
+ {"version":3,"file":"use-android-input-manager.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/use-android-input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA0C,MAAM,OAAO,CAAA;AAgBzE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC;;;EAqClE"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export declare function useRestoreDom(node: React.RefObject<HTMLElement>, receivedUserInput: React.RefObject<boolean>): () => void;
3
+ //# sourceMappingURL=use-restore-dom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-restore-dom.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/use-restore-dom.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAA;AAgC7D,wBAAgB,aAAa,CAC3B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAClC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,cA8C5C"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AAErC,OAAO,EAAgB,KAAK,EAAa,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAc/E,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAEnB;;GAEG;AAEH,QAAA,MAAM,OAAO;iBACE,KAAK,EAAE;aACX,YAAY;6BACG,kBAAkB,KAAK,GAAG,CAAC,OAAO;+BAC/B,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;eACzC,KAAK,GAAG,IAAI;iBAsGxB,CAAA;AAED,QAAA,MAAM,eAAe;iBA7GN,KAAK,EAAE;aACX,YAAY;6BACG,kBAAkB,KAAK,GAAG,CAAC,OAAO;+BAC/B,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;eACzC,KAAK,GAAG,IAAI;kBAmHvB,CAAA;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,UAAW,kBAAkB,gBASvD,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAE/C,OAAO,EAAgB,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAcpE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAInB;;GAEG;AAEH,QAAA,MAAM,OAAO;iBACE,KAAK,EAAE;aACX,YAAY;6BACG,kBAAkB,KAAK,GAAG,CAAC,OAAO;+BAC/B,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;eACzC,KAAK,GAAG,IAAI;iBA6GxB,CAAA;AAED,QAAA,MAAM,eAAe;iBApHN,KAAK,EAAE;aACX,YAAY;6BACG,kBAAkB,KAAK,GAAG,CAAC,OAAO;+BAC/B,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;eACzC,KAAK,GAAG,IAAI;kBA0HvB,CAAA;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,UAAW,kBAAkB,gBASvD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAuEpE,QAAA,MAAM,YAAY;iBAzDH,KAAK,EAAE;YACZ,OAAO;YACP,OAAO;+BACY,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;UAC9C,SAAS;kBA4Df,CAAA;AAEF,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAIzD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AA2EpE,QAAA,MAAM,YAAY;iBA3DH,KAAK,EAAE;YACZ,OAAO;YACP,OAAO;+BACY,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;UAC9C,SAAS;kBA8Df,CAAA;AAEF,eAAe,YAAY,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-children.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/hooks/use-children.tsx"],"names":[],"mappings":";AACA,OAAO,EAAU,KAAK,EAAE,OAAO,EAAa,QAAQ,EAAc,MAAM,OAAO,CAAA;AAQ/E,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAG/B;;GAEG;AAEH,QAAA,MAAM,WAAW;iBACF,KAAK,EAAE;UACd,QAAQ;6BACU,kBAAkB,KAAK,GAAG,CAAC,OAAO;+BAC/B,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;eACzC,KAAK,GAAG,IAAI;mBAoExB,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"use-children.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/hooks/use-children.tsx"],"names":[],"mappings":";AACA,OAAO,EAAU,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAc,MAAM,OAAO,CAAA;AAQpE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAG/B;;GAEG;AAEH,QAAA,MAAM,WAAW;iBACF,KAAK,EAAE;UACd,QAAQ;6BACU,kBAAkB,KAAK,GAAG,CAAC,OAAO;+BAC/B,sBAAsB,KAAK,GAAG,CAAC,OAAO;0BAC5C,eAAe,KAAK,GAAG,CAAC,OAAO;eACzC,KAAK,GAAG,IAAI;mBAoExB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Node as SlateNode } from 'slate';
2
+ export declare function useContentKey(node: SlateNode): number;
3
+ //# sourceMappingURL=use-content-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-content-key.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/hooks/use-content-key.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAGzC,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,UAiC5C"}
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import React, { useRef, useEffect, useLayoutEffect, useContext, createContext, useState, useMemo, useCallback } from 'react';
1
+ import React, { useRef, useEffect, useLayoutEffect, useState, Fragment, useContext, createContext, useMemo, useCallback } from 'react';
2
2
  import { Path, Node, Editor, Text as Text$1, Range, Element as Element$1, Transforms } from 'slate';
3
3
  import getDirection from 'direction';
4
4
  import debounce from 'lodash/debounce';
@@ -177,7 +177,7 @@ var IS_FOCUSED = new WeakMap();
177
177
  */
178
178
 
179
179
  var EDITOR_TO_ON_CHANGE = new WeakMap();
180
- var EDITOR_TO_RESTORE_DOM = new WeakMap();
180
+ var NODE_TO_RESTORE_DOM = new WeakMap();
181
181
  /**
182
182
  * Symbols.
183
183
  */
@@ -327,6 +327,36 @@ var isDecoratorRangeListEqual = (list, another) => {
327
327
  return true;
328
328
  };
329
329
 
330
+ function useContentKey(node) {
331
+ var contentKeyRef = useRef(0);
332
+ var updateAnimationFrameRef = useRef(null);
333
+ var [, setForceRerenderCounter] = useState(0);
334
+ useEffect(() => {
335
+ NODE_TO_RESTORE_DOM.set(node, () => {
336
+ // Update is already queued and node hasn't re-render yet
337
+ if (updateAnimationFrameRef.current) {
338
+ return;
339
+ }
340
+
341
+ updateAnimationFrameRef.current = requestAnimationFrame(() => {
342
+ setForceRerenderCounter(state => state + 1);
343
+ updateAnimationFrameRef.current = null;
344
+ });
345
+ contentKeyRef.current++;
346
+ });
347
+ return () => {
348
+ NODE_TO_RESTORE_DOM.delete(node);
349
+ };
350
+ }, [node]); // Node was restored => clear scheduled update
351
+
352
+ if (updateAnimationFrameRef.current) {
353
+ cancelAnimationFrame(updateAnimationFrameRef.current);
354
+ updateAnimationFrameRef.current = null;
355
+ }
356
+
357
+ return contentKeyRef.current;
358
+ }
359
+
330
360
  /**
331
361
  * Text.
332
362
  */
@@ -372,9 +402,11 @@ var Text = props => {
372
402
  NODE_TO_ELEMENT.delete(text);
373
403
  }
374
404
  });
405
+ var contentKey = IS_ANDROID ? useContentKey(text) : undefined;
375
406
  return /*#__PURE__*/React.createElement("span", {
376
407
  "data-slate-node": "text",
377
- ref: ref
408
+ ref: ref,
409
+ key: contentKey
378
410
  }, children);
379
411
  };
380
412
 
@@ -472,11 +504,20 @@ var Element = props => {
472
504
  NODE_TO_ELEMENT.delete(element);
473
505
  }
474
506
  });
475
- return renderElement({
507
+ var content = renderElement({
476
508
  attributes,
477
509
  children,
478
510
  element
479
511
  });
512
+
513
+ if (IS_ANDROID) {
514
+ var contentKey = useContentKey(element);
515
+ return /*#__PURE__*/React.createElement(Fragment, {
516
+ key: contentKey
517
+ }, content);
518
+ }
519
+
520
+ return content;
480
521
  };
481
522
 
482
523
  var MemoizedElement = /*#__PURE__*/React.memo(Element, (prev, next) => {
@@ -1385,9 +1426,12 @@ var Editable$1 = props => {
1385
1426
  }, attributes, {
1386
1427
  // COMPAT: Certain browsers don't support the `beforeinput` event, so we'd
1387
1428
  // have to use hacks to make these replacement-based features work.
1388
- spellCheck: !HAS_BEFORE_INPUT_SUPPORT ? false : attributes.spellCheck,
1389
- autoCorrect: !HAS_BEFORE_INPUT_SUPPORT ? 'false' : attributes.autoCorrect,
1390
- autoCapitalize: !HAS_BEFORE_INPUT_SUPPORT ? 'false' : attributes.autoCapitalize,
1429
+ // For SSR situations HAS_BEFORE_INPUT_SUPPORT is false and results in prop
1430
+ // mismatch warning app moves to browser. Pass-through consumer props when
1431
+ // not CAN_USE_DOM (SSR) and default to falsy value
1432
+ spellCheck: HAS_BEFORE_INPUT_SUPPORT || !CAN_USE_DOM ? attributes.spellCheck : false,
1433
+ autoCorrect: HAS_BEFORE_INPUT_SUPPORT || !CAN_USE_DOM ? attributes.autoCorrect : 'false',
1434
+ autoCapitalize: HAS_BEFORE_INPUT_SUPPORT || !CAN_USE_DOM ? attributes.autoCapitalize : 'false',
1391
1435
  "data-slate-editor": true,
1392
1436
  "data-slate-node": "value",
1393
1437
  // explicitly set this
@@ -1653,7 +1697,7 @@ var Editable$1 = props => {
1653
1697
  state.isDraggingInternally = true;
1654
1698
  ReactEditor.setFragmentData(editor, event.dataTransfer);
1655
1699
  }
1656
- }, [attributes.onDragStart]),
1700
+ }, [readOnly, attributes.onDragStart]),
1657
1701
  onDrop: useCallback(event => {
1658
1702
  if (!readOnly && hasTarget(editor, event.target) && !isEventHandled(event, attributes.onDrop)) {
1659
1703
  event.preventDefault(); // Keep a reference to the dragged range before updating selection
@@ -3029,19 +3073,6 @@ var isRemoveLeafNodes = (_, _ref7) => {
3029
3073
  return removedNodes.length > 0 && addedNodes.length === 0 && characterDataMutations.length > 0;
3030
3074
  };
3031
3075
 
3032
- function restoreDOM(editor) {
3033
- try {
3034
- var onRestoreDOM = EDITOR_TO_RESTORE_DOM.get(editor);
3035
-
3036
- if (onRestoreDOM) {
3037
- onRestoreDOM();
3038
- }
3039
- } catch (err) {
3040
- // eslint-disable-next-line no-console
3041
- console.error(err);
3042
- }
3043
- }
3044
-
3045
3076
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3046
3077
 
3047
3078
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -3066,12 +3097,14 @@ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) {
3066
3097
  * - Line breaks
3067
3098
  *
3068
3099
  * @param editor
3100
+ * @param restoreDOM
3069
3101
  */
3070
3102
 
3071
3103
 
3072
3104
  class AndroidInputManager {
3073
- constructor(editor) {
3105
+ constructor(editor, restoreDOM) {
3074
3106
  this.editor = editor;
3107
+ this.restoreDOM = restoreDOM;
3075
3108
  /**
3076
3109
  * Handle MutationObserver flush
3077
3110
  *
@@ -3086,7 +3119,7 @@ class AndroidInputManager {
3086
3119
  // eslint-disable-next-line no-console
3087
3120
  console.error(err); // Failed to reconcile mutations, restore DOM to its previous state
3088
3121
 
3089
- restoreDOM(this.editor);
3122
+ this.restoreDOM();
3090
3123
  }
3091
3124
  };
3092
3125
  /**
@@ -3158,10 +3191,8 @@ class AndroidInputManager {
3158
3191
  var {
3159
3192
  selection
3160
3193
  } = this.editor;
3161
- Editor.insertBreak(this.editor); // To-do: Need a more granular solution to restoring only a specific portion
3162
- // of the document. Restoring the entire document is expensive.
3163
-
3164
- restoreDOM(this.editor);
3194
+ Editor.insertBreak(this.editor);
3195
+ this.restoreDOM();
3165
3196
 
3166
3197
  if (selection) {
3167
3198
  // Compat: Move selection to the newly inserted block if it has not moved
@@ -3186,7 +3217,7 @@ class AndroidInputManager {
3186
3217
  Editor.insertText(this.editor, text);
3187
3218
  }
3188
3219
 
3189
- restoreDOM(this.editor);
3220
+ this.restoreDOM();
3190
3221
  };
3191
3222
  /**
3192
3223
  * Handle `backspace` that merges blocks
@@ -3196,7 +3227,7 @@ class AndroidInputManager {
3196
3227
  this.deleteBackward = () => {
3197
3228
  Editor.deleteBackward(this.editor);
3198
3229
  ReactEditor.focus(this.editor);
3199
- restoreDOM(this.editor);
3230
+ this.restoreDOM();
3200
3231
  };
3201
3232
  /**
3202
3233
  * Handle mutations that remove specific leaves
@@ -3212,12 +3243,13 @@ class AndroidInputManager {
3212
3243
  Transforms.delete(this.editor, {
3213
3244
  at: path
3214
3245
  });
3215
- restoreDOM(this.editor);
3246
+ this.restoreDOM();
3216
3247
  }
3217
3248
  }
3218
3249
  };
3219
3250
 
3220
3251
  this.editor = editor;
3252
+ this.restoreDOM = restoreDOM;
3221
3253
  }
3222
3254
 
3223
3255
  }
@@ -3240,6 +3272,70 @@ function useMutationObserver(node, callback, options) {
3240
3272
  });
3241
3273
  }
3242
3274
 
3275
+ var MUTATION_OBSERVER_CONFIG$1 = {
3276
+ childList: true,
3277
+ characterData: true,
3278
+ subtree: true
3279
+ };
3280
+
3281
+ function findClosestKnowSlateNode(domNode) {
3282
+ var _domEl;
3283
+
3284
+ var domEl = isDOMElement(domNode) ? domNode : domNode.parentElement;
3285
+
3286
+ if (domEl && !domEl.hasAttribute('data-slate-node')) {
3287
+ domEl = domEl.closest("[data-slate-node]");
3288
+ }
3289
+
3290
+ var slateNode = domEl && ELEMENT_TO_NODE.get(domEl);
3291
+
3292
+ if (slateNode) {
3293
+ return slateNode;
3294
+ } // Unknown dom element with a slate-slate-node attribute => the IME
3295
+ // most likely duplicated the node so we have to restore the parent
3296
+
3297
+
3298
+ return (_domEl = domEl) !== null && _domEl !== void 0 && _domEl.parentElement ? findClosestKnowSlateNode(domEl.parentElement) : null;
3299
+ }
3300
+
3301
+ function useRestoreDom(node, receivedUserInput) {
3302
+ var editor = useSlateStatic();
3303
+ var mutatedNodes = useRef(new Set());
3304
+ var handleDOMMutation = useCallback(mutations => {
3305
+ if (!receivedUserInput.current) {
3306
+ return;
3307
+ }
3308
+
3309
+ mutations.forEach(_ref => {
3310
+ var {
3311
+ target
3312
+ } = _ref;
3313
+ var slateNode = findClosestKnowSlateNode(target);
3314
+
3315
+ if (!slateNode) {
3316
+ return;
3317
+ }
3318
+
3319
+ return mutatedNodes.current.add(slateNode);
3320
+ });
3321
+ }, []);
3322
+ useMutationObserver(node, handleDOMMutation, MUTATION_OBSERVER_CONFIG$1); // Clear mutated nodes on every render
3323
+
3324
+ mutatedNodes.current.clear();
3325
+ var restore = useCallback(() => {
3326
+ var mutated = Array.from(mutatedNodes.current.values()); // Filter out child nodes of nodes that will be restored anyway
3327
+
3328
+ var nodesToRestore = mutated.filter(n => !mutated.some(m => Path.isParent(ReactEditor.findPath(editor, m), ReactEditor.findPath(editor, n))));
3329
+ nodesToRestore.forEach(n => {
3330
+ var _NODE_TO_RESTORE_DOM$;
3331
+
3332
+ (_NODE_TO_RESTORE_DOM$ = NODE_TO_RESTORE_DOM.get(n)) === null || _NODE_TO_RESTORE_DOM$ === void 0 ? void 0 : _NODE_TO_RESTORE_DOM$();
3333
+ });
3334
+ mutatedNodes.current.clear();
3335
+ }, []);
3336
+ return restore;
3337
+ }
3338
+
3243
3339
  function useTrackUserInput() {
3244
3340
  var editor = useSlateStatic();
3245
3341
  var receivedUserInput = useRef(false);
@@ -3279,11 +3375,12 @@ var MUTATION_OBSERVER_CONFIG = {
3279
3375
  };
3280
3376
  function useAndroidInputManager(node) {
3281
3377
  var editor = useSlateStatic();
3282
- var [inputManager] = useState(() => new AndroidInputManager(editor));
3283
3378
  var {
3284
3379
  receivedUserInput,
3285
3380
  onUserInput
3286
3381
  } = useTrackUserInput();
3382
+ var restoreDom = useRestoreDom(node, receivedUserInput);
3383
+ var inputManager = useMemo(() => new AndroidInputManager(editor, restoreDom), [restoreDom, editor]);
3287
3384
  var timeoutId = useRef(null);
3288
3385
  var isReconciling = useRef(false);
3289
3386
  var flush = useCallback(mutations => {
@@ -3344,10 +3441,7 @@ var AndroidEditable = props => {
3344
3441
  isUpdatingSelection: false,
3345
3442
  latestElement: null
3346
3443
  }), []);
3347
- var [contentKey, setContentKey] = useState(0);
3348
- var onRestoreDOM = useCallback(() => {
3349
- setContentKey(prev => prev + 1);
3350
- }, [contentKey]); // Whenever the editor updates...
3444
+ var contentKey = useContentKey(editor); // Whenever the editor updates...
3351
3445
 
3352
3446
  useIsomorphicLayoutEffect(() => {
3353
3447
  // Update element-related weak maps with the DOM element ref.
@@ -3358,10 +3452,8 @@ var AndroidEditable = props => {
3358
3452
  EDITOR_TO_ELEMENT.set(editor, ref.current);
3359
3453
  NODE_TO_ELEMENT.set(editor, ref.current);
3360
3454
  ELEMENT_TO_NODE.set(ref.current, editor);
3361
- EDITOR_TO_RESTORE_DOM.set(editor, onRestoreDOM);
3362
3455
  } else {
3363
3456
  NODE_TO_ELEMENT.delete(editor);
3364
- EDITOR_TO_RESTORE_DOM.delete(editor);
3365
3457
  }
3366
3458
 
3367
3459
  try {