slate-react 0.141.0 → 0.142.0-20261016062931
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 +53 -40
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +56 -44
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +279 -148
- package/dist/slate-react.min.js +1 -1
- package/dist/utils/trailing-newline.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -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":"AAGA,OAAO,KASN,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAE3B,OAAO,EAEL,OAAO,EAEP,SAAS,EAIT,IAAI,EAEJ,cAAc,EACd,YAAY,EACb,MAAM,OAAO,CAAA;AAYd,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,OAAO,EAGL,QAAQ,EAQT,MAAM,WAAW,CAAA;AA6DlB;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE;QACV,iBAAiB,EAAE,SAAS,CAAA;QAC5B,mBAAmB,CAAC,EAAE,IAAI,CAAA;QAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAA;QACxB,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,GAAG,EAAE,GAAG,CAAA;KACT,CAAA;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE;QACV,kBAAkB,EAAE,IAAI,CAAA;KACzB,CAAA;CACF;AAED;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAA;IACb;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE;QACV,iBAAiB,EAAE,IAAI,CAAA;KACxB,CAAA;IACD;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAA;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE;QACV,iBAAiB,EAAE,MAAM,CAAA;QACzB,GAAG,EAAE,GAAG,CAAA;KACT,CAAA;CACF;AAED;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,cAAc,EAAE,CAAC,GAAG,SAAS,CAAA;IAC/D,gBAAgB,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;IAC5D,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAA;IACvC,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAC9E,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IAC1E,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACxE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACxE,iBAAiB,CAAC,EACd,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GACtD,SAAS,CAAA;IACb,uBAAuB,CAAC,EACpB,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,GACnD,SAAS,CAAA;IACb,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,GAAG,SAAS,CAAA;IAClC,oBAAoB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;CAC3C,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;AAExC;;GAEG;AAEH,eAAO,MAAM,QAAQ;eAxBR,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,cAAc,EAAE,CAAC,GAAG,SAAS;uBAC5C,CAAC,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS;kBAC9C,MAAM,GAAG,SAAS;eACrB,OAAO,GAAG,SAAS;WACvB,MAAM,GAAG,SAAS;YACjB,KAAK,CAAC,aAAa,GAAG,SAAS;oBACvB,CAAC,CAAC,KAAK,EAAE,kBAAkB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS;kBAChE,CAAC,CAAC,KAAK,EAAE,gBAAgB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS;iBAC7D,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS;iBAC3D,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS;wBAEpE,CAAC,CAAC,KAAK,EAAE,sBAAsB,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GACtD,SAAS;8BAET,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,GACnD,SAAS;SACR,KAAK,CAAC,WAAW,GAAG,SAAS;2BACX,OAAO,GAAG,SAAS;+EA2rE3C,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE;QACV,wBAAwB,EAAE,OAAO,CAAA;QACjC,aAAa,EAAE,OAAO,CAAA;QACtB,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,eAAe,EAAE,OAAO,CAAA;QACxB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC3B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAA;KAC3B,CAAA;CACF,CAAA;AA8DD,eAAO,MAAM,kBAAkB,GAAI,2BAGhC,sBAAsB,gBAOxB,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,cAAc,EAAa,CAAA;AAE/E;;GAEG;AAEH,eAAO,MAAM,8BAA8B,GACzC,QAAQ,WAAW,EACnB,UAAU,QAAQ,SAgDnB,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAExD,OAAO,SAAS,EAChB,UAAU,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,YAc/C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,SAAS,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAExD,OAAO,SAAS,YAOjB,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,KAAK,EAC/C,OAAO,CAAC,EACR,UAAU,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,YAevC,CAAA"}
|
package/dist/index.es.js
CHANGED
|
@@ -2691,10 +2691,13 @@ const useCompositionDOM = editor => {
|
|
|
2691
2691
|
};
|
|
2692
2692
|
|
|
2693
2693
|
const caretTop = (editor, point) => {
|
|
2694
|
-
const range = ReactEditor.
|
|
2694
|
+
const range = ReactEditor.resolveDOMRange(editor, {
|
|
2695
2695
|
anchor: point,
|
|
2696
2696
|
focus: point
|
|
2697
2697
|
});
|
|
2698
|
+
if (!range) {
|
|
2699
|
+
return null;
|
|
2700
|
+
}
|
|
2698
2701
|
const [rect] = Array.from(range.getClientRects());
|
|
2699
2702
|
return (rect !== null && rect !== void 0 ? rect : range.getBoundingClientRect()).top;
|
|
2700
2703
|
};
|
|
@@ -2711,10 +2714,15 @@ const getPointAboveTrailingNewline = (editor, point) => {
|
|
|
2711
2714
|
if (!before || !Editor.leaf(editor, before)[0].text.endsWith('\n')) {
|
|
2712
2715
|
return null;
|
|
2713
2716
|
}
|
|
2714
|
-
if (
|
|
2717
|
+
if (Point.equals(point, blockStart)) {
|
|
2718
|
+
return before;
|
|
2719
|
+
}
|
|
2720
|
+
const pointTop = caretTop(editor, point);
|
|
2721
|
+
const blockStartTop = caretTop(editor, blockStart);
|
|
2722
|
+
if (pointTop === null || blockStartTop === null) {
|
|
2715
2723
|
return null;
|
|
2716
2724
|
}
|
|
2717
|
-
return before;
|
|
2725
|
+
return Math.abs(pointTop - blockStartTop) > 2 ? null : before;
|
|
2718
2726
|
};
|
|
2719
2727
|
|
|
2720
2728
|
const getCharacterMoveUnit = (editor, point, reverse) => {
|
|
@@ -3158,12 +3166,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3158
3166
|
}
|
|
3159
3167
|
// Otherwise the DOM selection is out of sync, so update it.
|
|
3160
3168
|
state.isUpdatingSelection = true;
|
|
3161
|
-
|
|
3162
|
-
try {
|
|
3163
|
-
newDomRange = selection && ReactEditor.toDOMRange(editor, selection);
|
|
3164
|
-
} catch (e) {
|
|
3165
|
-
// Ignore, dom and state might be out of sync
|
|
3166
|
-
}
|
|
3169
|
+
const newDomRange = selection && ReactEditor.resolveDOMRange(editor, selection);
|
|
3167
3170
|
if (newDomRange) {
|
|
3168
3171
|
if (ReactEditor.isComposing(editor) && !IS_ANDROID) {
|
|
3169
3172
|
if (domSelection.rangeCount > 0) {
|
|
@@ -3195,13 +3198,12 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3195
3198
|
const animationFrameId = requestAnimationFrame(() => {
|
|
3196
3199
|
if (ensureSelection) {
|
|
3197
3200
|
const ensureDomSelection = forceChange => {
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
setDomSelection(forceChange);
|
|
3202
|
-
} catch (e) {
|
|
3203
|
-
// Ignore, dom and state might be out of sync
|
|
3201
|
+
const el = EDITOR_TO_ELEMENT.get(editor);
|
|
3202
|
+
if (!el) {
|
|
3203
|
+
return;
|
|
3204
3204
|
}
|
|
3205
|
+
el.focus();
|
|
3206
|
+
setDomSelection(forceChange);
|
|
3205
3207
|
};
|
|
3206
3208
|
// Compat: Android IMEs try to force their selection by manually re-applying it even after we set it.
|
|
3207
3209
|
// This essentially would make setting the slate selection during an update meaningless, so we force it
|
|
@@ -3309,36 +3311,41 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3309
3311
|
}
|
|
3310
3312
|
// If the NODE_MAP is dirty, we can't trust the selection anchor (eg ReactEditor.toDOMPoint)
|
|
3311
3313
|
if (!IS_NODE_MAP_DIRTY.get(editor)) {
|
|
3312
|
-
var _node$parentElement, _window$getComputedSt;
|
|
3313
3314
|
// Chrome also has issues correctly editing the end of anchor elements: https://bugs.chromium.org/p/chromium/issues/detail?id=1259100
|
|
3314
3315
|
// Therefore we don't allow native events to insert text at the end of anchor nodes.
|
|
3315
3316
|
const {
|
|
3316
3317
|
anchor
|
|
3317
3318
|
} = selection;
|
|
3318
|
-
const
|
|
3319
|
-
|
|
3320
|
-
|
|
3321
|
-
|
|
3322
|
-
var
|
|
3323
|
-
|
|
3324
|
-
const
|
|
3325
|
-
|
|
3326
|
-
|
|
3319
|
+
const domPoint = ReactEditor.resolveDOMPoint(editor, anchor);
|
|
3320
|
+
if (!domPoint) {
|
|
3321
|
+
native = false;
|
|
3322
|
+
} else {
|
|
3323
|
+
var _node$parentElement, _window$getComputedSt;
|
|
3324
|
+
const [node, offset] = domPoint;
|
|
3325
|
+
const anchorNode = (_node$parentElement = node.parentElement) === null || _node$parentElement === void 0 ? void 0 : _node$parentElement.closest('a');
|
|
3326
|
+
const window = ReactEditor.getWindow(editor);
|
|
3327
|
+
if (native && anchorNode && ReactEditor.hasDOMNode(editor, anchorNode)) {
|
|
3328
|
+
var _lastText$textContent;
|
|
3329
|
+
// Find the last text node inside the anchor.
|
|
3330
|
+
const lastText = window === null || window === void 0 ? void 0 : window.document.createTreeWalker(anchorNode, NodeFilter.SHOW_TEXT).lastChild();
|
|
3331
|
+
if (lastText === node && ((_lastText$textContent = lastText.textContent) === null || _lastText$textContent === void 0 ? void 0 : _lastText$textContent.length) === offset) {
|
|
3332
|
+
native = false;
|
|
3333
|
+
}
|
|
3327
3334
|
}
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
|
|
3331
|
-
|
|
3332
|
-
|
|
3333
|
-
|
|
3334
|
-
|
|
3335
|
-
|
|
3336
|
-
|
|
3337
|
-
|
|
3335
|
+
// Chrome has issues with the presence of tab characters inside elements with whiteSpace = 'pre'
|
|
3336
|
+
// causing abnormal insert behavior: https://bugs.chromium.org/p/chromium/issues/detail?id=1219139
|
|
3337
|
+
if (native && node.parentElement && (window === null || window === void 0 || (_window$getComputedSt = window.getComputedStyle(node.parentElement)) === null || _window$getComputedSt === void 0 ? void 0 : _window$getComputedSt.whiteSpace) === 'pre') {
|
|
3338
|
+
const block = Editor.above(editor, {
|
|
3339
|
+
at: anchor.path,
|
|
3340
|
+
match: n => Node.isElement(n) && Editor.isBlock(editor, n)
|
|
3341
|
+
});
|
|
3342
|
+
if (block && Node.string(block[0]).includes('\t')) {
|
|
3343
|
+
native = false;
|
|
3344
|
+
}
|
|
3345
|
+
}
|
|
3346
|
+
if (native && isTextDOMNode(node)) {
|
|
3347
|
+
nativePoint = domSelection !== null && domSelection !== void 0 && domSelection.isCollapsed && isTextDOMNode(domAnchor) ? [domAnchor, domSelection.anchorOffset] : [node, offset];
|
|
3338
3348
|
}
|
|
3339
|
-
}
|
|
3340
|
-
if (native && isTextDOMNode(node)) {
|
|
3341
|
-
nativePoint = domSelection !== null && domSelection !== void 0 && domSelection.isCollapsed && isTextDOMNode(domAnchor) ? [domAnchor, domSelection.anchorOffset] : [node, offset];
|
|
3342
3349
|
}
|
|
3343
3350
|
}
|
|
3344
3351
|
}
|
|
@@ -3902,7 +3909,10 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3902
3909
|
at: editor.selection.anchor
|
|
3903
3910
|
});
|
|
3904
3911
|
if (event.shiftKey && selectedVoid && !Path.isAncestor(selectedVoid[1], path) && !(startVoid && Path.equals(startVoid[1], selectedVoid[1]))) {
|
|
3905
|
-
const clicked = ReactEditor.
|
|
3912
|
+
const clicked = ReactEditor.resolveEventRange(editor, event);
|
|
3913
|
+
if (!clicked) {
|
|
3914
|
+
return;
|
|
3915
|
+
}
|
|
3906
3916
|
const voidStart = Editor.start(editor, selectedVoid[1]);
|
|
3907
3917
|
const voidEnd = Editor.end(editor, selectedVoid[1]);
|
|
3908
3918
|
const anchor = Point.isBefore(clicked.anchor, voidStart) ? voidEnd : voidStart;
|
|
@@ -4512,7 +4522,10 @@ const restoreDomSelection = (editor, domSelection, state) => {
|
|
|
4512
4522
|
if (!editor.selection) {
|
|
4513
4523
|
return;
|
|
4514
4524
|
}
|
|
4515
|
-
const domRange = ReactEditor.
|
|
4525
|
+
const domRange = ReactEditor.resolveDOMRange(editor, editor.selection);
|
|
4526
|
+
if (!domRange) {
|
|
4527
|
+
return;
|
|
4528
|
+
}
|
|
4516
4529
|
const backward = Range.isBackward(editor.selection);
|
|
4517
4530
|
state.isUpdatingSelection = true;
|
|
4518
4531
|
domSelection.setBaseAndExtent(backward ? domRange.endContainer : domRange.startContainer, backward ? domRange.endOffset : domRange.startOffset, backward ? domRange.startContainer : domRange.endContainer, backward ? domRange.startOffset : domRange.endOffset);
|