@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
@@ -0,0 +1,4 @@
1
+ import { UserType } from './types';
2
+ export function isSpecialMention(mention) {
3
+ return !!mention.userType && mention.userType === UserType[UserType.SPECIAL];
4
+ }
@@ -0,0 +1,4 @@
1
+ import { UserType } from './types';
2
+ export function isTeamMention(mention) {
3
+ return mention.userType && mention.userType === UserType[UserType.TEAM];
4
+ }
@@ -1,4 +1,9 @@
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
1
2
  import MentionItem, { MENTION_ITEM_HEIGHT, MENTION_ITEM_HEIGHT_REFRESHED } from './components/MentionItem';
3
+
4
+ /**
5
+ * @deprecated Use `import MentionItem, { MENTION_ITEM_HEIGHT, MENTION_ITEM_HEIGHT_REFRESHED } from '@atlaskit/mention/mention-item'` instead.
6
+ */
2
7
  export {
3
8
  // Components
4
9
  MentionItem, MENTION_ITEM_HEIGHT, MENTION_ITEM_HEIGHT_REFRESHED };
@@ -1,10 +1,20 @@
1
- import MentionResource, { AbstractMentionResource, isResolvingMentionProvider } from './api/MentionResource';
2
- import PresenceResource, { AbstractPresenceResource } from './api/PresenceResource';
3
- import { DefaultMentionNameResolver } from './api/MentionNameResolver';
4
- import { isSpecialMention, MentionNameStatus } from './types';
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
5
2
  import { ELEMENTS_CHANNEL } from './_constants';
3
+ import { AbstractMentionResource } from './api/AbstractMentionResource';
4
+ import { AbstractPresenceResource } from './api/AbstractPresenceResource';
6
5
  import ContextMentionResource from './api/ContextMentionResource';
7
- import { SLI_EVENT_TYPE, SMART_EVENT_TYPE, buildSliPayload } from './util/analytics';
6
+ import { DefaultMentionNameResolver } from './api/DefaultMentionNameResolver';
7
+ import MentionResource from './api/MentionResource';
8
+ import { isResolvingMentionProvider } from './api/isResolvingMentionProvider';
9
+ import PresenceResource from './api/PresenceResource';
10
+ import { isSpecialMention } from './is-special-mention';
11
+ import { MentionNameStatus } from './types';
12
+ import { SLI_EVENT_TYPE, SMART_EVENT_TYPE } from './util/analytics';
13
+ import { buildSliPayload } from './util/build-sli-payload';
14
+
15
+ /**
16
+ * @deprecated Use `import ContextMentionResource, { MentionResource, PresenceResource, DefaultMentionNameResolver, MentionNameStatus, isSpecialMention, isResolvingMentionProvider, ELEMENTS_CHANNEL, SLI_EVENT_TYPE, SMART_EVENT_TYPE, buildSliPayload } from '@atlaskit/mention/context-mention-resource'` instead.
17
+ */
8
18
  export {
9
19
  // Classes
10
20
  ContextMentionResource, MentionResource, PresenceResource, AbstractMentionResource, AbstractPresenceResource, DefaultMentionNameResolver, MentionNameStatus,
@@ -1,9 +1,15 @@
1
- import MentionResource, { AbstractMentionResource } from './api/MentionResource';
2
- import TeamMentionResource from './api/TeamMentionResource';
3
- import PresenceResource, { AbstractPresenceResource } from './api/PresenceResource';
4
- import { isSpecialMention } from './types';
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
5
2
  import { ELEMENTS_CHANNEL } from './_constants';
3
+ import { AbstractMentionResource } from './api/AbstractMentionResource';
4
+ import { AbstractPresenceResource } from './api/AbstractPresenceResource';
6
5
  import ContextMentionResource from './api/ContextMentionResource';
6
+ import MentionResource from './api/MentionResource';
7
+ import PresenceResource from './api/PresenceResource';
8
+ import TeamMentionResource from './api/TeamMentionResource';
9
+ import { isSpecialMention } from './is-special-mention';
10
+ /**
11
+ * @deprecated Use `import ContextMentionResource, { MentionResource, PresenceResource, isSpecialMention, ELEMENTS_CHANNEL } from '@atlaskit/mention/context-mention-resource'` instead.
12
+ */
7
13
  export {
8
14
  // Classes
9
15
  ContextMentionResource, MentionResource, TeamMentionResource, PresenceResource, AbstractMentionResource, AbstractPresenceResource,
@@ -1,4 +1,9 @@
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
1
2
  import { MentionPickerWithAnalytics as MentionPicker } from './components/MentionPicker';
3
+
4
+ /**
5
+ * @deprecated Use `import { MentionPickerWithAnalytics } from '@atlaskit/mention/mention-picker'` instead.
6
+ */
2
7
  export {
3
8
  // Components
4
9
  MentionPicker as MentionTypeAhead };
@@ -1,3 +1,5 @@
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
2
+
1
3
  /**
2
4
  * Configuration for the MentionResource, which provides a JavaScript API
3
5
  * for fetching and searching user mentions from a remote service.
@@ -87,24 +89,31 @@ export let MentionNameStatus = /*#__PURE__*/function (MentionNameStatus) {
87
89
  MentionNameStatus[MentionNameStatus["OK"] = 2] = "OK";
88
90
  return MentionNameStatus;
89
91
  }({});
90
- export function isRestricted(accessLevel) {
91
- return !!accessLevel && accessLevel === UserAccessLevel[UserAccessLevel.NONE];
92
- }
93
- export function isSpecialMention(mention) {
94
- return !!mention.userType && mention.userType === UserType[UserType.SPECIAL];
95
- }
96
- export function isAppMention(mention) {
97
- return mention.userType && mention.userType === UserType[UserType.APP];
98
- }
99
- export function isAgentMention(mention) {
100
- // Like `isAgentTypeAheadItem` in `editor-plugin-mentions/src/ui/type-ahead/index.tsx`
101
- // and `isAgentUserType` in `editor-plugin-mentions/src/pm-plugins/agent.ts`
102
- return mention.userType === UserType[UserType.APP] || mention.userType === 'AGENT' || mention.appType === 'agent';
103
- }
104
- export function isTeamMention(mention) {
105
- return mention.userType && mention.userType === UserType[UserType.TEAM];
106
- }
107
- export function isSpecialMentionText(mentionText) {
108
- return mentionText && (mentionText === '@all' || mentionText === '@here');
109
- }
110
- export const isPromise = p => !!(p && p.then);
92
+ /**
93
+ * @deprecated Use `import { isRestricted } from '@atlaskit/mention/types'` instead.
94
+ */
95
+ export { isRestricted } from './is-restricted';
96
+ /**
97
+ * @deprecated Use `import { isSpecialMention } from '@atlaskit/mention/types'` instead.
98
+ */
99
+ export { isSpecialMention } from './is-special-mention';
100
+ /**
101
+ * @deprecated Use `import { isAppMention } from '@atlaskit/mention/types'` instead.
102
+ */
103
+ export { isAppMention } from './is-app-mention';
104
+ /**
105
+ * @deprecated Use `import { isAgentMention } from '@atlaskit/mention/types'` instead.
106
+ */
107
+ export { isAgentMention } from './is-agent-mention';
108
+ /**
109
+ * @deprecated Use `import { isTeamMention } from '@atlaskit/mention/types'` instead.
110
+ */
111
+ export { isTeamMention } from './is-team-mention';
112
+ /**
113
+ * @deprecated Use `import { isSpecialMentionText } from '@atlaskit/mention/types'` instead.
114
+ */
115
+ export { isSpecialMentionText } from './is-special-mention-text';
116
+ /**
117
+ * @deprecated Use `import { isPromise } from '@atlaskit/mention/types'` instead.
118
+ */
119
+ export { isPromise } from './is-promise';
@@ -0,0 +1,8 @@
1
+ // Used to prevent invalid mouse move detection on scroll
2
+ // lastPosition is object (x, y)
3
+ export function actualMouseMove(oldPosition, newPosition) {
4
+ if (!oldPosition || oldPosition.x !== newPosition.x || oldPosition.y !== newPosition.y) {
5
+ return true;
6
+ }
7
+ return false;
8
+ }
@@ -1,95 +1,39 @@
1
- import { OPERATIONAL_EVENT_TYPE, UI_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
2
- import { ELEMENTS_CHANNEL } from '../_constants';
3
- import { ComponentNames, isSpecialMentionText } from '../types';
4
- const packageName = "@atlaskit/mention";
5
- const packageVersion = "27.17.0";
1
+ /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
6
2
  export const SLI_EVENT_TYPE = 'sli';
7
3
  export const SMART_EVENT_TYPE = 'smart';
8
- export const fireAnalyticsMentionTypeaheadEvent = props => (action, duration, userIds = [], query) => {
9
- if (props.createAnalyticsEvent) {
10
- const eventPayload = {
11
- action,
12
- actionSubject: ComponentNames.TYPEAHEAD,
13
- attributes: {
14
- packageName,
15
- packageVersion,
16
- componentName: ComponentNames.MENTION,
17
- duration: Math.round(duration),
18
- userIds,
19
- queryLength: query ? query.length : 0
20
- },
21
- eventType: OPERATIONAL_EVENT_TYPE
22
- };
23
- const analyticsEvent = props.createAnalyticsEvent(eventPayload);
24
- analyticsEvent.fire(ELEMENTS_CHANNEL);
25
- }
26
- };
27
- export const fireAnalyticsMentionEvent = createEvent => (actionSubject, action, text, id, accessLevel) => {
28
- const payload = {
29
- action,
30
- actionSubject,
31
- eventType: UI_EVENT_TYPE,
32
- attributes: {
33
- packageName,
34
- packageVersion,
35
- componentName: ComponentNames.MENTION,
36
- accessLevel,
37
- isSpecial: isSpecialMentionText(text),
38
- userId: id
39
- }
40
- };
41
- const event = createEvent(payload);
42
- event.fire(ELEMENTS_CHANNEL);
43
- return event;
44
- };
45
- export const fireSliAnalyticsEvent = props => (actionSubject, action) => {
46
- if (props.createAnalyticsEvent) {
47
- const eventPayload = buildSliPayload(actionSubject, action);
48
- props.createAnalyticsEvent(eventPayload).fire(ELEMENTS_CHANNEL);
49
- }
50
- };
51
- export const buildSliPayload = (actionSubject, action, attributes) => {
52
- const eventPayload = {
53
- action,
54
- actionSubject,
55
- eventType: OPERATIONAL_EVENT_TYPE,
56
- attributes: {
57
- packageName,
58
- packageVersion,
59
- componentName: ComponentNames.MENTION,
60
- ...attributes
61
- }
62
- };
63
- return eventPayload;
64
- };
65
- export const fireAnalyticsMentionHydrationEvent = props => (action, userId, fromCache, duration) => {
66
- if (props.createAnalyticsEvent) {
67
- const eventPayload = {
68
- action,
69
- actionSubject: ComponentNames.MENTION,
70
- actionSubjectId: 'hydration',
71
- attributes: {
72
- packageName,
73
- packageVersion,
74
- componentName: ComponentNames.MENTION,
75
- userId,
76
- fromCache,
77
- duration: Math.round(duration)
78
- },
79
- eventType: OPERATIONAL_EVENT_TYPE
80
- };
81
- const analyticsEvent = props.createAnalyticsEvent(eventPayload);
82
- analyticsEvent.fire(ELEMENTS_CHANNEL);
83
- }
84
- };
85
4
 
86
5
  // OLD Analytics
87
- const MENTION_ANALYTICS_PREFIX = 'atlassian.fabric.mention';
88
- export const fireAnalytics = firePrivateAnalyticsEvent => (eventName, text, accessLevel) => {
89
- if (firePrivateAnalyticsEvent) {
90
- firePrivateAnalyticsEvent(`${MENTION_ANALYTICS_PREFIX}.${eventName}`, {
91
- accessLevel,
92
- isSpecial: isSpecialMentionText(text)
93
- });
94
- }
95
- };
6
+ export const MENTION_ANALYTICS_PREFIX = 'atlassian.fabric.mention';
7
+
8
+ /**
9
+ * @deprecated Use `import { fireAnalyticsMentionTypeaheadEvent } from '@atlaskit/mention/analytics'` instead.
10
+ */
11
+ export { fireAnalyticsMentionTypeaheadEvent } from './fire-analytics-mention-typeahead-event';
12
+ /**
13
+ * @deprecated Use `import { fireAnalyticsMentionEvent } from '@atlaskit/mention/analytics'` instead.
14
+ */
15
+ export { fireAnalyticsMentionEvent } from './fire-analytics-mention-event';
16
+ /**
17
+ * @deprecated Use `import { fireSliAnalyticsEvent } from '@atlaskit/mention/analytics'` instead.
18
+ */
19
+ export { fireSliAnalyticsEvent } from './fire-sli-analytics-event';
20
+ /**
21
+ * @deprecated Use `import { buildSliPayload } from '@atlaskit/mention/analytics'` instead.
22
+ */
23
+ export { buildSliPayload } from './build-sli-payload';
24
+ /**
25
+ * @deprecated Use `import { fireAnalyticsMentionHydrationEvent } from '@atlaskit/mention/analytics'` instead.
26
+ */
27
+ export { fireAnalyticsMentionHydrationEvent } from './fire-analytics-mention-hydration-event';
28
+ /**
29
+ * @deprecated Use `import { fireAnalytics } from '@atlaskit/mention/analytics'` instead.
30
+ */
31
+ export { fireAnalytics } from './fire-analytics';
32
+ /**
33
+ * @deprecated Use `import { packageName } from '@atlaskit/mention/analytics'` instead.
34
+ */
35
+ export { packageName } from './package-name';
36
+ /**
37
+ * @deprecated Use `import { packageVersion } from '@atlaskit/mention/analytics'` instead.
38
+ */
39
+ export { packageVersion } from './package-version';
@@ -0,0 +1,18 @@
1
+ import { OPERATIONAL_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
2
+ import { ComponentNames } from '../types';
3
+ import { packageName } from './package-name';
4
+ import { packageVersion } from './package-version';
5
+ export const buildSliPayload = (actionSubject, action, attributes) => {
6
+ const eventPayload = {
7
+ action,
8
+ actionSubject,
9
+ eventType: OPERATIONAL_EVENT_TYPE,
10
+ attributes: {
11
+ packageName,
12
+ packageVersion,
13
+ componentName: ComponentNames.MENTION,
14
+ ...attributes
15
+ }
16
+ };
17
+ return eventPayload;
18
+ };
@@ -0,0 +1,24 @@
1
+ import { UI_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
2
+ import { ELEMENTS_CHANNEL } from '../_constants';
3
+ import { isSpecialMentionText } from '../is-special-mention-text';
4
+ import { ComponentNames } from '../types';
5
+ import { packageName } from './package-name';
6
+ import { packageVersion } from './package-version';
7
+ export const fireAnalyticsMentionEvent = createEvent => (actionSubject, action, text, id, accessLevel) => {
8
+ const payload = {
9
+ action,
10
+ actionSubject,
11
+ eventType: UI_EVENT_TYPE,
12
+ attributes: {
13
+ packageName,
14
+ packageVersion,
15
+ componentName: ComponentNames.MENTION,
16
+ accessLevel,
17
+ isSpecial: isSpecialMentionText(text),
18
+ userId: id
19
+ }
20
+ };
21
+ const event = createEvent(payload);
22
+ event.fire(ELEMENTS_CHANNEL);
23
+ return event;
24
+ };
@@ -0,0 +1,25 @@
1
+ import { OPERATIONAL_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
2
+ import { ELEMENTS_CHANNEL } from '../_constants';
3
+ import { ComponentNames } from '../types';
4
+ import { packageName } from './package-name';
5
+ import { packageVersion } from './package-version';
6
+ export const fireAnalyticsMentionHydrationEvent = props => (action, userId, fromCache, duration) => {
7
+ if (props.createAnalyticsEvent) {
8
+ const eventPayload = {
9
+ action,
10
+ actionSubject: ComponentNames.MENTION,
11
+ actionSubjectId: 'hydration',
12
+ attributes: {
13
+ packageName,
14
+ packageVersion,
15
+ componentName: ComponentNames.MENTION,
16
+ userId,
17
+ fromCache,
18
+ duration: Math.round(duration)
19
+ },
20
+ eventType: OPERATIONAL_EVENT_TYPE
21
+ };
22
+ const analyticsEvent = props.createAnalyticsEvent(eventPayload);
23
+ analyticsEvent.fire(ELEMENTS_CHANNEL);
24
+ }
25
+ };
@@ -0,0 +1,24 @@
1
+ import { OPERATIONAL_EVENT_TYPE } from '@atlaskit/analytics-gas-types';
2
+ import { ELEMENTS_CHANNEL } from '../_constants';
3
+ import { ComponentNames } from '../types';
4
+ import { packageName } from './package-name';
5
+ import { packageVersion } from './package-version';
6
+ export const fireAnalyticsMentionTypeaheadEvent = props => (action, duration, userIds = [], query) => {
7
+ if (props.createAnalyticsEvent) {
8
+ const eventPayload = {
9
+ action,
10
+ actionSubject: ComponentNames.TYPEAHEAD,
11
+ attributes: {
12
+ packageName,
13
+ packageVersion,
14
+ componentName: ComponentNames.MENTION,
15
+ duration: Math.round(duration),
16
+ userIds,
17
+ queryLength: query ? query.length : 0
18
+ },
19
+ eventType: OPERATIONAL_EVENT_TYPE
20
+ };
21
+ const analyticsEvent = props.createAnalyticsEvent(eventPayload);
22
+ analyticsEvent.fire(ELEMENTS_CHANNEL);
23
+ }
24
+ };
@@ -0,0 +1,10 @@
1
+ import { isSpecialMentionText } from '../is-special-mention-text';
2
+ import { MENTION_ANALYTICS_PREFIX } from './analytics';
3
+ export const fireAnalytics = firePrivateAnalyticsEvent => (eventName, text, accessLevel) => {
4
+ if (firePrivateAnalyticsEvent) {
5
+ firePrivateAnalyticsEvent(`${MENTION_ANALYTICS_PREFIX}.${eventName}`, {
6
+ accessLevel,
7
+ isSpecial: isSpecialMentionText(text)
8
+ });
9
+ }
10
+ };
@@ -0,0 +1,8 @@
1
+ import { ELEMENTS_CHANNEL } from '../_constants';
2
+ import { buildSliPayload } from './build-sli-payload';
3
+ export const fireSliAnalyticsEvent = props => (actionSubject, action) => {
4
+ if (props.createAnalyticsEvent) {
5
+ const eventPayload = buildSliPayload(actionSubject, action);
6
+ props.createAnalyticsEvent(eventPayload).fire(ELEMENTS_CHANNEL);
7
+ }
8
+ };
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Tries to get the most specific messages bundle for a given locale.
3
+ *
4
+ * Strategy:
5
+ * 1. Try to find messages with the exact string (i.e. 'fr_FR')
6
+ * 2. If that doesn't work, try to find messages for the country locale (i.e. 'fr')
7
+ * 3. If that doesn't work, return english messages as a fallback.
8
+ *
9
+ * @param locale string specifying the locale like 'en_GB', or 'fr'.
10
+ */
11
+ export const getMessagesForLocale = async locale => {
12
+ switch (locale) {
13
+ case 'cs':
14
+ {
15
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-cs" */'../i18n/cs').then(mod => mod.default);
16
+ }
17
+ case 'da':
18
+ {
19
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-da" */'../i18n/da').then(mod => mod.default);
20
+ }
21
+ case 'de':
22
+ {
23
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-de" */'../i18n/de').then(mod => mod.default);
24
+ }
25
+ case 'en':
26
+ {
27
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en" */'../i18n/en').then(mod => mod.default);
28
+ }
29
+ case 'en_GB':
30
+ {
31
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en_GB" */'../i18n/en_GB').then(mod => mod.default);
32
+ }
33
+ case 'en_ZZ':
34
+ {
35
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en_ZZ" */'../i18n/en_ZZ').then(mod => mod.default);
36
+ }
37
+ case 'es':
38
+ {
39
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-es" */'../i18n/es').then(mod => mod.default);
40
+ }
41
+ case 'et':
42
+ {
43
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-et" */'../i18n/et').then(mod => mod.default);
44
+ }
45
+ case 'fi':
46
+ {
47
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-fi" */'../i18n/fi').then(mod => mod.default);
48
+ }
49
+ case 'fr':
50
+ {
51
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-fr" */'../i18n/fr').then(mod => mod.default);
52
+ }
53
+ case 'hu':
54
+ {
55
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-hu" */'../i18n/hu').then(mod => mod.default);
56
+ }
57
+ case 'is':
58
+ {
59
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-is" */'../i18n/is').then(mod => mod.default);
60
+ }
61
+ case 'it':
62
+ {
63
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-it" */'../i18n/it').then(mod => mod.default);
64
+ }
65
+ case 'ja':
66
+ {
67
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ja" */'../i18n/ja').then(mod => mod.default);
68
+ }
69
+ case 'ko':
70
+ {
71
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ko" */'../i18n/ko').then(mod => mod.default);
72
+ }
73
+ case 'nb':
74
+ {
75
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-nb" */'../i18n/nb').then(mod => mod.default);
76
+ }
77
+ case 'nl':
78
+ {
79
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-nl" */'../i18n/nl').then(mod => mod.default);
80
+ }
81
+ case 'pl':
82
+ {
83
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pl" */'../i18n/pl').then(mod => mod.default);
84
+ }
85
+ case 'pt_BR':
86
+ case 'pt-BR':
87
+ {
88
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pt_BR" */'../i18n/pt_BR').then(mod => mod.default);
89
+ }
90
+ case 'pt_PT':
91
+ case 'pt-PT':
92
+ {
93
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-pt_PT" */'../i18n/pt_PT').then(mod => mod.default);
94
+ }
95
+ case 'ro':
96
+ {
97
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ro" */'../i18n/ro').then(mod => mod.default);
98
+ }
99
+ case 'ru':
100
+ {
101
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-ru" */'../i18n/ru').then(mod => mod.default);
102
+ }
103
+ case 'sk':
104
+ {
105
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-sk" */'../i18n/sk').then(mod => mod.default);
106
+ }
107
+ case 'sv':
108
+ {
109
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-sv" */'../i18n/sv').then(mod => mod.default);
110
+ }
111
+ case 'th':
112
+ {
113
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-th" */'../i18n/th').then(mod => mod.default);
114
+ }
115
+ case 'tr':
116
+ {
117
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-tr" */'../i18n/tr').then(mod => mod.default);
118
+ }
119
+ case 'uk':
120
+ {
121
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-uk" */'../i18n/uk').then(mod => mod.default);
122
+ }
123
+ case 'vi':
124
+ {
125
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-vi" */'../i18n/vi').then(mod => mod.default);
126
+ }
127
+ case 'zh_TW':
128
+ {
129
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-zh_TW" */'../i18n/zh_TW').then(mod => mod.default);
130
+ }
131
+ case 'zh':
132
+ {
133
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-zh" */'../i18n/zh').then(mod => mod.default);
134
+ }
135
+ default:
136
+ {
137
+ const fragments = locale.split(/[_-]/);
138
+ if (fragments.length === 2) {
139
+ return getMessagesForLocale(fragments[0]);
140
+ } else {
141
+ return import( /* webpackChunkName: "@atlaskit-internal_mention-i18n-en" */'../i18n/en').then(mod => mod.default);
142
+ }
143
+ }
144
+ }
145
+ };