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.
- package/dist/hooks/android-input-manager/android-input-manager.d.ts.map +1 -1
- package/dist/index.es.js +29 -18
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +39 -29
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +39 -29
- package/dist/slate-react.min.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -490,34 +490,44 @@ function createAndroidInputManager(_ref) {
|
|
|
490
490
|
// schedule an action to let Slate normalize the editor state.
|
|
491
491
|
var canStoreDiff = true;
|
|
492
492
|
if (type.startsWith('delete')) {
|
|
493
|
+
var direction = type.endsWith('Backward') ? 'backward' : 'forward';
|
|
494
|
+
var _Range$edges = slate.Range.edges(targetRange),
|
|
495
|
+
_Range$edges2 = _slicedToArray(_Range$edges, 2),
|
|
496
|
+
start = _Range$edges2[0],
|
|
497
|
+
end = _Range$edges2[1];
|
|
498
|
+
var _Editor$leaf = slate.Editor.leaf(editor, start.path),
|
|
499
|
+
_Editor$leaf2 = _slicedToArray(_Editor$leaf, 2),
|
|
500
|
+
leaf = _Editor$leaf2[0],
|
|
501
|
+
path = _Editor$leaf2[1];
|
|
493
502
|
if (slate.Range.isExpanded(targetRange)) {
|
|
494
|
-
|
|
495
|
-
_Range$edges2 = _slicedToArray(_Range$edges, 2),
|
|
496
|
-
_start = _Range$edges2[0],
|
|
497
|
-
_end = _Range$edges2[1];
|
|
498
|
-
var _leaf = slate.Node.leaf(editor, _start.path);
|
|
499
|
-
if (_leaf.text.length === _start.offset && _end.offset === 0) {
|
|
503
|
+
if (leaf.text.length === start.offset && end.offset === 0) {
|
|
500
504
|
var next = slate.Editor.next(editor, {
|
|
501
|
-
at:
|
|
505
|
+
at: start.path,
|
|
502
506
|
match: slate.Text.isText
|
|
503
507
|
});
|
|
504
|
-
if (next && slate.Path.equals(next[1],
|
|
505
|
-
targetRange
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
508
|
+
if (next && slate.Path.equals(next[1], end.path)) {
|
|
509
|
+
// when deleting a linebreak, targetRange will span across the break (ie start in the node before and end in the node after)
|
|
510
|
+
// 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
|
|
511
|
+
// so to avoid this we collapse the target range to default to single character deletion
|
|
512
|
+
if (direction === 'backward') {
|
|
513
|
+
targetRange = {
|
|
514
|
+
anchor: end,
|
|
515
|
+
focus: end
|
|
516
|
+
};
|
|
517
|
+
start = end;
|
|
518
|
+
var _next = _slicedToArray(next, 2);
|
|
519
|
+
leaf = _next[0];
|
|
520
|
+
path = _next[1];
|
|
521
|
+
} else {
|
|
522
|
+
targetRange = {
|
|
523
|
+
anchor: start,
|
|
524
|
+
focus: start
|
|
525
|
+
};
|
|
526
|
+
end = start;
|
|
527
|
+
}
|
|
509
528
|
}
|
|
510
529
|
}
|
|
511
530
|
}
|
|
512
|
-
var direction = type.endsWith('Backward') ? 'backward' : 'forward';
|
|
513
|
-
var _Range$edges3 = slate.Range.edges(targetRange),
|
|
514
|
-
_Range$edges4 = _slicedToArray(_Range$edges3, 2),
|
|
515
|
-
start = _Range$edges4[0],
|
|
516
|
-
end = _Range$edges4[1];
|
|
517
|
-
var _Editor$leaf = slate.Editor.leaf(editor, start.path),
|
|
518
|
-
_Editor$leaf2 = _slicedToArray(_Editor$leaf, 2),
|
|
519
|
-
leaf = _Editor$leaf2[0],
|
|
520
|
-
path = _Editor$leaf2[1];
|
|
521
531
|
var diff = {
|
|
522
532
|
text: '',
|
|
523
533
|
start: start.offset,
|
|
@@ -747,13 +757,13 @@ function createAndroidInputManager(_ref) {
|
|
|
747
757
|
});
|
|
748
758
|
}
|
|
749
759
|
if (slate.Path.equals(targetRange.anchor.path, targetRange.focus.path)) {
|
|
750
|
-
var _Range$
|
|
751
|
-
_Range$
|
|
752
|
-
|
|
753
|
-
|
|
760
|
+
var _Range$edges3 = slate.Range.edges(targetRange),
|
|
761
|
+
_Range$edges4 = _slicedToArray(_Range$edges3, 2),
|
|
762
|
+
_start = _Range$edges4[0],
|
|
763
|
+
_end = _Range$edges4[1];
|
|
754
764
|
var _diff = {
|
|
755
|
-
start:
|
|
756
|
-
end:
|
|
765
|
+
start: _start.offset,
|
|
766
|
+
end: _end.offset,
|
|
757
767
|
text: _text
|
|
758
768
|
};
|
|
759
769
|
// COMPAT: Swiftkey has a weird bug where the target range of the 2nd word
|
|
@@ -775,7 +785,7 @@ function createAndroidInputManager(_ref) {
|
|
|
775
785
|
} else if (type === 'insertText') {
|
|
776
786
|
if (insertPositionHint === null) {
|
|
777
787
|
insertPositionHint = _diff;
|
|
778
|
-
} else if (insertPositionHint && slate.Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length ===
|
|
788
|
+
} else if (insertPositionHint && slate.Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length === _start.offset) {
|
|
779
789
|
insertPositionHint = _objectSpread$7(_objectSpread$7({}, insertPositionHint), {}, {
|
|
780
790
|
text: insertPositionHint.text + _text
|
|
781
791
|
});
|
|
@@ -786,7 +796,7 @@ function createAndroidInputManager(_ref) {
|
|
|
786
796
|
insertPositionHint = false;
|
|
787
797
|
}
|
|
788
798
|
if (canStoreDiff) {
|
|
789
|
-
storeDiff(
|
|
799
|
+
storeDiff(_start.path, _diff);
|
|
790
800
|
return;
|
|
791
801
|
}
|
|
792
802
|
}
|