@atlaskit/mention 19.9.3 → 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 (134) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/cjs/api/MentionResource.js +5 -7
  3. package/dist/cjs/api/PresenceResource.js +1 -1
  4. package/dist/cjs/api/SmartMentionResource.js +3 -10
  5. package/dist/cjs/api/TeamMentionResource.js +2 -2
  6. package/dist/cjs/api/analytics.js +1 -1
  7. package/dist/cjs/api/recommendationClient.js +2 -1
  8. package/dist/cjs/components/LockCircleIcon/index.js +28 -0
  9. package/dist/cjs/components/Mention/PrimitiveMention.js +118 -0
  10. package/dist/cjs/components/Mention/index.js +20 -17
  11. package/dist/cjs/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +5 -5
  12. package/dist/cjs/components/MentionDescriptionByline/styles.js +4 -2
  13. package/dist/cjs/components/MentionItem/index.js +14 -8
  14. package/dist/cjs/components/MentionItem/styles.js +13 -11
  15. package/dist/cjs/components/MentionList/index.js +4 -2
  16. package/dist/cjs/components/MentionList/styles.js +5 -3
  17. package/dist/cjs/components/MentionListError/styles.js +8 -6
  18. package/dist/cjs/components/MentionPicker/index.js +14 -12
  19. package/dist/cjs/components/MentionPicker/styles.js +6 -4
  20. package/dist/cjs/components/MessagesIntlProvider/index.js +57 -0
  21. package/dist/cjs/components/NoAccessTooltip/index.js +29 -0
  22. package/dist/cjs/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  23. package/dist/cjs/components/ResourcedMentionList/index.js +14 -6
  24. package/dist/cjs/components/Scrollable/index.js +1 -1
  25. package/dist/cjs/components/Scrollable/styles.js +4 -2
  26. package/dist/cjs/components/TeamMentionHighlight/TeamMentionHighlightController.js +1 -1
  27. package/dist/cjs/components/TeamMentionHighlight/index.js +6 -4
  28. package/dist/cjs/components/TeamMentionHighlight/lazy.js +28 -0
  29. package/dist/cjs/components/TeamMentionHighlight/styles.js +12 -10
  30. package/dist/cjs/components/i18n.js +2 -2
  31. package/dist/cjs/config/index.js +3 -27
  32. package/dist/cjs/default-mention-name-resolver/default-mention-name-resolver.js +1 -1
  33. package/dist/cjs/i18n/index.js +36 -36
  34. package/dist/cjs/index.js +39 -39
  35. package/dist/cjs/item.js +4 -4
  36. package/dist/cjs/resource.js +22 -22
  37. package/dist/cjs/shared-styles.js +5 -3
  38. package/dist/cjs/team-resource.js +16 -16
  39. package/dist/cjs/types.js +4 -3
  40. package/dist/cjs/util/analytics.js +3 -3
  41. package/dist/cjs/util/i18n.js +297 -26
  42. package/dist/cjs/util/logger.js +1 -1
  43. package/dist/cjs/util/mouse.js +1 -1
  44. package/dist/cjs/version.json +1 -1
  45. package/dist/es2019/api/SmartMentionResource.js +1 -6
  46. package/dist/es2019/api/recommendationClient.js +2 -2
  47. package/dist/es2019/components/LockCircleIcon/index.js +7 -0
  48. package/dist/es2019/components/Mention/PrimitiveMention.js +117 -0
  49. package/dist/es2019/components/Mention/index.js +16 -13
  50. package/dist/es2019/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
  51. package/dist/es2019/components/MentionDescriptionByline/styles.js +3 -4
  52. package/dist/es2019/components/MentionItem/index.js +11 -7
  53. package/dist/es2019/components/MentionItem/styles.js +6 -7
  54. package/dist/es2019/components/MentionList/index.js +3 -2
  55. package/dist/es2019/components/MentionList/styles.js +3 -4
  56. package/dist/es2019/components/MentionListError/GenericErrorIllustration.js +1 -0
  57. package/dist/es2019/components/MentionListError/styles.js +5 -6
  58. package/dist/es2019/components/MentionPicker/index.js +13 -6
  59. package/dist/es2019/components/MentionPicker/styles.js +4 -5
  60. package/dist/es2019/components/MessagesIntlProvider/index.js +38 -0
  61. package/dist/es2019/components/NoAccessTooltip/index.js +9 -0
  62. package/dist/es2019/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  63. package/dist/es2019/components/ResourcedMentionList/index.js +6 -4
  64. package/dist/es2019/components/Scrollable/index.js +1 -1
  65. package/dist/es2019/components/Scrollable/styles.js +3 -4
  66. package/dist/es2019/components/TeamMentionHighlight/index.js +4 -3
  67. package/dist/es2019/components/TeamMentionHighlight/lazy.js +6 -0
  68. package/dist/es2019/components/TeamMentionHighlight/styles.js +3 -2
  69. package/dist/es2019/components/i18n.js +1 -1
  70. package/dist/es2019/config/index.js +2 -20
  71. package/dist/es2019/default-mention-name-resolver/default-mention-name-resolver.js +2 -2
  72. package/dist/es2019/shared-styles.js +3 -2
  73. package/dist/es2019/util/i18n.js +260 -18
  74. package/dist/es2019/version.json +1 -1
  75. package/dist/esm/api/MentionResource.js +4 -4
  76. package/dist/esm/api/SmartMentionResource.js +3 -9
  77. package/dist/esm/api/TeamMentionResource.js +2 -2
  78. package/dist/esm/api/recommendationClient.js +2 -2
  79. package/dist/esm/components/LockCircleIcon/index.js +11 -0
  80. package/dist/esm/components/Mention/PrimitiveMention.js +100 -0
  81. package/dist/esm/components/Mention/index.js +17 -14
  82. package/dist/esm/components/MentionDescriptionByline/TeamMentionDescriptionByline.js +1 -1
  83. package/dist/esm/components/MentionDescriptionByline/styles.js +3 -4
  84. package/dist/esm/components/MentionItem/index.js +11 -7
  85. package/dist/esm/components/MentionItem/styles.js +6 -7
  86. package/dist/esm/components/MentionList/index.js +3 -2
  87. package/dist/esm/components/MentionList/styles.js +4 -5
  88. package/dist/esm/components/MentionListError/GenericErrorIllustration.js +1 -0
  89. package/dist/esm/components/MentionListError/styles.js +3 -4
  90. package/dist/esm/components/MentionPicker/index.js +13 -6
  91. package/dist/esm/components/MentionPicker/styles.js +3 -4
  92. package/dist/esm/components/MessagesIntlProvider/index.js +41 -0
  93. package/dist/esm/components/NoAccessTooltip/index.js +11 -0
  94. package/dist/esm/components/{NoAccessTooltip.js → NoAccessTooltip/main.js} +4 -2
  95. package/dist/esm/components/ResourcedMentionList/index.js +8 -6
  96. package/dist/esm/components/Scrollable/index.js +1 -1
  97. package/dist/esm/components/Scrollable/styles.js +3 -4
  98. package/dist/esm/components/TeamMentionHighlight/index.js +4 -3
  99. package/dist/esm/components/TeamMentionHighlight/lazy.js +10 -0
  100. package/dist/esm/components/TeamMentionHighlight/styles.js +3 -2
  101. package/dist/esm/components/i18n.js +1 -1
  102. package/dist/esm/config/index.js +1 -20
  103. package/dist/esm/default-mention-name-resolver/default-mention-name-resolver.js +2 -2
  104. package/dist/esm/shared-styles.js +3 -2
  105. package/dist/esm/util/analytics.js +2 -2
  106. package/dist/esm/util/i18n.js +284 -23
  107. package/dist/esm/version.json +1 -1
  108. package/dist/types/components/LockCircleIcon/index.d.ts +3 -0
  109. package/dist/types/components/Mention/PrimitiveMention.d.ts +7 -0
  110. package/dist/types/components/Mention/index.d.ts +1 -1
  111. package/dist/types/components/MentionDescriptionByline/styles.d.ts +2 -2
  112. package/dist/types/components/MentionItem/MentionHighlightHelpers.d.ts +2 -3
  113. package/dist/types/components/MentionItem/styles.d.ts +9 -9
  114. package/dist/types/components/MentionList/styles.d.ts +2 -2
  115. package/dist/types/components/MentionListError/styles.d.ts +5 -5
  116. package/dist/types/components/MentionPicker/index.d.ts +11 -8
  117. package/dist/types/components/MentionPicker/styles.d.ts +3 -3
  118. package/dist/types/components/MessagesIntlProvider/index.d.ts +3 -0
  119. package/dist/types/components/NoAccessTooltip/index.d.ts +6 -0
  120. package/dist/types/components/{NoAccessTooltip.d.ts → NoAccessTooltip/main.d.ts} +0 -0
  121. package/dist/types/components/Scrollable/styles.d.ts +2 -4
  122. package/dist/types/components/TeamMentionHighlight/index.d.ts +1 -1
  123. package/dist/types/components/TeamMentionHighlight/lazy.d.ts +4 -0
  124. package/dist/types/components/TeamMentionHighlight/styles.d.ts +8 -8
  125. package/dist/types/config/index.d.ts +5 -8
  126. package/dist/types/default-mention-name-resolver/default-mention-name-resolver.d.ts +8 -0
  127. package/dist/types/shared-styles.d.ts +2 -2
  128. package/dist/types/util/i18n.d.ts +32 -17
  129. package/docs/1-in-editor.tsx +7 -9
  130. package/package.json +24 -13
  131. package/dist/cjs/components/Mention/styles.js +0 -72
  132. package/dist/es2019/components/Mention/styles.js +0 -61
  133. package/dist/esm/components/Mention/styles.js +0 -50
  134. package/dist/types/components/Mention/styles.d.ts +0 -6
@@ -2,10 +2,9 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
4
4
 
5
- import styled from 'styled-components'; // @ts-ignore: unused variable
6
- // prettier-ignore
7
-
5
+ import styled from '@emotion/styled';
8
6
  import { N900, N100, N30, N500 } from '@atlaskit/theme/colors';
7
+ import { token } from '@atlaskit/tokens';
9
8
  export var RowStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n overflow: hidden;\n padding: 6px 14px;\n text-overflow: ellipsis;\n vertical-align: middle;\n"])));
10
9
  export var AvatarStyle = styled.span(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: relative;\n flex: initial;\n opacity: ", ";\n"])), function (props) {
11
10
  return props.restricted ? '0.5' : 'inherit';
@@ -13,13 +12,13 @@ export var AvatarStyle = styled.span(_templateObject2 || (_templateObject2 = _ta
13
12
  export var NameSectionStyle = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n flex: 1;\n min-width: 0;\n margin-left: 14px;\n opacity: ", ";\n"])), function (props) {
14
13
  return props.restricted ? '0.5' : 'inherit';
15
14
  });
16
- export var FullNameStyle = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n"])), N900);
15
+ export var FullNameStyle = styled.span(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: ", ";\n"])), token('color.text', N900));
17
16
  export var InfoSectionStyle = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n text-align: right;\n opacity: ", ";\n\n & {\n /* Lozenge */\n & > span {\n margin-bottom: 2px;\n }\n }\n"])), function (props) {
18
17
  return props.restricted ? '0.5' : 'inherit';
19
18
  });
20
- export var TimeStyle = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-left: 20px;\n flex: none;\n color: ", ";\n font-size: 12px;\n"])), N100);
19
+ export var TimeStyle = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-left: 20px;\n flex: none;\n color: ", ";\n font-size: 12px;\n"])), token('color.text.subtlest', N100));
21
20
  export var MENTION_ITEM_HEIGHT = 48;
22
21
  export var MentionItemStyle = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n background-color: ", ";\n display: block;\n overflow: hidden;\n list-style-type: none;\n height: ", "px;\n line-height: 1.2;\n cursor: pointer;\n"])), function (props) {
23
- return props.selected ? N30 : 'transparent';
22
+ return props.selected ? token('color.background.brand', N30) : 'transparent';
24
23
  }, MENTION_ITEM_HEIGHT);
25
- export var AccessSectionStyle = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n padding-left: 5px;\n color: ", ";\n"])), N500);
24
+ export var AccessSectionStyle = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n padding-left: 5px;\n color: ", ";\n"])), token('color.text.subtle', N500));
@@ -15,6 +15,7 @@ import debug from '../../util/logger';
15
15
  import { actualMouseMove, mouseLocation } from '../../util/mouse';
16
16
  import MentionItem from '../MentionItem';
17
17
  import MentionListError from '../MentionListError';
18
+ import MessagesIntlProvider from '../MessagesIntlProvider';
18
19
  import Scrollable from '../Scrollable';
19
20
  import { MentionListStyle } from './styles';
20
21
 
@@ -269,9 +270,9 @@ var MentionList = /*#__PURE__*/function (_React$PureComponent) {
269
270
  }, this.renderItems());
270
271
  }
271
272
 
272
- return /*#__PURE__*/React.createElement(MentionListStyle, {
273
+ return /*#__PURE__*/React.createElement(MessagesIntlProvider, null, /*#__PURE__*/React.createElement(MentionListStyle, {
273
274
  empty: !hasMentions && !resourceError
274
- }, errorSection, resultSection);
275
+ }, errorSection, resultSection));
275
276
  }
276
277
  }]);
277
278
 
@@ -2,10 +2,9 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject;
4
4
 
5
- import styled from 'styled-components'; // @ts-ignore: unused variable
6
- // prettier-ignore
7
-
5
+ import styled from '@emotion/styled';
6
+ import { token } from '@atlaskit/tokens';
8
7
  import { mentionListWidth, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow } from '../../shared-styles';
9
- export var MentionListStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: ", ";\n\n /* list style */\n width: ", ";\n color: #333;\n\n border: 1px solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n"])), function (props) {
8
+ export var MentionListStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: ", ";\n\n /* list style */\n width: ", ";\n color: ", ";\n\n border: 1px solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n"])), function (props) {
10
9
  return props.empty ? 'none' : 'block';
11
- }, mentionListWidth, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow);
10
+ }, mentionListWidth, token('color.text.subtle', '#333'), noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow);
@@ -8,6 +8,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
8
8
 
9
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
10
10
 
11
+ /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
12
  import React from 'react';
12
13
  import { GenericErrorVisualStyle } from './styles';
13
14
  export var GenericErrorIllustration = /*#__PURE__*/function (_React$PureComponent) {
@@ -2,13 +2,12 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
4
4
 
5
- import styled from 'styled-components'; // @ts-ignore: unused variable
6
- // prettier-ignore
7
-
5
+ import styled from '@emotion/styled';
6
+ import { token } from '@atlaskit/tokens';
8
7
  import { borderRadius } from '@atlaskit/theme/constants';
9
8
  import { N500 } from '@atlaskit/theme/colors';
10
9
  import { h400 } from '@atlaskit/theme/typography';
11
- export var MentionListErrorStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n justify-content: center;\n flex-direction: column;\n background-color: white;\n color: ", ";\n border: 1px solid #fff;\n border-radius: ", "px;\n"])), N500, borderRadius());
10
+ export var MentionListErrorStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n align-items: center;\n display: flex;\n justify-content: center;\n flex-direction: column;\n background-color: ", ";\n color: ", ";\n border: 1px solid ", ";\n border-radius: ", "px;\n"])), token('elevation.surface.overlay', 'white'), token('color.text.subtle', N500), token('elevation.surface.overlay', '#fff'), borderRadius());
12
11
  export var GenericErrorVisualStyle = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n height: 108px;\n margin-bottom: 8px;\n margin-top: 36px;\n width: 83px;\n"]))); // TODO: Figure out why the themed css function is causing type errors when passed prop children
13
12
 
14
13
  export var MentionListErrorHeadlineStyle = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n ", ";\n margin-bottom: 8px;\n"])), h400());
@@ -10,9 +10,10 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
- import { withAnalyticsEvents } from '@atlaskit/analytics-next';
13
+ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import React from 'react';
15
- import * as UtilAnalytics from '../../util/analytics';
15
+ import { IntlProvider, injectIntl } from 'react-intl-next';
16
+ import { fireAnalyticsMentionTypeaheadEvent } from '../../util/analytics';
16
17
  import uniqueId from '../../util/id';
17
18
  import debug from '../../util/logger';
18
19
  import Popup from '../Popup';
@@ -97,7 +98,7 @@ export var MentionPicker = /*#__PURE__*/function (_React$PureComponent) {
97
98
 
98
99
  _this.onFilterVisibilityChange(wasVisible, visible);
99
100
 
100
- UtilAnalytics.fireAnalyticsMentionTypeaheadEvent(_this.props)('rendered', stats && stats.duration, mentions.map(function (mention) {
101
+ fireAnalyticsMentionTypeaheadEvent(_this.props)('rendered', stats && stats.duration, mentions.map(function (mention) {
101
102
  return mention.id;
102
103
  }), query);
103
104
  });
@@ -200,7 +201,8 @@ export var MentionPicker = /*#__PURE__*/function (_React$PureComponent) {
200
201
  zIndex = _this$props.zIndex,
201
202
  offsetX = _this$props.offsetX,
202
203
  offsetY = _this$props.offsetY,
203
- showTeamMentionsHighlight = _this$props.showTeamMentionsHighlight;
204
+ showTeamMentionsHighlight = _this$props.showTeamMentionsHighlight,
205
+ intl = _this$props.intl;
204
206
  var _this$state = this.state,
205
207
  visible = _this$state.visible,
206
208
  info = _this$state.info;
@@ -226,7 +228,9 @@ export var MentionPicker = /*#__PURE__*/function (_React$PureComponent) {
226
228
  zIndex: zIndex,
227
229
  offsetX: offsetX,
228
230
  offsetY: offsetY
229
- }, /*#__PURE__*/React.createElement("div", null, resourceMentionList, infoContent));
231
+ }, /*#__PURE__*/React.createElement(IntlProvider, {
232
+ locale: (intl === null || intl === void 0 ? void 0 : intl.locale) || 'en'
233
+ }, /*#__PURE__*/React.createElement("div", null, resourceMentionList, infoContent)));
230
234
  } else {
231
235
  // don't show if we have a position, but no target yet
232
236
  content = null;
@@ -256,5 +260,8 @@ _defineProperty(MentionPicker, "defaultProps", {
256
260
  onClose: function onClose() {}
257
261
  });
258
262
 
259
- export var MentionPickerWithAnalytics = withAnalyticsEvents({})(MentionPicker);
263
+ var MentionPickerWithIntl = injectIntl(MentionPicker, {
264
+ forwardRef: true
265
+ });
266
+ export var MentionPickerWithAnalytics = withAnalyticsEvents({})(MentionPickerWithIntl);
260
267
  export default MentionPickerWithAnalytics;
@@ -2,12 +2,11 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2;
4
4
 
5
- import styled from 'styled-components'; // @ts-ignore: unused variable
6
- // prettier-ignore
7
-
5
+ import styled from '@emotion/styled';
6
+ import { token } from '@atlaskit/tokens';
8
7
  import { N100 } from '@atlaskit/theme/colors';
9
8
  import { mentionListWidth, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow } from '../../shared-styles';
10
9
  export var MentionPickerStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: ", ";\n"])), function (props) {
11
10
  return props.visible ? 'block' : 'none';
12
11
  });
13
- export var MentionPickerInfoStyle = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: #fff;\n color: ", ";\n border: 1px solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n display: block;\n width: ", ";\n white-space: nowrap;\n\n & {\n p {\n margin: 0;\n overflow: hidden;\n padding: 9px;\n text-overflow: ellipsis;\n }\n }\n"])), N100, noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow, mentionListWidth);
12
+ export var MentionPickerInfoStyle = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: ", ";\n color: ", ";\n border: 1px solid ", ";\n border-radius: ", ";\n box-shadow: ", ";\n display: block;\n width: ", ";\n white-space: nowrap;\n\n & {\n p {\n margin: 0;\n overflow: hidden;\n padding: 9px;\n text-overflow: ellipsis;\n }\n }\n"])), token('elevation.surface', '#fff'), token('color.text.subtlest', N100), noDialogContainerBorderColor, noDialogContainerBorderRadius, noDialogContainerBoxShadow, mentionListWidth);
@@ -0,0 +1,41 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
+ import React from 'react';
4
+ import { IntlProvider, useIntl } from 'react-intl-next';
5
+ import { getMessagesForLocale } from '../../util/i18n';
6
+ var EMPTY = {};
7
+
8
+ var useI18n = function useI18n(locale) {
9
+ var _React$useState = React.useState(EMPTY),
10
+ _React$useState2 = _slicedToArray(_React$useState, 2),
11
+ messages = _React$useState2[0],
12
+ setMessages = _React$useState2[1];
13
+
14
+ React.useEffect(function () {
15
+ var aborted = false;
16
+ setMessages(EMPTY);
17
+ getMessagesForLocale(locale).then(function (messages) {
18
+ if (!aborted) {
19
+ setMessages(messages);
20
+ }
21
+ }).catch(function (error) {
22
+ // eslint-disable-next-line no-console
23
+ console.error(error);
24
+ });
25
+ return function () {
26
+ aborted = true;
27
+ };
28
+ }, [locale]);
29
+ return messages;
30
+ };
31
+
32
+ var MessagesIntlProvider = function MessagesIntlProvider(props) {
33
+ var children = props.children;
34
+ var intl = useIntl();
35
+ var messages = useI18n(intl.locale);
36
+ return /*#__PURE__*/React.createElement(IntlProvider, _extends({}, intl, {
37
+ messages: messages
38
+ }), children);
39
+ };
40
+
41
+ export default MessagesIntlProvider;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ var AsyncNoAccessTooltip = /*#__PURE__*/React.lazy(function () {
3
+ return import(
4
+ /* webpackChunkName: "@atlaskit-internal_@atlaskit/mention/no-access-tooltip" */
5
+ './main').then(function (module) {
6
+ return {
7
+ default: module.NoAccessTooltip
8
+ };
9
+ });
10
+ });
11
+ export default AsyncNoAccessTooltip;
@@ -1,11 +1,13 @@
1
1
  import Tooltip from '@atlaskit/tooltip';
2
2
  import React from 'react';
3
- import { NoAccessWarning } from '../util/i18n';
3
+ import { NoAccessWarning } from '../../util/i18n';
4
4
  export var NoAccessTooltip = function NoAccessTooltip(_ref) {
5
5
  var name = _ref.name,
6
6
  children = _ref.children;
7
7
  return /*#__PURE__*/React.createElement(NoAccessWarning, {
8
- name: name
8
+ values: {
9
+ name: name
10
+ }
9
11
  }, function (text) {
10
12
  return /*#__PURE__*/React.createElement(Tooltip, {
11
13
  content: text,
@@ -10,16 +10,16 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
10
10
 
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
14
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
16
 
17
- import React from 'react';
17
+ import React, { Suspense } from 'react';
18
18
  import { withAnalyticsEvents } from '@atlaskit/analytics-next';
19
19
  import uniqueId from '../../util/id';
20
20
  import debug from '../../util/logger';
21
21
  import MentionList from '../MentionList';
22
- import TeamMentionHighlight from '../TeamMentionHighlight';
22
+ import { LazyTeamMentionHighlight } from '../TeamMentionHighlight/lazy';
23
23
  import TeamMentionHighlightController from '../TeamMentionHighlight/TeamMentionHighlightController';
24
24
  import { fireSliAnalyticsEvent, SLI_EVENT_TYPE } from '../../util/analytics';
25
25
 
@@ -166,10 +166,12 @@ export var ResourcedMentionListWithoutAnalytics = /*#__PURE__*/function (_React$
166
166
  return null;
167
167
  }
168
168
 
169
- return /*#__PURE__*/React.createElement(TeamMentionHighlight, {
169
+ return /*#__PURE__*/React.createElement(Suspense, {
170
+ fallback: null
171
+ }, /*#__PURE__*/React.createElement(LazyTeamMentionHighlight, {
170
172
  createTeamLink: createTeamPath,
171
173
  onClose: _this.closeHighlight
172
- });
174
+ }));
173
175
  });
174
176
 
175
177
  _this.subscriberKey = uniqueId('ak-resourced-mention-list');
@@ -58,7 +58,7 @@ var Scrollable = /*#__PURE__*/function (_React$PureComponent) {
58
58
  key: "render",
59
59
  value: function render() {
60
60
  return /*#__PURE__*/React.createElement(ScrollableStyle, {
61
- innerRef: this.handleRef
61
+ ref: this.handleRef
62
62
  }, this.props.children);
63
63
  }
64
64
  }]);
@@ -2,9 +2,8 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject;
4
4
 
5
- import styled from 'styled-components'; // @ts-ignore: unused variable
6
- // prettier-ignore
7
-
5
+ import styled from '@emotion/styled';
6
+ import { token } from '@atlaskit/tokens';
8
7
  import { borderRadius } from '@atlaskit/theme/constants';
9
8
  import { scrollableMaxHeight } from '../../shared-styles';
10
- export var ScrollableStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n padding: 4px 0;\n margin: 0;\n\n background: white;\n max-height: ", ";\n\n border-radius: ", "px;\n"])), scrollableMaxHeight, borderRadius());
9
+ export var ScrollableStyle = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: block;\n overflow-x: hidden;\n overflow-y: auto;\n\n padding: 4px 0;\n margin: 0;\n\n background: ", ";\n max-height: ", ";\n\n border-radius: ", "px;\n"])), token('elevation.surface', 'white'), scrollableMaxHeight, borderRadius());
@@ -11,7 +11,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
11
11
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
12
 
13
13
  import React from 'react';
14
- import { withAnalyticsEvents } from '@atlaskit/analytics-next';
14
+ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
15
15
  import Button from '@atlaskit/button/custom-theme-button';
16
16
  import EditorCloseIcon from '@atlaskit/icon/glyph/editor/close';
17
17
  import Tooltip from '@atlaskit/tooltip';
@@ -19,6 +19,7 @@ import TeamMentionHighlightController from './TeamMentionHighlightController';
19
19
  import { fireAnalyticsTeamMentionHighlightEvent, ComponentNames, Actions } from '../../util/analytics';
20
20
  import { TeamMentionHighlightTitle, TeamMentionHighlightCloseTooltip, TeamMentionHighlightDescription, TeamMentionHighlightDescriptionLink } from '../../util/i18n';
21
21
  import * as Styled from './styles';
22
+ import MessagesIntlProvider from '../MessagesIntlProvider';
22
23
  var ICON_URL = 'data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEyOCIgdmlld0JveD0iMCAwIDEyOCAxMjgiIHdpZHRoPSIxMjgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSI2NCIgY3k9IjY0IiBmaWxsPSIjNTI0M2FhIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHI9IjY0Ii8+PHBhdGggZD0ibTgwIDY0Yy02LjYyNzQxNyAwLTEyLTUuMzcyNTgzLTEyLTEyczUuMzcyNTgzLTEyIDEyLTEyIDEyIDUuMzcyNTgzIDEyIDEyLTUuMzcyNTgzIDEyLTEyIDEyem0tMzItMTJjLTYuNjI3NDE3IDAtMTItNS4zNzI1ODMtMTItMTJzNS4zNzI1ODMtMTIgMTItMTIgMTIgNS4zNzI1ODMgMTIgMTItNS4zNzI1ODMgMTItMTIgMTJ6bTEyIDI0YzAtNC40MiAzLjU0OC04IDgtOGgyNGM0LjQyIDAgOCAzLjU0IDggOHYxNC45MmMwIDEyLjEwOC00MCAxMi4xMDgtNDAgMHptOC0xMmgtLjAxMmMtMy4xODQzNTM3LjAwNDI0LTYuMjM2NTQxIDEuMjczNTYxNS04LjQ4NDg0MjcgMy41Mjg2MTQ5LTIuMjQ4MzAxOCAyLjI1NTA1MzQtMy41MDg0NjU2IDUuMzExMDMzLTMuNTAzMTU3MyA4LjQ5NTM4NTF2MTEuMjI4Yy0xMS43ODQgMi4xMzYtMjgtLjI1Mi0yOC03LjkzNnYtMTUuMzA0YzAtNC40MjQgMy41NDgtOC4wMTIgOC04LjAxMmgyNGMyLjEyMjcwODYtLjAwMzE5MTIgNC4xNTkzOTQ2LjgzODYzODYgNS42NjAzNzggMi4zMzk2MjJzMi4zNDI4MTMyIDMuNTM3NjY5NCAyLjMzOTYyMiA1LjY2MDM3OHoiIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iLjk1Ii8+PC9nPjwvc3ZnPg==';
23
24
  export var TeamMentionHighlightInternal = /*#__PURE__*/function (_React$Component) {
24
25
  _inherits(TeamMentionHighlightInternal, _React$Component);
@@ -133,7 +134,7 @@ export var TeamMentionHighlightInternal = /*#__PURE__*/function (_React$Componen
133
134
  return null;
134
135
  }
135
136
 
136
- return /*#__PURE__*/React.createElement("div", {
137
+ return /*#__PURE__*/React.createElement(MessagesIntlProvider, null, /*#__PURE__*/React.createElement("div", {
137
138
  ref: this.elWrapper
138
139
  }, /*#__PURE__*/React.createElement(Styled.Card, null, /*#__PURE__*/React.createElement(Styled.Content, null, /*#__PURE__*/React.createElement(Styled.Aside, null, /*#__PURE__*/React.createElement("img", {
139
140
  src: ICON_URL,
@@ -163,7 +164,7 @@ export var TeamMentionHighlightInternal = /*#__PURE__*/function (_React$Componen
163
164
  spacing: "none" // on click fired by preventClickOnCard, not here
164
165
 
165
166
  }));
166
- }))))));
167
+ })))))));
167
168
  }
168
169
  }]);
169
170
 
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export var LazyTeamMentionHighlight = /*#__PURE__*/React.lazy(function () {
3
+ return import(
4
+ /* webpackChunkName: "@atlaskit-internal_@atlassian/mention/TeamMentionHighlight" */
5
+ './').then(function (module) {
6
+ return {
7
+ default: module.default
8
+ };
9
+ });
10
+ });
@@ -2,14 +2,15 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
2
2
 
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
4
4
 
5
- import styled from 'styled-components';
5
+ import styled from '@emotion/styled';
6
6
  import { gridSize } from '@atlaskit/theme/constants';
7
7
  import { P50 } from '@atlaskit/theme/colors';
8
8
  import { h400 } from '@atlaskit/theme/typography';
9
+ import { token } from '@atlaskit/tokens';
9
10
  export var Actions = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n justify-content: flex-end;\n margin-top: -", "px; /* Negative margin is used to middle align x button with title*/\n margin-right: ", "px;\n"])), gridSize() * 0.5, gridSize() * 0.5);
10
11
  export var Title = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", ";\n margin-top: 0px;\n"])), h400);
11
12
  export var Heading = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-left: ", "px;\n margin-bottom: ", "px;\n"])), gridSize() * 2, gridSize() * 0.5);
12
- export var Card = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n background-color: ", ";\n overflow: hidden;\n line-height: 21px;\n padding-top: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n padding-right: 0px;\n margin-top: -", "px; /* Negative margin is used to fill the entire top of the mention dropdown with background colour of highlight*/\n"])), P50, gridSize() * 2, gridSize() * 2, gridSize() * 2, gridSize() * 0.5);
13
+ export var Card = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n background-color: ", ";\n overflow: hidden;\n line-height: 21px;\n padding-top: ", "px;\n padding-bottom: ", "px;\n padding-left: ", "px;\n padding-right: 0px;\n margin-top: -", "px; /* Negative margin is used to fill the entire top of the mention dropdown with background colour of highlight*/\n"])), token('color.background.discovery', P50), gridSize() * 2, gridSize() * 2, gridSize() * 2, gridSize() * 0.5);
13
14
  export var Content = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n max-width: 290px;\n display: flex;\n"])));
14
15
  export var Section = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([""])));
15
16
  export var Aside = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n opacity: 0.8;\n"])));
@@ -1,4 +1,4 @@
1
- import { defineMessages } from 'react-intl';
1
+ import { defineMessages } from 'react-intl-next';
2
2
  export var messages = defineMessages({
3
3
  unknownUserError: {
4
4
  id: 'fabric.mention.unknow.user.error',
@@ -1,17 +1,4 @@
1
- var env = 'prod';
2
- var STG_INSTANCE = 'https://api-private.stg.atlassian.com';
3
- var LOCAL_CONFIG = {
4
- getRecommendationServiceUrl: function getRecommendationServiceUrl(baseUrl) {
5
- return baseUrl ? "".concat(STG_INSTANCE, "/").concat(baseUrl, "/gateway/api/v1/recommendations") : "".concat(STG_INSTANCE, "/gateway/api/v1/recommendations");
6
- },
7
- getUsersServiceUrl: function getUsersServiceUrl(productKey) {
8
- return productKey === 'jira' ? "https://jdog.jira-dev.com/rest/api/3/user/bulk" : "https://pug.jira-dev.com/wiki/rest/api/user/bulk";
9
- },
10
- getGraphQLUrl: function getGraphQLUrl(baseUrl) {
11
- return baseUrl ? "".concat(STG_INSTANCE, "/").concat(baseUrl, "/graphql") : "".concat(STG_INSTANCE, "/gateway/api/graphql");
12
- }
13
- };
14
- var PRD_CONFIG = {
1
+ export var config = {
15
2
  getRecommendationServiceUrl: function getRecommendationServiceUrl(baseUrl) {
16
3
  return baseUrl ? "/".concat(baseUrl, "/v1/recommendations") : '/gateway/api/v1/recommendations';
17
4
  },
@@ -21,10 +8,4 @@ var PRD_CONFIG = {
21
8
  getGraphQLUrl: function getGraphQLUrl(baseUrl) {
22
9
  return baseUrl ? "/".concat(baseUrl, "/graphql") : '/gateway/api/graphql';
23
10
  }
24
- };
25
- export var setEnv = function setEnv(newEnv) {
26
- return env = newEnv;
27
- };
28
- export var getConfig = function getConfig() {
29
- return env === 'local' ? LOCAL_CONFIG : PRD_CONFIG;
30
11
  };
@@ -4,7 +4,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
5
5
  import { MentionNameStatus } from '../types';
6
6
  import { graphqlQuery } from './graphqlUtils';
7
- import { getConfig } from '../config';
7
+ import { config } from '../config';
8
8
 
9
9
  var buildUsersQuery = function buildUsersQuery(accountIds) {
10
10
  return {
@@ -70,7 +70,7 @@ export var DefaultMentionNameResolver = /*#__PURE__*/function () {
70
70
  });
71
71
 
72
72
  case 3:
73
- url = getConfig().getGraphQLUrl(this.baseUrl);
73
+ url = config.getGraphQLUrl(this.baseUrl);
74
74
  _context2.next = 6;
75
75
  return makeRequest(url, [id]);
76
76
 
@@ -1,9 +1,10 @@
1
1
  import { borderRadius } from '@atlaskit/theme/constants';
2
2
  import { N40 } from '@atlaskit/theme/colors';
3
- export var noDialogContainerBorderColor = N40; // This has not been confirmed by the ADG yet
3
+ import { token } from '@atlaskit/tokens';
4
+ export var noDialogContainerBorderColor = token('color.border', N40); // This has not been confirmed by the ADG yet
4
5
 
5
6
  export var noDialogContainerBorderRadius = "".concat(borderRadius(), "px");
6
- export var noDialogContainerBoxShadow = '0 4px 8px -2px rgba(9, 30, 66, 0.25), 0 0 1px rgba(9, 30, 66, 0.31)'; // Copied from droplist style
7
+ export var noDialogContainerBoxShadow = token('elevation.shadow.overlay', '0 4px 8px -2px rgba(9, 30, 66, 0.25), 0 0 1px rgba(9, 30, 66, 0.31)'); // Copied from droplist style
7
8
 
8
9
  export var scrollableMaxHeight = '264px';
9
10
  export var mentionListWidth = '340px';
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
4
4
 
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6
6
 
7
7
  import { OPERATIONAL_EVENT_TYPE, UI_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
8
8
  import { ELEMENTS_CHANNEL } from '../_constants';