slate-react 0.76.0 → 0.76.1-20223315597

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.
@@ -68,10 +68,6 @@ export declare const DefaultPlaceholder: ({ attributes, children, }: RenderPlace
68
68
  * A default memoized decorate function.
69
69
  */
70
70
  export declare const defaultDecorate: (entry: NodeEntry) => Range[];
71
- /**
72
- * Check if two DOM range objects are equal.
73
- */
74
- export declare const isRangeEqual: (a: DOMRange, b: DOMRange) => boolean;
75
71
  /**
76
72
  * Check if the target is in the editor.
77
73
  */
@@ -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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"}
@@ -9,6 +9,6 @@ export declare const Slate: (props: {
9
9
  editor: ReactEditor;
10
10
  value: Descendant[];
11
11
  children: React.ReactNode;
12
- onChange: (value: Descendant[]) => void;
12
+ onChange?: ((value: Descendant[]) => void) | undefined;
13
13
  }) => JSX.Element;
14
14
  //# sourceMappingURL=slate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slate.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/slate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAChF,OAAO,EAAyB,UAAU,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAWpD;;;GAGG;AAEH,eAAO,MAAM,KAAK;YACR,WAAW;WACZ,UAAU,EAAE;cACT,KAAK,CAAC,SAAS;sBACP,UAAU,EAAE,KAAK,IAAI;iBA0ExC,CAAA"}
1
+ {"version":3,"file":"slate.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/slate.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAChF,OAAO,EAAyB,UAAU,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAWpD;;;GAGG;AAEH,eAAO,MAAM,KAAK;YACR,WAAW;WACZ,UAAU,EAAE;cACT,KAAK,CAAC,SAAS;wBACN,UAAU,EAAE,KAAK,IAAI;iBA6EzC,CAAA"}
package/dist/index.es.js CHANGED
@@ -231,6 +231,7 @@ var IS_READ_ONLY = new WeakMap();
231
231
  var IS_FOCUSED = new WeakMap();
232
232
  var IS_COMPOSING = new WeakMap();
233
233
  var IS_ON_COMPOSITION_END = new WeakMap();
234
+ var EDITOR_TO_USER_SELECTION = new WeakMap();
234
235
  /**
235
236
  * Weak maps for saving text on composition stage.
236
237
  */
@@ -1194,6 +1195,8 @@ var Editable$1 = props => {
1194
1195
 
1195
1196
  var onDOMBeforeInput = useCallback(event => {
1196
1197
  if (!readOnly && hasEditableTarget(editor, event.target) && !isDOMEventHandled(event, propsOnDOMBeforeInput)) {
1198
+ var _EDITOR_TO_USER_SELEC;
1199
+
1197
1200
  // Some IMEs/Chrome extensions like e.g. Grammarly set the selection immediately before
1198
1201
  // triggering a `beforeinput` expecting the change to be applied to the immediately before
1199
1202
  // set selection.
@@ -1265,7 +1268,12 @@ var Editable$1 = props => {
1265
1268
  });
1266
1269
 
1267
1270
  if (!selection || !Range.equals(selection, range)) {
1271
+ var selectionRef = editor.selection && Editor.rangeRef(editor, editor.selection);
1268
1272
  Transforms.select(editor, range);
1273
+
1274
+ if (selectionRef) {
1275
+ EDITOR_TO_USER_SELECTION.set(editor, selectionRef);
1276
+ }
1269
1277
  }
1270
1278
  }
1271
1279
  } // COMPAT: If the selection is expanded, even if the command seems like
@@ -1415,6 +1423,14 @@ var Editable$1 = props => {
1415
1423
 
1416
1424
  break;
1417
1425
  }
1426
+ } // Restore the actual user section if nothing manually set it.
1427
+
1428
+
1429
+ var toRestore = (_EDITOR_TO_USER_SELEC = EDITOR_TO_USER_SELECTION.get(editor)) === null || _EDITOR_TO_USER_SELEC === void 0 ? void 0 : _EDITOR_TO_USER_SELEC.unref();
1430
+ EDITOR_TO_USER_SELECTION.delete(editor);
1431
+
1432
+ if (toRestore && (!editor.selection || !Range.equals(editor.selection, toRestore))) {
1433
+ Transforms.select(editor, toRestore);
1418
1434
  }
1419
1435
  }
1420
1436
  }, [readOnly, propsOnDOMBeforeInput]); // Attach a native DOM event handler for `beforeinput` events, because React's
@@ -1801,7 +1817,7 @@ var Editable$1 = props => {
1801
1817
  }
1802
1818
  }, [readOnly, attributes.onFocus]),
1803
1819
  onKeyDown: useCallback(event => {
1804
- if (!readOnly && !state.isComposing && hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onKeyDown)) {
1820
+ if (!readOnly && hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onKeyDown) && !state.isComposing) {
1805
1821
  var {
1806
1822
  nativeEvent
1807
1823
  } = event;
@@ -2135,6 +2151,7 @@ var defaultScrollSelectionIntoView = (editor, domRange) => {
2135
2151
  * Check if the target is in the editor.
2136
2152
  */
2137
2153
 
2154
+
2138
2155
  var hasTarget = (editor, target) => {
2139
2156
  return isDOMNode(target) && ReactEditor.hasDOMNode(editor, target);
2140
2157
  };
@@ -4057,7 +4074,10 @@ var Slate = props => {
4057
4074
  onChange: handleSelectorChange
4058
4075
  } = getSelectorContext(editor);
4059
4076
  var onContextChange = useCallback(() => {
4060
- onChange(editor.children);
4077
+ if (onChange) {
4078
+ onChange(editor.children);
4079
+ }
4080
+
4061
4081
  setContext([editor]);
4062
4082
  handleSelectorChange(editor);
4063
4083
  }, [onChange]);
@@ -4227,6 +4247,16 @@ var withReact = editor => {
4227
4247
  break;
4228
4248
  }
4229
4249
 
4250
+ case 'set_selection':
4251
+ {
4252
+ var _EDITOR_TO_USER_SELEC;
4253
+
4254
+ // Selection was manually set, don't restore the user selection after the change.
4255
+ (_EDITOR_TO_USER_SELEC = EDITOR_TO_USER_SELECTION.get(editor)) === null || _EDITOR_TO_USER_SELEC === void 0 ? void 0 : _EDITOR_TO_USER_SELEC.unref();
4256
+ EDITOR_TO_USER_SELECTION.delete(editor);
4257
+ break;
4258
+ }
4259
+
4230
4260
  case 'insert_node':
4231
4261
  case 'remove_node':
4232
4262
  {