slate-react 0.117.1 → 0.117.2
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/hooks/android-input-manager/android-input-manager.d.ts.map +1 -1
- package/dist/index.es.js +29 -18
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +39 -29
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +39 -29
- package/dist/slate-react.min.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/slate-react/src/hooks/android-input-manager/android-input-manager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAsB,KAAK,EAAE,KAAK,EAAoB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAyBvD,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AAgB5D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,WAAW,CAAA;IAEnB,4BAA4B,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;IACvD,oBAAoB,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,aAAa,EAAE,MAAM,IAAI,CAAA;IAEzB,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,iBAAiB,EAAE,MAAM,OAAO,CAAA;IAChC,UAAU,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAA;IAEpC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC7E,sBAAsB,EAAE,CACtB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAC1C,IAAI,CAAA;IACT,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAEnE,kBAAkB,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,IAAI,CAAA;IACzD,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,4BAA4B,EAC5B,oBAAoB,GACrB,EAAE,gCAAgC,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"android-input-manager.d.ts","sourceRoot":"","sources":["../../../../../packages/slate-react/src/hooks/android-input-manager/android-input-manager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAsB,KAAK,EAAE,KAAK,EAAoB,MAAM,OAAO,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAyBvD,MAAM,MAAM,MAAM,GAAG;IAAE,EAAE,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AAgB5D,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,WAAW,CAAA;IAEnB,4BAA4B,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;IACvD,oBAAoB,EAAE,aAAa,CAAC,MAAM,IAAI,CAAC,CAAA;CAChD,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,aAAa,EAAE,MAAM,IAAI,CAAA;IAEzB,eAAe,EAAE,MAAM,OAAO,CAAA;IAC9B,gBAAgB,EAAE,MAAM,OAAO,CAAA;IAC/B,iBAAiB,EAAE,MAAM,OAAO,CAAA;IAChC,UAAU,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAA;IAEpC,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAA;IAC/C,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAC7E,sBAAsB,EAAE,CACtB,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAC1C,IAAI,CAAA;IACT,oBAAoB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IACjD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IAEnE,kBAAkB,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,KAAK,IAAI,CAAA;IACzD,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,4BAA4B,EAC5B,oBAAoB,GACrB,EAAE,gCAAgC,GAAG,mBAAmB,CA6tBxD"}
|
package/dist/index.es.js
CHANGED
|
@@ -3,7 +3,7 @@ import debounce from 'lodash/debounce';
|
|
|
3
3
|
import throttle from 'lodash/throttle';
|
|
4
4
|
import React, { createContext, useContext, useRef, useEffect, useLayoutEffect, useState, memo, forwardRef, useCallback, useReducer, useMemo, Fragment, Component } from 'react';
|
|
5
5
|
import scrollIntoView from 'scroll-into-view-if-needed';
|
|
6
|
-
import { Editor, Range, Transforms,
|
|
6
|
+
import { Editor, Range, Transforms, Text as Text$1, Path, Node, Point, Element as Element$1, Scrubber } from 'slate';
|
|
7
7
|
import { DOMEditor, EDITOR_TO_USER_MARKS, EDITOR_TO_PENDING_DIFFS, EDITOR_TO_PENDING_ACTION, EDITOR_TO_PENDING_INSERTION_MARKS, targetRange, verifyDiffState, EDITOR_TO_PENDING_SELECTION, IS_COMPOSING, IS_NODE_MAP_DIRTY, applyStringDiff, isDOMSelection, isTrackedMutation, EDITOR_TO_FORCE_RENDER, normalizeRange, normalizePoint, EDITOR_TO_PLACEHOLDER_ELEMENT, normalizeStringDiff, mergeStringDiffs, CAN_USE_DOM, IS_ANDROID, EDITOR_TO_SCHEDULE_FLUSH, MARK_PLACEHOLDER_SYMBOL, PLACEHOLDER_SYMBOL, IS_WEBKIT, isTextDecorationsEqual, isElementDecorationsEqual, EDITOR_TO_KEY_TO_ELEMENT, NODE_TO_ELEMENT, ELEMENT_TO_NODE, NODE_TO_INDEX, NODE_TO_PARENT, Key, splitDecorationsByChild, IS_READ_ONLY, getActiveElement, getSelection, IS_FOCUSED, getDefaultView, EDITOR_TO_WINDOW, EDITOR_TO_ELEMENT, IS_FIREFOX, EDITOR_TO_USER_SELECTION, HAS_BEFORE_INPUT_SUPPORT, isDOMElement, isDOMNode, TRIPLE_CLICK, IS_FIREFOX_LEGACY, IS_IOS, IS_WECHATBROWSER, IS_UC_MOBILE, Hotkeys, IS_CHROME, isPlainTextOnlyPaste, EDITOR_TO_ON_CHANGE, withDOM } from 'slate-dom';
|
|
8
8
|
export { NODE_TO_INDEX, NODE_TO_PARENT } from 'slate-dom';
|
|
9
9
|
import { ResizeObserver } from '@juggle/resize-observer';
|
|
@@ -364,25 +364,36 @@ function createAndroidInputManager(_ref) {
|
|
|
364
364
|
// schedule an action to let Slate normalize the editor state.
|
|
365
365
|
var canStoreDiff = true;
|
|
366
366
|
if (type.startsWith('delete')) {
|
|
367
|
+
var direction = type.endsWith('Backward') ? 'backward' : 'forward';
|
|
368
|
+
var [start, end] = Range.edges(targetRange);
|
|
369
|
+
var [leaf, path] = Editor.leaf(editor, start.path);
|
|
367
370
|
if (Range.isExpanded(targetRange)) {
|
|
368
|
-
|
|
369
|
-
var _leaf = Node.leaf(editor, _start.path);
|
|
370
|
-
if (_leaf.text.length === _start.offset && _end.offset === 0) {
|
|
371
|
+
if (leaf.text.length === start.offset && end.offset === 0) {
|
|
371
372
|
var next = Editor.next(editor, {
|
|
372
|
-
at:
|
|
373
|
+
at: start.path,
|
|
373
374
|
match: Text$1.isText
|
|
374
375
|
});
|
|
375
|
-
if (next && Path.equals(next[1],
|
|
376
|
-
targetRange
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
376
|
+
if (next && Path.equals(next[1], end.path)) {
|
|
377
|
+
// when deleting a linebreak, targetRange will span across the break (ie start in the node before and end in the node after)
|
|
378
|
+
// if the node before is empty, this will look like a hanging range and get unhung later--which will take the break we want to remove out of the range
|
|
379
|
+
// so to avoid this we collapse the target range to default to single character deletion
|
|
380
|
+
if (direction === 'backward') {
|
|
381
|
+
targetRange = {
|
|
382
|
+
anchor: end,
|
|
383
|
+
focus: end
|
|
384
|
+
};
|
|
385
|
+
start = end;
|
|
386
|
+
[leaf, path] = next;
|
|
387
|
+
} else {
|
|
388
|
+
targetRange = {
|
|
389
|
+
anchor: start,
|
|
390
|
+
focus: start
|
|
391
|
+
};
|
|
392
|
+
end = start;
|
|
393
|
+
}
|
|
380
394
|
}
|
|
381
395
|
}
|
|
382
396
|
}
|
|
383
|
-
var direction = type.endsWith('Backward') ? 'backward' : 'forward';
|
|
384
|
-
var [start, end] = Range.edges(targetRange);
|
|
385
|
-
var [leaf, path] = Editor.leaf(editor, start.path);
|
|
386
397
|
var diff = {
|
|
387
398
|
text: '',
|
|
388
399
|
start: start.offset,
|
|
@@ -586,10 +597,10 @@ function createAndroidInputManager(_ref) {
|
|
|
586
597
|
});
|
|
587
598
|
}
|
|
588
599
|
if (Path.equals(targetRange.anchor.path, targetRange.focus.path)) {
|
|
589
|
-
var [
|
|
600
|
+
var [_start, _end] = Range.edges(targetRange);
|
|
590
601
|
var _diff = {
|
|
591
|
-
start:
|
|
592
|
-
end:
|
|
602
|
+
start: _start.offset,
|
|
603
|
+
end: _end.offset,
|
|
593
604
|
text: _text
|
|
594
605
|
};
|
|
595
606
|
// COMPAT: Swiftkey has a weird bug where the target range of the 2nd word
|
|
@@ -611,7 +622,7 @@ function createAndroidInputManager(_ref) {
|
|
|
611
622
|
} else if (type === 'insertText') {
|
|
612
623
|
if (insertPositionHint === null) {
|
|
613
624
|
insertPositionHint = _diff;
|
|
614
|
-
} else if (insertPositionHint && Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length ===
|
|
625
|
+
} else if (insertPositionHint && Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length === _start.offset) {
|
|
615
626
|
insertPositionHint = _objectSpread$7(_objectSpread$7({}, insertPositionHint), {}, {
|
|
616
627
|
text: insertPositionHint.text + _text
|
|
617
628
|
});
|
|
@@ -622,7 +633,7 @@ function createAndroidInputManager(_ref) {
|
|
|
622
633
|
insertPositionHint = false;
|
|
623
634
|
}
|
|
624
635
|
if (canStoreDiff) {
|
|
625
|
-
storeDiff(
|
|
636
|
+
storeDiff(_start.path, _diff);
|
|
626
637
|
return;
|
|
627
638
|
}
|
|
628
639
|
}
|