slate-react 0.72.0 → 0.72.1

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/index.js CHANGED
@@ -1351,8 +1351,8 @@ var Editable$1 = function Editable(props) {
1351
1351
 
1352
1352
  var anchorNode = domSelection.anchorNode,
1353
1353
  focusNode = domSelection.focusNode;
1354
- var anchorNodeSelectable = hasEditableTarget(editor, anchorNode) || isTargetInsideVoid(editor, anchorNode);
1355
- var focusNodeSelectable = hasEditableTarget(editor, focusNode) || isTargetInsideVoid(editor, focusNode);
1354
+ var anchorNodeSelectable = hasEditableTarget(editor, anchorNode) || isTargetInsideNonReadonlyVoid(editor, anchorNode);
1355
+ var focusNodeSelectable = hasEditableTarget(editor, focusNode) || isTargetInsideNonReadonlyVoid(editor, focusNode);
1356
1356
 
1357
1357
  if (anchorNodeSelectable && focusNodeSelectable) {
1358
1358
  var range = ReactEditor.toSlateRange(editor, domSelection, {
@@ -1856,13 +1856,13 @@ var Editable$1 = function Editable(props) {
1856
1856
  onCopy: React.useCallback(function (event) {
1857
1857
  if (hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onCopy)) {
1858
1858
  event.preventDefault();
1859
- ReactEditor.setFragmentData(editor, event.clipboardData);
1859
+ ReactEditor.setFragmentData(editor, event.clipboardData, 'copy');
1860
1860
  }
1861
1861
  }, [attributes.onCopy]),
1862
1862
  onCut: React.useCallback(function (event) {
1863
1863
  if (!readOnly && hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onCut)) {
1864
1864
  event.preventDefault();
1865
- ReactEditor.setFragmentData(editor, event.clipboardData);
1865
+ ReactEditor.setFragmentData(editor, event.clipboardData, 'cut');
1866
1866
  var selection = editor.selection;
1867
1867
 
1868
1868
  if (selection) {
@@ -1906,7 +1906,7 @@ var Editable$1 = function Editable(props) {
1906
1906
  }
1907
1907
 
1908
1908
  state.isDraggingInternally = true;
1909
- ReactEditor.setFragmentData(editor, event.dataTransfer);
1909
+ ReactEditor.setFragmentData(editor, event.dataTransfer, 'drag');
1910
1910
  }
1911
1911
  }, [readOnly, attributes.onDragStart]),
1912
1912
  onDrop: React.useCallback(function (event) {
@@ -2302,10 +2302,11 @@ var hasEditableTarget = function hasEditableTarget(editor, target) {
2302
2302
  });
2303
2303
  };
2304
2304
  /**
2305
- * Check if the target is inside void and in the editor.
2305
+ * Check if the target is inside void and in an non-readonly editor.
2306
2306
  */
2307
2307
 
2308
- var isTargetInsideVoid = function isTargetInsideVoid(editor, target) {
2308
+ var isTargetInsideNonReadonlyVoid = function isTargetInsideNonReadonlyVoid(editor, target) {
2309
+ if (IS_READ_ONLY.get(editor)) return false;
2309
2310
  var slateNode = hasTarget(editor, target) && ReactEditor.toSlateNode(editor, target);
2310
2311
  return slate.Editor.isVoid(editor, slateNode);
2311
2312
  };
@@ -2607,8 +2608,8 @@ var ReactEditor = {
2607
2608
  /**
2608
2609
  * Sets data from the currently selected fragment on a `DataTransfer`.
2609
2610
  */
2610
- setFragmentData: function setFragmentData(editor, data) {
2611
- editor.setFragmentData(data);
2611
+ setFragmentData: function setFragmentData(editor, data, originEvent) {
2612
+ editor.setFragmentData(data, originEvent);
2612
2613
  },
2613
2614
 
2614
2615
  /**
@@ -3869,8 +3870,8 @@ var AndroidEditable = function AndroidEditable(props) {
3869
3870
 
3870
3871
  var anchorNode = domSelection.anchorNode,
3871
3872
  focusNode = domSelection.focusNode;
3872
- var anchorNodeSelectable = hasEditableTarget(editor, anchorNode) || isTargetInsideVoid(editor, anchorNode);
3873
- var focusNodeSelectable = hasEditableTarget(editor, focusNode) || isTargetInsideVoid(editor, focusNode);
3873
+ var anchorNodeSelectable = hasEditableTarget(editor, anchorNode) || isTargetInsideNonReadonlyVoid(editor, anchorNode);
3874
+ var focusNodeSelectable = hasEditableTarget(editor, focusNode) || isTargetInsideNonReadonlyVoid(editor, focusNode);
3874
3875
 
3875
3876
  if (anchorNodeSelectable && focusNodeSelectable) {
3876
3877
  var range = ReactEditor.toSlateRange(editor, domSelection, {
@@ -3935,13 +3936,13 @@ var AndroidEditable = function AndroidEditable(props) {
3935
3936
  onCopy: React.useCallback(function (event) {
3936
3937
  if (hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onCopy)) {
3937
3938
  event.preventDefault();
3938
- ReactEditor.setFragmentData(editor, event.clipboardData);
3939
+ ReactEditor.setFragmentData(editor, event.clipboardData, 'copy');
3939
3940
  }
3940
3941
  }, [attributes.onCopy]),
3941
3942
  onCut: React.useCallback(function (event) {
3942
3943
  if (!readOnly && hasEditableTarget(editor, event.target) && !isEventHandled(event, attributes.onCut)) {
3943
3944
  event.preventDefault();
3944
- ReactEditor.setFragmentData(editor, event.clipboardData);
3945
+ ReactEditor.setFragmentData(editor, event.clipboardData, 'cut');
3945
3946
  var selection = editor.selection;
3946
3947
 
3947
3948
  if (selection) {