slate-react 0.77.4 → 0.79.0-2022417232944
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 +38 -13
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +38 -13
- 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 +38 -13
- package/dist/slate-react.min.js +1 -1
- package/package.json +4 -4
|
@@ -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":"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;AAqBrB;;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;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE;QACV,iBAAiB,EAAE,IAAI,CAAA;KACxB,CAAA;CACF;AAED;;GAEG;AAEH,oBAAY,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,EAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAA;IAC1D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,GAAG,CAAC,OAAO,CAAA;IACpD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,GAAG,CAAC,OAAO,CAAA;IAClE,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3E,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;CACvB,GAAG,KAAK,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;AAEhD;;GAEG;AAEH,eAAO,MAAM,QAAQ,UAAW,aAAa,gBAuwC5C,CAAA;AAED;;GAEG;AACH,oBAAY,sBAAsB,GAAG;IACnC,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE;QACV,wBAAwB,EAAE,OAAO,CAAA;QACjC,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,eAAe,EAAE,OAAO,CAAA;QACxB,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACzB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAA;KAC3B,CAAA;CACF,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,kBAAkB,8BAG5B,sBAAsB,gBAA4C,CAAA;AAErE;;GAEG;AAEH,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,EAAa,CAAA;AAyBtE;;GAEG;AAEH,eAAO,MAAM,SAAS,WACZ,WAAW,UACX,WAAW,GAAG,IAAI,sBAG3B,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,iBAAiB,WACpB,WAAW,UACX,WAAW,GAAG,IAAI,sBAM3B,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,6BAA6B,WAChC,WAAW,UACX,WAAW,GAAG,IAAI,KACzB,OAMF,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,cAAc,gHAIO,IAAI,GAAG,OAAO,yBAc/C,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,iBAAiB,uDAEJ,IAAI,GAAG,OAAO,yBAevC,CAAA"}
|
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 => {
|
|
@@ -1847,10 +1853,22 @@ var Editable$1 = props => {
|
|
|
1847
1853
|
}
|
|
1848
1854
|
}, [readOnly, attributes.onFocus]),
|
|
1849
1855
|
onKeyDown: useCallback(event => {
|
|
1850
|
-
if (!readOnly && hasEditableTarget(editor, event.target)
|
|
1856
|
+
if (!readOnly && hasEditableTarget(editor, event.target)) {
|
|
1851
1857
|
var {
|
|
1852
1858
|
nativeEvent
|
|
1853
|
-
} = event;
|
|
1859
|
+
} = event; // COMPAT: The composition end event isn't fired reliably in all browsers,
|
|
1860
|
+
// so we sometimes might end up stuck in a composition state even though we
|
|
1861
|
+
// aren't composing any more.
|
|
1862
|
+
|
|
1863
|
+
if (ReactEditor.isComposing(editor) && nativeEvent.isComposing === false) {
|
|
1864
|
+
IS_COMPOSING.set(editor, false);
|
|
1865
|
+
setIsComposing(false);
|
|
1866
|
+
}
|
|
1867
|
+
|
|
1868
|
+
if (isEventHandled(event, attributes.onKeyDown) || ReactEditor.isComposing(editor)) {
|
|
1869
|
+
return;
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1854
1872
|
var {
|
|
1855
1873
|
selection
|
|
1856
1874
|
} = editor;
|
|
@@ -2486,6 +2504,13 @@ class Key {
|
|
|
2486
2504
|
}
|
|
2487
2505
|
|
|
2488
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
|
+
|
|
2489
2514
|
/**
|
|
2490
2515
|
* Return the host window of the current editor.
|
|
2491
2516
|
*/
|
|
@@ -3267,7 +3292,7 @@ class AndroidInputManager {
|
|
|
3267
3292
|
} = this.editor; // If it is in composing or after `onCompositionend`, set `EDITOR_ON_COMPOSITION_TEXT` and return.
|
|
3268
3293
|
// Text will be inserted on compositionend event.
|
|
3269
3294
|
|
|
3270
|
-
if (
|
|
3295
|
+
if (ReactEditor.isComposing(this.editor) || IS_ON_COMPOSITION_END.get(this.editor)) {
|
|
3271
3296
|
EDITOR_ON_COMPOSITION_TEXT.set(this.editor, insertedText);
|
|
3272
3297
|
IS_ON_COMPOSITION_END.set(this.editor, false);
|
|
3273
3298
|
return;
|