@atlaskit/mention 27.17.1 → 27.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/api/AbstractMentionResource.js +111 -0
  3. package/dist/cjs/api/AbstractPresenceResource.js +41 -0
  4. package/dist/cjs/api/AbstractResource.js +48 -0
  5. package/dist/cjs/api/Callback.js +5 -0
  6. package/dist/cjs/api/DefaultMentionNameResolver.js +178 -0
  7. package/dist/cjs/api/DefaultPresenceCache.js +159 -0
  8. package/dist/cjs/api/DefaultPresenceParser.js +91 -0
  9. package/dist/cjs/api/HttpError.js +16 -0
  10. package/dist/cjs/api/MentionNameResolver.js +13 -201
  11. package/dist/cjs/api/MentionResource.js +52 -157
  12. package/dist/cjs/api/PresenceResource.js +39 -263
  13. package/dist/cjs/api/Queue.js +5 -0
  14. package/dist/cjs/api/isResolvingMentionProvider.js +9 -0
  15. package/dist/cjs/api/mergeNameResolverQueues.js +36 -0
  16. package/dist/cjs/components/Mention/MentionInternal.js +247 -0
  17. package/dist/cjs/components/Mention/ResourcedMention.js +5 -4
  18. package/dist/cjs/components/Mention/index.js +29 -243
  19. package/dist/cjs/components/MentionAvatar/index.js +5 -4
  20. package/dist/cjs/components/MentionItem/index.js +18 -12
  21. package/dist/cjs/components/MentionList/index.js +4 -3
  22. package/dist/cjs/components/MentionPicker/MentionPicker.js +231 -0
  23. package/dist/cjs/components/MentionPicker/index.js +18 -225
  24. package/dist/cjs/components/MessagesIntlProvider/index.js +2 -2
  25. package/dist/cjs/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +228 -0
  26. package/dist/cjs/components/ResourcedMentionList/index.js +14 -223
  27. package/dist/cjs/index.js +17 -15
  28. package/dist/cjs/is-agent-mention.js +12 -0
  29. package/dist/cjs/is-app-mention.js +10 -0
  30. package/dist/cjs/is-promise.js +9 -0
  31. package/dist/cjs/is-restricted.js +10 -0
  32. package/dist/cjs/is-special-mention-text.js +9 -0
  33. package/dist/cjs/is-special-mention.js +10 -0
  34. package/dist/cjs/is-team-mention.js +10 -0
  35. package/dist/cjs/resource.js +15 -12
  36. package/dist/cjs/team-resource.js +9 -9
  37. package/dist/cjs/typeahead.js +4 -0
  38. package/dist/cjs/types.js +71 -30
  39. package/dist/cjs/util/actual-mouse-move.js +14 -0
  40. package/dist/cjs/util/analytics.js +91 -107
  41. package/dist/cjs/util/build-sli-payload.js +27 -0
  42. package/dist/cjs/util/fire-analytics-mention-event.js +32 -0
  43. package/dist/cjs/util/fire-analytics-mention-hydration-event.js +33 -0
  44. package/dist/cjs/util/fire-analytics-mention-typeahead-event.js +34 -0
  45. package/dist/cjs/util/fire-analytics.js +18 -0
  46. package/dist/cjs/util/fire-sli-analytics-event.js +16 -0
  47. package/dist/cjs/util/get-messages-for-locale.js +233 -0
  48. package/dist/cjs/util/i18n.js +9 -254
  49. package/dist/cjs/util/left-click.js +9 -0
  50. package/dist/cjs/util/mouse-location.js +12 -0
  51. package/dist/cjs/util/mouse.js +1 -26
  52. package/dist/cjs/util/package-name.js +7 -0
  53. package/dist/cjs/util/package-version.js +7 -0
  54. package/dist/cjs/util/prop-formatter.js +25 -0
  55. package/dist/es2019/api/AbstractMentionResource.js +73 -0
  56. package/dist/es2019/api/AbstractPresenceResource.js +17 -0
  57. package/dist/es2019/api/AbstractResource.js +33 -0
  58. package/dist/es2019/api/Callback.js +1 -0
  59. package/dist/es2019/api/DefaultMentionNameResolver.js +152 -0
  60. package/dist/es2019/api/DefaultPresenceCache.js +111 -0
  61. package/dist/es2019/api/DefaultPresenceParser.js +58 -0
  62. package/dist/es2019/api/HttpError.js +8 -0
  63. package/dist/es2019/api/MentionNameResolver.js +13 -176
  64. package/dist/es2019/api/MentionResource.js +28 -122
  65. package/dist/es2019/api/PresenceResource.js +19 -185
  66. package/dist/es2019/api/Queue.js +1 -0
  67. package/dist/es2019/api/isResolvingMentionProvider.js +1 -0
  68. package/dist/es2019/api/mergeNameResolverQueues.js +25 -0
  69. package/dist/es2019/components/Mention/MentionInternal.js +225 -0
  70. package/dist/es2019/components/Mention/ResourcedMention.js +4 -3
  71. package/dist/es2019/components/Mention/index.js +19 -223
  72. package/dist/es2019/components/MentionAvatar/index.js +3 -2
  73. package/dist/es2019/components/MentionItem/index.js +14 -8
  74. package/dist/es2019/components/MentionList/index.js +2 -1
  75. package/dist/es2019/components/MentionPicker/MentionPicker.js +198 -0
  76. package/dist/es2019/components/MentionPicker/index.js +15 -198
  77. package/dist/es2019/components/MessagesIntlProvider/index.js +1 -1
  78. package/dist/es2019/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +187 -0
  79. package/dist/es2019/components/ResourcedMentionList/index.js +9 -187
  80. package/dist/es2019/element.js +5 -0
  81. package/dist/es2019/index.js +13 -9
  82. package/dist/es2019/is-agent-mention.js +6 -0
  83. package/dist/es2019/is-app-mention.js +4 -0
  84. package/dist/es2019/is-promise.js +1 -0
  85. package/dist/es2019/is-restricted.js +4 -0
  86. package/dist/es2019/is-special-mention-text.js +3 -0
  87. package/dist/es2019/is-special-mention.js +4 -0
  88. package/dist/es2019/is-team-mention.js +4 -0
  89. package/dist/es2019/item.js +5 -0
  90. package/dist/es2019/resource.js +15 -5
  91. package/dist/es2019/team-resource.js +10 -4
  92. package/dist/es2019/typeahead.js +5 -0
  93. package/dist/es2019/types.js +30 -21
  94. package/dist/es2019/util/actual-mouse-move.js +8 -0
  95. package/dist/es2019/util/analytics.js +35 -91
  96. package/dist/es2019/util/build-sli-payload.js +18 -0
  97. package/dist/es2019/util/fire-analytics-mention-event.js +24 -0
  98. package/dist/es2019/util/fire-analytics-mention-hydration-event.js +25 -0
  99. package/dist/es2019/util/fire-analytics-mention-typeahead-event.js +24 -0
  100. package/dist/es2019/util/fire-analytics.js +10 -0
  101. package/dist/es2019/util/fire-sli-analytics-event.js +8 -0
  102. package/dist/es2019/util/get-messages-for-locale.js +145 -0
  103. package/dist/es2019/util/i18n.js +2 -165
  104. package/dist/es2019/util/left-click.js +3 -0
  105. package/dist/es2019/util/mouse-location.js +6 -0
  106. package/dist/es2019/util/mouse.js +0 -18
  107. package/dist/es2019/util/package-name.js +1 -0
  108. package/dist/es2019/util/package-version.js +1 -0
  109. package/dist/es2019/util/prop-formatter.js +18 -0
  110. package/dist/esm/api/AbstractMentionResource.js +104 -0
  111. package/dist/esm/api/AbstractPresenceResource.js +34 -0
  112. package/dist/esm/api/AbstractResource.js +41 -0
  113. package/dist/esm/api/Callback.js +1 -0
  114. package/dist/esm/api/DefaultMentionNameResolver.js +171 -0
  115. package/dist/esm/api/DefaultPresenceCache.js +152 -0
  116. package/dist/esm/api/DefaultPresenceParser.js +84 -0
  117. package/dist/esm/api/HttpError.js +9 -0
  118. package/dist/esm/api/MentionNameResolver.js +13 -198
  119. package/dist/esm/api/MentionResource.js +30 -154
  120. package/dist/esm/api/PresenceResource.js +22 -256
  121. package/dist/esm/api/Queue.js +1 -0
  122. package/dist/esm/api/isResolvingMentionProvider.js +3 -0
  123. package/dist/esm/api/mergeNameResolverQueues.js +29 -0
  124. package/dist/esm/components/Mention/MentionInternal.js +242 -0
  125. package/dist/esm/components/Mention/ResourcedMention.js +4 -3
  126. package/dist/esm/components/Mention/index.js +19 -240
  127. package/dist/esm/components/MentionAvatar/index.js +3 -2
  128. package/dist/esm/components/MentionItem/index.js +14 -8
  129. package/dist/esm/components/MentionList/index.js +2 -1
  130. package/dist/esm/components/MentionPicker/MentionPicker.js +225 -0
  131. package/dist/esm/components/MentionPicker/index.js +15 -225
  132. package/dist/esm/components/MessagesIntlProvider/index.js +1 -1
  133. package/dist/esm/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.js +221 -0
  134. package/dist/esm/components/ResourcedMentionList/index.js +9 -221
  135. package/dist/esm/element.js +5 -0
  136. package/dist/esm/index.js +13 -9
  137. package/dist/esm/is-agent-mention.js +6 -0
  138. package/dist/esm/is-app-mention.js +4 -0
  139. package/dist/esm/is-promise.js +3 -0
  140. package/dist/esm/is-restricted.js +4 -0
  141. package/dist/esm/is-special-mention-text.js +3 -0
  142. package/dist/esm/is-special-mention.js +4 -0
  143. package/dist/esm/is-team-mention.js +4 -0
  144. package/dist/esm/item.js +5 -0
  145. package/dist/esm/resource.js +15 -5
  146. package/dist/esm/team-resource.js +10 -4
  147. package/dist/esm/typeahead.js +5 -0
  148. package/dist/esm/types.js +30 -23
  149. package/dist/esm/util/actual-mouse-move.js +8 -0
  150. package/dist/esm/util/analytics.js +35 -105
  151. package/dist/esm/util/build-sli-payload.js +20 -0
  152. package/dist/esm/util/fire-analytics-mention-event.js +26 -0
  153. package/dist/esm/util/fire-analytics-mention-hydration-event.js +27 -0
  154. package/dist/esm/util/fire-analytics-mention-typeahead-event.js +28 -0
  155. package/dist/esm/util/fire-analytics.js +12 -0
  156. package/dist/esm/util/fire-sli-analytics-event.js +10 -0
  157. package/dist/esm/util/get-messages-for-locale.js +163 -0
  158. package/dist/esm/util/i18n.js +2 -183
  159. package/dist/esm/util/left-click.js +3 -0
  160. package/dist/esm/util/mouse-location.js +6 -0
  161. package/dist/esm/util/mouse.js +0 -18
  162. package/dist/esm/util/package-name.js +1 -0
  163. package/dist/esm/util/package-version.js +1 -0
  164. package/dist/esm/util/prop-formatter.js +18 -0
  165. package/dist/types/api/AbstractMentionResource.d.ts +15 -0
  166. package/dist/types/api/AbstractPresenceResource.d.ts +6 -0
  167. package/dist/types/api/AbstractResource.d.ts +11 -0
  168. package/dist/types/api/Callback.d.ts +4 -0
  169. package/dist/types/api/DefaultMentionNameResolver.d.ts +27 -0
  170. package/dist/types/api/DefaultPresenceCache.d.ts +57 -0
  171. package/dist/types/api/DefaultPresenceParser.d.ts +8 -0
  172. package/dist/types/api/HttpError.d.ts +7 -0
  173. package/dist/types/api/MentionNameResolver.d.ts +14 -35
  174. package/dist/types/api/MentionResource.d.ts +18 -33
  175. package/dist/types/api/PresenceResource.d.ts +15 -69
  176. package/dist/types/api/Queue.d.ts +2 -0
  177. package/dist/types/api/isResolvingMentionProvider.d.ts +2 -0
  178. package/dist/types/api/mergeNameResolverQueues.d.ts +6 -0
  179. package/dist/types/components/Mention/MentionInternal.d.ts +27 -0
  180. package/dist/types/components/Mention/ResourcedMention.d.ts +1 -1
  181. package/dist/types/components/Mention/index.d.ts +9 -20
  182. package/dist/types/components/MentionAvatar/index.d.ts +1 -1
  183. package/dist/types/components/MentionItem/index.d.ts +4 -1
  184. package/dist/types/components/MentionPicker/MentionPicker.d.ts +46 -0
  185. package/dist/types/components/MentionPicker/index.d.ts +5 -42
  186. package/dist/types/components/ResourcedMentionList/ResourcedMentionListWithoutAnalytics.d.ts +30 -0
  187. package/dist/types/components/ResourcedMentionList/index.d.ts +5 -27
  188. package/dist/types/element.d.ts +3 -0
  189. package/dist/types/index.d.ts +15 -10
  190. package/dist/types/is-agent-mention.d.ts +2 -0
  191. package/dist/types/is-app-mention.d.ts +2 -0
  192. package/dist/types/is-promise.d.ts +1 -0
  193. package/dist/types/is-restricted.d.ts +1 -0
  194. package/dist/types/is-special-mention-text.d.ts +1 -0
  195. package/dist/types/is-special-mention.d.ts +2 -0
  196. package/dist/types/is-team-mention.d.ts +2 -0
  197. package/dist/types/item.d.ts +3 -0
  198. package/dist/types/resource.d.ts +15 -6
  199. package/dist/types/team-resource.d.ts +10 -4
  200. package/dist/types/typeahead.d.ts +3 -0
  201. package/dist/types/types.d.ts +28 -8
  202. package/dist/types/util/actual-mouse-move.d.ts +2 -0
  203. package/dist/types/util/analytics.d.ts +33 -10
  204. package/dist/types/util/build-sli-payload.d.ts +4 -0
  205. package/dist/types/util/fire-analytics-mention-event.d.ts +1 -0
  206. package/dist/types/util/fire-analytics-mention-hydration-event.d.ts +1 -0
  207. package/dist/types/util/fire-analytics-mention-typeahead-event.d.ts +1 -0
  208. package/dist/types/util/fire-analytics.d.ts +1 -0
  209. package/dist/types/util/fire-sli-analytics-event.d.ts +1 -0
  210. package/dist/types/util/get-messages-for-locale.d.ts +11 -0
  211. package/dist/types/util/i18n.d.ts +0 -15
  212. package/dist/types/util/left-click.d.ts +2 -0
  213. package/dist/types/util/mouse-location.d.ts +3 -0
  214. package/dist/types/util/mouse.d.ts +0 -4
  215. package/dist/types/util/package-name.d.ts +1 -0
  216. package/dist/types/util/package-version.d.ts +1 -0
  217. package/dist/types/util/prop-formatter.d.ts +5 -0
  218. package/package.json +2 -2
  219. package/dist/cjs/i18n/index.js +0 -216
  220. package/dist/es2019/i18n/index.js +0 -37
  221. package/dist/esm/i18n/index.js +0 -37
  222. package/dist/types/i18n/index.d.ts +0 -37
  223. /package/dist/cjs/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
  224. /package/dist/es2019/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
  225. /package/dist/esm/components/Mention/{index.compiled.css → MentionInternal.compiled.css} +0 -0
@@ -4,234 +4,27 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.MentionPickerWithAnalytics = exports.MentionPicker = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _react = _interopRequireDefault(require("react"));
7
+ Object.defineProperty(exports, "MentionPicker", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _MentionPicker.MentionPicker;
11
+ }
12
+ });
13
+ exports.default = exports.MentionPickerWithAnalytics = void 0;
15
14
  var _reactIntl = require("react-intl");
16
- var _compiled = require("@atlaskit/primitives/compiled");
17
15
  var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
18
- var _analytics = require("../../util/analytics");
19
- var _id = _interopRequireDefault(require("../../util/id"));
20
- var _logger = _interopRequireDefault(require("../../util/logger"));
21
- var _Popup = _interopRequireDefault(require("../Popup"));
22
- var _ResourcedMentionList = _interopRequireDefault(require("../ResourcedMentionList"));
23
- var _styles = require("./styles");
24
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
25
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
26
- /**
27
- * @class MentionPicker
28
- */
29
- var MentionPicker = exports.MentionPicker = /*#__PURE__*/function (_React$PureComponent) {
30
- function MentionPicker(props) {
31
- var _this;
32
- (0, _classCallCheck2.default)(this, MentionPicker);
33
- _this = _callSuper(this, MentionPicker, [props]);
34
- (0, _defineProperty2.default)(_this, "selectNext", function () {
35
- if (_this.mentionListRef) {
36
- _this.mentionListRef.selectNext();
37
- }
38
- });
39
- (0, _defineProperty2.default)(_this, "selectPrevious", function () {
40
- if (_this.mentionListRef) {
41
- _this.mentionListRef.selectPrevious();
42
- }
43
- });
44
- (0, _defineProperty2.default)(_this, "selectIndex", function (index, callback) {
45
- if (_this.mentionListRef) {
46
- _this.mentionListRef.selectIndex(index, callback);
47
- }
48
- });
49
- (0, _defineProperty2.default)(_this, "selectId", function (id, callback) {
50
- if (_this.mentionListRef) {
51
- _this.mentionListRef.selectId(id, callback);
52
- }
53
- });
54
- (0, _defineProperty2.default)(_this, "chooseCurrentSelection", function () {
55
- if (_this.mentionListRef) {
56
- _this.mentionListRef.chooseCurrentSelection();
57
- }
58
- });
59
- (0, _defineProperty2.default)(_this, "mentionsCount", function () {
60
- if (_this.mentionListRef) {
61
- return _this.mentionListRef.mentionsCount();
62
- }
63
- return 0;
64
- });
65
- /**
66
- * Called after the 'visible' state is changed to decide whether the onOpen or onClose
67
- * handlers should be called.
68
- *
69
- * It should be noted that the visible state of the component is not considered in
70
- * this function. Instead the old state and new state should be passed as parameters.
71
- */
72
- (0, _defineProperty2.default)(_this, "onFilterVisibilityChange", function (oldVisibility, newVisibility) {
73
- if (oldVisibility !== newVisibility) {
74
- if (newVisibility) {
75
- if (_this.props.onOpen) {
76
- _this.props.onOpen();
77
- }
78
- } else {
79
- if (_this.props.onClose) {
80
- _this.props.onClose();
81
- }
82
- }
83
- }
84
- });
85
- // internal, used for callbacks
86
- (0, _defineProperty2.default)(_this, "filterChange", function (mentions, query, stats) {
87
- (0, _logger.default)('ak-mention-picker.filterChange', mentions.length);
88
- var wasVisible = _this.state.visible;
89
- var visible = mentions.length > 0;
90
- _this.setState({
91
- visible: visible
92
- });
93
- _this.onFilterVisibilityChange(wasVisible, visible);
94
- (0, _analytics.fireAnalyticsMentionTypeaheadEvent)(_this.props)('rendered', stats && stats.duration, mentions.map(function (mention) {
95
- return mention.id;
96
- }), query);
97
- });
98
- (0, _defineProperty2.default)(_this, "filterError", function (error) {
99
- (0, _logger.default)('ak-mention-picker.filterError', error);
100
- var wasVisible = _this.state.visible;
101
- _this.setState({
102
- visible: true,
103
- info: undefined
104
- });
105
- _this.onFilterVisibilityChange(wasVisible, true);
106
- });
107
- (0, _defineProperty2.default)(_this, "filterInfo", function (info) {
108
- (0, _logger.default)('ak-mention-picker.filterInfo', info);
109
- _this.setState({
110
- info: info
111
- });
112
- });
113
- (0, _defineProperty2.default)(_this, "handleMentionListRef", function (ref) {
114
- _this.mentionListRef = ref;
115
- });
116
- _this.subscriberKey = (0, _id.default)('ak-mention-picker');
117
- _this.state = {
118
- visible: false
119
- };
120
- _this.applyPropChanges({}, props);
121
- return _this;
122
- }
123
- (0, _inherits2.default)(MentionPicker, _React$PureComponent);
124
- return (0, _createClass2.default)(MentionPicker, [{
125
- key: "componentDidMount",
126
- value: function componentDidMount() {
127
- this.subscribeResourceProvider(this.props.resourceProvider);
128
- }
129
- }, {
130
- key: "UNSAFE_componentWillReceiveProps",
131
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
132
- this.applyPropChanges(this.props, nextProps);
133
- }
134
- }, {
135
- key: "componentWillUnmount",
136
- value: function componentWillUnmount() {
137
- this.unsubscribeResourceProvider(this.props.resourceProvider);
138
- }
139
- }, {
140
- key: "applyPropChanges",
141
- value:
142
- // Internal
143
- function applyPropChanges(prevProps, nextProps) {
144
- var oldResourceProvider = prevProps.resourceProvider;
145
- var newResourceProvider = nextProps.resourceProvider;
146
- var resourceProviderChanged = oldResourceProvider !== newResourceProvider;
16
+ var _MentionPicker = require("./MentionPicker");
17
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
147
18
 
148
- // resource provider
149
- if (resourceProviderChanged) {
150
- this.unsubscribeResourceProvider(oldResourceProvider);
151
- this.subscribeResourceProvider(newResourceProvider);
152
- }
153
- }
154
- }, {
155
- key: "subscribeResourceProvider",
156
- value: function subscribeResourceProvider(resourceProvider) {
157
- if (resourceProvider) {
158
- resourceProvider.subscribe(this.subscriberKey, this.filterChange, this.filterError, this.filterInfo, undefined);
159
- }
160
- }
161
- }, {
162
- key: "unsubscribeResourceProvider",
163
- value: function unsubscribeResourceProvider(resourceProvider) {
164
- if (resourceProvider) {
165
- resourceProvider.unsubscribe(this.subscriberKey);
166
- }
167
- }
168
- }, {
169
- key: "render",
170
- value: function render() {
171
- var _this$props = this.props,
172
- resourceProvider = _this$props.resourceProvider,
173
- presenceProvider = _this$props.presenceProvider,
174
- onSelection = _this$props.onSelection,
175
- query = _this$props.query,
176
- target = _this$props.target,
177
- position = _this$props.position,
178
- zIndex = _this$props.zIndex,
179
- offsetX = _this$props.offsetX,
180
- offsetY = _this$props.offsetY,
181
- intl = _this$props.intl;
182
- var _this$state = this.state,
183
- visible = _this$state.visible,
184
- info = _this$state.info;
185
- var resourceMentionList = /*#__PURE__*/_react.default.createElement(_ResourcedMentionList.default, {
186
- resourceProvider: resourceProvider,
187
- presenceProvider: presenceProvider,
188
- onSelection: onSelection,
189
- query: query,
190
- ref: this.handleMentionListRef
191
- });
192
- var infoContent = info && !visible ? /*#__PURE__*/_react.default.createElement(_styles.MentionPickerInfoStyle, null, /*#__PURE__*/_react.default.createElement(_compiled.Text, {
193
- as: "p"
194
- }, info)) : null;
195
- var content;
196
- if (position) {
197
- (0, _logger.default)('target, position', target, position);
198
- if (target) {
199
- content = /*#__PURE__*/_react.default.createElement(_Popup.default, {
200
- target: target,
201
- relativePosition: position,
202
- zIndex: zIndex,
203
- offsetX: offsetX,
204
- offsetY: offsetY
205
- }, /*#__PURE__*/_react.default.createElement(_reactIntl.IntlProvider, {
206
- locale: (intl === null || intl === void 0 ? void 0 : intl.locale) || 'en'
207
- }, /*#__PURE__*/_react.default.createElement("div", null, resourceMentionList, infoContent)));
208
- } else {
209
- // don't show if we have a position, but no target yet
210
- content = null;
211
- }
212
- } else {
213
- content = /*#__PURE__*/_react.default.createElement("div", null, resourceMentionList, infoContent);
214
- }
215
- return (
216
- /*#__PURE__*/
217
- /* old classnames are essential for Confluence tests */
218
- _react.default.createElement(_styles.MentionPickerStyle
219
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
220
- , {
221
- className: "ak-mention-picker",
222
- visible: visible || info
223
- }, content)
224
- );
225
- }
226
- }]);
227
- }(_react.default.PureComponent);
228
- (0, _defineProperty2.default)(MentionPicker, "defaultProps", {
229
- onSelection: function onSelection() {},
230
- onOpen: function onOpen() {},
231
- onClose: function onClose() {}
232
- });
233
- var MentionPickerWithIntl = (0, _reactIntl.injectIntl)(MentionPicker, {
19
+ var MentionPickerWithIntl = (0, _reactIntl.injectIntl)(_MentionPicker.MentionPicker, {
234
20
  forwardRef: true
235
21
  });
236
22
  var MentionPickerWithAnalytics = exports.MentionPickerWithAnalytics = (0, _withAnalyticsEvents.default)({})(MentionPickerWithIntl);
237
- var _default = exports.default = MentionPickerWithAnalytics;
23
+
24
+ // Merges with the `const` above so that `MentionPickerWithAnalytics` is usable in a type
25
+ // position as the component instance type (e.g. for refs). Both halves of a declaration
26
+ // merge must live in the same module, so this alias cannot be split out.
27
+ var _default = exports.default = MentionPickerWithAnalytics;
28
+ /**
29
+ * @deprecated Use `import { MentionPicker } from '@atlaskit/mention/mention-picker'` instead.
30
+ */
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _reactIntl = require("react-intl");
12
- var _i18n = require("../../util/i18n");
12
+ var _getMessagesForLocale = require("../../util/get-messages-for-locale");
13
13
  var EMPTY = {};
14
14
  var useI18n = function useI18n(locale) {
15
15
  var _React$useState = _react.default.useState(EMPTY),
@@ -19,7 +19,7 @@ var useI18n = function useI18n(locale) {
19
19
  _react.default.useEffect(function () {
20
20
  var aborted = false;
21
21
  setMessages(EMPTY);
22
- (0, _i18n.getMessagesForLocale)(locale).then(function (messages) {
22
+ (0, _getMessagesForLocale.getMessagesForLocale)(locale).then(function (messages) {
23
23
  if (!aborted) {
24
24
  setMessages(messages);
25
25
  }
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ResourcedMentionListWithoutAnalytics = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _analytics = require("../../util/analytics");
16
+ var _fireSliAnalyticsEvent = require("../../util/fire-sli-analytics-event");
17
+ var _id = _interopRequireDefault(require("../../util/id"));
18
+ var _logger = _interopRequireDefault(require("../../util/logger"));
19
+ var _MentionList = _interopRequireDefault(require("../MentionList"));
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ function applyPresence(mentions, presences) {
25
+ var updatedMentions = [];
26
+ for (var i = 0; i < mentions.length; i++) {
27
+ // Shallow copy
28
+ var mention = _objectSpread({}, mentions[i]);
29
+ var presence = presences[mention.id];
30
+ if (presence) {
31
+ mention.presence = presence;
32
+ }
33
+ updatedMentions.push(mention);
34
+ }
35
+ return updatedMentions;
36
+ }
37
+ function extractPresences(mentions) {
38
+ var presences = {};
39
+ for (var i = 0; i < mentions.length; i++) {
40
+ var mention = mentions[i];
41
+ if (mention.presence) {
42
+ presences[mention.id] = mention.presence;
43
+ }
44
+ }
45
+ return presences;
46
+ }
47
+ var ResourcedMentionListWithoutAnalytics = exports.ResourcedMentionListWithoutAnalytics = /*#__PURE__*/function (_React$PureComponent) {
48
+ function ResourcedMentionListWithoutAnalytics(props) {
49
+ var _this;
50
+ (0, _classCallCheck2.default)(this, ResourcedMentionListWithoutAnalytics);
51
+ _this = _callSuper(this, ResourcedMentionListWithoutAnalytics, [props]);
52
+ // API
53
+ (0, _defineProperty2.default)(_this, "selectNext", function () {
54
+ if (_this.mentionListRef) {
55
+ _this.mentionListRef.selectNext();
56
+ }
57
+ });
58
+ (0, _defineProperty2.default)(_this, "selectPrevious", function () {
59
+ if (_this.mentionListRef) {
60
+ _this.mentionListRef.selectPrevious();
61
+ }
62
+ });
63
+ (0, _defineProperty2.default)(_this, "selectIndex", function (index, callback) {
64
+ if (_this.mentionListRef) {
65
+ _this.mentionListRef.selectIndex(index, callback);
66
+ }
67
+ });
68
+ (0, _defineProperty2.default)(_this, "selectId", function (id, callback) {
69
+ if (_this.mentionListRef) {
70
+ _this.mentionListRef.selectId(id, callback);
71
+ }
72
+ });
73
+ (0, _defineProperty2.default)(_this, "chooseCurrentSelection", function () {
74
+ if (_this.mentionListRef) {
75
+ _this.mentionListRef.chooseCurrentSelection();
76
+ }
77
+ });
78
+ (0, _defineProperty2.default)(_this, "mentionsCount", function () {
79
+ if (_this.mentionListRef) {
80
+ return _this.mentionListRef.mentionsCount();
81
+ }
82
+ return 0;
83
+ });
84
+ // internal, used for callbacks
85
+ (0, _defineProperty2.default)(_this, "filterChange", function (mentions) {
86
+ // Retain known presence
87
+ var currentPresences = extractPresences(_this.state.mentions);
88
+ _this.setState({
89
+ resourceError: undefined,
90
+ mentions: applyPresence(mentions, currentPresences)
91
+ });
92
+ _this.refreshPresences(mentions);
93
+ });
94
+ (0, _defineProperty2.default)(_this, "sendAnalytics", function (event, actionSubject, action) {
95
+ if (event === _analytics.SLI_EVENT_TYPE) {
96
+ (0, _fireSliAnalyticsEvent.fireSliAnalyticsEvent)(_this.props)(actionSubject, action);
97
+ }
98
+ });
99
+ (0, _defineProperty2.default)(_this, "filterError", function (error) {
100
+ (0, _logger.default)('ak-resourced-mentions-list._filterError', error);
101
+ _this.setState({
102
+ resourceError: error
103
+ });
104
+ });
105
+ (0, _defineProperty2.default)(_this, "presenceUpdate", function (presences) {
106
+ _this.setState({
107
+ mentions: applyPresence(_this.state.mentions, presences)
108
+ });
109
+ });
110
+ (0, _defineProperty2.default)(_this, "notifySelection", function (mention) {
111
+ _this.props.resourceProvider.recordMentionSelection(mention);
112
+ if (_this.props.onSelection) {
113
+ _this.props.onSelection(mention);
114
+ }
115
+ });
116
+ (0, _defineProperty2.default)(_this, "handleMentionListRef", function (ref) {
117
+ _this.mentionListRef = ref;
118
+ });
119
+ _this.subscriberKey = (0, _id.default)('ak-resourced-mention-list');
120
+ _this.state = {
121
+ resourceError: undefined,
122
+ mentions: []
123
+ };
124
+ _this.applyPropChanges({}, props);
125
+ return _this;
126
+ }
127
+ (0, _inherits2.default)(ResourcedMentionListWithoutAnalytics, _React$PureComponent);
128
+ return (0, _createClass2.default)(ResourcedMentionListWithoutAnalytics, [{
129
+ key: "componentDidMount",
130
+ value: function componentDidMount() {
131
+ this.subscribeMentionProvider(this.props.resourceProvider);
132
+ this.subscribePresenceProvider(this.props.presenceProvider);
133
+ }
134
+ }, {
135
+ key: "UNSAFE_componentWillReceiveProps",
136
+ value: function UNSAFE_componentWillReceiveProps(nextProps) {
137
+ this.applyPropChanges(this.props, nextProps);
138
+ }
139
+ }, {
140
+ key: "componentWillUnmount",
141
+ value: function componentWillUnmount() {
142
+ this.unsubscribeMentionProvider(this.props.resourceProvider);
143
+ this.unsubscribePresenceProvider(this.props.presenceProvider);
144
+ }
145
+ }, {
146
+ key: "subscribeMentionProvider",
147
+ value:
148
+ // internal
149
+ function subscribeMentionProvider(mentionProvider) {
150
+ if (mentionProvider) {
151
+ mentionProvider.subscribe(this.subscriberKey, this.filterChange, this.filterError, undefined, undefined, this.sendAnalytics);
152
+ }
153
+ }
154
+ }, {
155
+ key: "subscribePresenceProvider",
156
+ value: function subscribePresenceProvider(presenceProvider) {
157
+ if (presenceProvider) {
158
+ presenceProvider.subscribe(this.subscriberKey, this.presenceUpdate);
159
+ }
160
+ }
161
+ }, {
162
+ key: "unsubscribeMentionProvider",
163
+ value: function unsubscribeMentionProvider(mentionProvider) {
164
+ if (mentionProvider) {
165
+ mentionProvider.unsubscribe(this.subscriberKey);
166
+ }
167
+ }
168
+ }, {
169
+ key: "unsubscribePresenceProvider",
170
+ value: function unsubscribePresenceProvider(presenceProvider) {
171
+ if (presenceProvider) {
172
+ presenceProvider.unsubscribe(this.subscriberKey);
173
+ }
174
+ }
175
+ }, {
176
+ key: "applyPropChanges",
177
+ value: function applyPropChanges(prevProps, nextProps) {
178
+ var oldResourceProvider = prevProps.resourceProvider;
179
+ var oldPresenceProvider = prevProps.presenceProvider;
180
+ var oldQuery = prevProps.query;
181
+ var newResourceProvider = nextProps.resourceProvider;
182
+ var newPresenceProvider = nextProps.presenceProvider;
183
+ var newQuery = nextProps.query;
184
+ var resourceProviderChanged = oldResourceProvider !== newResourceProvider;
185
+ var queryChanged = oldQuery !== newQuery;
186
+ var canFilter = !!(typeof newQuery === 'string' && newResourceProvider);
187
+ var shouldFilter = canFilter && (queryChanged || resourceProviderChanged);
188
+
189
+ // resource provider
190
+ if (resourceProviderChanged) {
191
+ this.unsubscribeMentionProvider(oldResourceProvider);
192
+ this.subscribeMentionProvider(newResourceProvider);
193
+ }
194
+
195
+ // presence provider
196
+ if (oldPresenceProvider !== newPresenceProvider) {
197
+ this.unsubscribePresenceProvider(oldPresenceProvider);
198
+ this.subscribePresenceProvider(newPresenceProvider);
199
+ }
200
+ if (shouldFilter) {
201
+ newResourceProvider.filter(newQuery);
202
+ }
203
+ }
204
+ }, {
205
+ key: "refreshPresences",
206
+ value: function refreshPresences(mentions) {
207
+ if (this.props.presenceProvider) {
208
+ var ids = mentions.map(function (mention) {
209
+ return mention.id;
210
+ });
211
+ this.props.presenceProvider.refreshPresence(ids);
212
+ }
213
+ }
214
+ }, {
215
+ key: "render",
216
+ value: function render() {
217
+ var _this$state = this.state,
218
+ mentions = _this$state.mentions,
219
+ resourceError = _this$state.resourceError;
220
+ return /*#__PURE__*/_react.default.createElement(_MentionList.default, {
221
+ mentions: mentions,
222
+ resourceError: resourceError,
223
+ onSelection: this.notifySelection,
224
+ ref: this.handleMentionListRef
225
+ });
226
+ }
227
+ }]);
228
+ }(_react.default.PureComponent);