slate-react 0.78.1-202233022229 → 0.79.0
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/android/android-input-manager.d.ts.map +1 -1
- package/dist/components/editable.d.ts.map +1 -1
- package/dist/index.es.js +27 -14
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +27 -14
- package/dist/index.js.map +1 -1
- package/dist/plugin/react-editor.d.ts +4 -0
- package/dist/plugin/react-editor.d.ts.map +1 -1
- package/dist/slate-react.js +27 -14
- package/dist/slate-react.min.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/android-input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../packages/slate-react/src/components/android/android-input-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AA0BvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,MAAM;IAAe,OAAO,CAAC,UAAU;gBAAvC,MAAM,EAAE,WAAW,EAAU,UAAU,EAAE,MAAM,IAAI;IAKvE;;;;OAIG;IAEH,KAAK,cAAe,cAAc,EAAE,UAYnC;IAED;;;;OAIG;IAEH,OAAO,CAAC,kBAAkB,CAkBzB;IAED;;OAEG;IAEH,OAAO,CAAC,UAAU,CAuBjB;IAED;;OAEG;IAEH,OAAO,CAAC,WAAW,CAoBlB;IAED;;OAEG;IAEH,OAAO,CAAC,wBAAwB,CAY/B;IAED;;OAEG;IAEH,OAAO,CAAC,cAAc,CAOrB;IAED;;OAEG;IACH,OAAO,CAAC,eAAe,CAWtB;CACF;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAChF,OAAO,EAEL,OAAO,EACP,SAAS,EAET,KAAK,EACL,IAAI,EAIL,MAAM,OAAO,CAAA;AAoBd,OAAO,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAKhC,OAAO,EAEL,OAAO,EACP,QAAQ,EAMT,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.es.js
CHANGED
|
@@ -1045,7 +1045,6 @@ var Editable$1 = props => {
|
|
|
1045
1045
|
IS_READ_ONLY.set(editor, readOnly); // Keep track of some state for the event handler logic.
|
|
1046
1046
|
|
|
1047
1047
|
var state = useMemo(() => ({
|
|
1048
|
-
isComposing: false,
|
|
1049
1048
|
hasInsertPrefixInCompositon: false,
|
|
1050
1049
|
isDraggingInternally: false,
|
|
1051
1050
|
isUpdatingSelection: false,
|
|
@@ -1072,7 +1071,7 @@ var Editable$1 = props => {
|
|
|
1072
1071
|
var root = ReactEditor.findDocumentOrShadowRoot(editor);
|
|
1073
1072
|
var domSelection = root.getSelection();
|
|
1074
1073
|
|
|
1075
|
-
if (
|
|
1074
|
+
if (ReactEditor.isComposing(editor) || !domSelection || !ReactEditor.isFocused(editor)) {
|
|
1076
1075
|
return;
|
|
1077
1076
|
}
|
|
1078
1077
|
|
|
@@ -1156,7 +1155,7 @@ var Editable$1 = props => {
|
|
|
1156
1155
|
// while a selection is being dragged.
|
|
1157
1156
|
|
|
1158
1157
|
var onDOMSelectionChange = useCallback(throttle(() => {
|
|
1159
|
-
if (!
|
|
1158
|
+
if (!ReactEditor.isComposing(editor) && !state.isUpdatingSelection && !state.isDraggingInternally) {
|
|
1160
1159
|
var root = ReactEditor.findDocumentOrShadowRoot(editor);
|
|
1161
1160
|
var {
|
|
1162
1161
|
activeElement
|
|
@@ -1411,8 +1410,10 @@ var Editable$1 = props => {
|
|
|
1411
1410
|
// then we will abort because we're still composing and the selection
|
|
1412
1411
|
// won't be updated properly.
|
|
1413
1412
|
// https://www.w3.org/TR/input-events-2/
|
|
1414
|
-
|
|
1415
|
-
|
|
1413
|
+
if (ReactEditor.isComposing(editor)) {
|
|
1414
|
+
setIsComposing(false);
|
|
1415
|
+
IS_COMPOSING.set(editor, false);
|
|
1416
|
+
}
|
|
1416
1417
|
} // use a weak comparison instead of 'instanceof' to allow
|
|
1417
1418
|
// programmatic access of paste events coming from external windows
|
|
1418
1419
|
// like cypress where cy.window does not work realibly
|
|
@@ -1529,7 +1530,7 @@ var Editable$1 = props => {
|
|
|
1529
1530
|
if (!HAS_BEFORE_INPUT_SUPPORT && !readOnly && !isEventHandled(event, attributes.onBeforeInput) && hasEditableTarget(editor, event.target)) {
|
|
1530
1531
|
event.preventDefault();
|
|
1531
1532
|
|
|
1532
|
-
if (!
|
|
1533
|
+
if (!ReactEditor.isComposing(editor)) {
|
|
1533
1534
|
var text = event.data;
|
|
1534
1535
|
Editor.insertText(editor, text);
|
|
1535
1536
|
}
|
|
@@ -1652,12 +1653,15 @@ var Editable$1 = props => {
|
|
|
1652
1653
|
}, [readOnly, attributes.onClick]),
|
|
1653
1654
|
onCompositionEnd: useCallback(event => {
|
|
1654
1655
|
if (hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onCompositionEnd)) {
|
|
1655
|
-
|
|
1656
|
-
|
|
1656
|
+
if (ReactEditor.isComposing(editor)) {
|
|
1657
|
+
setIsComposing(false);
|
|
1658
|
+
IS_COMPOSING.set(editor, false);
|
|
1659
|
+
} // COMPAT: In Chrome, `beforeinput` events for compositions
|
|
1657
1660
|
// aren't correct and never fire the "insertFromComposition"
|
|
1658
1661
|
// type that we need. So instead, insert whenever a composition
|
|
1659
1662
|
// ends since it will already have been committed to the DOM.
|
|
1660
1663
|
|
|
1664
|
+
|
|
1661
1665
|
if (!IS_SAFARI && !IS_FIREFOX_LEGACY && !IS_IOS && !IS_QQBROWSER && !IS_WECHATBROWSER && !IS_UC_MOBILE && event.data) {
|
|
1662
1666
|
Editor.insertText(editor, event.data);
|
|
1663
1667
|
}
|
|
@@ -1683,8 +1687,10 @@ var Editable$1 = props => {
|
|
|
1683
1687
|
}, [attributes.onCompositionEnd]),
|
|
1684
1688
|
onCompositionUpdate: useCallback(event => {
|
|
1685
1689
|
if (hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onCompositionUpdate)) {
|
|
1686
|
-
!
|
|
1687
|
-
|
|
1690
|
+
if (!ReactEditor.isComposing(editor)) {
|
|
1691
|
+
setIsComposing(true);
|
|
1692
|
+
IS_COMPOSING.set(editor, true);
|
|
1693
|
+
}
|
|
1688
1694
|
}
|
|
1689
1695
|
}, [attributes.onCompositionUpdate]),
|
|
1690
1696
|
onCompositionStart: useCallback(event => {
|
|
@@ -1854,12 +1860,12 @@ var Editable$1 = props => {
|
|
|
1854
1860
|
// so we sometimes might end up stuck in a composition state even though we
|
|
1855
1861
|
// aren't composing any more.
|
|
1856
1862
|
|
|
1857
|
-
if (
|
|
1858
|
-
|
|
1863
|
+
if (ReactEditor.isComposing(editor) && nativeEvent.isComposing === false) {
|
|
1864
|
+
IS_COMPOSING.set(editor, false);
|
|
1859
1865
|
setIsComposing(false);
|
|
1860
1866
|
}
|
|
1861
1867
|
|
|
1862
|
-
if (isEventHandled(event, attributes.onKeyDown) ||
|
|
1868
|
+
if (isEventHandled(event, attributes.onKeyDown) || ReactEditor.isComposing(editor)) {
|
|
1863
1869
|
return;
|
|
1864
1870
|
}
|
|
1865
1871
|
|
|
@@ -2498,6 +2504,13 @@ class Key {
|
|
|
2498
2504
|
}
|
|
2499
2505
|
|
|
2500
2506
|
var ReactEditor = {
|
|
2507
|
+
/**
|
|
2508
|
+
* Check if the user is currently composing inside the editor.
|
|
2509
|
+
*/
|
|
2510
|
+
isComposing(editor) {
|
|
2511
|
+
return !!IS_COMPOSING.get(editor);
|
|
2512
|
+
},
|
|
2513
|
+
|
|
2501
2514
|
/**
|
|
2502
2515
|
* Return the host window of the current editor.
|
|
2503
2516
|
*/
|
|
@@ -3279,7 +3292,7 @@ class AndroidInputManager {
|
|
|
3279
3292
|
} = this.editor; // If it is in composing or after `onCompositionend`, set `EDITOR_ON_COMPOSITION_TEXT` and return.
|
|
3280
3293
|
// Text will be inserted on compositionend event.
|
|
3281
3294
|
|
|
3282
|
-
if (
|
|
3295
|
+
if (ReactEditor.isComposing(this.editor) || IS_ON_COMPOSITION_END.get(this.editor)) {
|
|
3283
3296
|
EDITOR_ON_COMPOSITION_TEXT.set(this.editor, insertedText);
|
|
3284
3297
|
IS_ON_COMPOSITION_END.set(this.editor, false);
|
|
3285
3298
|
return;
|