@atlaskit/mention 27.17.1 → 27.18.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.
Files changed (225) hide show
  1. package/CHANGELOG.md +34 -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 +1 -1
  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
@@ -1,260 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- exports.propFormatter = exports.getMessagesForLocale = exports.UnknownUserError = exports.NoAccessWarning = exports.NoAccessLabel = exports.LoginAgain = exports.DifferentText = exports.DefaultHeadline = exports.DefaultAdvisedAction = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
- var _react = _interopRequireDefault(require("react"));
13
- var _reactIntl = require("react-intl");
6
+ exports.UnknownUserError = exports.NoAccessWarning = exports.NoAccessLabel = exports.LoginAgain = exports.DifferentText = exports.DefaultHeadline = exports.DefaultAdvisedAction = void 0;
14
7
  var _i18n = require("../components/i18n");
15
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
16
- var propFormatter = exports.propFormatter = function propFormatter(messageDescriptor) {
17
- return function (_ref) {
18
- var values = _ref.values,
19
- children = _ref.children;
20
- var _useIntl = (0, _reactIntl.useIntl)(),
21
- formatMessage = _useIntl.formatMessage;
22
- var message = formatMessage(messageDescriptor, values);
23
- if (typeof children === 'function') {
24
- return children(message);
25
- }
26
- return /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, (0, _extends2.default)({
27
- values: values
28
- }, messageDescriptor));
29
- };
30
- };
31
- var UnknownUserError = exports.UnknownUserError = propFormatter(_i18n.messages.unknownUserError);
32
- var NoAccessWarning = exports.NoAccessWarning = propFormatter(_i18n.messages.noAccessWarning);
33
- var NoAccessLabel = exports.NoAccessLabel = propFormatter(_i18n.messages.noAccessLabel);
34
- var DefaultHeadline = exports.DefaultHeadline = propFormatter(_i18n.messages.defaultHeadline);
35
- var DefaultAdvisedAction = exports.DefaultAdvisedAction = propFormatter(_i18n.messages.defaultAdvisedAction);
36
- var LoginAgain = exports.LoginAgain = propFormatter(_i18n.messages.loginAgain);
37
- var DifferentText = exports.DifferentText = propFormatter(_i18n.messages.differentText);
38
-
39
- /**
40
- * Tries to get the most specific messages bundle for a given locale.
41
- *
42
- * Strategy:
43
- * 1. Try to find messages with the exact string (i.e. 'fr_FR')
44
- * 2. If that doesn't work, try to find messages for the country locale (i.e. 'fr')
45
- * 3. If that doesn't work, return english messages as a fallback.
46
- *
47
- * @param locale string specifying the locale like 'en_GB', or 'fr'.
48
- */
49
- var _getMessagesForLocale = exports.getMessagesForLocale = /*#__PURE__*/function () {
50
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(locale) {
51
- var fragments, _t;
52
- return _regenerator.default.wrap(function (_context) {
53
- while (1) switch (_context.prev = _context.next) {
54
- case 0:
55
- _t = locale;
56
- _context.next = _t === 'cs' ? 1 : _t === 'da' ? 2 : _t === 'de' ? 3 : _t === 'en' ? 4 : _t === 'en_GB' ? 5 : _t === 'en_ZZ' ? 6 : _t === 'es' ? 7 : _t === 'et' ? 8 : _t === 'fi' ? 9 : _t === 'fr' ? 10 : _t === 'hu' ? 11 : _t === 'is' ? 12 : _t === 'it' ? 13 : _t === 'ja' ? 14 : _t === 'ko' ? 15 : _t === 'nb' ? 16 : _t === 'nl' ? 17 : _t === 'pl' ? 18 : _t === 'pt_BR' ? 19 : _t === 'pt-BR' ? 19 : _t === 'pt_PT' ? 20 : _t === 'pt-PT' ? 20 : _t === 'ro' ? 21 : _t === 'ru' ? 22 : _t === 'sk' ? 23 : _t === 'sv' ? 24 : _t === 'th' ? 25 : _t === 'tr' ? 26 : _t === 'uk' ? 27 : _t === 'vi' ? 28 : _t === 'zh_TW' ? 29 : _t === 'zh' ? 30 : 31;
57
- break;
58
- case 1:
59
- return _context.abrupt("return", Promise.resolve().then(function () {
60
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-cs" */'../i18n/cs'));
61
- }).then(function (mod) {
62
- return mod.default;
63
- }));
64
- case 2:
65
- return _context.abrupt("return", Promise.resolve().then(function () {
66
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-da" */'../i18n/da'));
67
- }).then(function (mod) {
68
- return mod.default;
69
- }));
70
- case 3:
71
- return _context.abrupt("return", Promise.resolve().then(function () {
72
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-de" */'../i18n/de'));
73
- }).then(function (mod) {
74
- return mod.default;
75
- }));
76
- case 4:
77
- return _context.abrupt("return", Promise.resolve().then(function () {
78
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en" */'../i18n/en'));
79
- }).then(function (mod) {
80
- return mod.default;
81
- }));
82
- case 5:
83
- return _context.abrupt("return", Promise.resolve().then(function () {
84
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en_GB" */'../i18n/en_GB'));
85
- }).then(function (mod) {
86
- return mod.default;
87
- }));
88
- case 6:
89
- return _context.abrupt("return", Promise.resolve().then(function () {
90
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en_ZZ" */'../i18n/en_ZZ'));
91
- }).then(function (mod) {
92
- return mod.default;
93
- }));
94
- case 7:
95
- return _context.abrupt("return", Promise.resolve().then(function () {
96
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-es" */'../i18n/es'));
97
- }).then(function (mod) {
98
- return mod.default;
99
- }));
100
- case 8:
101
- return _context.abrupt("return", Promise.resolve().then(function () {
102
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-et" */'../i18n/et'));
103
- }).then(function (mod) {
104
- return mod.default;
105
- }));
106
- case 9:
107
- return _context.abrupt("return", Promise.resolve().then(function () {
108
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-fi" */'../i18n/fi'));
109
- }).then(function (mod) {
110
- return mod.default;
111
- }));
112
- case 10:
113
- return _context.abrupt("return", Promise.resolve().then(function () {
114
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-fr" */'../i18n/fr'));
115
- }).then(function (mod) {
116
- return mod.default;
117
- }));
118
- case 11:
119
- return _context.abrupt("return", Promise.resolve().then(function () {
120
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-hu" */'../i18n/hu'));
121
- }).then(function (mod) {
122
- return mod.default;
123
- }));
124
- case 12:
125
- return _context.abrupt("return", Promise.resolve().then(function () {
126
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-is" */'../i18n/is'));
127
- }).then(function (mod) {
128
- return mod.default;
129
- }));
130
- case 13:
131
- return _context.abrupt("return", Promise.resolve().then(function () {
132
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-it" */'../i18n/it'));
133
- }).then(function (mod) {
134
- return mod.default;
135
- }));
136
- case 14:
137
- return _context.abrupt("return", Promise.resolve().then(function () {
138
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ja" */'../i18n/ja'));
139
- }).then(function (mod) {
140
- return mod.default;
141
- }));
142
- case 15:
143
- return _context.abrupt("return", Promise.resolve().then(function () {
144
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ko" */'../i18n/ko'));
145
- }).then(function (mod) {
146
- return mod.default;
147
- }));
148
- case 16:
149
- return _context.abrupt("return", Promise.resolve().then(function () {
150
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-nb" */'../i18n/nb'));
151
- }).then(function (mod) {
152
- return mod.default;
153
- }));
154
- case 17:
155
- return _context.abrupt("return", Promise.resolve().then(function () {
156
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-nl" */'../i18n/nl'));
157
- }).then(function (mod) {
158
- return mod.default;
159
- }));
160
- case 18:
161
- return _context.abrupt("return", Promise.resolve().then(function () {
162
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pl" */'../i18n/pl'));
163
- }).then(function (mod) {
164
- return mod.default;
165
- }));
166
- case 19:
167
- return _context.abrupt("return", Promise.resolve().then(function () {
168
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pt_BR" */'../i18n/pt_BR'));
169
- }).then(function (mod) {
170
- return mod.default;
171
- }));
172
- case 20:
173
- return _context.abrupt("return", Promise.resolve().then(function () {
174
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pt_PT" */'../i18n/pt_PT'));
175
- }).then(function (mod) {
176
- return mod.default;
177
- }));
178
- case 21:
179
- return _context.abrupt("return", Promise.resolve().then(function () {
180
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ro" */'../i18n/ro'));
181
- }).then(function (mod) {
182
- return mod.default;
183
- }));
184
- case 22:
185
- return _context.abrupt("return", Promise.resolve().then(function () {
186
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ru" */'../i18n/ru'));
187
- }).then(function (mod) {
188
- return mod.default;
189
- }));
190
- case 23:
191
- return _context.abrupt("return", Promise.resolve().then(function () {
192
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-sk" */'../i18n/sk'));
193
- }).then(function (mod) {
194
- return mod.default;
195
- }));
196
- case 24:
197
- return _context.abrupt("return", Promise.resolve().then(function () {
198
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-sv" */'../i18n/sv'));
199
- }).then(function (mod) {
200
- return mod.default;
201
- }));
202
- case 25:
203
- return _context.abrupt("return", Promise.resolve().then(function () {
204
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-th" */'../i18n/th'));
205
- }).then(function (mod) {
206
- return mod.default;
207
- }));
208
- case 26:
209
- return _context.abrupt("return", Promise.resolve().then(function () {
210
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-tr" */'../i18n/tr'));
211
- }).then(function (mod) {
212
- return mod.default;
213
- }));
214
- case 27:
215
- return _context.abrupt("return", Promise.resolve().then(function () {
216
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-uk" */'../i18n/uk'));
217
- }).then(function (mod) {
218
- return mod.default;
219
- }));
220
- case 28:
221
- return _context.abrupt("return", Promise.resolve().then(function () {
222
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-vi" */'../i18n/vi'));
223
- }).then(function (mod) {
224
- return mod.default;
225
- }));
226
- case 29:
227
- return _context.abrupt("return", Promise.resolve().then(function () {
228
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-zh_TW" */'../i18n/zh_TW'));
229
- }).then(function (mod) {
230
- return mod.default;
231
- }));
232
- case 30:
233
- return _context.abrupt("return", Promise.resolve().then(function () {
234
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-zh" */'../i18n/zh'));
235
- }).then(function (mod) {
236
- return mod.default;
237
- }));
238
- case 31:
239
- fragments = locale.split(/[_-]/);
240
- if (!(fragments.length === 2)) {
241
- _context.next = 32;
242
- break;
243
- }
244
- return _context.abrupt("return", _getMessagesForLocale(fragments[0]));
245
- case 32:
246
- return _context.abrupt("return", Promise.resolve().then(function () {
247
- return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en" */'../i18n/en'));
248
- }).then(function (mod) {
249
- return mod.default;
250
- }));
251
- case 33:
252
- case "end":
253
- return _context.stop();
254
- }
255
- }, _callee);
256
- }));
257
- return function getMessagesForLocale(_x) {
258
- return _ref2.apply(this, arguments);
259
- };
260
- }();
8
+ var _propFormatter = require("./prop-formatter");
9
+ var UnknownUserError = exports.UnknownUserError = (0, _propFormatter.propFormatter)(_i18n.messages.unknownUserError);
10
+ var NoAccessWarning = exports.NoAccessWarning = (0, _propFormatter.propFormatter)(_i18n.messages.noAccessWarning);
11
+ var NoAccessLabel = exports.NoAccessLabel = (0, _propFormatter.propFormatter)(_i18n.messages.noAccessLabel);
12
+ var DefaultHeadline = exports.DefaultHeadline = (0, _propFormatter.propFormatter)(_i18n.messages.defaultHeadline);
13
+ var DefaultAdvisedAction = exports.DefaultAdvisedAction = (0, _propFormatter.propFormatter)(_i18n.messages.defaultAdvisedAction);
14
+ var LoginAgain = exports.LoginAgain = (0, _propFormatter.propFormatter)(_i18n.messages.loginAgain);
15
+ var DifferentText = exports.DifferentText = (0, _propFormatter.propFormatter)(_i18n.messages.differentText);
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.leftClick = leftClick;
7
+ function leftClick(event) {
8
+ return event.button === 0 && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
9
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mouseLocation = mouseLocation;
7
+ function mouseLocation(event) {
8
+ return {
9
+ x: event.clientX,
10
+ y: event.clientY
11
+ };
12
+ }
@@ -1,26 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.actualMouseMove = actualMouseMove;
7
- exports.leftClick = leftClick;
8
- exports.mouseLocation = mouseLocation;
9
- function mouseLocation(event) {
10
- return {
11
- x: event.clientX,
12
- y: event.clientY
13
- };
14
- }
15
-
16
- // Used to prevent invalid mouse move detection on scroll
17
- // lastPosition is object (x, y)
18
- function actualMouseMove(oldPosition, newPosition) {
19
- if (!oldPosition || oldPosition.x !== newPosition.x || oldPosition.y !== newPosition.y) {
20
- return true;
21
- }
22
- return false;
23
- }
24
- function leftClick(event) {
25
- return event.button === 0 && !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
26
- }
1
+ "use strict";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.packageName = void 0;
7
+ var packageName = exports.packageName = "@atlaskit/mention";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.packageVersion = void 0;
7
+ var packageVersion = exports.packageVersion = "27.17.1";
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.propFormatter = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _reactIntl = require("react-intl");
11
+ var propFormatter = exports.propFormatter = function propFormatter(messageDescriptor) {
12
+ return function (_ref) {
13
+ var values = _ref.values,
14
+ children = _ref.children;
15
+ var _useIntl = (0, _reactIntl.useIntl)(),
16
+ formatMessage = _useIntl.formatMessage;
17
+ var message = formatMessage(messageDescriptor, values);
18
+ if (typeof children === 'function') {
19
+ return children(message);
20
+ }
21
+ return /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, (0, _extends2.default)({
22
+ values: values
23
+ }, messageDescriptor));
24
+ };
25
+ };
@@ -0,0 +1,73 @@
1
+ import debug from '../util/logger';
2
+ import { AbstractResource } from './AbstractResource';
3
+ const MAX_NOTIFIED_ITEMS = 20;
4
+ export class AbstractMentionResource extends AbstractResource {
5
+ shouldHighlightMention(_mention) {
6
+ return false;
7
+ }
8
+
9
+ // eslint-disable-next-line class-methods-use-this
10
+ filter(query) {
11
+ throw new Error(`not yet implemented.\nParams: query=${query}`);
12
+ }
13
+
14
+ // eslint-disable-next-line class-methods-use-this, no-unused-vars
15
+ recordMentionSelection(_mention) {
16
+ // Do nothing
17
+ }
18
+ isFiltering(_query) {
19
+ return false;
20
+ }
21
+ _notifyListeners(mentionsResult, stats) {
22
+ debug('ak-mention-resource._notifyListeners', mentionsResult && mentionsResult.mentions && mentionsResult.mentions.length, this.changeListeners);
23
+ this.changeListeners.forEach((listener, key) => {
24
+ try {
25
+ listener(mentionsResult.mentions.slice(0, MAX_NOTIFIED_ITEMS), mentionsResult.query, stats);
26
+ } catch (e) {
27
+ // ignore error from listener
28
+ debug(`error from listener '${key}', ignoring`, e);
29
+ }
30
+ });
31
+ }
32
+ _notifyAllResultsListeners(mentionsResult) {
33
+ debug('ak-mention-resource._notifyAllResultsListeners', mentionsResult && mentionsResult.mentions && mentionsResult.mentions.length, this.changeListeners);
34
+ this.allResultsListeners.forEach((listener, key) => {
35
+ try {
36
+ listener(mentionsResult.mentions.slice(0, MAX_NOTIFIED_ITEMS), mentionsResult.query);
37
+ } catch (e) {
38
+ // ignore error from listener
39
+ debug(`error from listener '${key}', ignoring`, e);
40
+ }
41
+ });
42
+ }
43
+ _notifyErrorListeners(error, query) {
44
+ this.errListeners.forEach((listener, key) => {
45
+ try {
46
+ listener(error, query);
47
+ } catch (e) {
48
+ // ignore error from listener
49
+ debug(`error from listener '${key}', ignoring`, e);
50
+ }
51
+ });
52
+ }
53
+ _notifyInfoListeners(info) {
54
+ this.infoListeners.forEach((listener, key) => {
55
+ try {
56
+ listener(info);
57
+ } catch (e) {
58
+ // ignore error fromr listener
59
+ debug(`error from listener '${key}', ignoring`, e);
60
+ }
61
+ });
62
+ }
63
+ _notifyAnalyticsListeners(event, actionSubject, action, attributes) {
64
+ this.analyticsListeners.forEach((listener, key) => {
65
+ try {
66
+ listener(event, actionSubject, action, attributes);
67
+ } catch (e) {
68
+ // ignore error from listener
69
+ debug(`error from listener '${key}', ignoring`, e);
70
+ }
71
+ });
72
+ }
73
+ }
@@ -0,0 +1,17 @@
1
+ import debug from '../util/logger';
2
+ import { AbstractResource } from './AbstractResource';
3
+ export class AbstractPresenceResource extends AbstractResource {
4
+ refreshPresence(userIds) {
5
+ throw new Error(`not yet implemented.\nParams: userIds=${userIds}`);
6
+ }
7
+ notifyListeners(presences) {
8
+ this.changeListeners.forEach((listener, key) => {
9
+ try {
10
+ listener(presences);
11
+ } catch (e) {
12
+ // ignore error from listener
13
+ debug(`error from listener '${key}', ignoring`, e);
14
+ }
15
+ });
16
+ }
17
+ }
@@ -0,0 +1,33 @@
1
+ export class AbstractResource {
2
+ constructor() {
3
+ this.changeListeners = new Map();
4
+ this.allResultsListeners = new Map();
5
+ this.errListeners = new Map();
6
+ this.infoListeners = new Map();
7
+ this.analyticsListeners = new Map();
8
+ }
9
+ subscribe(key, callback, errCallback, infoCallback, allResultsCallback, analyticsListeners) {
10
+ if (callback) {
11
+ this.changeListeners.set(key, callback);
12
+ }
13
+ if (errCallback) {
14
+ this.errListeners.set(key, errCallback);
15
+ }
16
+ if (infoCallback) {
17
+ this.infoListeners.set(key, infoCallback);
18
+ }
19
+ if (allResultsCallback) {
20
+ this.allResultsListeners.set(key, allResultsCallback);
21
+ }
22
+ if (analyticsListeners) {
23
+ this.analyticsListeners.set(key, analyticsListeners);
24
+ }
25
+ }
26
+ unsubscribe(key) {
27
+ this.changeListeners.delete(key);
28
+ this.errListeners.delete(key);
29
+ this.infoListeners.delete(key);
30
+ this.allResultsListeners.delete(key);
31
+ this.analyticsListeners.delete(key);
32
+ }
33
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,152 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import { MentionNameStatus } from '../types';
3
+ import { fireAnalyticsMentionHydrationEvent } from '../util/fire-analytics-mention-hydration-event';
4
+ import { mergeNameResolverQueues } from './mergeNameResolverQueues';
5
+ export class DefaultMentionNameResolver {
6
+ constructor(client, analyticsProps = {}, onResolvedAll = () => {}) {
7
+ _defineProperty(this, "nameCache", new Map());
8
+ _defineProperty(this, "nameQueue", new Map());
9
+ _defineProperty(this, "nameStartTime", new Map());
10
+ _defineProperty(this, "processingQueue", new Map());
11
+ _defineProperty(this, "debounce", 0);
12
+ _defineProperty(this, "debounceOnResolve", null);
13
+ _defineProperty(this, "isOnResolvedAllCalled", false);
14
+ _defineProperty(this, "processQueue", () => {
15
+ clearTimeout(this.debounce);
16
+ this.debounce = 0;
17
+ const {
18
+ queue,
19
+ extraQueue
20
+ } = this.splitQueueAtLimit();
21
+ this.nameQueue = extraQueue;
22
+ this.processingQueue = mergeNameResolverQueues(this.processingQueue, queue);
23
+ this.client.lookupMentionNames(Array.from(queue.keys())).then(response => {
24
+ response.forEach(mentionDetail => {
25
+ const {
26
+ id
27
+ } = mentionDetail;
28
+ queue.delete(id);
29
+ this.resolveQueueItem(mentionDetail);
30
+ });
31
+ queue.forEach((_callback, id) => {
32
+ // No response from client for these ids treat as unknown
33
+ this.resolveQueueItem({
34
+ id,
35
+ status: MentionNameStatus.UNKNOWN
36
+ });
37
+ });
38
+ }).catch(() => {
39
+ // Service completely failed, reject all items in the queue
40
+ queue.forEach((_callback, id) => {
41
+ this.resolveQueueItem({
42
+ id,
43
+ status: MentionNameStatus.SERVICE_ERROR
44
+ });
45
+ });
46
+ });
47
+
48
+ // Make sure anything left in the queue gets processed.
49
+ if (this.nameQueue.size > 0) {
50
+ this.scheduleProcessQueue();
51
+ } else {
52
+ this.scheduleOnAllResolved();
53
+ }
54
+ });
55
+ this.client = client;
56
+ this.fireHydrationEvent = fireAnalyticsMentionHydrationEvent(analyticsProps);
57
+ // If provided, this will be called once all pending mentions in the queue are resolved.
58
+ // A sample usage is scrolling to a mention on page load, after the mentions have loadad.
59
+ this.onResolvedAll = onResolvedAll;
60
+ }
61
+ lookupName(id) {
62
+ const name = this.nameCache.get(id);
63
+ if (name) {
64
+ this.fireAnalytics(true, name);
65
+ if (this.nameQueue.size === 0) {
66
+ this.scheduleOnAllResolved();
67
+ }
68
+ return name;
69
+ }
70
+ return new Promise(resolve => {
71
+ const processingItems = this.processingQueue.get(id);
72
+ if (processingItems) {
73
+ this.processingQueue.set(id, [...processingItems, resolve]);
74
+ }
75
+ const queuedItems = this.nameQueue.get(id) || [];
76
+ this.nameQueue.set(id, [...queuedItems, resolve]);
77
+ if (queuedItems.length === 0 && !processingItems) {
78
+ this.nameStartTime.set(id, Date.now());
79
+ }
80
+ this.scheduleProcessQueue();
81
+ if (this.isQueueAtLimit()) {
82
+ this.processQueue();
83
+ }
84
+ });
85
+ }
86
+ cacheName(id, name) {
87
+ this.nameCache.set(id, {
88
+ id,
89
+ name,
90
+ status: MentionNameStatus.OK
91
+ });
92
+ }
93
+ scheduleProcessQueue() {
94
+ if (!this.debounce) {
95
+ this.debounce = window.setTimeout(this.processQueue, DefaultMentionNameResolver.waitForBatch);
96
+ }
97
+ }
98
+ scheduleOnAllResolved() {
99
+ if (this.debounceOnResolve) {
100
+ clearTimeout(this.debounceOnResolve);
101
+ }
102
+ this.debounceOnResolve = window.setTimeout(() => {
103
+ if (this.isOnResolvedAllCalled) {
104
+ return;
105
+ }
106
+ this.onResolvedAll();
107
+ this.isOnResolvedAllCalled = true;
108
+ }, DefaultMentionNameResolver.waitForResolveAll);
109
+ }
110
+ isQueueAtLimit() {
111
+ return this.nameQueue.size >= this.client.getLookupLimit();
112
+ }
113
+ splitQueueAtLimit() {
114
+ const values = Array.from(this.nameQueue.entries());
115
+ const splitPoint = this.client.getLookupLimit();
116
+ return {
117
+ queue: new Map(values.slice(0, splitPoint)),
118
+ extraQueue: new Map(values.slice(splitPoint))
119
+ };
120
+ }
121
+ resolveQueueItem(mentionDetail) {
122
+ const {
123
+ id
124
+ } = mentionDetail;
125
+ const resolvers = this.processingQueue.get(id);
126
+ if (resolvers) {
127
+ this.processingQueue.delete(id);
128
+ this.nameCache.set(id, mentionDetail);
129
+ resolvers.forEach(resolve => {
130
+ try {
131
+ resolve(mentionDetail);
132
+ } catch {
133
+ // ignore - exception in consumer
134
+ }
135
+ });
136
+ this.fireAnalytics(false, mentionDetail);
137
+ }
138
+ }
139
+ fireAnalytics(fromCache, mentionDetail) {
140
+ const {
141
+ id
142
+ } = mentionDetail;
143
+ const action = mentionDetail.status === MentionNameStatus.OK ? 'completed' : 'failed';
144
+ const start = this.nameStartTime.get(id);
145
+ const duration = start ? Date.now() - start : 0;
146
+ this.nameStartTime.delete(id);
147
+ this.fireHydrationEvent(action, id, fromCache, duration);
148
+ }
149
+ }
150
+ _defineProperty(DefaultMentionNameResolver, "waitForBatch", 100);
151
+ // ms
152
+ _defineProperty(DefaultMentionNameResolver, "waitForResolveAll", 800);