slate-react 0.133.5-20261012163450 → 0.133.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/components/editable.d.ts.map +1 -1
- package/dist/hooks/use-composition-dom.d.ts +1 -0
- package/dist/hooks/use-composition-dom.d.ts.map +1 -1
- package/dist/index.es.js +32 -13
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +32 -13
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +32 -13
- package/dist/slate-react.min.js +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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-composition-dom.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-composition-dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,eAAO,MAAM,iBAAiB,WAAY,WAAW
|
|
1
|
+
{"version":3,"file":"use-composition-dom.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-composition-dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAGpD,eAAO,MAAM,iBAAiB,WAAY,WAAW;;kBAmB5B,MAAM,GAAG,IAAI;;;;CAsBrC,CAAA"}
|
package/dist/index.es.js
CHANGED
|
@@ -2604,16 +2604,17 @@ const useCompositionDOM = editor => {
|
|
|
2604
2604
|
observer = null;
|
|
2605
2605
|
manager.clear();
|
|
2606
2606
|
};
|
|
2607
|
-
const
|
|
2608
|
-
|
|
2609
|
-
if (!(text !== null && text !== void 0 && text.includes('\n'))) return;
|
|
2610
|
-
observer = new MutationObserver(manager.registerMutations);
|
|
2611
|
-
}
|
|
2607
|
+
const observe = () => {
|
|
2608
|
+
observer !== null && observer !== void 0 ? observer : observer = new MutationObserver(manager.registerMutations);
|
|
2612
2609
|
observer.observe(ReactEditor.toDOMNode(editor, editor), {
|
|
2613
2610
|
childList: true,
|
|
2614
2611
|
subtree: true
|
|
2615
2612
|
});
|
|
2616
2613
|
};
|
|
2614
|
+
const track = text => {
|
|
2615
|
+
if (!observer && !(text !== null && text !== void 0 && text.includes('\n'))) return;
|
|
2616
|
+
observe();
|
|
2617
|
+
};
|
|
2617
2618
|
const pause = () => {
|
|
2618
2619
|
if (!observer) return;
|
|
2619
2620
|
manager.registerMutations(observer.takeRecords());
|
|
@@ -2624,6 +2625,7 @@ const useCompositionDOM = editor => {
|
|
|
2624
2625
|
manager.restoreDOM();
|
|
2625
2626
|
};
|
|
2626
2627
|
return {
|
|
2628
|
+
observe,
|
|
2627
2629
|
track,
|
|
2628
2630
|
pause,
|
|
2629
2631
|
restore,
|
|
@@ -2797,6 +2799,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
2797
2799
|
const [placeholderHeight, setPlaceholderHeight] = useState();
|
|
2798
2800
|
const processing = useRef(false);
|
|
2799
2801
|
const compositionDOM = useCompositionDOM(editor);
|
|
2802
|
+
const deleteOnCompositionEndRef = useRef(false);
|
|
2800
2803
|
const {
|
|
2801
2804
|
onUserInput,
|
|
2802
2805
|
receivedUserInput
|
|
@@ -2910,6 +2913,14 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
2910
2913
|
}
|
|
2911
2914
|
}, 100), [editor, readOnly, state]);
|
|
2912
2915
|
const scheduleOnDOMSelectionChange = useMemo(() => debounce(onDOMSelectionChange, 0), [onDOMSelectionChange]);
|
|
2916
|
+
const flushDOMSelectionChange = useCallback(() => {
|
|
2917
|
+
const root = ReactEditor.toDOMNode(editor, editor).getRootNode();
|
|
2918
|
+
scheduleOnDOMSelectionChange.flush();
|
|
2919
|
+
if (!(IS_WEBKIT && root instanceof ShadowRoot)) {
|
|
2920
|
+
onDOMSelectionChange();
|
|
2921
|
+
}
|
|
2922
|
+
onDOMSelectionChange.flush();
|
|
2923
|
+
}, [editor, onDOMSelectionChange, scheduleOnDOMSelectionChange]);
|
|
2913
2924
|
androidInputManagerRef.current = useAndroidInputManager({
|
|
2914
2925
|
node: ref,
|
|
2915
2926
|
onDOMSelectionChange,
|
|
@@ -3109,11 +3120,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3109
3120
|
// Some IMEs/Chrome extensions like e.g. Grammarly set the selection immediately before
|
|
3110
3121
|
// triggering a `beforeinput` expecting the change to be applied to the immediately before
|
|
3111
3122
|
// set selection.
|
|
3112
|
-
|
|
3113
|
-
if (!(IS_WEBKIT && root instanceof ShadowRoot)) {
|
|
3114
|
-
onDOMSelectionChange();
|
|
3115
|
-
}
|
|
3116
|
-
onDOMSelectionChange.flush();
|
|
3123
|
+
flushDOMSelectionChange();
|
|
3117
3124
|
const {
|
|
3118
3125
|
selection
|
|
3119
3126
|
} = editor;
|
|
@@ -3125,7 +3132,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3125
3132
|
// COMPAT: use composition change events as a hint to where we should insert
|
|
3126
3133
|
// composition text if we aren't composing to work around https://github.com/ianstormtaylor/slate/issues/5038
|
|
3127
3134
|
if (isCompositionChange && ReactEditor.isComposing(editor)) {
|
|
3128
|
-
if (IS_CHROME) {
|
|
3135
|
+
if (IS_CHROME || deleteOnCompositionEndRef.current) {
|
|
3129
3136
|
compositionDOM.track(event.data);
|
|
3130
3137
|
}
|
|
3131
3138
|
return;
|
|
@@ -3345,7 +3352,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3345
3352
|
Transforms.select(editor, toRestore);
|
|
3346
3353
|
}
|
|
3347
3354
|
}
|
|
3348
|
-
}, [editor,
|
|
3355
|
+
}, [editor, onUserInput, propsOnDOMBeforeInput, compositionDOM, flushDOMSelectionChange, readOnly]);
|
|
3349
3356
|
const callbackRef = useCallback(node => {
|
|
3350
3357
|
if (node == null) {
|
|
3351
3358
|
onDOMSelectionChange.cancel();
|
|
@@ -3695,10 +3702,16 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3695
3702
|
});
|
|
3696
3703
|
}
|
|
3697
3704
|
(_androidInputManagerR3 = androidInputManagerRef.current) === null || _androidInputManagerR3 === void 0 || _androidInputManagerR3.handleCompositionEnd(event);
|
|
3705
|
+
const deleteOnCompositionEnd = deleteOnCompositionEndRef.current;
|
|
3706
|
+
deleteOnCompositionEndRef.current = false;
|
|
3698
3707
|
if (isEventHandled(event, attributes.onCompositionEnd) || IS_ANDROID) {
|
|
3699
3708
|
compositionDOM.clear();
|
|
3700
3709
|
return;
|
|
3701
3710
|
}
|
|
3711
|
+
if (deleteOnCompositionEnd && !event.data) {
|
|
3712
|
+
compositionDOM.restore();
|
|
3713
|
+
Editor.deleteFragment(editor);
|
|
3714
|
+
}
|
|
3702
3715
|
// COMPAT: In Chrome, `beforeinput` events for compositions
|
|
3703
3716
|
// aren't correct and never fire the "insertFromComposition"
|
|
3704
3717
|
// type that we need. So instead, insert whenever a composition
|
|
@@ -3742,15 +3755,21 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3742
3755
|
}
|
|
3743
3756
|
compositionDOM.clear();
|
|
3744
3757
|
setIsComposing(true);
|
|
3758
|
+
flushDOMSelectionChange();
|
|
3745
3759
|
const {
|
|
3746
3760
|
selection
|
|
3747
3761
|
} = editor;
|
|
3748
3762
|
if (selection && Range.isExpanded(selection)) {
|
|
3763
|
+
if (IS_FIREFOX && !IS_FIREFOX_LEGACY) {
|
|
3764
|
+
compositionDOM.observe();
|
|
3765
|
+
deleteOnCompositionEndRef.current = true;
|
|
3766
|
+
return;
|
|
3767
|
+
}
|
|
3749
3768
|
Editor.deleteFragment(editor);
|
|
3750
3769
|
return;
|
|
3751
3770
|
}
|
|
3752
3771
|
}
|
|
3753
|
-
}, [attributes.onCompositionStart, editor, compositionDOM]),
|
|
3772
|
+
}, [attributes.onCompositionStart, editor, compositionDOM, flushDOMSelectionChange]),
|
|
3754
3773
|
onCopy: useCallback(event => {
|
|
3755
3774
|
if (ReactEditor.hasSelectableTarget(editor, event.target) && !isEventHandled(event, attributes.onCopy) && !isDOMEventTargetInput(event)) {
|
|
3756
3775
|
event.preventDefault();
|