@atlaskit/editor-plugin-mentions 8.2.4 → 8.2.6

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,20 @@
1
1
  # @atlaskit/editor-plugin-mentions
2
2
 
3
+ ## 8.2.6
4
+
5
+ ### Patch Changes
6
+
7
+ - [`7f9ecfde4b371`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7f9ecfde4b371) -
8
+ Update mention nodes to have the local id in their HTML.
9
+ - Updated dependencies
10
+
11
+ ## 8.2.5
12
+
13
+ ### Patch Changes
14
+
15
+ - [`4880d63481d80`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4880d63481d80) -
16
+ Fix range error bug in new mentions detection logic
17
+
3
18
  ## 8.2.4
4
19
 
5
20
  ### Patch Changes
@@ -8,13 +8,14 @@ exports.MentionNodeView = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
  var _browser = require("@atlaskit/editor-common/browser");
14
14
  var _whitespace = require("@atlaskit/editor-common/whitespace");
15
15
  var _model = require("@atlaskit/editor-prosemirror/model");
16
16
  var _resource = require("@atlaskit/mention/resource");
17
17
  var _types = require("@atlaskit/mention/types");
18
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
19
  var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
19
20
  var _profileCardRenderer2 = require("./profileCardRenderer");
20
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -36,6 +37,11 @@ var toDOM = function toDOM(node) {
36
37
  'data-prosemirror-node-view-type': 'vanilla',
37
38
  class: 'mentionView-content-wrap inlineNodeView'
38
39
  };
40
+ if ((0, _platformFeatureFlags.fg)('platform_editor_adf_with_localid')) {
41
+ mentionAttrs = _objectSpread(_objectSpread({}, mentionAttrs), {}, {
42
+ 'data-local-id': node.attrs.localId
43
+ });
44
+ }
39
45
  var browser = (0, _expValEquals.expValEquals)('platform_editor_hydratable_ui', 'isEnabled', true) ? (0, _browser.getBrowserInfo)() : _browser.browser;
40
46
  return ['span', mentionAttrs, ['span', {
41
47
  class: 'zeroWidthSpaceContainer'
@@ -25,7 +25,7 @@ var ACTIONS = exports.ACTIONS = {
25
25
  SET_PROVIDER: 'SET_PROVIDER'
26
26
  };
27
27
  var PACKAGE_NAME = "@atlaskit/editor-plugin-mentions";
28
- var PACKAGE_VERSION = "8.2.3";
28
+ var PACKAGE_VERSION = "8.2.5";
29
29
  var setProvider = function setProvider(provider) {
30
30
  return function (state, dispatch) {
31
31
  if (dispatch) {
@@ -100,8 +100,12 @@ function createMentionPlugin(_ref) {
100
100
  (_insm$session = _insm.insm.session) === null || _insm$session === void 0 || _insm$session.startFeature('mentionDeletionDetection');
101
101
  var mentionSchema = newState.schema.nodes.mention;
102
102
  var mentionsRemoved = new Map();
103
- tr.steps.forEach(function (step) {
104
- step.getMap().forEach(function (oldStart, oldEnd, newStart, newEnd) {
103
+ tr.steps.forEach(function (step, index) {
104
+ step.getMap().forEach(function (from, to) {
105
+ var newStart = tr.mapping.slice(index).map(from, -1);
106
+ var newEnd = tr.mapping.slice(index).map(to);
107
+ var oldStart = tr.mapping.invert().map(newStart, -1);
108
+ var oldEnd = tr.mapping.invert().map(newEnd);
105
109
  var oldSlice = oldState.doc.slice(oldStart, oldEnd);
106
110
  var newSlice = newState.doc.slice(newStart, newEnd);
107
111
  var mentionsBefore = new Map();
@@ -4,6 +4,7 @@ import { ZERO_WIDTH_SPACE } from '@atlaskit/editor-common/whitespace';
4
4
  import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
5
5
  import { isResolvingMentionProvider, MentionNameStatus } from '@atlaskit/mention/resource';
6
6
  import { isRestricted } from '@atlaskit/mention/types';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
7
8
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
8
9
  import { profileCardRenderer } from './profileCardRenderer';
9
10
  const primitiveClassName = 'editor-mention-primitive';
@@ -11,7 +12,7 @@ const primitiveClassName = 'editor-mention-primitive';
11
12
  const getAccessibilityLabelFromName = name => name.replace(/^@/u, '');
12
13
  const toDOM = node => {
13
14
  // packages/elements/mention/src/components/Mention/index.tsx
14
- const mentionAttrs = {
15
+ let mentionAttrs = {
15
16
  contenteditable: 'false',
16
17
  'data-access-level': node.attrs.accessLevel,
17
18
  'data-mention-id': node.attrs.id,
@@ -21,6 +22,12 @@ const toDOM = node => {
21
22
  'data-prosemirror-node-view-type': 'vanilla',
22
23
  class: 'mentionView-content-wrap inlineNodeView'
23
24
  };
25
+ if (fg('platform_editor_adf_with_localid')) {
26
+ mentionAttrs = {
27
+ ...mentionAttrs,
28
+ 'data-local-id': node.attrs.localId
29
+ };
30
+ }
24
31
  const browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
25
32
  return ['span', mentionAttrs, ['span', {
26
33
  class: 'zeroWidthSpaceContainer'
@@ -14,7 +14,7 @@ export const ACTIONS = {
14
14
  SET_PROVIDER: 'SET_PROVIDER'
15
15
  };
16
16
  const PACKAGE_NAME = "@atlaskit/editor-plugin-mentions";
17
- const PACKAGE_VERSION = "8.2.3";
17
+ const PACKAGE_VERSION = "8.2.5";
18
18
  const setProvider = provider => (state, dispatch) => {
19
19
  if (dispatch) {
20
20
  dispatch(state.tr.setMeta(mentionPluginKey, {
@@ -92,8 +92,12 @@ export function createMentionPlugin({
92
92
  (_insm$session = insm.session) === null || _insm$session === void 0 ? void 0 : _insm$session.startFeature('mentionDeletionDetection');
93
93
  const mentionSchema = newState.schema.nodes.mention;
94
94
  const mentionsRemoved = new Map();
95
- tr.steps.forEach(step => {
96
- step.getMap().forEach((oldStart, oldEnd, newStart, newEnd) => {
95
+ tr.steps.forEach((step, index) => {
96
+ step.getMap().forEach((from, to) => {
97
+ const newStart = tr.mapping.slice(index).map(from, -1);
98
+ const newEnd = tr.mapping.slice(index).map(to);
99
+ const oldStart = tr.mapping.invert().map(newStart, -1);
100
+ const oldEnd = tr.mapping.invert().map(newEnd);
97
101
  const oldSlice = oldState.doc.slice(oldStart, oldEnd);
98
102
  const newSlice = newState.doc.slice(newStart, newEnd);
99
103
  const mentionsBefore = new Map();
@@ -1,15 +1,16 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
3
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
5
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
- import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import { browser as browserLegacy, getBrowserInfo } from '@atlaskit/editor-common/browser';
9
9
  import { ZERO_WIDTH_SPACE } from '@atlaskit/editor-common/whitespace';
10
10
  import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
11
11
  import { isResolvingMentionProvider, MentionNameStatus } from '@atlaskit/mention/resource';
12
12
  import { isRestricted } from '@atlaskit/mention/types';
13
+ import { fg } from '@atlaskit/platform-feature-flags';
13
14
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
14
15
  import { profileCardRenderer } from './profileCardRenderer';
15
16
  var primitiveClassName = 'editor-mention-primitive';
@@ -29,6 +30,11 @@ var toDOM = function toDOM(node) {
29
30
  'data-prosemirror-node-view-type': 'vanilla',
30
31
  class: 'mentionView-content-wrap inlineNodeView'
31
32
  };
33
+ if (fg('platform_editor_adf_with_localid')) {
34
+ mentionAttrs = _objectSpread(_objectSpread({}, mentionAttrs), {}, {
35
+ 'data-local-id': node.attrs.localId
36
+ });
37
+ }
32
38
  var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
33
39
  return ['span', mentionAttrs, ['span', {
34
40
  class: 'zeroWidthSpaceContainer'
@@ -17,7 +17,7 @@ export var ACTIONS = {
17
17
  SET_PROVIDER: 'SET_PROVIDER'
18
18
  };
19
19
  var PACKAGE_NAME = "@atlaskit/editor-plugin-mentions";
20
- var PACKAGE_VERSION = "8.2.3";
20
+ var PACKAGE_VERSION = "8.2.5";
21
21
  var setProvider = function setProvider(provider) {
22
22
  return function (state, dispatch) {
23
23
  if (dispatch) {
@@ -92,8 +92,12 @@ export function createMentionPlugin(_ref) {
92
92
  (_insm$session = insm.session) === null || _insm$session === void 0 || _insm$session.startFeature('mentionDeletionDetection');
93
93
  var mentionSchema = newState.schema.nodes.mention;
94
94
  var mentionsRemoved = new Map();
95
- tr.steps.forEach(function (step) {
96
- step.getMap().forEach(function (oldStart, oldEnd, newStart, newEnd) {
95
+ tr.steps.forEach(function (step, index) {
96
+ step.getMap().forEach(function (from, to) {
97
+ var newStart = tr.mapping.slice(index).map(from, -1);
98
+ var newEnd = tr.mapping.slice(index).map(to);
99
+ var oldStart = tr.mapping.invert().map(newStart, -1);
100
+ var oldEnd = tr.mapping.invert().map(newEnd);
97
101
  var oldSlice = oldState.doc.slice(oldStart, oldEnd);
98
102
  var newSlice = newState.doc.slice(newStart, newEnd);
99
103
  var mentionsBefore = new Map();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-mentions",
3
- "version": "8.2.4",
3
+ "version": "8.2.6",
4
4
  "description": "Mentions plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -46,8 +46,8 @@
46
46
  "@atlaskit/portal": "^5.1.0",
47
47
  "@atlaskit/profilecard": "^24.20.0",
48
48
  "@atlaskit/theme": "^21.0.0",
49
- "@atlaskit/tmp-editor-statsig": "^13.23.0",
50
- "@atlaskit/tokens": "^7.0.0",
49
+ "@atlaskit/tmp-editor-statsig": "^13.26.0",
50
+ "@atlaskit/tokens": "^7.1.0",
51
51
  "@babel/runtime": "^7.0.0",
52
52
  "@compiled/react": "^0.18.6",
53
53
  "bind-event-listener": "^3.0.0",
@@ -55,7 +55,7 @@
55
55
  "uuid": "^3.1.0"
56
56
  },
57
57
  "peerDependencies": {
58
- "@atlaskit/editor-common": "^110.20.0",
58
+ "@atlaskit/editor-common": "^110.22.0",
59
59
  "react": "^18.2.0",
60
60
  "react-dom": "^18.2.0",
61
61
  "react-intl-next": "npm:react-intl@^5.18.1"
@@ -116,6 +116,9 @@
116
116
  "platform_mention_insert_mention_refactor": {
117
117
  "type": "boolean"
118
118
  },
119
+ "platform_editor_adf_with_localid": {
120
+ "type": "boolean"
121
+ },
119
122
  "dst-a11y__replace-anchor-with-link__editor-ai": {
120
123
  "type": "boolean"
121
124
  }