@atlaskit/editor-plugin-selection 7.1.0 → 8.0.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/editor-plugin-selection
2
2
 
3
+ ## 8.0.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8184c046099e5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8184c046099e5) -
8
+ Fixed bug where it wasn't possible to paste before a block node when the block node was the first
9
+ node in an editor document.
10
+ - Updated dependencies
11
+
3
12
  ## 7.1.0
4
13
 
5
14
  ### Minor Changes
@@ -10,6 +10,7 @@ var _state = require("@atlaskit/editor-prosemirror/state");
10
10
  var _utils = require("@atlaskit/editor-prosemirror/utils");
11
11
  var _view2 = require("@atlaskit/editor-prosemirror/view");
12
12
  var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
13
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
13
14
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
14
15
  var _types = require("../types");
15
16
  var _gapCursorPluginKey = require("./gap-cursor-plugin-key");
@@ -101,7 +102,8 @@ var plugin = new _safePlugin.SafePlugin({
101
102
  var layoutMode = node && (0, _utils2.getLayoutModeFromTargetNode)(node);
102
103
  return _view2.DecorationSet.create(doc, [_view2.Decoration.widget(position, _placeGapCursor.toDOM, {
103
104
  key: "".concat(_selection.JSON_ID, "-").concat(side, "-").concat(layoutMode),
104
- side: layoutMode ? -1 : 0
105
+ // position === 0: if gap cursor at start of document, render it on the left side of the selection to enable pasting (otherwise Chrome doesn't pick up the paste event)
106
+ side: layoutMode || position === 0 && (0, _expValEquals.expValEquals)('platform_editor_paste_before_first_block_node', 'isEnabled', true) ? -1 : 0
105
107
  })]);
106
108
  }
107
109
  return null;
@@ -4,6 +4,7 @@ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
4
4
  import { findPositionOfNodeBefore } from '@atlaskit/editor-prosemirror/utils';
5
5
  import { Decoration, DecorationSet } from '@atlaskit/editor-prosemirror/view';
6
6
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
7
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
7
8
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
8
9
  import { selectionPluginKey } from '../types';
9
10
  import { gapCursorPluginKey } from './gap-cursor-plugin-key';
@@ -99,7 +100,8 @@ const plugin = new SafePlugin({
99
100
  const layoutMode = node && getLayoutModeFromTargetNode(node);
100
101
  return DecorationSet.create(doc, [Decoration.widget(position, toDOM, {
101
102
  key: `${JSON_ID}-${side}-${layoutMode}`,
102
- side: layoutMode ? -1 : 0
103
+ // position === 0: if gap cursor at start of document, render it on the left side of the selection to enable pasting (otherwise Chrome doesn't pick up the paste event)
104
+ side: layoutMode || position === 0 && expValEquals('platform_editor_paste_before_first_block_node', 'isEnabled', true) ? -1 : 0
103
105
  })]);
104
106
  }
105
107
  return null;
@@ -4,6 +4,7 @@ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
4
4
  import { findPositionOfNodeBefore } from '@atlaskit/editor-prosemirror/utils';
5
5
  import { Decoration, DecorationSet } from '@atlaskit/editor-prosemirror/view';
6
6
  import { CellSelection } from '@atlaskit/editor-tables/cell-selection';
7
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
7
8
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
8
9
  import { selectionPluginKey } from '../types';
9
10
  import { gapCursorPluginKey } from './gap-cursor-plugin-key';
@@ -95,7 +96,8 @@ var plugin = new SafePlugin({
95
96
  var layoutMode = node && getLayoutModeFromTargetNode(node);
96
97
  return DecorationSet.create(doc, [Decoration.widget(position, toDOM, {
97
98
  key: "".concat(JSON_ID, "-").concat(side, "-").concat(layoutMode),
98
- side: layoutMode ? -1 : 0
99
+ // position === 0: if gap cursor at start of document, render it on the left side of the selection to enable pasting (otherwise Chrome doesn't pick up the paste event)
100
+ side: layoutMode || position === 0 && expValEquals('platform_editor_paste_before_first_block_node', 'isEnabled', true) ? -1 : 0
99
101
  })]);
100
102
  }
101
103
  return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-selection",
3
- "version": "7.1.0",
3
+ "version": "8.0.0",
4
4
  "description": "Selection plugin for @atlaskit/editor-core",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -20,17 +20,17 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@atlaskit/editor-json-transformer": "^8.31.0",
23
- "@atlaskit/editor-plugin-interaction": "^14.0.0",
23
+ "@atlaskit/editor-plugin-interaction": "^15.0.0",
24
24
  "@atlaskit/editor-prosemirror": "^7.3.0",
25
25
  "@atlaskit/editor-shared-styles": "^3.10.0",
26
26
  "@atlaskit/editor-tables": "^2.9.0",
27
27
  "@atlaskit/platform-feature-flags": "^1.1.0",
28
- "@atlaskit/tmp-editor-statsig": "^35.5.0",
28
+ "@atlaskit/tmp-editor-statsig": "^35.10.0",
29
29
  "@atlaskit/tokens": "^11.1.0",
30
30
  "@babel/runtime": "^7.0.0"
31
31
  },
32
32
  "peerDependencies": {
33
- "@atlaskit/editor-common": "^111.32.0",
33
+ "@atlaskit/editor-common": "^112.0.0",
34
34
  "react": "^18.2.0"
35
35
  },
36
36
  "techstack": {