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
package/dist/index.js
CHANGED
|
@@ -2835,6 +2835,70 @@ function useTrackUserInput() {
|
|
|
2835
2835
|
};
|
|
2836
2836
|
}
|
|
2837
2837
|
|
|
2838
|
+
function _createForOfIteratorHelper$1(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: true } : { done: false, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = true, u = false; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = true, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2839
|
+
function _unsupportedIterableToArray$1(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$1(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; } }
|
|
2840
|
+
function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2841
|
+
var blockPathAt = function blockPathAt(editor, point) {
|
|
2842
|
+
var _Editor$above;
|
|
2843
|
+
return (_Editor$above = slate.Editor.above(editor, {
|
|
2844
|
+
at: point,
|
|
2845
|
+
match: function match(n) {
|
|
2846
|
+
return slate.Node.isElement(n) && slate.Editor.isBlock(editor, n);
|
|
2847
|
+
}
|
|
2848
|
+
})) === null || _Editor$above === void 0 ? void 0 : _Editor$above[1];
|
|
2849
|
+
};
|
|
2850
|
+
var getWholeTopLevelBlockPaths = function getWholeTopLevelBlockPaths(editor, range) {
|
|
2851
|
+
var _Range$edges = slate.Range.edges(range),
|
|
2852
|
+
_Range$edges2 = _slicedToArray(_Range$edges, 2),
|
|
2853
|
+
start = _Range$edges2[0],
|
|
2854
|
+
end = _Range$edges2[1];
|
|
2855
|
+
var startBlock = blockPathAt(editor, start);
|
|
2856
|
+
var endBlock = blockPathAt(editor, end);
|
|
2857
|
+
if (!startBlock || !endBlock || startBlock.length !== 1 || endBlock.length !== 1 || startBlock[0] >= endBlock[0] || !slate.Editor.isStart(editor, start, startBlock) || !slate.Editor.isStart(editor, end, endBlock)) {
|
|
2858
|
+
return null;
|
|
2859
|
+
}
|
|
2860
|
+
return Array.from({
|
|
2861
|
+
length: endBlock[0] - startBlock[0]
|
|
2862
|
+
}, function (_, offset) {
|
|
2863
|
+
return [startBlock[0] + offset];
|
|
2864
|
+
});
|
|
2865
|
+
};
|
|
2866
|
+
var getMovableRange = function getMovableRange(editor, range) {
|
|
2867
|
+
return getWholeTopLevelBlockPaths(editor, range) ? range : slate.Editor.unhangRange(editor, range);
|
|
2868
|
+
};
|
|
2869
|
+
var deleteMovedRange = function deleteMovedRange(editor, range) {
|
|
2870
|
+
if (slate.Range.isCollapsed(range)) {
|
|
2871
|
+
return;
|
|
2872
|
+
}
|
|
2873
|
+
var blockPaths = getWholeTopLevelBlockPaths(editor, range);
|
|
2874
|
+
if (!blockPaths) {
|
|
2875
|
+
slate.Transforms.select(editor, range);
|
|
2876
|
+
slate.Editor.deleteFragment(editor);
|
|
2877
|
+
return;
|
|
2878
|
+
}
|
|
2879
|
+
var followingBlockRef = slate.Editor.pathRef(editor, slate.Path.next(blockPaths[blockPaths.length - 1]));
|
|
2880
|
+
slate.Editor.withoutNormalizing(editor, function () {
|
|
2881
|
+
var _iterator = _createForOfIteratorHelper$1(_toConsumableArray(blockPaths).reverse()),
|
|
2882
|
+
_step;
|
|
2883
|
+
try {
|
|
2884
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2885
|
+
var path = _step.value;
|
|
2886
|
+
slate.Transforms.removeNodes(editor, {
|
|
2887
|
+
at: path
|
|
2888
|
+
});
|
|
2889
|
+
}
|
|
2890
|
+
} catch (err) {
|
|
2891
|
+
_iterator.e(err);
|
|
2892
|
+
} finally {
|
|
2893
|
+
_iterator.f();
|
|
2894
|
+
}
|
|
2895
|
+
});
|
|
2896
|
+
var followingBlock = followingBlockRef.unref();
|
|
2897
|
+
if (followingBlock) {
|
|
2898
|
+
slate.Transforms.select(editor, slate.Editor.start(editor, followingBlock));
|
|
2899
|
+
}
|
|
2900
|
+
};
|
|
2901
|
+
|
|
2838
2902
|
var assertThisInitialized = createCommonjsModule(function (module) {
|
|
2839
2903
|
function _assertThisInitialized(e) {
|
|
2840
2904
|
if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
|
@@ -3998,11 +4062,12 @@ var Editable = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
|
|
|
3998
4062
|
onCut: React.useCallback(function (event) {
|
|
3999
4063
|
if (!readOnly && ReactEditor.hasSelectableTarget(editor, event.target) && !isEventHandled(event, attributes.onCut) && !isDOMEventTargetInput(event)) {
|
|
4000
4064
|
event.preventDefault();
|
|
4065
|
+
selectMovableRange(editor);
|
|
4001
4066
|
ReactEditor.setFragmentData(editor, event.clipboardData, 'cut');
|
|
4002
4067
|
var selection = editor.selection;
|
|
4003
4068
|
if (selection) {
|
|
4004
4069
|
if (slate.Range.isExpanded(selection)) {
|
|
4005
|
-
|
|
4070
|
+
deleteMovedRange(editor, selection);
|
|
4006
4071
|
} else {
|
|
4007
4072
|
var node = slate.Node.parent(editor, selection.anchor.path);
|
|
4008
4073
|
if (slate.Editor.isVoid(editor, node)) {
|
|
@@ -4037,6 +4102,7 @@ var Editable = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
|
|
|
4037
4102
|
var range = slate.Editor.range(editor, path);
|
|
4038
4103
|
slate.Transforms.select(editor, range);
|
|
4039
4104
|
}
|
|
4105
|
+
selectMovableRange(editor);
|
|
4040
4106
|
state.isDraggingInternally = true;
|
|
4041
4107
|
ReactEditor.setFragmentData(editor, event.dataTransfer, 'drag');
|
|
4042
4108
|
}
|
|
@@ -4050,14 +4116,20 @@ var Editable = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
|
|
|
4050
4116
|
var range = ReactEditor.findEventRange(editor, event);
|
|
4051
4117
|
var data = event.dataTransfer;
|
|
4052
4118
|
slate.Transforms.select(editor, range);
|
|
4053
|
-
if (state.isDraggingInternally) {
|
|
4054
|
-
if (
|
|
4119
|
+
if (state.isDraggingInternally && draggedRange) {
|
|
4120
|
+
if (slate.Range.includes(draggedRange, range.anchor)) {
|
|
4121
|
+
return;
|
|
4122
|
+
}
|
|
4123
|
+
if (!slate.Editor["void"](editor, {
|
|
4055
4124
|
at: range,
|
|
4056
4125
|
voids: true
|
|
4057
4126
|
})) {
|
|
4058
|
-
slate.
|
|
4059
|
-
|
|
4060
|
-
|
|
4127
|
+
var dropRef = slate.Editor.rangeRef(editor, range);
|
|
4128
|
+
deleteMovedRange(editor, draggedRange);
|
|
4129
|
+
var dropRange = dropRef.unref();
|
|
4130
|
+
if (dropRange) {
|
|
4131
|
+
slate.Transforms.select(editor, dropRange);
|
|
4132
|
+
}
|
|
4061
4133
|
}
|
|
4062
4134
|
}
|
|
4063
4135
|
ReactEditor.insertData(editor, data);
|
|
@@ -4365,6 +4437,15 @@ var Editable = /*#__PURE__*/React.forwardRef(function (props, forwardedRef) {
|
|
|
4365
4437
|
/**
|
|
4366
4438
|
* The default placeholder element
|
|
4367
4439
|
*/
|
|
4440
|
+
var selectMovableRange = function selectMovableRange(editor) {
|
|
4441
|
+
var selection = editor.selection;
|
|
4442
|
+
if (selection && slate.Range.isExpanded(selection)) {
|
|
4443
|
+
var movableRange = getMovableRange(editor, selection);
|
|
4444
|
+
if (!slate.Range.equals(movableRange, selection)) {
|
|
4445
|
+
slate.Transforms.select(editor, movableRange);
|
|
4446
|
+
}
|
|
4447
|
+
}
|
|
4448
|
+
};
|
|
4368
4449
|
var DefaultPlaceholder = function DefaultPlaceholder(_ref4) {
|
|
4369
4450
|
var attributes = _ref4.attributes,
|
|
4370
4451
|
children = _ref4.children;
|