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.
@@ -36784,6 +36784,70 @@
36784
36784
  };
36785
36785
  }
36786
36786
 
36787
+ 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; } } }; }
36788
+ 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; } }
36789
+ 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; }
36790
+ var blockPathAt = function blockPathAt(editor, point) {
36791
+ var _Editor$above;
36792
+ return (_Editor$above = slate.Editor.above(editor, {
36793
+ at: point,
36794
+ match: function match(n) {
36795
+ return slate.Node.isElement(n) && slate.Editor.isBlock(editor, n);
36796
+ }
36797
+ })) === null || _Editor$above === void 0 ? void 0 : _Editor$above[1];
36798
+ };
36799
+ var getWholeTopLevelBlockPaths = function getWholeTopLevelBlockPaths(editor, range) {
36800
+ var _Range$edges = slate.Range.edges(range),
36801
+ _Range$edges2 = _slicedToArray(_Range$edges, 2),
36802
+ start = _Range$edges2[0],
36803
+ end = _Range$edges2[1];
36804
+ var startBlock = blockPathAt(editor, start);
36805
+ var endBlock = blockPathAt(editor, end);
36806
+ 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)) {
36807
+ return null;
36808
+ }
36809
+ return Array.from({
36810
+ length: endBlock[0] - startBlock[0]
36811
+ }, function (_, offset) {
36812
+ return [startBlock[0] + offset];
36813
+ });
36814
+ };
36815
+ var getMovableRange = function getMovableRange(editor, range) {
36816
+ return getWholeTopLevelBlockPaths(editor, range) ? range : slate.Editor.unhangRange(editor, range);
36817
+ };
36818
+ var deleteMovedRange = function deleteMovedRange(editor, range) {
36819
+ if (slate.Range.isCollapsed(range)) {
36820
+ return;
36821
+ }
36822
+ var blockPaths = getWholeTopLevelBlockPaths(editor, range);
36823
+ if (!blockPaths) {
36824
+ slate.Transforms.select(editor, range);
36825
+ slate.Editor.deleteFragment(editor);
36826
+ return;
36827
+ }
36828
+ var followingBlockRef = slate.Editor.pathRef(editor, slate.Path.next(blockPaths[blockPaths.length - 1]));
36829
+ slate.Editor.withoutNormalizing(editor, function () {
36830
+ var _iterator = _createForOfIteratorHelper$1(_toConsumableArray(blockPaths).reverse()),
36831
+ _step;
36832
+ try {
36833
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
36834
+ var path = _step.value;
36835
+ slate.Transforms.removeNodes(editor, {
36836
+ at: path
36837
+ });
36838
+ }
36839
+ } catch (err) {
36840
+ _iterator.e(err);
36841
+ } finally {
36842
+ _iterator.f();
36843
+ }
36844
+ });
36845
+ var followingBlock = followingBlockRef.unref();
36846
+ if (followingBlock) {
36847
+ slate.Transforms.select(editor, slate.Editor.start(editor, followingBlock));
36848
+ }
36849
+ };
36850
+
36787
36851
  var assertThisInitialized = createCommonjsModule(function (module) {
36788
36852
  function _assertThisInitialized(e) {
36789
36853
  if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -37947,11 +38011,12 @@
37947
38011
  onCut: React.useCallback(function (event) {
37948
38012
  if (!readOnly && ReactEditor.hasSelectableTarget(editor, event.target) && !isEventHandled(event, attributes.onCut) && !isDOMEventTargetInput(event)) {
37949
38013
  event.preventDefault();
38014
+ selectMovableRange(editor);
37950
38015
  ReactEditor.setFragmentData(editor, event.clipboardData, 'cut');
37951
38016
  var selection = editor.selection;
37952
38017
  if (selection) {
37953
38018
  if (slate.Range.isExpanded(selection)) {
37954
- slate.Editor.deleteFragment(editor);
38019
+ deleteMovedRange(editor, selection);
37955
38020
  } else {
37956
38021
  var node = slate.Node.parent(editor, selection.anchor.path);
37957
38022
  if (slate.Editor.isVoid(editor, node)) {
@@ -37986,6 +38051,7 @@
37986
38051
  var range = slate.Editor.range(editor, path);
37987
38052
  slate.Transforms.select(editor, range);
37988
38053
  }
38054
+ selectMovableRange(editor);
37989
38055
  state.isDraggingInternally = true;
37990
38056
  ReactEditor.setFragmentData(editor, event.dataTransfer, 'drag');
37991
38057
  }
@@ -37999,14 +38065,20 @@
37999
38065
  var range = ReactEditor.findEventRange(editor, event);
38000
38066
  var data = event.dataTransfer;
38001
38067
  slate.Transforms.select(editor, range);
38002
- if (state.isDraggingInternally) {
38003
- if (draggedRange && !slate.Range.equals(draggedRange, range) && !slate.Editor["void"](editor, {
38068
+ if (state.isDraggingInternally && draggedRange) {
38069
+ if (slate.Range.includes(draggedRange, range.anchor)) {
38070
+ return;
38071
+ }
38072
+ if (!slate.Editor["void"](editor, {
38004
38073
  at: range,
38005
38074
  voids: true
38006
38075
  })) {
38007
- slate.Transforms["delete"](editor, {
38008
- at: draggedRange
38009
- });
38076
+ var dropRef = slate.Editor.rangeRef(editor, range);
38077
+ deleteMovedRange(editor, draggedRange);
38078
+ var dropRange = dropRef.unref();
38079
+ if (dropRange) {
38080
+ slate.Transforms.select(editor, dropRange);
38081
+ }
38010
38082
  }
38011
38083
  }
38012
38084
  ReactEditor.insertData(editor, data);
@@ -38314,6 +38386,15 @@
38314
38386
  /**
38315
38387
  * The default placeholder element
38316
38388
  */
38389
+ var selectMovableRange = function selectMovableRange(editor) {
38390
+ var selection = editor.selection;
38391
+ if (selection && slate.Range.isExpanded(selection)) {
38392
+ var movableRange = getMovableRange(editor, selection);
38393
+ if (!slate.Range.equals(movableRange, selection)) {
38394
+ slate.Transforms.select(editor, movableRange);
38395
+ }
38396
+ }
38397
+ };
38317
38398
  var DefaultPlaceholder = function DefaultPlaceholder(_ref4) {
38318
38399
  var attributes = _ref4.attributes,
38319
38400
  children = _ref4.children;