slate-react 0.147.3 → 0.147.5
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 +25 -0
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +27 -0
- package/dist/slate-react.min.js +1 -1
- package/package.json +2 -2
package/dist/slate-react.js
CHANGED
|
@@ -3861,6 +3861,23 @@
|
|
|
3861
3861
|
var isDataTransfer = function isDataTransfer(value) {
|
|
3862
3862
|
return (value === null || value === void 0 ? void 0 : value.constructor.name) === 'DataTransfer';
|
|
3863
3863
|
};
|
|
3864
|
+
var wordEndingAt = function wordEndingAt(editor, point, replacement) {
|
|
3865
|
+
var _replacement$;
|
|
3866
|
+
var start = slate.Editor.before(editor, point, {
|
|
3867
|
+
unit: 'word'
|
|
3868
|
+
});
|
|
3869
|
+
if (!start || !slate.Path.equals(start.path, point.path)) {
|
|
3870
|
+
return null;
|
|
3871
|
+
}
|
|
3872
|
+
var typed = slate.Editor.string(editor, {
|
|
3873
|
+
anchor: start,
|
|
3874
|
+
focus: point
|
|
3875
|
+
});
|
|
3876
|
+
return !/\s/.test(typed) && ((_replacement$ = replacement[0]) === null || _replacement$ === void 0 ? void 0 : _replacement$.toLowerCase()) === typed[0].toLowerCase() ? {
|
|
3877
|
+
anchor: start,
|
|
3878
|
+
focus: point
|
|
3879
|
+
} : null;
|
|
3880
|
+
};
|
|
3864
3881
|
var EDITOR_TO_FLUSH_DEFERRED_DIFFS = new WeakMap();
|
|
3865
3882
|
function createAndroidInputManager(_ref) {
|
|
3866
3883
|
var editor = _ref.editor,
|
|
@@ -4215,6 +4232,7 @@
|
|
|
4215
4232
|
var _event$getTargetRange = event.getTargetRanges(),
|
|
4216
4233
|
_event$getTargetRange2 = _slicedToArray(_event$getTargetRange, 1),
|
|
4217
4234
|
nativeTargetRange = _event$getTargetRange2[0];
|
|
4235
|
+
var targetOutsideEditor = !!nativeTargetRange && !ReactEditor.hasDOMNode(editor, nativeTargetRange.startContainer);
|
|
4218
4236
|
if (nativeTargetRange && !isNodeMapDirty) {
|
|
4219
4237
|
targetRange = ReactEditor.toSlateRange(editor, nativeTargetRange, {
|
|
4220
4238
|
exactMatch: false,
|
|
@@ -4498,6 +4516,15 @@
|
|
|
4498
4516
|
return slate.Editor.insertText(editor, _text);
|
|
4499
4517
|
});
|
|
4500
4518
|
}
|
|
4519
|
+
if (targetOutsideEditor && slate.Range.isCollapsed(targetRange)) {
|
|
4520
|
+
var _wordEndingAt;
|
|
4521
|
+
event.preventDefault();
|
|
4522
|
+
return scheduleAction(function () {
|
|
4523
|
+
return slate.Editor.insertText(editor, _text);
|
|
4524
|
+
}, {
|
|
4525
|
+
at: (_wordEndingAt = wordEndingAt(editor, targetRange.anchor, _text)) !== null && _wordEndingAt !== void 0 ? _wordEndingAt : targetRange
|
|
4526
|
+
});
|
|
4527
|
+
}
|
|
4501
4528
|
// Pastes from the Android clipboard will generate `insertText` events.
|
|
4502
4529
|
// If the copied text contains any newlines, Android will append an
|
|
4503
4530
|
// extra newline to the end of the copied text.
|