@atlaskit/mention 19.9.6 → 21.0.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 (250) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/cjs/api/MentionResource.js +4 -6
  3. package/dist/cjs/api/TeamMentionResource.js +2 -2
  4. package/dist/cjs/api/analytics.js +2 -15
  5. package/dist/cjs/components/LockCircleIcon/index.js +28 -0
  6. package/dist/cjs/components/Mention/PrimitiveMention.js +118 -0
  7. package/dist/cjs/components/Mention/index.js +42 -24
  8. package/dist/cjs/components/Mention/ufoExperiences.js +61 -0
  9. package/dist/cjs/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +5 -5
  10. package/dist/cjs/components/MentionDescriptionByline/styles.js +4 -2
  11. package/dist/cjs/components/MentionItem/index.js +14 -8
  12. package/dist/cjs/components/MentionItem/styles.js +12 -10
  13. package/dist/cjs/components/MentionList/index.js +4 -2
  14. package/dist/cjs/components/MentionList/styles.js +5 -3
  15. package/dist/cjs/components/MentionListError/styles.js +7 -5
  16. package/dist/cjs/components/MentionPicker/index.js +12 -4
  17. package/dist/cjs/components/MentionPicker/styles.js +5 -3
  18. package/dist/cjs/components/MessagesIntlProvider/index.js +57 -0
  19. package/dist/cjs/components/NoAccessTooltip/index.js +29 -0
  20. package/dist/cjs/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  21. package/dist/cjs/components/ResourcedMentionList/index.js +14 -6
  22. package/dist/cjs/components/Scrollable/index.js +1 -1
  23. package/dist/cjs/components/Scrollable/styles.js +4 -2
  24. package/dist/cjs/components/TeamMentionHighlight/index.js +6 -4
  25. package/dist/cjs/components/TeamMentionHighlight/lazy.js +28 -0
  26. package/dist/cjs/components/TeamMentionHighlight/styles.js +11 -9
  27. package/dist/cjs/components/i18n.js +2 -2
  28. package/dist/cjs/i18n/cs.js +2 -2
  29. package/dist/cjs/i18n/da.js +2 -2
  30. package/dist/cjs/i18n/de.js +2 -2
  31. package/dist/cjs/i18n/en_ZZ.js +32 -0
  32. package/dist/cjs/i18n/es.js +2 -2
  33. package/dist/cjs/i18n/et.js +2 -2
  34. package/dist/cjs/i18n/fi.js +2 -2
  35. package/dist/cjs/i18n/fr.js +2 -2
  36. package/dist/cjs/i18n/hu.js +2 -2
  37. package/dist/cjs/i18n/it.js +2 -2
  38. package/dist/cjs/i18n/ja.js +2 -2
  39. package/dist/cjs/i18n/ko.js +2 -2
  40. package/dist/cjs/i18n/nb.js +2 -2
  41. package/dist/cjs/i18n/nl.js +2 -2
  42. package/dist/cjs/i18n/pl.js +2 -2
  43. package/dist/cjs/i18n/pt_BR.js +2 -2
  44. package/dist/cjs/i18n/pt_PT.js +2 -2
  45. package/dist/cjs/i18n/ru.js +2 -2
  46. package/dist/cjs/i18n/sk.js +2 -2
  47. package/dist/cjs/i18n/sv.js +2 -2
  48. package/dist/cjs/i18n/th.js +2 -2
  49. package/dist/cjs/i18n/tr.js +2 -2
  50. package/dist/cjs/i18n/uk.js +2 -2
  51. package/dist/cjs/i18n/vi.js +2 -2
  52. package/dist/cjs/i18n/zh.js +2 -2
  53. package/dist/cjs/i18n/zh_TW.js +2 -2
  54. package/dist/cjs/index.js +12 -8
  55. package/dist/cjs/shared-styles.js +4 -2
  56. package/dist/cjs/util/analytics.js +2 -2
  57. package/dist/cjs/util/i18n.js +297 -26
  58. package/dist/cjs/version.json +1 -1
  59. package/dist/es2019/api/analytics.js +0 -9
  60. package/dist/es2019/components/LockCircleIcon/index.js +7 -0
  61. package/dist/es2019/components/Mention/PrimitiveMention.js +117 -0
  62. package/dist/es2019/components/Mention/index.js +35 -16
  63. package/dist/es2019/components/Mention/ufoExperiences.js +19 -0
  64. package/dist/es2019/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
  65. package/dist/es2019/components/MentionDescriptionByline/styles.js +3 -4
  66. package/dist/es2019/components/MentionItem/index.js +11 -7
  67. package/dist/es2019/components/MentionItem/styles.js +6 -7
  68. package/dist/es2019/components/MentionList/index.js +3 -2
  69. package/dist/es2019/components/MentionList/styles.js +3 -4
  70. package/dist/es2019/components/MentionListError/GenericErrorIllustration.js +1 -0
  71. package/dist/es2019/components/MentionListError/styles.js +5 -6
  72. package/dist/es2019/components/MentionPicker/index.js +11 -4
  73. package/dist/es2019/components/MentionPicker/styles.js +4 -5
  74. package/dist/es2019/components/MessagesIntlProvider/index.js +38 -0
  75. package/dist/es2019/components/NoAccessTooltip/index.js +9 -0
  76. package/dist/es2019/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  77. package/dist/es2019/components/ResourcedMentionList/index.js +6 -4
  78. package/dist/es2019/components/Scrollable/index.js +1 -1
  79. package/dist/es2019/components/Scrollable/styles.js +3 -4
  80. package/dist/es2019/components/TeamMentionHighlight/index.js +4 -3
  81. package/dist/es2019/components/TeamMentionHighlight/lazy.js +6 -0
  82. package/dist/es2019/components/TeamMentionHighlight/styles.js +5 -4
  83. package/dist/es2019/components/i18n.js +1 -1
  84. package/dist/es2019/i18n/cs.js +2 -2
  85. package/dist/es2019/i18n/da.js +2 -2
  86. package/dist/es2019/i18n/de.js +2 -2
  87. package/dist/es2019/i18n/en_ZZ.js +24 -0
  88. package/dist/es2019/i18n/es.js +2 -2
  89. package/dist/es2019/i18n/et.js +2 -2
  90. package/dist/es2019/i18n/fi.js +2 -2
  91. package/dist/es2019/i18n/fr.js +2 -2
  92. package/dist/es2019/i18n/hu.js +2 -2
  93. package/dist/es2019/i18n/it.js +2 -2
  94. package/dist/es2019/i18n/ja.js +2 -2
  95. package/dist/es2019/i18n/ko.js +2 -2
  96. package/dist/es2019/i18n/nb.js +2 -2
  97. package/dist/es2019/i18n/nl.js +2 -2
  98. package/dist/es2019/i18n/pl.js +2 -2
  99. package/dist/es2019/i18n/pt_BR.js +2 -2
  100. package/dist/es2019/i18n/pt_PT.js +2 -2
  101. package/dist/es2019/i18n/ru.js +2 -2
  102. package/dist/es2019/i18n/sk.js +2 -2
  103. package/dist/es2019/i18n/sv.js +2 -2
  104. package/dist/es2019/i18n/th.js +2 -2
  105. package/dist/es2019/i18n/tr.js +2 -2
  106. package/dist/es2019/i18n/uk.js +2 -2
  107. package/dist/es2019/i18n/vi.js +2 -2
  108. package/dist/es2019/i18n/zh.js +2 -2
  109. package/dist/es2019/i18n/zh_TW.js +2 -2
  110. package/dist/es2019/index.js +3 -4
  111. package/dist/es2019/shared-styles.js +3 -2
  112. package/dist/es2019/util/i18n.js +260 -18
  113. package/dist/es2019/version.json +1 -1
  114. package/dist/esm/api/MentionResource.js +4 -4
  115. package/dist/esm/api/TeamMentionResource.js +2 -2
  116. package/dist/esm/api/analytics.js +0 -10
  117. package/dist/esm/components/LockCircleIcon/index.js +11 -0
  118. package/dist/esm/components/Mention/PrimitiveMention.js +100 -0
  119. package/dist/esm/components/Mention/index.js +36 -21
  120. package/dist/esm/components/Mention/ufoExperiences.js +44 -0
  121. package/dist/esm/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
  122. package/dist/esm/components/MentionDescriptionByline/styles.js +3 -4
  123. package/dist/esm/components/MentionItem/index.js +11 -7
  124. package/dist/esm/components/MentionItem/styles.js +6 -7
  125. package/dist/esm/components/MentionList/index.js +3 -2
  126. package/dist/esm/components/MentionList/styles.js +4 -5
  127. package/dist/esm/components/MentionListError/GenericErrorIllustration.js +1 -0
  128. package/dist/esm/components/MentionListError/styles.js +3 -4
  129. package/dist/esm/components/MentionPicker/index.js +11 -4
  130. package/dist/esm/components/MentionPicker/styles.js +3 -4
  131. package/dist/esm/components/MessagesIntlProvider/index.js +41 -0
  132. package/dist/esm/components/NoAccessTooltip/index.js +11 -0
  133. package/dist/esm/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  134. package/dist/esm/components/ResourcedMentionList/index.js +8 -6
  135. package/dist/esm/components/Scrollable/index.js +1 -1
  136. package/dist/esm/components/Scrollable/styles.js +3 -4
  137. package/dist/esm/components/TeamMentionHighlight/index.js +4 -3
  138. package/dist/esm/components/TeamMentionHighlight/lazy.js +10 -0
  139. package/dist/esm/components/TeamMentionHighlight/styles.js +4 -3
  140. package/dist/esm/components/i18n.js +1 -1
  141. package/dist/esm/i18n/cs.js +2 -2
  142. package/dist/esm/i18n/da.js +2 -2
  143. package/dist/esm/i18n/de.js +2 -2
  144. package/dist/esm/i18n/en_ZZ.js +24 -0
  145. package/dist/esm/i18n/es.js +2 -2
  146. package/dist/esm/i18n/et.js +2 -2
  147. package/dist/esm/i18n/fi.js +2 -2
  148. package/dist/esm/i18n/fr.js +2 -2
  149. package/dist/esm/i18n/hu.js +2 -2
  150. package/dist/esm/i18n/it.js +2 -2
  151. package/dist/esm/i18n/ja.js +2 -2
  152. package/dist/esm/i18n/ko.js +2 -2
  153. package/dist/esm/i18n/nb.js +2 -2
  154. package/dist/esm/i18n/nl.js +2 -2
  155. package/dist/esm/i18n/pl.js +2 -2
  156. package/dist/esm/i18n/pt_BR.js +2 -2
  157. package/dist/esm/i18n/pt_PT.js +2 -2
  158. package/dist/esm/i18n/ru.js +2 -2
  159. package/dist/esm/i18n/sk.js +2 -2
  160. package/dist/esm/i18n/sv.js +2 -2
  161. package/dist/esm/i18n/th.js +2 -2
  162. package/dist/esm/i18n/tr.js +2 -2
  163. package/dist/esm/i18n/uk.js +2 -2
  164. package/dist/esm/i18n/vi.js +2 -2
  165. package/dist/esm/i18n/zh.js +2 -2
  166. package/dist/esm/i18n/zh_TW.js +2 -2
  167. package/dist/esm/index.js +3 -4
  168. package/dist/esm/shared-styles.js +3 -2
  169. package/dist/esm/util/analytics.js +2 -2
  170. package/dist/esm/util/i18n.js +284 -23
  171. package/dist/esm/version.json +1 -1
  172. package/dist/types/api/analytics.d.ts +0 -5
  173. package/dist/types/components/LockCircleIcon/index.d.ts +3 -0
  174. package/dist/types/components/Mention/PrimitiveMention.d.ts +7 -0
  175. package/dist/types/components/Mention/index.d.ts +3 -1
  176. package/dist/types/components/Mention/ufoExperiences.d.ts +9 -0
  177. package/dist/types/components/MentionDescriptionByline/styles.d.ts +2 -2
  178. package/dist/types/components/MentionItem/MentionHighlightHelpers.d.ts +2 -3
  179. package/dist/types/components/MentionItem/styles.d.ts +9 -9
  180. package/dist/types/components/MentionList/styles.d.ts +2 -2
  181. package/dist/types/components/MentionListError/styles.d.ts +5 -5
  182. package/dist/types/components/MentionPicker/index.d.ts +11 -8
  183. package/dist/types/components/MentionPicker/styles.d.ts +3 -3
  184. package/dist/types/components/MessagesIntlProvider/index.d.ts +3 -0
  185. package/dist/types/components/NoAccessTooltip/index.d.ts +6 -0
  186. package/dist/types/components/{NoAccessTooltip.d.ts → NoAccessTooltip/main.d.ts} +0 -0
  187. package/dist/types/components/Scrollable/styles.d.ts +2 -4
  188. package/dist/types/components/TeamMentionHighlight/index.d.ts +1 -1
  189. package/dist/types/components/TeamMentionHighlight/lazy.d.ts +4 -0
  190. package/dist/types/components/TeamMentionHighlight/styles.d.ts +8 -8
  191. package/dist/types/i18n/cs.d.ts +1 -1
  192. package/dist/types/i18n/da.d.ts +1 -1
  193. package/dist/types/i18n/de.d.ts +1 -1
  194. package/dist/types/i18n/en_ZZ.d.ts +24 -0
  195. package/dist/types/i18n/es.d.ts +1 -1
  196. package/dist/types/i18n/et.d.ts +1 -1
  197. package/dist/types/i18n/fi.d.ts +1 -1
  198. package/dist/types/i18n/fr.d.ts +1 -1
  199. package/dist/types/i18n/hu.d.ts +1 -1
  200. package/dist/types/i18n/it.d.ts +1 -1
  201. package/dist/types/i18n/ja.d.ts +1 -1
  202. package/dist/types/i18n/ko.d.ts +1 -1
  203. package/dist/types/i18n/nb.d.ts +1 -1
  204. package/dist/types/i18n/nl.d.ts +1 -1
  205. package/dist/types/i18n/pl.d.ts +1 -1
  206. package/dist/types/i18n/pt_BR.d.ts +1 -1
  207. package/dist/types/i18n/pt_PT.d.ts +1 -1
  208. package/dist/types/i18n/ru.d.ts +1 -1
  209. package/dist/types/i18n/sk.d.ts +1 -1
  210. package/dist/types/i18n/sv.d.ts +1 -1
  211. package/dist/types/i18n/th.d.ts +1 -1
  212. package/dist/types/i18n/tr.d.ts +1 -1
  213. package/dist/types/i18n/uk.d.ts +1 -1
  214. package/dist/types/i18n/vi.d.ts +1 -1
  215. package/dist/types/i18n/zh.d.ts +1 -1
  216. package/dist/types/i18n/zh_TW.d.ts +1 -1
  217. package/dist/types/index.d.ts +3 -4
  218. package/dist/types/shared-styles.d.ts +2 -2
  219. package/dist/types/util/i18n.d.ts +32 -17
  220. package/docs/1-in-editor.tsx +4 -36
  221. package/package.json +24 -13
  222. package/tsconfig.json +1 -2
  223. package/dist/cjs/api/SmartMentionResource.js +0 -338
  224. package/dist/cjs/api/SmartMentionTypes.js +0 -15
  225. package/dist/cjs/api/extract-react-types/smart-config-props.js +0 -15
  226. package/dist/cjs/api/recommendationClient.js +0 -57
  227. package/dist/cjs/components/Mention/styles.js +0 -66
  228. package/dist/cjs/default-mention-name-resolver/default-mention-name-resolver.js +0 -136
  229. package/dist/cjs/default-mention-name-resolver/graphqlUtils.js +0 -48
  230. package/dist/es2019/api/SmartMentionResource.js +0 -219
  231. package/dist/es2019/api/SmartMentionTypes.js +0 -7
  232. package/dist/es2019/api/extract-react-types/smart-config-props.js +0 -8
  233. package/dist/es2019/api/recommendationClient.js +0 -46
  234. package/dist/es2019/components/Mention/styles.js +0 -61
  235. package/dist/es2019/default-mention-name-resolver/default-mention-name-resolver.js +0 -64
  236. package/dist/es2019/default-mention-name-resolver/graphqlUtils.js +0 -39
  237. package/dist/esm/api/SmartMentionResource.js +0 -317
  238. package/dist/esm/api/SmartMentionTypes.js +0 -7
  239. package/dist/esm/api/extract-react-types/smart-config-props.js +0 -8
  240. package/dist/esm/api/recommendationClient.js +0 -48
  241. package/dist/esm/components/Mention/styles.js +0 -50
  242. package/dist/esm/default-mention-name-resolver/default-mention-name-resolver.js +0 -121
  243. package/dist/esm/default-mention-name-resolver/graphqlUtils.js +0 -41
  244. package/dist/types/api/SmartMentionResource.d.ts +0 -63
  245. package/dist/types/api/SmartMentionTypes.d.ts +0 -81
  246. package/dist/types/api/extract-react-types/smart-config-props.d.ts +0 -7
  247. package/dist/types/api/recommendationClient.d.ts +0 -3
  248. package/dist/types/components/Mention/styles.d.ts +0 -6
  249. package/dist/types/default-mention-name-resolver/default-mention-name-resolver.d.ts +0 -16
  250. package/dist/types/default-mention-name-resolver/graphqlUtils.d.ts +0 -14
@@ -2,55 +2,326 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- exports.noPropFormatter = exports.TeamMentionHighlightTitle = exports.TeamMentionHighlightDescriptionLink = exports.TeamMentionHighlightDescription = exports.TeamMentionHighlightCloseTooltip = exports.NoAccessWarning = exports.NoAccessLabel = exports.LoginAgain = exports.DifferentText = exports.DefaultHeadline = exports.DefaultAdvisedAction = void 0;
10
+ exports.propFormatter = exports.getMessagesForLocale = exports.UnknownUserError = exports.TeamMentionHighlightTitle = exports.TeamMentionHighlightDescriptionLink = exports.TeamMentionHighlightDescription = exports.TeamMentionHighlightCloseTooltip = exports.NoAccessWarning = exports.NoAccessLabel = exports.LoginAgain = exports.DifferentText = exports.DefaultHeadline = exports.DefaultAdvisedAction = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
13
 
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
15
 
12
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
17
 
14
18
  var _react = _interopRequireDefault(require("react"));
15
19
 
16
- var _reactIntl = require("react-intl");
20
+ var _reactIntlNext = require("react-intl-next");
17
21
 
18
22
  var _i18n = require("../components/i18n");
19
23
 
20
- var noPropFormatter = function noPropFormatter(messageDescriptor) {
21
- return function (props) {
22
- return /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, (0, _extends2.default)({}, props, messageDescriptor));
23
- };
24
- };
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ var propFormatter = function propFormatter(messageDescriptor) {
29
+ return function (_ref) {
30
+ var values = _ref.values,
31
+ children = _ref.children;
25
32
 
26
- exports.noPropFormatter = noPropFormatter;
33
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
34
+ formatMessage = _useIntl.formatMessage;
27
35
 
28
- var NoAccessWarning = function NoAccessWarning(_ref) {
29
- var name = _ref.name,
30
- props = (0, _objectWithoutProperties2.default)(_ref, ["name"]);
31
- return /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, (0, _extends2.default)({}, props, {
32
- values: {
33
- name: name
36
+ var message = formatMessage(messageDescriptor, values);
37
+
38
+ if (typeof children === 'function') {
39
+ return children(message);
34
40
  }
35
- }, _i18n.messages.noAccessWarning));
41
+
42
+ return /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({
43
+ values: values
44
+ }, messageDescriptor));
45
+ };
36
46
  };
37
47
 
48
+ exports.propFormatter = propFormatter;
49
+ var UnknownUserError = propFormatter(_i18n.messages.unknownUserError);
50
+ exports.UnknownUserError = UnknownUserError;
51
+ var NoAccessWarning = propFormatter(_i18n.messages.noAccessWarning);
38
52
  exports.NoAccessWarning = NoAccessWarning;
39
- var NoAccessLabel = noPropFormatter(_i18n.messages.noAccessLabel);
53
+ var NoAccessLabel = propFormatter(_i18n.messages.noAccessLabel);
40
54
  exports.NoAccessLabel = NoAccessLabel;
41
- var DefaultHeadline = noPropFormatter(_i18n.messages.defaultHeadline);
55
+ var DefaultHeadline = propFormatter(_i18n.messages.defaultHeadline);
42
56
  exports.DefaultHeadline = DefaultHeadline;
43
- var DefaultAdvisedAction = noPropFormatter(_i18n.messages.defaultAdvisedAction);
57
+ var DefaultAdvisedAction = propFormatter(_i18n.messages.defaultAdvisedAction);
44
58
  exports.DefaultAdvisedAction = DefaultAdvisedAction;
45
- var LoginAgain = noPropFormatter(_i18n.messages.loginAgain);
59
+ var LoginAgain = propFormatter(_i18n.messages.loginAgain);
46
60
  exports.LoginAgain = LoginAgain;
47
- var DifferentText = noPropFormatter(_i18n.messages.differentText);
61
+ var DifferentText = propFormatter(_i18n.messages.differentText);
48
62
  exports.DifferentText = DifferentText;
49
- var TeamMentionHighlightTitle = noPropFormatter(_i18n.messages.TeamMentionHighlightTitle);
63
+ var TeamMentionHighlightTitle = propFormatter(_i18n.messages.TeamMentionHighlightTitle);
50
64
  exports.TeamMentionHighlightTitle = TeamMentionHighlightTitle;
51
- var TeamMentionHighlightCloseTooltip = noPropFormatter(_i18n.messages.TeamMentionHighlightCloseButtonToolTip);
65
+ var TeamMentionHighlightCloseTooltip = propFormatter(_i18n.messages.TeamMentionHighlightCloseButtonToolTip);
52
66
  exports.TeamMentionHighlightCloseTooltip = TeamMentionHighlightCloseTooltip;
53
- var TeamMentionHighlightDescription = noPropFormatter(_i18n.messages.TeamMentionHighlightDescription);
67
+ var TeamMentionHighlightDescription = propFormatter(_i18n.messages.TeamMentionHighlightDescription);
54
68
  exports.TeamMentionHighlightDescription = TeamMentionHighlightDescription;
55
- var TeamMentionHighlightDescriptionLink = noPropFormatter(_i18n.messages.TeamMentionHighlightDescriptionLink);
56
- exports.TeamMentionHighlightDescriptionLink = TeamMentionHighlightDescriptionLink;
69
+ var TeamMentionHighlightDescriptionLink = propFormatter(_i18n.messages.TeamMentionHighlightDescriptionLink);
70
+ /**
71
+ * Tries to get the most specific messages bundle for a given locale.
72
+ *
73
+ * Strategy:
74
+ * 1. Try to find messages with the exact string (i.e. 'fr_FR')
75
+ * 2. If that doesn't work, try to find messages for the country locale (i.e. 'fr')
76
+ * 3. If that doesn't work, return english messages as a fallback.
77
+ *
78
+ * @param locale string specifying the locale like 'en_GB', or 'fr'.
79
+ */
80
+
81
+ exports.TeamMentionHighlightDescriptionLink = TeamMentionHighlightDescriptionLink;
82
+
83
+ var getMessagesForLocale = /*#__PURE__*/function () {
84
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(locale) {
85
+ var fragments;
86
+ return _regenerator.default.wrap(function _callee$(_context) {
87
+ while (1) {
88
+ switch (_context.prev = _context.next) {
89
+ case 0:
90
+ _context.t0 = locale;
91
+ _context.next = _context.t0 === 'cs' ? 3 : _context.t0 === 'da' ? 4 : _context.t0 === 'de' ? 5 : _context.t0 === 'en' ? 6 : _context.t0 === 'en_GB' ? 7 : _context.t0 === 'es' ? 8 : _context.t0 === 'et' ? 9 : _context.t0 === 'fi' ? 10 : _context.t0 === 'fr' ? 11 : _context.t0 === 'hu' ? 12 : _context.t0 === 'is' ? 13 : _context.t0 === 'it' ? 14 : _context.t0 === 'ja' ? 15 : _context.t0 === 'ko' ? 16 : _context.t0 === 'nb' ? 17 : _context.t0 === 'nl' ? 18 : _context.t0 === 'pl' ? 19 : _context.t0 === 'pt_BR' ? 20 : _context.t0 === 'pt-BR' ? 20 : _context.t0 === 'pt_PT' ? 21 : _context.t0 === 'pt-PT' ? 21 : _context.t0 === 'ro' ? 22 : _context.t0 === 'ru' ? 23 : _context.t0 === 'sk' ? 24 : _context.t0 === 'sv' ? 25 : _context.t0 === 'th' ? 26 : _context.t0 === 'tr' ? 27 : _context.t0 === 'uk' ? 28 : _context.t0 === 'vi' ? 29 : _context.t0 === 'zh_TW' ? 30 : _context.t0 === 'zh' ? 31 : 32;
92
+ break;
93
+
94
+ case 3:
95
+ return _context.abrupt("return", Promise.resolve().then(function () {
96
+ return _interopRequireWildcard(require('../i18n/cs'));
97
+ }).then(function (mod) {
98
+ return mod.default;
99
+ }));
100
+
101
+ case 4:
102
+ return _context.abrupt("return", Promise.resolve().then(function () {
103
+ return _interopRequireWildcard(require('../i18n/da'));
104
+ }).then(function (mod) {
105
+ return mod.default;
106
+ }));
107
+
108
+ case 5:
109
+ return _context.abrupt("return", Promise.resolve().then(function () {
110
+ return _interopRequireWildcard(require('../i18n/de'));
111
+ }).then(function (mod) {
112
+ return mod.default;
113
+ }));
114
+
115
+ case 6:
116
+ return _context.abrupt("return", Promise.resolve().then(function () {
117
+ return _interopRequireWildcard(require('../i18n/en'));
118
+ }).then(function (mod) {
119
+ return mod.default;
120
+ }));
121
+
122
+ case 7:
123
+ return _context.abrupt("return", Promise.resolve().then(function () {
124
+ return _interopRequireWildcard(require('../i18n/en_GB'));
125
+ }).then(function (mod) {
126
+ return mod.default;
127
+ }));
128
+
129
+ case 8:
130
+ return _context.abrupt("return", Promise.resolve().then(function () {
131
+ return _interopRequireWildcard(require('../i18n/es'));
132
+ }).then(function (mod) {
133
+ return mod.default;
134
+ }));
135
+
136
+ case 9:
137
+ return _context.abrupt("return", Promise.resolve().then(function () {
138
+ return _interopRequireWildcard(require('../i18n/et'));
139
+ }).then(function (mod) {
140
+ return mod.default;
141
+ }));
142
+
143
+ case 10:
144
+ return _context.abrupt("return", Promise.resolve().then(function () {
145
+ return _interopRequireWildcard(require('../i18n/fi'));
146
+ }).then(function (mod) {
147
+ return mod.default;
148
+ }));
149
+
150
+ case 11:
151
+ return _context.abrupt("return", Promise.resolve().then(function () {
152
+ return _interopRequireWildcard(require('../i18n/fr'));
153
+ }).then(function (mod) {
154
+ return mod.default;
155
+ }));
156
+
157
+ case 12:
158
+ return _context.abrupt("return", Promise.resolve().then(function () {
159
+ return _interopRequireWildcard(require('../i18n/hu'));
160
+ }).then(function (mod) {
161
+ return mod.default;
162
+ }));
163
+
164
+ case 13:
165
+ return _context.abrupt("return", Promise.resolve().then(function () {
166
+ return _interopRequireWildcard(require('../i18n/is'));
167
+ }).then(function (mod) {
168
+ return mod.default;
169
+ }));
170
+
171
+ case 14:
172
+ return _context.abrupt("return", Promise.resolve().then(function () {
173
+ return _interopRequireWildcard(require('../i18n/it'));
174
+ }).then(function (mod) {
175
+ return mod.default;
176
+ }));
177
+
178
+ case 15:
179
+ return _context.abrupt("return", Promise.resolve().then(function () {
180
+ return _interopRequireWildcard(require('../i18n/ja'));
181
+ }).then(function (mod) {
182
+ return mod.default;
183
+ }));
184
+
185
+ case 16:
186
+ return _context.abrupt("return", Promise.resolve().then(function () {
187
+ return _interopRequireWildcard(require('../i18n/ko'));
188
+ }).then(function (mod) {
189
+ return mod.default;
190
+ }));
191
+
192
+ case 17:
193
+ return _context.abrupt("return", Promise.resolve().then(function () {
194
+ return _interopRequireWildcard(require('../i18n/nb'));
195
+ }).then(function (mod) {
196
+ return mod.default;
197
+ }));
198
+
199
+ case 18:
200
+ return _context.abrupt("return", Promise.resolve().then(function () {
201
+ return _interopRequireWildcard(require('../i18n/nl'));
202
+ }).then(function (mod) {
203
+ return mod.default;
204
+ }));
205
+
206
+ case 19:
207
+ return _context.abrupt("return", Promise.resolve().then(function () {
208
+ return _interopRequireWildcard(require('../i18n/pl'));
209
+ }).then(function (mod) {
210
+ return mod.default;
211
+ }));
212
+
213
+ case 20:
214
+ return _context.abrupt("return", Promise.resolve().then(function () {
215
+ return _interopRequireWildcard(require('../i18n/pt_BR'));
216
+ }).then(function (mod) {
217
+ return mod.default;
218
+ }));
219
+
220
+ case 21:
221
+ return _context.abrupt("return", Promise.resolve().then(function () {
222
+ return _interopRequireWildcard(require('../i18n/pt_PT'));
223
+ }).then(function (mod) {
224
+ return mod.default;
225
+ }));
226
+
227
+ case 22:
228
+ return _context.abrupt("return", Promise.resolve().then(function () {
229
+ return _interopRequireWildcard(require('../i18n/ro'));
230
+ }).then(function (mod) {
231
+ return mod.default;
232
+ }));
233
+
234
+ case 23:
235
+ return _context.abrupt("return", Promise.resolve().then(function () {
236
+ return _interopRequireWildcard(require('../i18n/ru'));
237
+ }).then(function (mod) {
238
+ return mod.default;
239
+ }));
240
+
241
+ case 24:
242
+ return _context.abrupt("return", Promise.resolve().then(function () {
243
+ return _interopRequireWildcard(require('../i18n/sk'));
244
+ }).then(function (mod) {
245
+ return mod.default;
246
+ }));
247
+
248
+ case 25:
249
+ return _context.abrupt("return", Promise.resolve().then(function () {
250
+ return _interopRequireWildcard(require('../i18n/sv'));
251
+ }).then(function (mod) {
252
+ return mod.default;
253
+ }));
254
+
255
+ case 26:
256
+ return _context.abrupt("return", Promise.resolve().then(function () {
257
+ return _interopRequireWildcard(require('../i18n/th'));
258
+ }).then(function (mod) {
259
+ return mod.default;
260
+ }));
261
+
262
+ case 27:
263
+ return _context.abrupt("return", Promise.resolve().then(function () {
264
+ return _interopRequireWildcard(require('../i18n/tr'));
265
+ }).then(function (mod) {
266
+ return mod.default;
267
+ }));
268
+
269
+ case 28:
270
+ return _context.abrupt("return", Promise.resolve().then(function () {
271
+ return _interopRequireWildcard(require('../i18n/uk'));
272
+ }).then(function (mod) {
273
+ return mod.default;
274
+ }));
275
+
276
+ case 29:
277
+ return _context.abrupt("return", Promise.resolve().then(function () {
278
+ return _interopRequireWildcard(require('../i18n/vi'));
279
+ }).then(function (mod) {
280
+ return mod.default;
281
+ }));
282
+
283
+ case 30:
284
+ return _context.abrupt("return", Promise.resolve().then(function () {
285
+ return _interopRequireWildcard(require('../i18n/zh_TW'));
286
+ }).then(function (mod) {
287
+ return mod.default;
288
+ }));
289
+
290
+ case 31:
291
+ return _context.abrupt("return", Promise.resolve().then(function () {
292
+ return _interopRequireWildcard(require('../i18n/zh'));
293
+ }).then(function (mod) {
294
+ return mod.default;
295
+ }));
296
+
297
+ case 32:
298
+ fragments = locale.split(/[_-]/);
299
+
300
+ if (!(fragments.length === 2)) {
301
+ _context.next = 37;
302
+ break;
303
+ }
304
+
305
+ return _context.abrupt("return", getMessagesForLocale(fragments[0]));
306
+
307
+ case 37:
308
+ return _context.abrupt("return", Promise.resolve().then(function () {
309
+ return _interopRequireWildcard(require('../i18n/en'));
310
+ }).then(function (mod) {
311
+ return mod.default;
312
+ }));
313
+
314
+ case 38:
315
+ case "end":
316
+ return _context.stop();
317
+ }
318
+ }
319
+ }, _callee);
320
+ }));
321
+
322
+ return function getMessagesForLocale(_x) {
323
+ return _ref2.apply(this, arguments);
324
+ };
325
+ }();
326
+
327
+ exports.getMessagesForLocale = getMessagesForLocale;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/mention",
3
- "version": "19.9.6",
3
+ "version": "21.0.1",
4
4
  "sideEffects": false
5
5
  }
@@ -16,13 +16,4 @@ export const defaultAttributes = context => {
16
16
  pickerType: 'mentions',
17
17
  source: 'smarts'
18
18
  };
19
- };
20
- export const getUsersForAnalytics = users => {
21
- return users ? users.map(({
22
- id,
23
- entityType
24
- }) => ({
25
- id,
26
- type: entityType.toLowerCase()
27
- })) : [];
28
19
  };
@@ -0,0 +1,7 @@
1
+ import { lazy } from 'react';
2
+ const AsyncLockCircleIcon = /*#__PURE__*/lazy(() => import(
3
+ /* webpackChunkName: "@atlaskit-internal_mention/LockCircleIcon" */
4
+ '@atlaskit/icon/glyph/lock-circle').then(module => ({
5
+ default: module.default
6
+ })));
7
+ export default AsyncLockCircleIcon;
@@ -0,0 +1,117 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+
3
+ /** @jsx jsx */
4
+ import { jsx, css } from '@emotion/core';
5
+ import { themed, useGlobalTheme } from '@atlaskit/theme/components';
6
+ import { B400, B200, N500, DN800, DN100, DN80, N30A, DN30, N20 } from '@atlaskit/theme/colors';
7
+ import { token } from '@atlaskit/tokens';
8
+ import { MentionType } from '../../types';
9
+ import { forwardRef } from 'react';
10
+ const mentionStyle = {
11
+ [MentionType.SELF]: {
12
+ background: themed({
13
+ light: token('color.background.brand.bold', B400),
14
+ dark: token('color.background.brand.bold', B200)
15
+ }),
16
+ borderColor: 'transparent',
17
+ text: themed({
18
+ light: token('color.text.inverse', N20),
19
+ dark: token('color.text.inverse', DN30)
20
+ }),
21
+ hoveredBackground: themed({
22
+ light: token('color.background.brand.bold.hovered', B400),
23
+ dark: token('color.background.brand.bold.hovered', B200)
24
+ }),
25
+ pressedBackground: themed({
26
+ light: token('color.background.brand.bold.pressed', B400),
27
+ dark: token('color.background.brand.bold.pressed', B200)
28
+ })
29
+ },
30
+ [MentionType.RESTRICTED]: {
31
+ background: 'transparent',
32
+ borderColor: themed({
33
+ light: token('color.border', N500),
34
+ dark: token('color.border', DN80)
35
+ }),
36
+ text: themed({
37
+ light: token('color.text.disabled', N500),
38
+ dark: token('color.text.disabled', DN100)
39
+ }),
40
+ hoveredBackground: 'transparent',
41
+ pressedBackground: 'transparent'
42
+ },
43
+ [MentionType.DEFAULT]: {
44
+ background: themed({
45
+ light: token('color.background.neutral', N30A),
46
+ dark: token('color.background.neutral', DN80)
47
+ }),
48
+ borderColor: 'transparent',
49
+ text: themed({
50
+ light: token('color.text.subtle', N500),
51
+ dark: token('color.text.subtle', DN800)
52
+ }),
53
+ hoveredBackground: themed({
54
+ light: token('color.background.neutral.hovered', N30A),
55
+ dark: token('color.background.neutral.hovered', DN80)
56
+ }),
57
+ pressedBackground: themed({
58
+ light: token('color.background.neutral.pressed', N30A),
59
+ dark: token('color.background.neutral.pressed', DN80)
60
+ })
61
+ }
62
+ };
63
+
64
+ const getStyle = ({
65
+ mentionType,
66
+ theme
67
+ }, property) => {
68
+ const obj = mentionStyle[mentionType][property];
69
+ return typeof obj === 'string' ? obj : obj({
70
+ theme
71
+ });
72
+ };
73
+
74
+ const PrimitiveMention = /*#__PURE__*/forwardRef(({
75
+ mentionType,
76
+ ...other
77
+ }, ref) => {
78
+ const theme = useGlobalTheme();
79
+ return jsx("span", _extends({
80
+ ref: ref,
81
+ css: css`
82
+ display: inline;
83
+ border: 1px solid ${getStyle({
84
+ theme,
85
+ mentionType
86
+ }, 'borderColor')};
87
+ background: ${getStyle({
88
+ theme,
89
+ mentionType
90
+ }, 'background')};
91
+ color: ${getStyle({
92
+ theme,
93
+ mentionType
94
+ }, 'text')};
95
+ border-radius: 20px;
96
+ cursor: pointer;
97
+ padding: 0 0.3em 2px 0.23em;
98
+ line-height: 1.714;
99
+ font-size: 1em;
100
+ font-weight: normal;
101
+ word-break: break-word;
102
+ &:hover {
103
+ background: ${getStyle({
104
+ theme,
105
+ mentionType
106
+ }, 'hoveredBackground')};
107
+ }
108
+ &:active {
109
+ background: ${getStyle({
110
+ theme,
111
+ mentionType
112
+ }, 'pressedBackground')};
113
+ }
114
+ `
115
+ }, other));
116
+ });
117
+ export default PrimitiveMention;
@@ -1,18 +1,20 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
2
  import React from 'react';
4
- import { FormattedMessage } from 'react-intl';
5
- import { MentionStyle } from './styles';
6
- import { NoAccessTooltip } from '../NoAccessTooltip';
3
+ import FocusRing from '@atlaskit/focus-ring';
4
+ import MessagesIntlProvider from '../MessagesIntlProvider';
5
+ import PrimitiveMention from './PrimitiveMention';
6
+ import AsyncNoAccessTooltip from '../NoAccessTooltip';
7
7
  import { isRestricted, MentionType } from '../../types';
8
8
  import { fireAnalyticsMentionEvent } from '../../util/analytics';
9
- import { withAnalyticsEvents } from '@atlaskit/analytics-next';
10
- import { messages } from '../i18n';
9
+ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
10
+ import { UFOExperienceState } from '@atlaskit/ufo';
11
+ import { UnknownUserError } from '../../util/i18n';
12
+ import { UfoErrorBoundary, mentionRenderedUfoExperience } from './ufoExperiences';
11
13
  export const ANALYTICS_HOVER_DELAY = 1000;
12
14
  export const UNKNOWN_USER_ID = '_|unknown|_';
13
15
  export class MentionInternal extends React.PureComponent {
14
- constructor(...args) {
15
- super(...args);
16
+ constructor(props) {
17
+ super(props);
16
18
 
17
19
  _defineProperty(this, "handleOnClick", e => {
18
20
  const {
@@ -79,20 +81,32 @@ export class MentionInternal extends React.PureComponent {
79
81
 
80
82
  return MentionType.DEFAULT;
81
83
  });
84
+
85
+ mentionRenderedUfoExperience.getInstance(props.id).start();
86
+ }
87
+
88
+ componentDidMount() {
89
+ mentionRenderedUfoExperience.getInstance(this.props.id).success();
82
90
  }
83
91
 
84
92
  componentWillUnmount() {
85
93
  if (this.hoverTimeout) {
86
94
  clearTimeout(this.hoverTimeout);
87
95
  }
96
+
97
+ const ufoInstance = mentionRenderedUfoExperience.getInstance(this.props.id);
98
+
99
+ if ([UFOExperienceState['STARTED'], UFOExperienceState['IN_PROGRESS']].includes(ufoInstance.state)) {
100
+ ufoInstance.abort();
101
+ }
88
102
  }
89
103
 
90
104
  renderUnknownUserError(id) {
91
- return /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.unknownUserError, {
105
+ return /*#__PURE__*/React.createElement(UnknownUserError, {
92
106
  values: {
93
107
  userId: id.slice(-5)
94
108
  }
95
- }), message => `@${message}`);
109
+ }, message => /*#__PURE__*/React.createElement(React.Fragment, null, `@${message}`));
96
110
  }
97
111
 
98
112
  render() {
@@ -109,19 +123,24 @@ export class MentionInternal extends React.PureComponent {
109
123
  } = props;
110
124
  const mentionType = this.getMentionType();
111
125
  const failedMention = text === `@${UNKNOWN_USER_ID}`;
112
- const mentionComponent = /*#__PURE__*/React.createElement(MentionStyle, {
126
+ const mentionComponent = /*#__PURE__*/React.createElement(FocusRing, null, /*#__PURE__*/React.createElement(PrimitiveMention, {
113
127
  mentionType: mentionType,
114
128
  onClick: handleOnClick,
115
129
  onMouseEnter: handleOnMouseEnter,
116
- onMouseLeave: handleOnMouseLeave
117
- }, failedMention ? this.renderUnknownUserError(id) : text || '@...');
118
- return /*#__PURE__*/React.createElement("span", {
130
+ onMouseLeave: handleOnMouseLeave,
131
+ spellCheck: false
132
+ }, failedMention ? this.renderUnknownUserError(id) : text || '@...'));
133
+ return /*#__PURE__*/React.createElement(UfoErrorBoundary, {
134
+ id: id
135
+ }, /*#__PURE__*/React.createElement("span", {
119
136
  "data-mention-id": id,
120
137
  "data-access-level": accessLevel,
121
138
  spellCheck: false
122
- }, mentionType === MentionType.RESTRICTED ? /*#__PURE__*/React.createElement(NoAccessTooltip, {
139
+ }, /*#__PURE__*/React.createElement(MessagesIntlProvider, null, mentionType === MentionType.RESTRICTED ? /*#__PURE__*/React.createElement(React.Suspense, {
140
+ fallback: mentionComponent
141
+ }, /*#__PURE__*/React.createElement(AsyncNoAccessTooltip, {
123
142
  name: text
124
- }, mentionComponent) : mentionComponent);
143
+ }, mentionComponent)) : mentionComponent)));
125
144
  }
126
145
 
127
146
  }
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { ExperiencePerformanceTypes, ExperienceTypes, ConcurrentExperience } from '@atlaskit/ufo';
3
+ export const mentionRenderedUfoExperience = new ConcurrentExperience('mention-rendered', {
4
+ platform: {
5
+ component: 'mention'
6
+ },
7
+ type: ExperienceTypes.Load,
8
+ performanceType: ExperiencePerformanceTypes.PageSegmentLoad
9
+ });
10
+ export class UfoErrorBoundary extends React.Component {
11
+ componentDidCatch() {
12
+ mentionRenderedUfoExperience.getInstance(this.props.id).failure();
13
+ }
14
+
15
+ render() {
16
+ return this.props.children;
17
+ }
18
+
19
+ }
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import React from 'react';
4
- import { FormattedMessage } from 'react-intl';
4
+ import { FormattedMessage } from 'react-intl-next';
5
5
  import { DescriptionBylineStyle } from './styles';
6
6
  import { messages } from '../i18n';
7
7
  export default class TeamMentionDescriptionByline extends React.PureComponent {
@@ -1,9 +1,8 @@
1
- import styled from 'styled-components'; // @ts-ignore: unused variable
2
- // prettier-ignore
3
-
1
+ import styled from '@emotion/styled';
4
2
  import { N100 } from '@atlaskit/theme/colors';
3
+ import { token } from '@atlaskit/tokens';
5
4
  export const DescriptionBylineStyle = styled.span`
6
- color: ${N100};
5
+ color: ${token('color.text.subtlest', N100)};
7
6
  font-size: 12px;
8
7
 
9
8
  margin-top: 2px;