slate-react 0.140.0 → 0.140.1
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/components/editable.d.ts.map +1 -1
- package/dist/index.es.js +45 -2
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +50 -2
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +50 -2
- package/dist/slate-react.min.js +1 -1
- package/package.json +1 -1
package/dist/slate-react.js
CHANGED
|
@@ -7331,6 +7331,9 @@
|
|
|
7331
7331
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
7332
7332
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
7333
7333
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
7334
|
+
var isTextDOMNode = function isTextDOMNode(node) {
|
|
7335
|
+
return isDOMNode(node) && node.nodeType === 3;
|
|
7336
|
+
};
|
|
7334
7337
|
var isSameCaretPosition = function isSameCaretPosition(editor, a, b) {
|
|
7335
7338
|
if (!slate.Range.isCollapsed(a) || !slate.Range.isCollapsed(b)) {
|
|
7336
7339
|
return false;
|
|
@@ -7389,6 +7392,7 @@
|
|
|
7389
7392
|
var pendingInputScroll = React.useRef(false);
|
|
7390
7393
|
var pendingNavigationScroll = React.useRef(false);
|
|
7391
7394
|
var deferredOperations = React.useRef([]);
|
|
7395
|
+
var lastNativeInsertion = React.useRef(null);
|
|
7392
7396
|
var _useState3 = React.useState(),
|
|
7393
7397
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
7394
7398
|
placeholderHeight = _useState4[0],
|
|
@@ -7743,6 +7747,7 @@
|
|
|
7743
7747
|
return;
|
|
7744
7748
|
}
|
|
7745
7749
|
var _native = false;
|
|
7750
|
+
var nativePoint = null;
|
|
7746
7751
|
if (type === 'insertText' && selection && slate.Range.isCollapsed(selection) &&
|
|
7747
7752
|
// Only use native character insertion for single characters a-z or space for now.
|
|
7748
7753
|
// Long-press events (hold a + press 4 = ä) to choose a special character otherwise
|
|
@@ -7752,14 +7757,14 @@
|
|
|
7752
7757
|
// When there is an inline element, e.g. a link, and you select
|
|
7753
7758
|
// right after it (the start of the next node).
|
|
7754
7759
|
selection.anchor.offset !== 0) {
|
|
7755
|
-
var _getSelection;
|
|
7756
7760
|
_native = true;
|
|
7757
7761
|
// Skip native if there are marks, as
|
|
7758
7762
|
// `insertText` will insert a node, not just text.
|
|
7759
7763
|
if (editor.marks) {
|
|
7760
7764
|
_native = false;
|
|
7761
7765
|
}
|
|
7762
|
-
var
|
|
7766
|
+
var domSelection = getSelection(ReactEditor.findDocumentOrShadowRoot(editor));
|
|
7767
|
+
var domAnchor = domSelection === null || domSelection === void 0 ? void 0 : domSelection.anchorNode;
|
|
7763
7768
|
if (!isInSlateText(domAnchor)) {
|
|
7764
7769
|
_native = false;
|
|
7765
7770
|
}
|
|
@@ -7796,6 +7801,9 @@
|
|
|
7796
7801
|
_native = false;
|
|
7797
7802
|
}
|
|
7798
7803
|
}
|
|
7804
|
+
if (_native && isTextDOMNode(node)) {
|
|
7805
|
+
nativePoint = domSelection !== null && domSelection !== void 0 && domSelection.isCollapsed && isTextDOMNode(domAnchor) ? [domAnchor, domSelection.anchorOffset] : [node, offset];
|
|
7806
|
+
}
|
|
7799
7807
|
}
|
|
7800
7808
|
}
|
|
7801
7809
|
// COMPAT: For the deleting forward/backward input types we don't want
|
|
@@ -7822,6 +7830,9 @@
|
|
|
7822
7830
|
EDITOR_TO_USER_SELECTION.set(editor, selectionRef);
|
|
7823
7831
|
}
|
|
7824
7832
|
}
|
|
7833
|
+
if (_native && isTextDOMNode(targetRange.startContainer)) {
|
|
7834
|
+
nativePoint = [targetRange.startContainer, targetRange.startOffset];
|
|
7835
|
+
}
|
|
7825
7836
|
}
|
|
7826
7837
|
}
|
|
7827
7838
|
// Composition change types occur while a user is composing text and can't be
|
|
@@ -7830,6 +7841,7 @@
|
|
|
7830
7841
|
return;
|
|
7831
7842
|
}
|
|
7832
7843
|
if (!_native) {
|
|
7844
|
+
lastNativeInsertion.current = null;
|
|
7833
7845
|
event.preventDefault();
|
|
7834
7846
|
}
|
|
7835
7847
|
// COMPAT: If the selection is expanded, even if the command seems like
|
|
@@ -7947,6 +7959,24 @@
|
|
|
7947
7959
|
// Only insertText operations use the native functionality, for now.
|
|
7948
7960
|
// Potentially expand to single character deletes, as well.
|
|
7949
7961
|
if (_native) {
|
|
7962
|
+
lastNativeInsertion.current = null;
|
|
7963
|
+
if (nativePoint && selection) {
|
|
7964
|
+
var _Editor$leaf = slate.Editor.leaf(editor, selection.anchor),
|
|
7965
|
+
_Editor$leaf2 = _slicedToArray(_Editor$leaf, 1),
|
|
7966
|
+
_node = _Editor$leaf2[0];
|
|
7967
|
+
var _nativePoint = nativePoint,
|
|
7968
|
+
_nativePoint2 = _slicedToArray(_nativePoint, 2),
|
|
7969
|
+
domNode = _nativePoint2[0],
|
|
7970
|
+
domOffset = _nativePoint2[1];
|
|
7971
|
+
lastNativeInsertion.current = {
|
|
7972
|
+
point: selection.anchor,
|
|
7973
|
+
text: _node.text,
|
|
7974
|
+
domNode: domNode,
|
|
7975
|
+
domOffset: domOffset,
|
|
7976
|
+
domText: domNode.data,
|
|
7977
|
+
"char": data
|
|
7978
|
+
};
|
|
7979
|
+
}
|
|
7950
7980
|
deferredOperations.current.push(function () {
|
|
7951
7981
|
return slate.Editor.insertText(editor, data);
|
|
7952
7982
|
});
|
|
@@ -8208,6 +8238,24 @@
|
|
|
8208
8238
|
_iterator.f();
|
|
8209
8239
|
}
|
|
8210
8240
|
deferredOperations.current = [];
|
|
8241
|
+
var nativeInsertion = lastNativeInsertion.current;
|
|
8242
|
+
lastNativeInsertion.current = null;
|
|
8243
|
+
if (nativeInsertion) {
|
|
8244
|
+
var point = nativeInsertion.point,
|
|
8245
|
+
_text3 = nativeInsertion.text,
|
|
8246
|
+
domNode = nativeInsertion.domNode,
|
|
8247
|
+
domOffset = nativeInsertion.domOffset,
|
|
8248
|
+
domText = nativeInsertion.domText,
|
|
8249
|
+
_char = nativeInsertion["char"];
|
|
8250
|
+
var node = slate.Node.getIf(editor, point.path);
|
|
8251
|
+
if (slate.Text.isText(node) && node.text === _text3 && domNode.isConnected && domNode.data === domText.slice(0, domOffset) + _char + domText.slice(domOffset)) {
|
|
8252
|
+
domNode.deleteData(domOffset, _char.length);
|
|
8253
|
+
if (editor.selection && slate.Range.isCollapsed(editor.selection) && slate.Point.equals(editor.selection.anchor, point)) {
|
|
8254
|
+
var _getSelection;
|
|
8255
|
+
(_getSelection = getSelection(ReactEditor.findDocumentOrShadowRoot(editor))) === null || _getSelection === void 0 || _getSelection.collapse(domNode, domOffset);
|
|
8256
|
+
}
|
|
8257
|
+
}
|
|
8258
|
+
}
|
|
8211
8259
|
// COMPAT: Since `beforeinput` doesn't fully `preventDefault`,
|
|
8212
8260
|
// there's a chance that content might be placed in the browser's undo stack.
|
|
8213
8261
|
// This means undo can be triggered even when the div is not focused,
|