slate-react 0.117.1 → 0.117.2

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":"android-input-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/slate-react/src/hooks/android-input-manager/android-input-manager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAsB,KAAK,EAAE,KAAK,EAAoB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAyBvD,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AAgB5D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,WAAW,CAAA;IAEnB,4BAA4B,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;IACvD,oBAAoB,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,aAAa,EAAE,MAAM,IAAI,CAAA;IAEzB,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,iBAAiB,EAAE,MAAM,OAAO,CAAA;IAChC,UAAU,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAA;IAEpC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC7E,sBAAsB,EAAE,CACtB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAC1C,IAAI,CAAA;IACT,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAEnE,kBAAkB,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,IAAI,CAAA;IACzD,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,4BAA4B,EAC5B,oBAAoB,GACrB,EAAE,gCAAgC,GAAG,mBAAmB,CAstBxD"}
1
+ {"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/slate-react/src/hooks/android-input-manager/android-input-manager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAsB,KAAK,EAAE,KAAK,EAAoB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAyBvD,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AAgB5D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,WAAW,CAAA;IAEnB,4BAA4B,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;IACvD,oBAAoB,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,aAAa,EAAE,MAAM,IAAI,CAAA;IAEzB,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,iBAAiB,EAAE,MAAM,OAAO,CAAA;IAChC,UAAU,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAA;IAEpC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC7E,sBAAsB,EAAE,CACtB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAC1C,IAAI,CAAA;IACT,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAEnE,kBAAkB,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,IAAI,CAAA;IACzD,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,4BAA4B,EAC5B,oBAAoB,GACrB,EAAE,gCAAgC,GAAG,mBAAmB,CA6tBxD"}
package/dist/index.es.js CHANGED
@@ -3,7 +3,7 @@ import debounce from 'lodash/debounce';
3
3
  import throttle from 'lodash/throttle';
4
4
  import React, { createContext, useContext, useRef, useEffect, useLayoutEffect, useState, memo, forwardRef, useCallback, useReducer, useMemo, Fragment, Component } from 'react';
5
5
  import scrollIntoView from 'scroll-into-view-if-needed';
6
- import { Editor, Range, Transforms, Node, Text as Text$1, Path, Point, Element as Element$1, Scrubber } from 'slate';
6
+ import { Editor, Range, Transforms, Text as Text$1, Path, Node, Point, Element as Element$1, Scrubber } from 'slate';
7
7
  import { DOMEditor, EDITOR_TO_USER_MARKS, EDITOR_TO_PENDING_DIFFS, EDITOR_TO_PENDING_ACTION, EDITOR_TO_PENDING_INSERTION_MARKS, targetRange, verifyDiffState, EDITOR_TO_PENDING_SELECTION, IS_COMPOSING, IS_NODE_MAP_DIRTY, applyStringDiff, isDOMSelection, isTrackedMutation, EDITOR_TO_FORCE_RENDER, normalizeRange, normalizePoint, EDITOR_TO_PLACEHOLDER_ELEMENT, normalizeStringDiff, mergeStringDiffs, CAN_USE_DOM, IS_ANDROID, EDITOR_TO_SCHEDULE_FLUSH, MARK_PLACEHOLDER_SYMBOL, PLACEHOLDER_SYMBOL, IS_WEBKIT, isTextDecorationsEqual, isElementDecorationsEqual, EDITOR_TO_KEY_TO_ELEMENT, NODE_TO_ELEMENT, ELEMENT_TO_NODE, NODE_TO_INDEX, NODE_TO_PARENT, Key, splitDecorationsByChild, IS_READ_ONLY, getActiveElement, getSelection, IS_FOCUSED, getDefaultView, EDITOR_TO_WINDOW, EDITOR_TO_ELEMENT, IS_FIREFOX, EDITOR_TO_USER_SELECTION, HAS_BEFORE_INPUT_SUPPORT, isDOMElement, isDOMNode, TRIPLE_CLICK, IS_FIREFOX_LEGACY, IS_IOS, IS_WECHATBROWSER, IS_UC_MOBILE, Hotkeys, IS_CHROME, isPlainTextOnlyPaste, EDITOR_TO_ON_CHANGE, withDOM } from 'slate-dom';
8
8
  export { NODE_TO_INDEX, NODE_TO_PARENT } from 'slate-dom';
9
9
  import { ResizeObserver } from '@juggle/resize-observer';
@@ -364,25 +364,36 @@ function createAndroidInputManager(_ref) {
364
364
  // schedule an action to let Slate normalize the editor state.
365
365
  var canStoreDiff = true;
366
366
  if (type.startsWith('delete')) {
367
+ var direction = type.endsWith('Backward') ? 'backward' : 'forward';
368
+ var [start, end] = Range.edges(targetRange);
369
+ var [leaf, path] = Editor.leaf(editor, start.path);
367
370
  if (Range.isExpanded(targetRange)) {
368
- var [_start, _end] = Range.edges(targetRange);
369
- var _leaf = Node.leaf(editor, _start.path);
370
- if (_leaf.text.length === _start.offset && _end.offset === 0) {
371
+ if (leaf.text.length === start.offset && end.offset === 0) {
371
372
  var next = Editor.next(editor, {
372
- at: _start.path,
373
+ at: start.path,
373
374
  match: Text$1.isText
374
375
  });
375
- if (next && Path.equals(next[1], _end.path)) {
376
- targetRange = {
377
- anchor: _end,
378
- focus: _end
379
- };
376
+ if (next && Path.equals(next[1], end.path)) {
377
+ // when deleting a linebreak, targetRange will span across the break (ie start in the node before and end in the node after)
378
+ // if the node before is empty, this will look like a hanging range and get unhung later--which will take the break we want to remove out of the range
379
+ // so to avoid this we collapse the target range to default to single character deletion
380
+ if (direction === 'backward') {
381
+ targetRange = {
382
+ anchor: end,
383
+ focus: end
384
+ };
385
+ start = end;
386
+ [leaf, path] = next;
387
+ } else {
388
+ targetRange = {
389
+ anchor: start,
390
+ focus: start
391
+ };
392
+ end = start;
393
+ }
380
394
  }
381
395
  }
382
396
  }
383
- var direction = type.endsWith('Backward') ? 'backward' : 'forward';
384
- var [start, end] = Range.edges(targetRange);
385
- var [leaf, path] = Editor.leaf(editor, start.path);
386
397
  var diff = {
387
398
  text: '',
388
399
  start: start.offset,
@@ -586,10 +597,10 @@ function createAndroidInputManager(_ref) {
586
597
  });
587
598
  }
588
599
  if (Path.equals(targetRange.anchor.path, targetRange.focus.path)) {
589
- var [_start2, _end2] = Range.edges(targetRange);
600
+ var [_start, _end] = Range.edges(targetRange);
590
601
  var _diff = {
591
- start: _start2.offset,
592
- end: _end2.offset,
602
+ start: _start.offset,
603
+ end: _end.offset,
593
604
  text: _text
594
605
  };
595
606
  // COMPAT: Swiftkey has a weird bug where the target range of the 2nd word
@@ -611,7 +622,7 @@ function createAndroidInputManager(_ref) {
611
622
  } else if (type === 'insertText') {
612
623
  if (insertPositionHint === null) {
613
624
  insertPositionHint = _diff;
614
- } else if (insertPositionHint && Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length === _start2.offset) {
625
+ } else if (insertPositionHint && Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length === _start.offset) {
615
626
  insertPositionHint = _objectSpread$7(_objectSpread$7({}, insertPositionHint), {}, {
616
627
  text: insertPositionHint.text + _text
617
628
  });
@@ -622,7 +633,7 @@ function createAndroidInputManager(_ref) {
622
633
  insertPositionHint = false;
623
634
  }
624
635
  if (canStoreDiff) {
625
- storeDiff(_start2.path, _diff);
636
+ storeDiff(_start.path, _diff);
626
637
  return;
627
638
  }
628
639
  }