@atlaskit/mention 19.9.6 → 20.0.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 (110) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/api/MentionResource.js +4 -6
  3. package/dist/cjs/api/SmartMentionResource.js +2 -2
  4. package/dist/cjs/api/TeamMentionResource.js +2 -2
  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 +19 -16
  8. package/dist/cjs/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +5 -5
  9. package/dist/cjs/components/MentionDescriptionByline/styles.js +4 -2
  10. package/dist/cjs/components/MentionItem/index.js +14 -8
  11. package/dist/cjs/components/MentionItem/styles.js +12 -10
  12. package/dist/cjs/components/MentionList/index.js +4 -2
  13. package/dist/cjs/components/MentionList/styles.js +5 -3
  14. package/dist/cjs/components/MentionListError/styles.js +7 -5
  15. package/dist/cjs/components/MentionPicker/index.js +12 -4
  16. package/dist/cjs/components/MentionPicker/styles.js +5 -3
  17. package/dist/cjs/components/MessagesIntlProvider/index.js +57 -0
  18. package/dist/cjs/components/NoAccessTooltip/index.js +29 -0
  19. package/dist/cjs/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  20. package/dist/cjs/components/ResourcedMentionList/index.js +14 -6
  21. package/dist/cjs/components/Scrollable/index.js +1 -1
  22. package/dist/cjs/components/Scrollable/styles.js +4 -2
  23. package/dist/cjs/components/TeamMentionHighlight/index.js +6 -4
  24. package/dist/cjs/components/TeamMentionHighlight/lazy.js +28 -0
  25. package/dist/cjs/components/TeamMentionHighlight/styles.js +11 -9
  26. package/dist/cjs/components/i18n.js +2 -2
  27. package/dist/cjs/shared-styles.js +4 -2
  28. package/dist/cjs/util/analytics.js +2 -2
  29. package/dist/cjs/util/i18n.js +297 -26
  30. package/dist/cjs/version.json +1 -1
  31. package/dist/es2019/components/LockCircleIcon/index.js +7 -0
  32. package/dist/es2019/components/Mention/PrimitiveMention.js +117 -0
  33. package/dist/es2019/components/Mention/index.js +16 -13
  34. package/dist/es2019/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
  35. package/dist/es2019/components/MentionDescriptionByline/styles.js +3 -4
  36. package/dist/es2019/components/MentionItem/index.js +11 -7
  37. package/dist/es2019/components/MentionItem/styles.js +6 -7
  38. package/dist/es2019/components/MentionList/index.js +3 -2
  39. package/dist/es2019/components/MentionList/styles.js +3 -4
  40. package/dist/es2019/components/MentionListError/GenericErrorIllustration.js +1 -0
  41. package/dist/es2019/components/MentionListError/styles.js +5 -6
  42. package/dist/es2019/components/MentionPicker/index.js +11 -4
  43. package/dist/es2019/components/MentionPicker/styles.js +4 -5
  44. package/dist/es2019/components/MessagesIntlProvider/index.js +38 -0
  45. package/dist/es2019/components/NoAccessTooltip/index.js +9 -0
  46. package/dist/es2019/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  47. package/dist/es2019/components/ResourcedMentionList/index.js +6 -4
  48. package/dist/es2019/components/Scrollable/index.js +1 -1
  49. package/dist/es2019/components/Scrollable/styles.js +3 -4
  50. package/dist/es2019/components/TeamMentionHighlight/index.js +4 -3
  51. package/dist/es2019/components/TeamMentionHighlight/lazy.js +6 -0
  52. package/dist/es2019/components/TeamMentionHighlight/styles.js +3 -2
  53. package/dist/es2019/components/i18n.js +1 -1
  54. package/dist/es2019/shared-styles.js +3 -2
  55. package/dist/es2019/util/i18n.js +260 -18
  56. package/dist/es2019/version.json +1 -1
  57. package/dist/esm/api/MentionResource.js +4 -4
  58. package/dist/esm/api/SmartMentionResource.js +2 -2
  59. package/dist/esm/api/TeamMentionResource.js +2 -2
  60. package/dist/esm/components/LockCircleIcon/index.js +11 -0
  61. package/dist/esm/components/Mention/PrimitiveMention.js +100 -0
  62. package/dist/esm/components/Mention/index.js +17 -14
  63. package/dist/esm/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
  64. package/dist/esm/components/MentionDescriptionByline/styles.js +3 -4
  65. package/dist/esm/components/MentionItem/index.js +11 -7
  66. package/dist/esm/components/MentionItem/styles.js +6 -7
  67. package/dist/esm/components/MentionList/index.js +3 -2
  68. package/dist/esm/components/MentionList/styles.js +4 -5
  69. package/dist/esm/components/MentionListError/GenericErrorIllustration.js +1 -0
  70. package/dist/esm/components/MentionListError/styles.js +3 -4
  71. package/dist/esm/components/MentionPicker/index.js +11 -4
  72. package/dist/esm/components/MentionPicker/styles.js +3 -4
  73. package/dist/esm/components/MessagesIntlProvider/index.js +41 -0
  74. package/dist/esm/components/NoAccessTooltip/index.js +11 -0
  75. package/dist/esm/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  76. package/dist/esm/components/ResourcedMentionList/index.js +8 -6
  77. package/dist/esm/components/Scrollable/index.js +1 -1
  78. package/dist/esm/components/Scrollable/styles.js +3 -4
  79. package/dist/esm/components/TeamMentionHighlight/index.js +4 -3
  80. package/dist/esm/components/TeamMentionHighlight/lazy.js +10 -0
  81. package/dist/esm/components/TeamMentionHighlight/styles.js +3 -2
  82. package/dist/esm/components/i18n.js +1 -1
  83. package/dist/esm/shared-styles.js +3 -2
  84. package/dist/esm/util/analytics.js +2 -2
  85. package/dist/esm/util/i18n.js +284 -23
  86. package/dist/esm/version.json +1 -1
  87. package/dist/types/components/LockCircleIcon/index.d.ts +3 -0
  88. package/dist/types/components/Mention/PrimitiveMention.d.ts +7 -0
  89. package/dist/types/components/Mention/index.d.ts +1 -1
  90. package/dist/types/components/MentionDescriptionByline/styles.d.ts +2 -2
  91. package/dist/types/components/MentionItem/MentionHighlightHelpers.d.ts +2 -3
  92. package/dist/types/components/MentionItem/styles.d.ts +9 -9
  93. package/dist/types/components/MentionList/styles.d.ts +2 -2
  94. package/dist/types/components/MentionListError/styles.d.ts +5 -5
  95. package/dist/types/components/MentionPicker/index.d.ts +11 -8
  96. package/dist/types/components/MentionPicker/styles.d.ts +3 -3
  97. package/dist/types/components/MessagesIntlProvider/index.d.ts +3 -0
  98. package/dist/types/components/NoAccessTooltip/index.d.ts +6 -0
  99. package/dist/types/components/{NoAccessTooltip.d.ts → NoAccessTooltip/main.d.ts} +0 -0
  100. package/dist/types/components/Scrollable/styles.d.ts +2 -4
  101. package/dist/types/components/TeamMentionHighlight/index.d.ts +1 -1
  102. package/dist/types/components/TeamMentionHighlight/lazy.d.ts +4 -0
  103. package/dist/types/components/TeamMentionHighlight/styles.d.ts +8 -8
  104. package/dist/types/shared-styles.d.ts +2 -2
  105. package/dist/types/util/i18n.d.ts +32 -17
  106. package/package.json +22 -11
  107. package/dist/cjs/components/Mention/styles.js +0 -66
  108. package/dist/es2019/components/Mention/styles.js +0 -61
  109. package/dist/esm/components/Mention/styles.js +0 -50
  110. package/dist/types/components/Mention/styles.d.ts +0 -6
@@ -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": "20.0.0",
4
4
  "sideEffects": false
5
5
  }
@@ -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,13 +1,13 @@
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 { UnknownUserError } from '../../util/i18n';
11
11
  export const ANALYTICS_HOVER_DELAY = 1000;
12
12
  export const UNKNOWN_USER_ID = '_|unknown|_';
13
13
  export class MentionInternal extends React.PureComponent {
@@ -88,11 +88,11 @@ export class MentionInternal extends React.PureComponent {
88
88
  }
89
89
 
90
90
  renderUnknownUserError(id) {
91
- return /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.unknownUserError, {
91
+ return /*#__PURE__*/React.createElement(UnknownUserError, {
92
92
  values: {
93
93
  userId: id.slice(-5)
94
94
  }
95
- }), message => `@${message}`);
95
+ }, message => /*#__PURE__*/React.createElement(React.Fragment, null, `@${message}`));
96
96
  }
97
97
 
98
98
  render() {
@@ -109,19 +109,22 @@ export class MentionInternal extends React.PureComponent {
109
109
  } = props;
110
110
  const mentionType = this.getMentionType();
111
111
  const failedMention = text === `@${UNKNOWN_USER_ID}`;
112
- const mentionComponent = /*#__PURE__*/React.createElement(MentionStyle, {
112
+ const mentionComponent = /*#__PURE__*/React.createElement(FocusRing, null, /*#__PURE__*/React.createElement(PrimitiveMention, {
113
113
  mentionType: mentionType,
114
114
  onClick: handleOnClick,
115
115
  onMouseEnter: handleOnMouseEnter,
116
- onMouseLeave: handleOnMouseLeave
117
- }, failedMention ? this.renderUnknownUserError(id) : text || '@...');
116
+ onMouseLeave: handleOnMouseLeave,
117
+ spellCheck: false
118
+ }, failedMention ? this.renderUnknownUserError(id) : text || '@...'));
118
119
  return /*#__PURE__*/React.createElement("span", {
119
120
  "data-mention-id": id,
120
121
  "data-access-level": accessLevel,
121
122
  spellCheck: false
122
- }, mentionType === MentionType.RESTRICTED ? /*#__PURE__*/React.createElement(NoAccessTooltip, {
123
+ }, /*#__PURE__*/React.createElement(MessagesIntlProvider, null, mentionType === MentionType.RESTRICTED ? /*#__PURE__*/React.createElement(React.Suspense, {
124
+ fallback: mentionComponent
125
+ }, /*#__PURE__*/React.createElement(AsyncNoAccessTooltip, {
123
126
  name: text
124
- }, mentionComponent) : mentionComponent);
127
+ }, mentionComponent)) : mentionComponent));
125
128
  }
126
129
 
127
130
  }
@@ -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;
@@ -1,16 +1,18 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import Avatar from '@atlaskit/avatar';
3
- import LockCircleIcon from '@atlaskit/icon/glyph/lock-circle';
4
3
  import Lozenge from '@atlaskit/lozenge';
5
4
  import { N30 } from '@atlaskit/theme/colors';
6
5
  import React from 'react';
6
+ import { token } from '@atlaskit/tokens';
7
7
  import { isRestricted } from '../../types';
8
8
  import { NoAccessLabel } from '../../util/i18n';
9
9
  import { leftClick } from '../../util/mouse';
10
- import { NoAccessTooltip } from '../NoAccessTooltip';
10
+ import AsyncNoAccessTooltip from '../NoAccessTooltip';
11
+ import AsyncLockCircleIcon from '../LockCircleIcon';
11
12
  import { AccessSectionStyle, AvatarStyle, FullNameStyle, InfoSectionStyle, MentionItemStyle, NameSectionStyle, RowStyle, TimeStyle } from './styles';
12
13
  import { renderHighlight } from './MentionHighlightHelpers';
13
14
  import MentionDescriptionByline from '../MentionDescriptionByline';
15
+ import MessagesIntlProvider from '../MessagesIntlProvider';
14
16
  export { MENTION_ITEM_HEIGHT } from './styles';
15
17
 
16
18
  function renderLozenge(lozenge) {
@@ -84,8 +86,8 @@ export default class MentionItem extends React.PureComponent {
84
86
  } = presence || {};
85
87
  const restricted = isRestricted(accessLevel);
86
88
  const nameHighlights = highlight && highlight.name;
87
- const borderColor = selected ? N30 : undefined;
88
- return /*#__PURE__*/React.createElement(MentionItemStyle, {
89
+ const borderColor = selected ? token('color.border', N30) : undefined;
90
+ return /*#__PURE__*/React.createElement(MessagesIntlProvider, null, /*#__PURE__*/React.createElement(MentionItemStyle, {
89
91
  selected: selected,
90
92
  onMouseDown: this.onMentionSelected,
91
93
  onMouseMove: this.onMentionMenuItemMouseMove,
@@ -105,13 +107,15 @@ export default class MentionItem extends React.PureComponent {
105
107
  mention: mention
106
108
  })), /*#__PURE__*/React.createElement(InfoSectionStyle, {
107
109
  restricted: restricted
108
- }, renderLozenge(lozenge), renderTime(time)), restricted ? /*#__PURE__*/React.createElement(NoAccessTooltip, {
110
+ }, renderLozenge(lozenge), renderTime(time)), restricted ? /*#__PURE__*/React.createElement(React.Suspense, {
111
+ fallback: null
112
+ }, /*#__PURE__*/React.createElement(AsyncNoAccessTooltip, {
109
113
  name: name
110
- }, /*#__PURE__*/React.createElement(AccessSectionStyle, null, /*#__PURE__*/React.createElement(NoAccessLabel, null, text => /*#__PURE__*/React.createElement(LockCircleIcon, {
114
+ }, /*#__PURE__*/React.createElement(AccessSectionStyle, null, /*#__PURE__*/React.createElement(NoAccessLabel, null, text => /*#__PURE__*/React.createElement(AsyncLockCircleIcon, {
111
115
  label: text
112
116
  })
113
117
  /* safe to cast to string given there is no value binding */
114
- ))) : null));
118
+ )))) : null)));
115
119
  }
116
120
 
117
121
  }
@@ -1,7 +1,6 @@
1
- import styled from 'styled-components'; // @ts-ignore: unused variable
2
- // prettier-ignore
3
-
1
+ import styled from '@emotion/styled';
4
2
  import { N900, N100, N30, N500 } from '@atlaskit/theme/colors';
3
+ import { token } from '@atlaskit/tokens';
5
4
  export const RowStyle = styled.div`
6
5
  align-items: center;
7
6
  display: flex;
@@ -28,7 +27,7 @@ export const FullNameStyle = styled.span`
28
27
  overflow: hidden;
29
28
  text-overflow: ellipsis;
30
29
  white-space: nowrap;
31
- color: ${N900};
30
+ color: ${token('color.text', N900)};
32
31
  `;
33
32
  export const InfoSectionStyle = styled.div`
34
33
  display: flex;
@@ -46,12 +45,12 @@ export const InfoSectionStyle = styled.div`
46
45
  export const TimeStyle = styled.div`
47
46
  margin-left: 20px;
48
47
  flex: none;
49
- color: ${N100};
48
+ color: ${token('color.text.subtlest', N100)};
50
49
  font-size: 12px;
51
50
  `;
52
51
  export const MENTION_ITEM_HEIGHT = 48;
53
52
  export const MentionItemStyle = styled.div`
54
- background-color: ${props => props.selected ? N30 : 'transparent'};
53
+ background-color: ${props => props.selected ? token('color.background.brand', N30) : 'transparent'};
55
54
  display: block;
56
55
  overflow: hidden;
57
56
  list-style-type: none;
@@ -61,5 +60,5 @@ export const MentionItemStyle = styled.div`
61
60
  `;
62
61
  export const AccessSectionStyle = styled.div`
63
62
  padding-left: 5px;
64
- color: ${N500};
63
+ color: ${token('color.text.subtle', N500)};
65
64
  `;