@atlaskit/mention 27.17.1 → 27.18.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.
Files changed (225) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/api/AbstractMentionResource.js +111 -0
  3. package/dist/cjs/api/AbstractPresenceResource.js +41 -0
  4. package/dist/cjs/api/AbstractResource.js +48 -0
  5. package/dist/cjs/api/Callback.js +5 -0
  6. package/dist/cjs/api/DefaultMentionNameResolver.js +178 -0
  7. package/dist/cjs/api/DefaultPresenceCache.js +159 -0
  8. package/dist/cjs/api/DefaultPresenceParser.js +91 -0
  9. package/dist/cjs/api/HttpError.js +16 -0
  10. package/dist/cjs/api/MentionNameResolver.js +13 -201
  11. package/dist/cjs/api/MentionResource.js +52 -157
  12. package/dist/cjs/api/PresenceResource.js +39 -263
  13. package/dist/cjs/api/Queue.js +5 -0
  14. package/dist/cjs/api/isResolvingMentionProvider.js +9 -0
  15. package/dist/cjs/api/mergeNameResolverQueues.js +36 -0
  16. package/dist/cjs/components/Mention/MentionInternal.js +247 -0
  17. package/dist/cjs/components/Mention/ResourcedMention.js +5 -4
  18. package/dist/cjs/components/Mention/index.js +29 -243
  19. package/dist/cjs/components/MentionAvatar/index.js +5 -4
  20. package/dist/cjs/components/MentionItem/index.js +18 -12
  21. package/dist/cjs/components/MentionList/index.js +4 -3
  22. package/dist/cjs/components/MentionPicker/MentionPicker.js +231 -0
  23. package/dist/cjs/components/MentionPicker/index.js +18 -225
  24. package/dist/cjs/components/MessagesIntlProvider/index.js +2 -2
  25. package/dist/cjs/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +228 -0
  26. package/dist/cjs/components/ResourcedMentionList/index.js +14 -223
  27. package/dist/cjs/index.js +17 -15
  28. package/dist/cjs/is-agent-mention.js +12 -0
  29. package/dist/cjs/is-app-mention.js +10 -0
  30. package/dist/cjs/is-promise.js +9 -0
  31. package/dist/cjs/is-restricted.js +10 -0
  32. package/dist/cjs/is-special-mention-text.js +9 -0
  33. package/dist/cjs/is-special-mention.js +10 -0
  34. package/dist/cjs/is-team-mention.js +10 -0
  35. package/dist/cjs/resource.js +15 -12
  36. package/dist/cjs/team-resource.js +9 -9
  37. package/dist/cjs/typeahead.js +4 -0
  38. package/dist/cjs/types.js +71 -30
  39. package/dist/cjs/util/actual-mouse-move.js +14 -0
  40. package/dist/cjs/util/analytics.js +91 -107
  41. package/dist/cjs/util/build-sli-payload.js +27 -0
  42. package/dist/cjs/util/fire-analytics-mention-event.js +32 -0
  43. package/dist/cjs/util/fire-analytics-mention-hydration-event.js +33 -0
  44. package/dist/cjs/util/fire-analytics-mention-typeahead-event.js +34 -0
  45. package/dist/cjs/util/fire-analytics.js +18 -0
  46. package/dist/cjs/util/fire-sli-analytics-event.js +16 -0
  47. package/dist/cjs/util/get-messages-for-locale.js +233 -0
  48. package/dist/cjs/util/i18n.js +9 -254
  49. package/dist/cjs/util/left-click.js +9 -0
  50. package/dist/cjs/util/mouse-location.js +12 -0
  51. package/dist/cjs/util/mouse.js +1 -26
  52. package/dist/cjs/util/package-name.js +7 -0
  53. package/dist/cjs/util/package-version.js +7 -0
  54. package/dist/cjs/util/prop-formatter.js +25 -0
  55. package/dist/es2019/api/AbstractMentionResource.js +73 -0
  56. package/dist/es2019/api/AbstractPresenceResource.js +17 -0
  57. package/dist/es2019/api/AbstractResource.js +33 -0
  58. package/dist/es2019/api/Callback.js +1 -0
  59. package/dist/es2019/api/DefaultMentionNameResolver.js +152 -0
  60. package/dist/es2019/api/DefaultPresenceCache.js +111 -0
  61. package/dist/es2019/api/DefaultPresenceParser.js +58 -0
  62. package/dist/es2019/api/HttpError.js +8 -0
  63. package/dist/es2019/api/MentionNameResolver.js +13 -176
  64. package/dist/es2019/api/MentionResource.js +28 -122
  65. package/dist/es2019/api/PresenceResource.js +19 -185
  66. package/dist/es2019/api/Queue.js +1 -0
  67. package/dist/es2019/api/isResolvingMentionProvider.js +1 -0
  68. package/dist/es2019/api/mergeNameResolverQueues.js +25 -0
  69. package/dist/es2019/components/Mention/MentionInternal.js +225 -0
  70. package/dist/es2019/components/Mention/ResourcedMention.js +4 -3
  71. package/dist/es2019/components/Mention/index.js +19 -223
  72. package/dist/es2019/components/MentionAvatar/index.js +3 -2
  73. package/dist/es2019/components/MentionItem/index.js +14 -8
  74. package/dist/es2019/components/MentionList/index.js +2 -1
  75. package/dist/es2019/components/MentionPicker/MentionPicker.js +198 -0
  76. package/dist/es2019/components/MentionPicker/index.js +15 -198
  77. package/dist/es2019/components/MessagesIntlProvider/index.js +1 -1
  78. package/dist/es2019/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +187 -0
  79. package/dist/es2019/components/ResourcedMentionList/index.js +9 -187
  80. package/dist/es2019/element.js +5 -0
  81. package/dist/es2019/index.js +13 -9
  82. package/dist/es2019/is-agent-mention.js +6 -0
  83. package/dist/es2019/is-app-mention.js +4 -0
  84. package/dist/es2019/is-promise.js +1 -0
  85. package/dist/es2019/is-restricted.js +4 -0
  86. package/dist/es2019/is-special-mention-text.js +3 -0
  87. package/dist/es2019/is-special-mention.js +4 -0
  88. package/dist/es2019/is-team-mention.js +4 -0
  89. package/dist/es2019/item.js +5 -0
  90. package/dist/es2019/resource.js +15 -5
  91. package/dist/es2019/team-resource.js +10 -4
  92. package/dist/es2019/typeahead.js +5 -0
  93. package/dist/es2019/types.js +30 -21
  94. package/dist/es2019/util/actual-mouse-move.js +8 -0
  95. package/dist/es2019/util/analytics.js +35 -91
  96. package/dist/es2019/util/build-sli-payload.js +18 -0
  97. package/dist/es2019/util/fire-analytics-mention-event.js +24 -0
  98. package/dist/es2019/util/fire-analytics-mention-hydration-event.js +25 -0
  99. package/dist/es2019/util/fire-analytics-mention-typeahead-event.js +24 -0
  100. package/dist/es2019/util/fire-analytics.js +10 -0
  101. package/dist/es2019/util/fire-sli-analytics-event.js +8 -0
  102. package/dist/es2019/util/get-messages-for-locale.js +145 -0
  103. package/dist/es2019/util/i18n.js +2 -165
  104. package/dist/es2019/util/left-click.js +3 -0
  105. package/dist/es2019/util/mouse-location.js +6 -0
  106. package/dist/es2019/util/mouse.js +0 -18
  107. package/dist/es2019/util/package-name.js +1 -0
  108. package/dist/es2019/util/package-version.js +1 -0
  109. package/dist/es2019/util/prop-formatter.js +18 -0
  110. package/dist/esm/api/AbstractMentionResource.js +104 -0
  111. package/dist/esm/api/AbstractPresenceResource.js +34 -0
  112. package/dist/esm/api/AbstractResource.js +41 -0
  113. package/dist/esm/api/Callback.js +1 -0
  114. package/dist/esm/api/DefaultMentionNameResolver.js +171 -0
  115. package/dist/esm/api/DefaultPresenceCache.js +152 -0
  116. package/dist/esm/api/DefaultPresenceParser.js +84 -0
  117. package/dist/esm/api/HttpError.js +9 -0
  118. package/dist/esm/api/MentionNameResolver.js +13 -198
  119. package/dist/esm/api/MentionResource.js +30 -154
  120. package/dist/esm/api/PresenceResource.js +22 -256
  121. package/dist/esm/api/Queue.js +1 -0
  122. package/dist/esm/api/isResolvingMentionProvider.js +3 -0
  123. package/dist/esm/api/mergeNameResolverQueues.js +29 -0
  124. package/dist/esm/components/Mention/MentionInternal.js +242 -0
  125. package/dist/esm/components/Mention/ResourcedMention.js +4 -3
  126. package/dist/esm/components/Mention/index.js +19 -240
  127. package/dist/esm/components/MentionAvatar/index.js +3 -2
  128. package/dist/esm/components/MentionItem/index.js +14 -8
  129. package/dist/esm/components/MentionList/index.js +2 -1
  130. package/dist/esm/components/MentionPicker/MentionPicker.js +225 -0
  131. package/dist/esm/components/MentionPicker/index.js +15 -225
  132. package/dist/esm/components/MessagesIntlProvider/index.js +1 -1
  133. package/dist/esm/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +221 -0
  134. package/dist/esm/components/ResourcedMentionList/index.js +9 -221
  135. package/dist/esm/element.js +5 -0
  136. package/dist/esm/index.js +13 -9
  137. package/dist/esm/is-agent-mention.js +6 -0
  138. package/dist/esm/is-app-mention.js +4 -0
  139. package/dist/esm/is-promise.js +3 -0
  140. package/dist/esm/is-restricted.js +4 -0
  141. package/dist/esm/is-special-mention-text.js +3 -0
  142. package/dist/esm/is-special-mention.js +4 -0
  143. package/dist/esm/is-team-mention.js +4 -0
  144. package/dist/esm/item.js +5 -0
  145. package/dist/esm/resource.js +15 -5
  146. package/dist/esm/team-resource.js +10 -4
  147. package/dist/esm/typeahead.js +5 -0
  148. package/dist/esm/types.js +30 -23
  149. package/dist/esm/util/actual-mouse-move.js +8 -0
  150. package/dist/esm/util/analytics.js +35 -105
  151. package/dist/esm/util/build-sli-payload.js +20 -0
  152. package/dist/esm/util/fire-analytics-mention-event.js +26 -0
  153. package/dist/esm/util/fire-analytics-mention-hydration-event.js +27 -0
  154. package/dist/esm/util/fire-analytics-mention-typeahead-event.js +28 -0
  155. package/dist/esm/util/fire-analytics.js +12 -0
  156. package/dist/esm/util/fire-sli-analytics-event.js +10 -0
  157. package/dist/esm/util/get-messages-for-locale.js +163 -0
  158. package/dist/esm/util/i18n.js +2 -183
  159. package/dist/esm/util/left-click.js +3 -0
  160. package/dist/esm/util/mouse-location.js +6 -0
  161. package/dist/esm/util/mouse.js +0 -18
  162. package/dist/esm/util/package-name.js +1 -0
  163. package/dist/esm/util/package-version.js +1 -0
  164. package/dist/esm/util/prop-formatter.js +18 -0
  165. package/dist/types/api/AbstractMentionResource.d.ts +15 -0
  166. package/dist/types/api/AbstractPresenceResource.d.ts +6 -0
  167. package/dist/types/api/AbstractResource.d.ts +11 -0
  168. package/dist/types/api/Callback.d.ts +4 -0
  169. package/dist/types/api/DefaultMentionNameResolver.d.ts +27 -0
  170. package/dist/types/api/DefaultPresenceCache.d.ts +57 -0
  171. package/dist/types/api/DefaultPresenceParser.d.ts +8 -0
  172. package/dist/types/api/HttpError.d.ts +7 -0
  173. package/dist/types/api/MentionNameResolver.d.ts +14 -35
  174. package/dist/types/api/MentionResource.d.ts +18 -33
  175. package/dist/types/api/PresenceResource.d.ts +15 -69
  176. package/dist/types/api/Queue.d.ts +2 -0
  177. package/dist/types/api/isResolvingMentionProvider.d.ts +2 -0
  178. package/dist/types/api/mergeNameResolverQueues.d.ts +6 -0
  179. package/dist/types/components/Mention/MentionInternal.d.ts +27 -0
  180. package/dist/types/components/Mention/ResourcedMention.d.ts +1 -1
  181. package/dist/types/components/Mention/index.d.ts +9 -20
  182. package/dist/types/components/MentionAvatar/index.d.ts +1 -1
  183. package/dist/types/components/MentionItem/index.d.ts +4 -1
  184. package/dist/types/components/MentionPicker/MentionPicker.d.ts +46 -0
  185. package/dist/types/components/MentionPicker/index.d.ts +5 -42
  186. package/dist/types/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.d.ts +30 -0
  187. package/dist/types/components/ResourcedMentionList/index.d.ts +5 -27
  188. package/dist/types/element.d.ts +3 -0
  189. package/dist/types/index.d.ts +15 -10
  190. package/dist/types/is-agent-mention.d.ts +2 -0
  191. package/dist/types/is-app-mention.d.ts +2 -0
  192. package/dist/types/is-promise.d.ts +1 -0
  193. package/dist/types/is-restricted.d.ts +1 -0
  194. package/dist/types/is-special-mention-text.d.ts +1 -0
  195. package/dist/types/is-special-mention.d.ts +2 -0
  196. package/dist/types/is-team-mention.d.ts +2 -0
  197. package/dist/types/item.d.ts +3 -0
  198. package/dist/types/resource.d.ts +15 -6
  199. package/dist/types/team-resource.d.ts +10 -4
  200. package/dist/types/typeahead.d.ts +3 -0
  201. package/dist/types/types.d.ts +28 -8
  202. package/dist/types/util/actual-mouse-move.d.ts +2 -0
  203. package/dist/types/util/analytics.d.ts +33 -10
  204. package/dist/types/util/build-sli-payload.d.ts +4 -0
  205. package/dist/types/util/fire-analytics-mention-event.d.ts +1 -0
  206. package/dist/types/util/fire-analytics-mention-hydration-event.d.ts +1 -0
  207. package/dist/types/util/fire-analytics-mention-typeahead-event.d.ts +1 -0
  208. package/dist/types/util/fire-analytics.d.ts +1 -0
  209. package/dist/types/util/fire-sli-analytics-event.d.ts +1 -0
  210. package/dist/types/util/get-messages-for-locale.d.ts +11 -0
  211. package/dist/types/util/i18n.d.ts +0 -15
  212. package/dist/types/util/left-click.d.ts +2 -0
  213. package/dist/types/util/mouse-location.d.ts +3 -0
  214. package/dist/types/util/mouse.d.ts +0 -4
  215. package/dist/types/util/package-name.d.ts +1 -0
  216. package/dist/types/util/package-version.d.ts +1 -0
  217. package/dist/types/util/prop-formatter.d.ts +5 -0
  218. package/package.json +2 -2
  219. package/dist/cjs/i18n/index.js +0 -216
  220. package/dist/es2019/i18n/index.js +0 -37
  221. package/dist/esm/i18n/index.js +0 -37
  222. package/dist/types/i18n/index.d.ts +0 -37
  223. /package/dist/cjs/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
  224. /package/dist/es2019/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
  225. /package/dist/esm/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.HttpError = void 0;
8
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var HttpError = exports.HttpError = /*#__PURE__*/(0, _createClass2.default)(function HttpError(statusCode, statusMessage) {
11
+ (0, _classCallCheck2.default)(this, HttpError);
12
+ this.statusCode = statusCode;
13
+ this.message = statusMessage;
14
+ this.name = 'HttpError';
15
+ this.stack = new Error().stack;
16
+ });
@@ -1,207 +1,19 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- exports.DefaultMentionNameResolver = void 0;
8
- exports.mergeNameResolverQueues = mergeNameResolverQueues;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _types = require("../types");
15
- var _analytics = require("../util/analytics");
16
- /** A queue for user ids */
17
- var DefaultMentionNameResolver = exports.DefaultMentionNameResolver = /*#__PURE__*/function () {
18
- function DefaultMentionNameResolver(client) {
19
- var _this = this;
20
- var analyticsProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
21
- var onResolvedAll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
22
- (0, _classCallCheck2.default)(this, DefaultMentionNameResolver);
23
- (0, _defineProperty2.default)(this, "nameCache", new Map());
24
- (0, _defineProperty2.default)(this, "nameQueue", new Map());
25
- (0, _defineProperty2.default)(this, "nameStartTime", new Map());
26
- (0, _defineProperty2.default)(this, "processingQueue", new Map());
27
- (0, _defineProperty2.default)(this, "debounce", 0);
28
- (0, _defineProperty2.default)(this, "debounceOnResolve", null);
29
- (0, _defineProperty2.default)(this, "isOnResolvedAllCalled", false);
30
- (0, _defineProperty2.default)(this, "processQueue", function () {
31
- clearTimeout(_this.debounce);
32
- _this.debounce = 0;
33
- var _this$splitQueueAtLim = _this.splitQueueAtLimit(),
34
- queue = _this$splitQueueAtLim.queue,
35
- extraQueue = _this$splitQueueAtLim.extraQueue;
36
- _this.nameQueue = extraQueue;
37
- _this.processingQueue = mergeNameResolverQueues(_this.processingQueue, queue);
38
- _this.client.lookupMentionNames(Array.from(queue.keys())).then(function (response) {
39
- response.forEach(function (mentionDetail) {
40
- var id = mentionDetail.id;
41
- queue.delete(id);
42
- _this.resolveQueueItem(mentionDetail);
43
- });
44
- queue.forEach(function (_callback, id) {
45
- // No response from client for these ids treat as unknown
46
- _this.resolveQueueItem({
47
- id: id,
48
- status: _types.MentionNameStatus.UNKNOWN
49
- });
50
- });
51
- }).catch(function () {
52
- // Service completely failed, reject all items in the queue
53
- queue.forEach(function (_callback, id) {
54
- _this.resolveQueueItem({
55
- id: id,
56
- status: _types.MentionNameStatus.SERVICE_ERROR
57
- });
58
- });
59
- });
60
-
61
- // Make sure anything left in the queue gets processed.
62
- if (_this.nameQueue.size > 0) {
63
- _this.scheduleProcessQueue();
64
- } else {
65
- _this.scheduleOnAllResolved();
66
- }
67
- });
68
- this.client = client;
69
- this.fireHydrationEvent = (0, _analytics.fireAnalyticsMentionHydrationEvent)(analyticsProps);
70
- // If provided, this will be called once all pending mentions in the queue are resolved.
71
- // A sample usage is scrolling to a mention on page load, after the mentions have loadad.
72
- this.onResolvedAll = onResolvedAll;
6
+ Object.defineProperty(exports, "DefaultMentionNameResolver", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _DefaultMentionNameResolver.DefaultMentionNameResolver;
73
10
  }
74
- return (0, _createClass2.default)(DefaultMentionNameResolver, [{
75
- key: "lookupName",
76
- value: function lookupName(id) {
77
- var _this2 = this;
78
- var name = this.nameCache.get(id);
79
- if (name) {
80
- this.fireAnalytics(true, name);
81
- if (this.nameQueue.size === 0) {
82
- this.scheduleOnAllResolved();
83
- }
84
- return name;
85
- }
86
- return new Promise(function (resolve) {
87
- var processingItems = _this2.processingQueue.get(id);
88
- if (processingItems) {
89
- _this2.processingQueue.set(id, [].concat((0, _toConsumableArray2.default)(processingItems), [resolve]));
90
- }
91
- var queuedItems = _this2.nameQueue.get(id) || [];
92
- _this2.nameQueue.set(id, [].concat((0, _toConsumableArray2.default)(queuedItems), [resolve]));
93
- if (queuedItems.length === 0 && !processingItems) {
94
- _this2.nameStartTime.set(id, Date.now());
95
- }
96
- _this2.scheduleProcessQueue();
97
- if (_this2.isQueueAtLimit()) {
98
- _this2.processQueue();
99
- }
100
- });
101
- }
102
- }, {
103
- key: "cacheName",
104
- value: function cacheName(id, name) {
105
- this.nameCache.set(id, {
106
- id: id,
107
- name: name,
108
- status: _types.MentionNameStatus.OK
109
- });
110
- }
111
- }, {
112
- key: "scheduleProcessQueue",
113
- value: function scheduleProcessQueue() {
114
- if (!this.debounce) {
115
- this.debounce = window.setTimeout(this.processQueue, DefaultMentionNameResolver.waitForBatch);
116
- }
117
- }
118
- }, {
119
- key: "scheduleOnAllResolved",
120
- value: function scheduleOnAllResolved() {
121
- var _this3 = this;
122
- if (this.debounceOnResolve) {
123
- clearTimeout(this.debounceOnResolve);
124
- }
125
- this.debounceOnResolve = window.setTimeout(function () {
126
- if (_this3.isOnResolvedAllCalled) {
127
- return;
128
- }
129
- _this3.onResolvedAll();
130
- _this3.isOnResolvedAllCalled = true;
131
- }, DefaultMentionNameResolver.waitForResolveAll);
132
- }
133
- }, {
134
- key: "isQueueAtLimit",
135
- value: function isQueueAtLimit() {
136
- return this.nameQueue.size >= this.client.getLookupLimit();
137
- }
138
- }, {
139
- key: "splitQueueAtLimit",
140
- value: function splitQueueAtLimit() {
141
- var values = Array.from(this.nameQueue.entries());
142
- var splitPoint = this.client.getLookupLimit();
143
- return {
144
- queue: new Map(values.slice(0, splitPoint)),
145
- extraQueue: new Map(values.slice(splitPoint))
146
- };
147
- }
148
- }, {
149
- key: "resolveQueueItem",
150
- value: function resolveQueueItem(mentionDetail) {
151
- var id = mentionDetail.id;
152
- var resolvers = this.processingQueue.get(id);
153
- if (resolvers) {
154
- this.processingQueue.delete(id);
155
- this.nameCache.set(id, mentionDetail);
156
- resolvers.forEach(function (resolve) {
157
- try {
158
- resolve(mentionDetail);
159
- } catch (_unused) {
160
- // ignore - exception in consumer
161
- }
162
- });
163
- this.fireAnalytics(false, mentionDetail);
164
- }
165
- }
166
- }, {
167
- key: "fireAnalytics",
168
- value: function fireAnalytics(fromCache, mentionDetail) {
169
- var id = mentionDetail.id;
170
- var action = mentionDetail.status === _types.MentionNameStatus.OK ? 'completed' : 'failed';
171
- var start = this.nameStartTime.get(id);
172
- var duration = start ? Date.now() - start : 0;
173
- this.nameStartTime.delete(id);
174
- this.fireHydrationEvent(action, id, fromCache, duration);
175
- }
176
- }]);
177
- }();
178
- /**
179
- * Merge the two queues making sure to merge callback arrays for items in queueB already in queueA.
180
- * This addresses [this ticket](https://product-fabric.atlassian.net/browse/QS-3789).
181
- */
182
- (0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForBatch", 100);
183
- // ms
184
- (0, _defineProperty2.default)(DefaultMentionNameResolver, "waitForResolveAll", 800);
185
- function mergeNameResolverQueues(queueA, queueB) {
186
- var queueBeingMerged = new Map((0, _toConsumableArray2.default)(queueA));
187
-
188
- // now add the items from the second queue that are not already in the
189
- // merged queue being built
190
- (0, _toConsumableArray2.default)(queueB).forEach(function (item) {
191
- var _item = (0, _slicedToArray2.default)(item, 2),
192
- key = _item[0],
193
- queueBCallbacks = _item[1];
194
- var itemAlreadyInMergedQueue = queueBeingMerged.has(key);
195
- if (!itemAlreadyInMergedQueue) {
196
- queueBeingMerged.set(key, queueBCallbacks);
197
- } else {
198
- var _queueBeingMerged$get;
199
- // item already in merged queue, merge the callback arrays
200
- var queueACallbacks = (_queueBeingMerged$get = queueBeingMerged.get(key)) !== null && _queueBeingMerged$get !== void 0 ? _queueBeingMerged$get : [];
201
- var mergedCallbacks = new Set([].concat((0, _toConsumableArray2.default)(queueBCallbacks), (0, _toConsumableArray2.default)(queueACallbacks)));
202
- var deduplicatedCallbacks = Array.from(mergedCallbacks.values()); // prevents calling them twice
203
- queueBeingMerged.set(key, deduplicatedCallbacks);
204
- }
205
- });
206
- return queueBeingMerged;
207
- }
11
+ });
12
+ Object.defineProperty(exports, "mergeNameResolverQueues", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _mergeNameResolverQueues.mergeNameResolverQueues;
16
+ }
17
+ });
18
+ var _DefaultMentionNameResolver = require("./DefaultMentionNameResolver");
19
+ var _mergeNameResolverQueues = require("./mergeNameResolverQueues");
@@ -4,29 +4,55 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.isResolvingMentionProvider = exports.default = exports.MentionResource = exports.HttpError = exports.AbstractResource = exports.AbstractMentionResource = void 0;
7
+ Object.defineProperty(exports, "AbstractMentionResource", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _AbstractMentionResource.AbstractMentionResource;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "AbstractResource", {
14
+ enumerable: true,
15
+ get: function get() {
16
+ return _AbstractResource.AbstractResource;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "HttpError", {
20
+ enumerable: true,
21
+ get: function get() {
22
+ return _HttpError.HttpError;
23
+ }
24
+ });
25
+ exports.default = exports.MentionResource = void 0;
26
+ Object.defineProperty(exports, "isResolvingMentionProvider", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _isResolvingMentionProvider.isResolvingMentionProvider;
30
+ }
31
+ });
8
32
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
33
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
34
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
35
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
36
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
37
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
38
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
39
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
40
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
16
41
  var _utilServiceSupport = require("@atlaskit/util-service-support");
42
+ var _isAppMention = require("../is-app-mention");
43
+ var _isTeamMention = require("../is-team-mention");
17
44
  var _types = require("../types");
18
- var _logger = _interopRequireDefault(require("../util/logger"));
19
45
  var _analytics = require("../util/analytics");
20
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
46
+ var _logger = _interopRequireDefault(require("../util/logger"));
47
+ var _AbstractMentionResource = require("./AbstractMentionResource");
48
+ var _HttpError = require("./HttpError");
49
+ var _isResolvingMentionProvider = require("./isResolvingMentionProvider");
50
+ var _AbstractResource = require("./AbstractResource");
21
51
  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; }
22
52
  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) { (0, _defineProperty2.default)(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; }
23
53
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
24
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
54
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
25
55
  var MAX_QUERY_ITEMS = 100;
26
- var MAX_NOTIFIED_ITEMS = 20;
27
-
28
- // Re-exporting types to prevent breaking change
29
- // Re-exporting types to prevent breaking change
30
56
 
31
57
  /**
32
58
  * Configuration for the TeamMentionResource, which extends {@link MentionResourceConfig}
@@ -46,139 +72,6 @@ var emptySecurityProvider = function emptySecurityProvider() {
46
72
  headers: {}
47
73
  };
48
74
  };
49
- var AbstractResource = exports.AbstractResource = /*#__PURE__*/function () {
50
- function AbstractResource() {
51
- (0, _classCallCheck2.default)(this, AbstractResource);
52
- this.changeListeners = new Map();
53
- this.allResultsListeners = new Map();
54
- this.errListeners = new Map();
55
- this.infoListeners = new Map();
56
- this.analyticsListeners = new Map();
57
- }
58
- return (0, _createClass2.default)(AbstractResource, [{
59
- key: "subscribe",
60
- value: function subscribe(key, callback, errCallback, infoCallback, allResultsCallback, analyticsListeners) {
61
- if (callback) {
62
- this.changeListeners.set(key, callback);
63
- }
64
- if (errCallback) {
65
- this.errListeners.set(key, errCallback);
66
- }
67
- if (infoCallback) {
68
- this.infoListeners.set(key, infoCallback);
69
- }
70
- if (allResultsCallback) {
71
- this.allResultsListeners.set(key, allResultsCallback);
72
- }
73
- if (analyticsListeners) {
74
- this.analyticsListeners.set(key, analyticsListeners);
75
- }
76
- }
77
- }, {
78
- key: "unsubscribe",
79
- value: function unsubscribe(key) {
80
- this.changeListeners.delete(key);
81
- this.errListeners.delete(key);
82
- this.infoListeners.delete(key);
83
- this.allResultsListeners.delete(key);
84
- this.analyticsListeners.delete(key);
85
- }
86
- }]);
87
- }();
88
- var AbstractMentionResource = exports.AbstractMentionResource = /*#__PURE__*/function (_AbstractResource) {
89
- function AbstractMentionResource() {
90
- (0, _classCallCheck2.default)(this, AbstractMentionResource);
91
- return _callSuper(this, AbstractMentionResource, arguments);
92
- }
93
- (0, _inherits2.default)(AbstractMentionResource, _AbstractResource);
94
- return (0, _createClass2.default)(AbstractMentionResource, [{
95
- key: "shouldHighlightMention",
96
- value: function shouldHighlightMention(_mention) {
97
- return false;
98
- }
99
-
100
- // eslint-disable-next-line class-methods-use-this
101
- }, {
102
- key: "filter",
103
- value: function filter(query) {
104
- throw new Error("not yet implemented.\nParams: query=".concat(query));
105
- }
106
-
107
- // eslint-disable-next-line class-methods-use-this, no-unused-vars
108
- }, {
109
- key: "recordMentionSelection",
110
- value: function recordMentionSelection(_mention) {
111
- // Do nothing
112
- }
113
- }, {
114
- key: "isFiltering",
115
- value: function isFiltering(_query) {
116
- return false;
117
- }
118
- }, {
119
- key: "_notifyListeners",
120
- value: function _notifyListeners(mentionsResult, stats) {
121
- (0, _logger.default)('ak-mention-resource._notifyListeners', mentionsResult && mentionsResult.mentions && mentionsResult.mentions.length, this.changeListeners);
122
- this.changeListeners.forEach(function (listener, key) {
123
- try {
124
- listener(mentionsResult.mentions.slice(0, MAX_NOTIFIED_ITEMS), mentionsResult.query, stats);
125
- } catch (e) {
126
- // ignore error from listener
127
- (0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
128
- }
129
- });
130
- }
131
- }, {
132
- key: "_notifyAllResultsListeners",
133
- value: function _notifyAllResultsListeners(mentionsResult) {
134
- (0, _logger.default)('ak-mention-resource._notifyAllResultsListeners', mentionsResult && mentionsResult.mentions && mentionsResult.mentions.length, this.changeListeners);
135
- this.allResultsListeners.forEach(function (listener, key) {
136
- try {
137
- listener(mentionsResult.mentions.slice(0, MAX_NOTIFIED_ITEMS), mentionsResult.query);
138
- } catch (e) {
139
- // ignore error from listener
140
- (0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
141
- }
142
- });
143
- }
144
- }, {
145
- key: "_notifyErrorListeners",
146
- value: function _notifyErrorListeners(error, query) {
147
- this.errListeners.forEach(function (listener, key) {
148
- try {
149
- listener(error, query);
150
- } catch (e) {
151
- // ignore error from listener
152
- (0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
153
- }
154
- });
155
- }
156
- }, {
157
- key: "_notifyInfoListeners",
158
- value: function _notifyInfoListeners(info) {
159
- this.infoListeners.forEach(function (listener, key) {
160
- try {
161
- listener(info);
162
- } catch (e) {
163
- // ignore error fromr listener
164
- (0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
165
- }
166
- });
167
- }
168
- }, {
169
- key: "_notifyAnalyticsListeners",
170
- value: function _notifyAnalyticsListeners(event, actionSubject, action, attributes) {
171
- this.analyticsListeners.forEach(function (listener, key) {
172
- try {
173
- listener(event, actionSubject, action, attributes);
174
- } catch (e) {
175
- // ignore error from listener
176
- (0, _logger.default)("error from listener '".concat(key, "', ignoring"), e);
177
- }
178
- });
179
- }
180
- }]);
181
- }(AbstractResource);
182
75
  /**
183
76
  * Provides a Javascript API
184
77
  */
@@ -474,9 +367,9 @@ var MentionResource = exports.MentionResource = /*#__PURE__*/function (_Abstract
474
367
  return mention;
475
368
  }
476
369
  var lozenge;
477
- if ((0, _types.isAppMention)(mention)) {
370
+ if ((0, _isAppMention.isAppMention)(mention)) {
478
371
  lozenge = mention.userType;
479
- } else if ((0, _types.isTeamMention)(mention)) {
372
+ } else if ((0, _isTeamMention.isTeamMention)(mention)) {
480
373
  lozenge = mention.userType;
481
374
  }
482
375
  return _objectSpread(_objectSpread({}, mention), {}, {
@@ -490,15 +383,17 @@ var MentionResource = exports.MentionResource = /*#__PURE__*/function (_Abstract
490
383
  });
491
384
  }
492
385
  }]);
493
- }(AbstractMentionResource);
494
- var HttpError = exports.HttpError = /*#__PURE__*/(0, _createClass2.default)(function HttpError(statusCode, statusMessage) {
495
- (0, _classCallCheck2.default)(this, HttpError);
496
- this.statusCode = statusCode;
497
- this.message = statusMessage;
498
- this.name = 'HttpError';
499
- this.stack = new Error().stack;
500
- });
501
- var isResolvingMentionProvider = exports.isResolvingMentionProvider = function isResolvingMentionProvider(p) {
502
- return !!(p && p.supportsMentionNameResolving && p.supportsMentionNameResolving());
503
- };
504
- var _default = exports.default = MentionResource;
386
+ }(_AbstractMentionResource.AbstractMentionResource);
387
+ var _default = exports.default = MentionResource;
388
+ /**
389
+ * @deprecated Use `import { HttpError } from '@atlaskit/mention/mention-resource'` instead.
390
+ */
391
+ /**
392
+ * @deprecated Use `import { isResolvingMentionProvider } from '@atlaskit/mention/mention-resource'` instead.
393
+ */
394
+ /**
395
+ * @deprecated Use `import { AbstractResource } from '@atlaskit/mention/mention-resource'` instead.
396
+ */
397
+ /**
398
+ * @deprecated Use `import { AbstractMentionResource } from '@atlaskit/mention/mention-resource'` instead.
399
+ */