@atlaskit/editor-plugin-mentions 2.6.4 → 2.6.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.
@@ -1,9 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import React, { PureComponent } from 'react';
2
+ import React, { useEffect, useState } from 'react';
4
3
  import { browser } from '@atlaskit/editor-common/browser';
5
- import { ProviderFactory, WithProviders } from '@atlaskit/editor-common/provider-factory';
4
+ import { MentionWithProfileCard } from '@atlaskit/editor-common/mention';
6
5
  import { ResourcedMention } from '@atlaskit/mention/element';
6
+ import { isResolvingMentionProvider, MentionNameStatus } from '@atlaskit/mention/resource';
7
+ import { isPromise } from '@atlaskit/mention/types';
8
+
7
9
  // Workaround for a firefox issue where dom selection is off sync
8
10
  // https://product-fabric.atlassian.net/browse/ED-12442
9
11
  const refreshBrowserSelection = () => {
@@ -16,39 +18,42 @@ const refreshBrowserSelection = () => {
16
18
  }
17
19
  }
18
20
  };
19
- /**
20
- * @deprecated should be replaced with `editor-plugin-mentions/src/ui/Mention/mention.tsx`
21
- * when the feature flag `platform.editor.mentions-in-editor-popup-on-click` is tidied up.
22
- */
23
- export default class Mention extends PureComponent {
24
- constructor(props) {
25
- super(props);
26
- _defineProperty(this, "renderWithProvider", providers => {
27
- const {
28
- accessLevel,
29
- eventHandlers,
30
- id,
31
- text,
32
- localId
33
- } = this.props;
34
- const {
35
- mentionProvider
36
- } = providers;
37
- const actionHandlers = {};
38
- ['onClick', 'onMouseEnter', 'onMouseLeave'].forEach(handler => {
39
- actionHandlers[handler] = eventHandlers && eventHandlers[handler] || (() => {});
40
- });
41
- return /*#__PURE__*/React.createElement(ResourcedMention, _extends({
42
- id: id,
43
- text: text,
44
- accessLevel: accessLevel,
45
- localId: localId,
46
- mentionProvider: mentionProvider
47
- }, actionHandlers));
48
- });
49
- this.providerFactory = props.providers || new ProviderFactory();
50
- }
51
- componentDidMount() {
21
+ export const Mention = props => {
22
+ const {
23
+ accessLevel,
24
+ eventHandlers,
25
+ id,
26
+ text,
27
+ localId,
28
+ mentionProvider,
29
+ profilecardProvider: profilecardProviderPromise
30
+ } = props;
31
+ const [profilecardProvider, setProfilecardProvider] = useState(undefined);
32
+ const resolvedName = useResolvedName(id, text, mentionProvider);
33
+
34
+ // Resolve the profilecard provider
35
+ useEffect(() => {
36
+ let isCancelled = false;
37
+ const resolveProfilecardProvider = async () => {
38
+ try {
39
+ const profilecardProvider = await profilecardProviderPromise;
40
+ if (!isCancelled) {
41
+ setProfilecardProvider(profilecardProvider);
42
+ }
43
+ } catch (error) {
44
+ if (!isCancelled) {
45
+ setProfilecardProvider(undefined);
46
+ }
47
+ }
48
+ };
49
+ if (profilecardProviderPromise) {
50
+ resolveProfilecardProvider();
51
+ }
52
+ return () => {
53
+ isCancelled = true;
54
+ };
55
+ }, [profilecardProviderPromise]);
56
+ useEffect(() => {
52
57
  // Workaround an issue where the selection is not updated immediately after adding
53
58
  // a mention when "sanitizePrivateContent" is enabled in the editor on safari.
54
59
  // This affects both insertion and paste behaviour it is applied to the component.
@@ -56,20 +61,57 @@ export default class Mention extends PureComponent {
56
61
  if (browser.safari) {
57
62
  setTimeout(refreshBrowserSelection, 0);
58
63
  }
64
+ }, []);
65
+ const actionHandlers = {};
66
+ ['onClick', 'onMouseEnter', 'onMouseLeave'].forEach(handler => {
67
+ actionHandlers[handler] = eventHandlers && eventHandlers[handler] || (() => {});
68
+ });
69
+ if (profilecardProvider) {
70
+ return /*#__PURE__*/React.createElement(MentionWithProfileCard, _extends({
71
+ autoFocus: false,
72
+ id: id,
73
+ text: resolvedName,
74
+ accessLevel: accessLevel,
75
+ mentionProvider: mentionProvider,
76
+ profilecardProvider: profilecardProvider,
77
+ localId: localId
78
+ }, actionHandlers));
79
+ } else {
80
+ return /*#__PURE__*/React.createElement(ResourcedMention, _extends({
81
+ id: id,
82
+ text: resolvedName,
83
+ accessLevel: accessLevel,
84
+ mentionProvider: mentionProvider,
85
+ localId: localId
86
+ }, actionHandlers));
59
87
  }
60
- componentWillUnmount() {
61
- if (!this.props.providers) {
62
- // new ProviderFactory is created if no `providers` has been set
63
- // in this case when component is unmounted it's safe to destroy this providerFactory
64
- this.providerFactory.destroy();
88
+ };
89
+ const useResolvedName = (id, text, mentionProvider) => {
90
+ const [resolvedName, setResolvedName] = useState(text);
91
+ const processName = name => {
92
+ if (name.status === MentionNameStatus.OK) {
93
+ return `@${name.name || ''}`;
94
+ } else {
95
+ return `@_|unknown|_`;
65
96
  }
66
- }
67
- render() {
68
- return /*#__PURE__*/React.createElement(WithProviders, {
69
- providers: ['mentionProvider', 'profilecardProvider'],
70
- providerFactory: this.providerFactory,
71
- renderNode: this.renderWithProvider
72
- });
73
- }
74
- }
75
- _defineProperty(Mention, "displayName", 'Mention');
97
+ };
98
+ useEffect(() => {
99
+ if (mentionProvider) {
100
+ mentionProvider.then(async provider => {
101
+ if (!text && isResolvingMentionProvider(provider)) {
102
+ const nameDetail = provider.resolveMentionName(id);
103
+ if (isPromise(nameDetail)) {
104
+ return processName(await nameDetail);
105
+ } else {
106
+ return processName(nameDetail);
107
+ }
108
+ } else {
109
+ return text;
110
+ }
111
+ }).then(resolvedName => {
112
+ setResolvedName(resolvedName);
113
+ });
114
+ }
115
+ }, [id, text, mentionProvider]);
116
+ return resolvedName;
117
+ };
@@ -1,84 +1,6 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- import _regeneratorRuntime from "@babel/runtime/regenerator";
4
- import React, { useEffect, useState } from 'react';
1
+ import React from 'react';
5
2
  import { WithProviders } from '@atlaskit/editor-common/provider-factory';
6
- import { isResolvingMentionProvider, MentionNameStatus } from '@atlaskit/mention';
7
- import { isPromise } from '@atlaskit/mention/types';
8
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
9
- import Mention from '../ui/Mention';
10
- import { Mention as MentionNext } from '../ui/Mention/mention';
11
- var UNKNOWN_USER_ID = '_|unknown|_';
12
- var MentionAssistiveTextComponent = function MentionAssistiveTextComponent(_ref) {
13
- var id = _ref.id,
14
- text = _ref.text,
15
- providers = _ref.providers,
16
- accessLevel = _ref.accessLevel,
17
- mentionProvider = _ref.mentionProvider,
18
- localId = _ref.localId;
19
- var _useState = useState(text),
20
- _useState2 = _slicedToArray(_useState, 2),
21
- resolvedName = _useState2[0],
22
- setResolvedName = _useState2[1];
23
- var processName = function processName(name) {
24
- if (name.status === MentionNameStatus.OK) {
25
- return "@".concat(name.name || '');
26
- } else {
27
- return "@".concat(UNKNOWN_USER_ID);
28
- }
29
- };
30
- useEffect(function () {
31
- if (mentionProvider) {
32
- mentionProvider.then( /*#__PURE__*/function () {
33
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(provider) {
34
- var nameDetail;
35
- return _regeneratorRuntime.wrap(function _callee$(_context) {
36
- while (1) switch (_context.prev = _context.next) {
37
- case 0:
38
- if (!(!text && isResolvingMentionProvider(provider))) {
39
- _context.next = 13;
40
- break;
41
- }
42
- nameDetail = provider.resolveMentionName(id);
43
- if (!isPromise(nameDetail)) {
44
- _context.next = 10;
45
- break;
46
- }
47
- _context.t0 = processName;
48
- _context.next = 6;
49
- return nameDetail;
50
- case 6:
51
- _context.t1 = _context.sent;
52
- return _context.abrupt("return", (0, _context.t0)(_context.t1));
53
- case 10:
54
- return _context.abrupt("return", processName(nameDetail));
55
- case 11:
56
- _context.next = 14;
57
- break;
58
- case 13:
59
- return _context.abrupt("return", text);
60
- case 14:
61
- case "end":
62
- return _context.stop();
63
- }
64
- }, _callee);
65
- }));
66
- return function (_x) {
67
- return _ref2.apply(this, arguments);
68
- };
69
- }()).then(function (resolvedName) {
70
- setResolvedName(resolvedName);
71
- });
72
- }
73
- }, [id, text, mentionProvider]);
74
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(Mention, {
75
- id: id,
76
- text: resolvedName,
77
- accessLevel: accessLevel,
78
- providers: providers,
79
- localId: localId
80
- })));
81
- };
3
+ import { Mention } from '../ui/Mention';
82
4
  export var MentionNodeView = function MentionNodeView(props) {
83
5
  var providerFactory = props.providerFactory;
84
6
  var _props$node$attrs = props.node.attrs,
@@ -88,34 +10,17 @@ export var MentionNodeView = function MentionNodeView(props) {
88
10
  localId = _props$node$attrs.localId;
89
11
  var renderAssistiveTextWithProviders = function renderAssistiveTextWithProviders(providers) {
90
12
  var _props$options;
91
- var _ref3 = providers,
92
- mentionProvider = _ref3.mentionProvider;
93
- var profilecardProvider = getBooleanFF('platform.editor.mentions-in-editor-popup-on-click') ? (_props$options = props.options) === null || _props$options === void 0 ? void 0 : _props$options.profilecardProvider : undefined;
94
- if (profilecardProvider) {
95
- return (
96
- /*#__PURE__*/
97
- /**
98
- * Rename this to `Mention` when `platform.editor.mentions-in-editor-popup-on-click` is tidied up.
99
- */
100
- React.createElement(MentionNext, {
101
- id: id,
102
- text: text,
103
- accessLevel: accessLevel,
104
- mentionProvider: mentionProvider,
105
- profilecardProvider: profilecardProvider,
106
- localId: localId
107
- })
108
- );
109
- } else {
110
- return /*#__PURE__*/React.createElement(MentionAssistiveTextComponent, {
111
- mentionProvider: mentionProvider,
112
- id: id,
113
- text: text,
114
- providers: providerFactory,
115
- accessLevel: accessLevel,
116
- localId: localId
117
- });
118
- }
13
+ var _ref = providers,
14
+ mentionProvider = _ref.mentionProvider;
15
+ var profilecardProvider = (_props$options = props.options) === null || _props$options === void 0 ? void 0 : _props$options.profilecardProvider;
16
+ return /*#__PURE__*/React.createElement(Mention, {
17
+ id: id,
18
+ text: text,
19
+ accessLevel: accessLevel,
20
+ mentionProvider: mentionProvider,
21
+ profilecardProvider: profilecardProvider,
22
+ localId: localId
23
+ });
119
24
  };
120
25
  return /*#__PURE__*/React.createElement(WithProviders, {
121
26
  providers: ['mentionProvider', 'profilecardProvider'],
@@ -1,17 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
5
- import _inherits from "@babel/runtime/helpers/inherits";
6
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
- function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = _getPrototypeOf(t); if (r) { var s = _getPrototypeOf(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return _possibleConstructorReturn(this, e); }; }
10
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
- import React, { PureComponent } from 'react';
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ import React, { useEffect, useState } from 'react';
12
6
  import { browser } from '@atlaskit/editor-common/browser';
13
- import { ProviderFactory, WithProviders } from '@atlaskit/editor-common/provider-factory';
7
+ import { MentionWithProfileCard } from '@atlaskit/editor-common/mention';
14
8
  import { ResourcedMention } from '@atlaskit/mention/element';
9
+ import { isResolvingMentionProvider, MentionNameStatus } from '@atlaskit/mention/resource';
10
+ import { isPromise } from '@atlaskit/mention/types';
11
+
15
12
  // Workaround for a firefox issue where dom selection is off sync
16
13
  // https://product-fabric.atlassian.net/browse/ED-12442
17
14
  var refreshBrowserSelection = function refreshBrowserSelection() {
@@ -24,72 +21,150 @@ var refreshBrowserSelection = function refreshBrowserSelection() {
24
21
  }
25
22
  }
26
23
  };
27
- /**
28
- * @deprecated should be replaced with `editor-plugin-mentions/src/ui/Mention/mention.tsx`
29
- * when the feature flag `platform.editor.mentions-in-editor-popup-on-click` is tidied up.
30
- */
31
- var Mention = /*#__PURE__*/function (_PureComponent) {
32
- _inherits(Mention, _PureComponent);
33
- var _super = _createSuper(Mention);
34
- function Mention(props) {
35
- var _this;
36
- _classCallCheck(this, Mention);
37
- _this = _super.call(this, props);
38
- _defineProperty(_assertThisInitialized(_this), "renderWithProvider", function (providers) {
39
- var _this$props = _this.props,
40
- accessLevel = _this$props.accessLevel,
41
- eventHandlers = _this$props.eventHandlers,
42
- id = _this$props.id,
43
- text = _this$props.text,
44
- localId = _this$props.localId;
45
- var _ref = providers,
46
- mentionProvider = _ref.mentionProvider;
47
- var actionHandlers = {};
48
- ['onClick', 'onMouseEnter', 'onMouseLeave'].forEach(function (handler) {
49
- actionHandlers[handler] = eventHandlers && eventHandlers[handler] || function () {};
50
- });
51
- return /*#__PURE__*/React.createElement(ResourcedMention, _extends({
52
- id: id,
53
- text: text,
54
- accessLevel: accessLevel,
55
- localId: localId,
56
- mentionProvider: mentionProvider
57
- }, actionHandlers));
58
- });
59
- _this.providerFactory = props.providers || new ProviderFactory();
60
- return _this;
61
- }
62
- _createClass(Mention, [{
63
- key: "componentDidMount",
64
- value: function componentDidMount() {
65
- // Workaround an issue where the selection is not updated immediately after adding
66
- // a mention when "sanitizePrivateContent" is enabled in the editor on safari.
67
- // This affects both insertion and paste behaviour it is applied to the component.
68
- // https://product-fabric.atlassian.net/browse/ED-14859
69
- if (browser.safari) {
70
- setTimeout(refreshBrowserSelection, 0);
71
- }
24
+ export var Mention = function Mention(props) {
25
+ var accessLevel = props.accessLevel,
26
+ eventHandlers = props.eventHandlers,
27
+ id = props.id,
28
+ text = props.text,
29
+ localId = props.localId,
30
+ mentionProvider = props.mentionProvider,
31
+ profilecardProviderPromise = props.profilecardProvider;
32
+ var _useState = useState(undefined),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ profilecardProvider = _useState2[0],
35
+ setProfilecardProvider = _useState2[1];
36
+ var resolvedName = useResolvedName(id, text, mentionProvider);
37
+
38
+ // Resolve the profilecard provider
39
+ useEffect(function () {
40
+ var isCancelled = false;
41
+ var resolveProfilecardProvider = /*#__PURE__*/function () {
42
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
43
+ var _profilecardProvider;
44
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
45
+ while (1) switch (_context.prev = _context.next) {
46
+ case 0:
47
+ _context.prev = 0;
48
+ _context.next = 3;
49
+ return profilecardProviderPromise;
50
+ case 3:
51
+ _profilecardProvider = _context.sent;
52
+ if (!isCancelled) {
53
+ setProfilecardProvider(_profilecardProvider);
54
+ }
55
+ _context.next = 10;
56
+ break;
57
+ case 7:
58
+ _context.prev = 7;
59
+ _context.t0 = _context["catch"](0);
60
+ if (!isCancelled) {
61
+ setProfilecardProvider(undefined);
62
+ }
63
+ case 10:
64
+ case "end":
65
+ return _context.stop();
66
+ }
67
+ }, _callee, null, [[0, 7]]);
68
+ }));
69
+ return function resolveProfilecardProvider() {
70
+ return _ref.apply(this, arguments);
71
+ };
72
+ }();
73
+ if (profilecardProviderPromise) {
74
+ resolveProfilecardProvider();
75
+ }
76
+ return function () {
77
+ isCancelled = true;
78
+ };
79
+ }, [profilecardProviderPromise]);
80
+ useEffect(function () {
81
+ // Workaround an issue where the selection is not updated immediately after adding
82
+ // a mention when "sanitizePrivateContent" is enabled in the editor on safari.
83
+ // This affects both insertion and paste behaviour it is applied to the component.
84
+ // https://product-fabric.atlassian.net/browse/ED-14859
85
+ if (browser.safari) {
86
+ setTimeout(refreshBrowserSelection, 0);
72
87
  }
73
- }, {
74
- key: "componentWillUnmount",
75
- value: function componentWillUnmount() {
76
- if (!this.props.providers) {
77
- // new ProviderFactory is created if no `providers` has been set
78
- // in this case when component is unmounted it's safe to destroy this providerFactory
79
- this.providerFactory.destroy();
80
- }
88
+ }, []);
89
+ var actionHandlers = {};
90
+ ['onClick', 'onMouseEnter', 'onMouseLeave'].forEach(function (handler) {
91
+ actionHandlers[handler] = eventHandlers && eventHandlers[handler] || function () {};
92
+ });
93
+ if (profilecardProvider) {
94
+ return /*#__PURE__*/React.createElement(MentionWithProfileCard, _extends({
95
+ autoFocus: false,
96
+ id: id,
97
+ text: resolvedName,
98
+ accessLevel: accessLevel,
99
+ mentionProvider: mentionProvider,
100
+ profilecardProvider: profilecardProvider,
101
+ localId: localId
102
+ }, actionHandlers));
103
+ } else {
104
+ return /*#__PURE__*/React.createElement(ResourcedMention, _extends({
105
+ id: id,
106
+ text: resolvedName,
107
+ accessLevel: accessLevel,
108
+ mentionProvider: mentionProvider,
109
+ localId: localId
110
+ }, actionHandlers));
111
+ }
112
+ };
113
+ var useResolvedName = function useResolvedName(id, text, mentionProvider) {
114
+ var _useState3 = useState(text),
115
+ _useState4 = _slicedToArray(_useState3, 2),
116
+ resolvedName = _useState4[0],
117
+ setResolvedName = _useState4[1];
118
+ var processName = function processName(name) {
119
+ if (name.status === MentionNameStatus.OK) {
120
+ return "@".concat(name.name || '');
121
+ } else {
122
+ return "@_|unknown|_";
81
123
  }
82
- }, {
83
- key: "render",
84
- value: function render() {
85
- return /*#__PURE__*/React.createElement(WithProviders, {
86
- providers: ['mentionProvider', 'profilecardProvider'],
87
- providerFactory: this.providerFactory,
88
- renderNode: this.renderWithProvider
124
+ };
125
+ useEffect(function () {
126
+ if (mentionProvider) {
127
+ mentionProvider.then( /*#__PURE__*/function () {
128
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(provider) {
129
+ var nameDetail;
130
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
131
+ while (1) switch (_context2.prev = _context2.next) {
132
+ case 0:
133
+ if (!(!text && isResolvingMentionProvider(provider))) {
134
+ _context2.next = 13;
135
+ break;
136
+ }
137
+ nameDetail = provider.resolveMentionName(id);
138
+ if (!isPromise(nameDetail)) {
139
+ _context2.next = 10;
140
+ break;
141
+ }
142
+ _context2.t0 = processName;
143
+ _context2.next = 6;
144
+ return nameDetail;
145
+ case 6:
146
+ _context2.t1 = _context2.sent;
147
+ return _context2.abrupt("return", (0, _context2.t0)(_context2.t1));
148
+ case 10:
149
+ return _context2.abrupt("return", processName(nameDetail));
150
+ case 11:
151
+ _context2.next = 14;
152
+ break;
153
+ case 13:
154
+ return _context2.abrupt("return", text);
155
+ case 14:
156
+ case "end":
157
+ return _context2.stop();
158
+ }
159
+ }, _callee2);
160
+ }));
161
+ return function (_x) {
162
+ return _ref2.apply(this, arguments);
163
+ };
164
+ }()).then(function (resolvedName) {
165
+ setResolvedName(resolvedName);
89
166
  });
90
167
  }
91
- }]);
92
- return Mention;
93
- }(PureComponent);
94
- _defineProperty(Mention, "displayName", 'Mention');
95
- export { Mention as default };
168
+ }, [id, text, mentionProvider]);
169
+ return resolvedName;
170
+ };
@@ -1,24 +1,14 @@
1
- import { PureComponent } from 'react';
2
- import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
1
+ /// <reference types="react" />
2
+ import { type ProfilecardProvider } from '@atlaskit/editor-common/src/provider-factory/profile-card-provider';
3
3
  import type { MentionEventHandlers } from '@atlaskit/editor-common/ui';
4
+ import { type MentionProvider } from '@atlaskit/mention/resource';
4
5
  export interface MentionProps {
5
6
  id: string;
6
- providers?: ProviderFactory;
7
7
  eventHandlers?: MentionEventHandlers;
8
8
  text: string;
9
9
  accessLevel?: string;
10
10
  localId?: string;
11
+ mentionProvider?: Promise<MentionProvider>;
12
+ profilecardProvider?: Promise<ProfilecardProvider>;
11
13
  }
12
- /**
13
- * @deprecated should be replaced with `editor-plugin-mentions/src/ui/Mention/mention.tsx`
14
- * when the feature flag `platform.editor.mentions-in-editor-popup-on-click` is tidied up.
15
- */
16
- export default class Mention extends PureComponent<MentionProps, {}> {
17
- static displayName: string;
18
- private providerFactory;
19
- constructor(props: MentionProps);
20
- componentDidMount(): void;
21
- componentWillUnmount(): void;
22
- private renderWithProvider;
23
- render(): JSX.Element;
24
- }
14
+ export declare const Mention: (props: MentionProps) => JSX.Element;
@@ -1,24 +1,14 @@
1
- import { PureComponent } from 'react';
2
- import { ProviderFactory } from '@atlaskit/editor-common/provider-factory';
1
+ /// <reference types="react" />
2
+ import { type ProfilecardProvider } from '@atlaskit/editor-common/src/provider-factory/profile-card-provider';
3
3
  import type { MentionEventHandlers } from '@atlaskit/editor-common/ui';
4
+ import { type MentionProvider } from '@atlaskit/mention/resource';
4
5
  export interface MentionProps {
5
6
  id: string;
6
- providers?: ProviderFactory;
7
7
  eventHandlers?: MentionEventHandlers;
8
8
  text: string;
9
9
  accessLevel?: string;
10
10
  localId?: string;
11
+ mentionProvider?: Promise<MentionProvider>;
12
+ profilecardProvider?: Promise<ProfilecardProvider>;
11
13
  }
12
- /**
13
- * @deprecated should be replaced with `editor-plugin-mentions/src/ui/Mention/mention.tsx`
14
- * when the feature flag `platform.editor.mentions-in-editor-popup-on-click` is tidied up.
15
- */
16
- export default class Mention extends PureComponent<MentionProps, {}> {
17
- static displayName: string;
18
- private providerFactory;
19
- constructor(props: MentionProps);
20
- componentDidMount(): void;
21
- componentWillUnmount(): void;
22
- private renderWithProvider;
23
- render(): JSX.Element;
24
- }
14
+ export declare const Mention: (props: MentionProps) => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-mentions",
3
- "version": "2.6.4",
3
+ "version": "2.6.6",
4
4
  "description": "Mentions plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -33,16 +33,16 @@
33
33
  "dependencies": {
34
34
  "@atlaskit/adf-schema": "^40.9.0",
35
35
  "@atlaskit/analytics-gas-types": "^5.1.0",
36
- "@atlaskit/editor-common": "^91.0.0",
36
+ "@atlaskit/editor-common": "^92.0.0",
37
37
  "@atlaskit/editor-plugin-analytics": "^1.8.0",
38
38
  "@atlaskit/editor-plugin-context-identifier": "^1.3.0",
39
39
  "@atlaskit/editor-plugin-type-ahead": "^1.8.0",
40
40
  "@atlaskit/editor-prosemirror": "6.0.0",
41
- "@atlaskit/icon": "^22.18.0",
42
- "@atlaskit/mention": "^23.2.0",
41
+ "@atlaskit/icon": "^22.19.0",
42
+ "@atlaskit/mention": "^23.3.0",
43
43
  "@atlaskit/platform-feature-flags": "^0.3.0",
44
44
  "@atlaskit/theme": "^13.0.0",
45
- "@atlaskit/tokens": "^1.61.0",
45
+ "@atlaskit/tokens": "^2.0.0",
46
46
  "@babel/runtime": "^7.0.0",
47
47
  "@emotion/react": "^11.7.1",
48
48
  "uuid": "^3.1.0"
@@ -103,9 +103,6 @@
103
103
  ]
104
104
  },
105
105
  "platform-feature-flags": {
106
- "platform.editor.mentions-in-editor-popup-on-click": {
107
- "type": "boolean"
108
- },
109
106
  "editor_inline_comments_paste_insert_nodes": {
110
107
  "type": "boolean"
111
108
  },