slate-react 0.130.1 → 0.130.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/components/editable.d.ts +0 -3
- package/dist/components/editable.d.ts.map +1 -1
- package/dist/index.es.js +68 -6
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +87 -6
- package/dist/index.js.map +1 -1
- package/dist/slate-react.js +87 -6
- package/dist/slate-react.min.js +1 -1
- package/dist/utils/move-range.d.ts +5 -0
- package/dist/utils/move-range.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -109,9 +109,6 @@ export type RenderPlaceholderProps = {
|
|
|
109
109
|
style: React.CSSProperties;
|
|
110
110
|
};
|
|
111
111
|
};
|
|
112
|
-
/**
|
|
113
|
-
* The default placeholder element
|
|
114
|
-
*/
|
|
115
112
|
export declare const DefaultPlaceholder: ({ attributes, children, }: RenderPlaceholderProps) => JSX.Element;
|
|
116
113
|
/**
|
|
117
114
|
* A default memoized decorate function.
|
|
@@ -1 +1 @@
|
|
|
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;AAQd,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,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
|
@@ -2491,6 +2491,49 @@ function useTrackUserInput() {
|
|
|
2491
2491
|
};
|
|
2492
2492
|
}
|
|
2493
2493
|
|
|
2494
|
+
const blockPathAt = (editor, point) => {
|
|
2495
|
+
var _Editor$above;
|
|
2496
|
+
return (_Editor$above = Editor.above(editor, {
|
|
2497
|
+
at: point,
|
|
2498
|
+
match: n => Node.isElement(n) && Editor.isBlock(editor, n)
|
|
2499
|
+
})) === null || _Editor$above === void 0 ? void 0 : _Editor$above[1];
|
|
2500
|
+
};
|
|
2501
|
+
const getWholeTopLevelBlockPaths = (editor, range) => {
|
|
2502
|
+
const [start, end] = Range.edges(range);
|
|
2503
|
+
const startBlock = blockPathAt(editor, start);
|
|
2504
|
+
const endBlock = blockPathAt(editor, end);
|
|
2505
|
+
if (!startBlock || !endBlock || startBlock.length !== 1 || endBlock.length !== 1 || startBlock[0] >= endBlock[0] || !Editor.isStart(editor, start, startBlock) || !Editor.isStart(editor, end, endBlock)) {
|
|
2506
|
+
return null;
|
|
2507
|
+
}
|
|
2508
|
+
return Array.from({
|
|
2509
|
+
length: endBlock[0] - startBlock[0]
|
|
2510
|
+
}, (_, offset) => [startBlock[0] + offset]);
|
|
2511
|
+
};
|
|
2512
|
+
const getMovableRange = (editor, range) => getWholeTopLevelBlockPaths(editor, range) ? range : Editor.unhangRange(editor, range);
|
|
2513
|
+
const deleteMovedRange = (editor, range) => {
|
|
2514
|
+
if (Range.isCollapsed(range)) {
|
|
2515
|
+
return;
|
|
2516
|
+
}
|
|
2517
|
+
const blockPaths = getWholeTopLevelBlockPaths(editor, range);
|
|
2518
|
+
if (!blockPaths) {
|
|
2519
|
+
Transforms.select(editor, range);
|
|
2520
|
+
Editor.deleteFragment(editor);
|
|
2521
|
+
return;
|
|
2522
|
+
}
|
|
2523
|
+
const followingBlockRef = Editor.pathRef(editor, Path.next(blockPaths[blockPaths.length - 1]));
|
|
2524
|
+
Editor.withoutNormalizing(editor, () => {
|
|
2525
|
+
for (const path of [...blockPaths].reverse()) {
|
|
2526
|
+
Transforms.removeNodes(editor, {
|
|
2527
|
+
at: path
|
|
2528
|
+
});
|
|
2529
|
+
}
|
|
2530
|
+
});
|
|
2531
|
+
const followingBlock = followingBlockRef.unref();
|
|
2532
|
+
if (followingBlock) {
|
|
2533
|
+
Transforms.select(editor, Editor.start(editor, followingBlock));
|
|
2534
|
+
}
|
|
2535
|
+
};
|
|
2536
|
+
|
|
2494
2537
|
const createRestoreDomManager = (editor, receivedUserInput) => {
|
|
2495
2538
|
let bufferedMutations = [];
|
|
2496
2539
|
const clear = () => {
|
|
@@ -3554,13 +3597,14 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3554
3597
|
onCut: useCallback(event => {
|
|
3555
3598
|
if (!readOnly && ReactEditor.hasSelectableTarget(editor, event.target) && !isEventHandled(event, attributes.onCut) && !isDOMEventTargetInput(event)) {
|
|
3556
3599
|
event.preventDefault();
|
|
3600
|
+
selectMovableRange(editor);
|
|
3557
3601
|
ReactEditor.setFragmentData(editor, event.clipboardData, 'cut');
|
|
3558
3602
|
const {
|
|
3559
3603
|
selection
|
|
3560
3604
|
} = editor;
|
|
3561
3605
|
if (selection) {
|
|
3562
3606
|
if (Range.isExpanded(selection)) {
|
|
3563
|
-
|
|
3607
|
+
deleteMovedRange(editor, selection);
|
|
3564
3608
|
} else {
|
|
3565
3609
|
const node = Node.parent(editor, selection.anchor.path);
|
|
3566
3610
|
if (Editor.isVoid(editor, node)) {
|
|
@@ -3595,6 +3639,7 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3595
3639
|
const range = Editor.range(editor, path);
|
|
3596
3640
|
Transforms.select(editor, range);
|
|
3597
3641
|
}
|
|
3642
|
+
selectMovableRange(editor);
|
|
3598
3643
|
state.isDraggingInternally = true;
|
|
3599
3644
|
ReactEditor.setFragmentData(editor, event.dataTransfer, 'drag');
|
|
3600
3645
|
}
|
|
@@ -3608,14 +3653,20 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3608
3653
|
const range = ReactEditor.findEventRange(editor, event);
|
|
3609
3654
|
const data = event.dataTransfer;
|
|
3610
3655
|
Transforms.select(editor, range);
|
|
3611
|
-
if (state.isDraggingInternally) {
|
|
3612
|
-
if (
|
|
3656
|
+
if (state.isDraggingInternally && draggedRange) {
|
|
3657
|
+
if (Range.includes(draggedRange, range.anchor)) {
|
|
3658
|
+
return;
|
|
3659
|
+
}
|
|
3660
|
+
if (!Editor.void(editor, {
|
|
3613
3661
|
at: range,
|
|
3614
3662
|
voids: true
|
|
3615
3663
|
})) {
|
|
3616
|
-
|
|
3617
|
-
|
|
3618
|
-
|
|
3664
|
+
const dropRef = Editor.rangeRef(editor, range);
|
|
3665
|
+
deleteMovedRange(editor, draggedRange);
|
|
3666
|
+
const dropRange = dropRef.unref();
|
|
3667
|
+
if (dropRange) {
|
|
3668
|
+
Transforms.select(editor, dropRange);
|
|
3669
|
+
}
|
|
3619
3670
|
}
|
|
3620
3671
|
}
|
|
3621
3672
|
ReactEditor.insertData(editor, data);
|
|
@@ -3927,6 +3978,17 @@ const Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
|
3927
3978
|
/**
|
|
3928
3979
|
* The default placeholder element
|
|
3929
3980
|
*/
|
|
3981
|
+
const selectMovableRange = editor => {
|
|
3982
|
+
const {
|
|
3983
|
+
selection
|
|
3984
|
+
} = editor;
|
|
3985
|
+
if (selection && Range.isExpanded(selection)) {
|
|
3986
|
+
const movableRange = getMovableRange(editor, selection);
|
|
3987
|
+
if (!Range.equals(movableRange, selection)) {
|
|
3988
|
+
Transforms.select(editor, movableRange);
|
|
3989
|
+
}
|
|
3990
|
+
}
|
|
3991
|
+
};
|
|
3930
3992
|
const DefaultPlaceholder = ({
|
|
3931
3993
|
attributes,
|
|
3932
3994
|
children
|