@atlaskit/emoji 67.0.3 → 67.0.5

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 (280) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/admin.js +0 -2
  3. package/dist/cjs/api/EmojiLoader.js +1 -8
  4. package/dist/cjs/api/EmojiRepository.js +16 -80
  5. package/dist/cjs/api/EmojiRepositoryRegex.js +2 -0
  6. package/dist/cjs/api/EmojiResource.js +20 -170
  7. package/dist/cjs/api/EmojiUtils.js +27 -67
  8. package/dist/cjs/api/internal/Comparators.js +8 -62
  9. package/dist/cjs/api/internal/UsageFrequencyTracker.js +4 -34
  10. package/dist/cjs/api/media/MediaEmojiCache.js +8 -58
  11. package/dist/cjs/api/media/MediaImageLoader.js +4 -28
  12. package/dist/cjs/api/media/SiteEmojiResource.js +14 -55
  13. package/dist/cjs/api/media/TokenManager.js +4 -18
  14. package/dist/cjs/components/common/CachingEmoji.js +18 -52
  15. package/dist/cjs/components/common/DeleteButton.js +0 -10
  16. package/dist/cjs/components/common/Emoji.js +44 -102
  17. package/dist/cjs/components/common/EmojiActions.js +25 -61
  18. package/dist/cjs/components/common/EmojiButton.js +5 -18
  19. package/dist/cjs/components/common/EmojiDeletePreview.js +7 -38
  20. package/dist/cjs/components/common/EmojiErrorMessage.js +3 -9
  21. package/dist/cjs/components/common/EmojiPlaceholder.js +7 -16
  22. package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -6
  23. package/dist/cjs/components/common/EmojiUploadPicker.js +31 -86
  24. package/dist/cjs/components/common/EmojiUploadPreview.js +7 -36
  25. package/dist/cjs/components/common/FileChooser.js +5 -18
  26. package/dist/cjs/components/common/LoadingEmojiComponent.js +5 -24
  27. package/dist/cjs/components/common/Popup.js +16 -44
  28. package/dist/cjs/components/common/RecordSelectionDefault.js +0 -7
  29. package/dist/cjs/components/common/ResourcedEmoji.js +0 -15
  30. package/dist/cjs/components/common/ResourcedEmojiComponent.js +29 -69
  31. package/dist/cjs/components/common/RetryableButton.js +4 -19
  32. package/dist/cjs/components/common/Scrollable.js +6 -36
  33. package/dist/cjs/components/common/ToneSelector.js +3 -24
  34. package/dist/cjs/components/common/UfoErrorBoundary.js +1 -19
  35. package/dist/cjs/components/common/UploadEmoji.js +2 -13
  36. package/dist/cjs/components/common/internal-types.js +0 -1
  37. package/dist/cjs/components/common/setSkinToneAriaLabelText.js +0 -6
  38. package/dist/cjs/components/common/styles.js +9 -17
  39. package/dist/cjs/components/hooks.js +0 -2
  40. package/dist/cjs/components/i18n.js +0 -2
  41. package/dist/cjs/components/picker/CategorySelector.js +4 -50
  42. package/dist/cjs/components/picker/CategoryTracker.js +3 -14
  43. package/dist/cjs/components/picker/EmojiPicker.js +3 -42
  44. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +2 -10
  45. package/dist/cjs/components/picker/EmojiPickerComponent.js +59 -140
  46. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +7 -14
  47. package/dist/cjs/components/picker/EmojiPickerFooter.js +1 -8
  48. package/dist/cjs/components/picker/EmojiPickerList.js +32 -83
  49. package/dist/cjs/components/picker/EmojiPickerListSearch.js +11 -48
  50. package/dist/cjs/components/picker/EmojiPickerSizes.js +1 -2
  51. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +1 -38
  52. package/dist/cjs/components/picker/VirtualList.js +11 -41
  53. package/dist/cjs/components/picker/categories.js +0 -14
  54. package/dist/cjs/components/picker/styles.js +15 -20
  55. package/dist/cjs/components/picker/utils.js +0 -4
  56. package/dist/cjs/components/typeahead/EmojiTypeAhead.js +10 -45
  57. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +11 -74
  58. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +7 -37
  59. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +10 -63
  60. package/dist/cjs/components/typeahead/styles.js +2 -4
  61. package/dist/cjs/components/uploader/EmojiUploadComponent.js +6 -42
  62. package/dist/cjs/components/uploader/EmojiUploader.js +3 -31
  63. package/dist/cjs/components/uploader/styles.js +3 -4
  64. package/dist/cjs/context/EmojiCommonProvider.js +0 -6
  65. package/dist/cjs/context/EmojiContext.js +0 -2
  66. package/dist/cjs/context/EmojiContextProvider.js +1 -17
  67. package/dist/cjs/element.js +0 -4
  68. package/dist/cjs/hooks/useEmoji.js +5 -20
  69. package/dist/cjs/hooks/useEmojiContext.js +0 -4
  70. package/dist/cjs/hooks/usePrevious.js +0 -2
  71. package/dist/cjs/i18n/cs.js +0 -1
  72. package/dist/cjs/i18n/da.js +0 -1
  73. package/dist/cjs/i18n/de.js +0 -1
  74. package/dist/cjs/i18n/en.js +0 -1
  75. package/dist/cjs/i18n/en_GB.js +0 -1
  76. package/dist/cjs/i18n/en_ZZ.js +0 -1
  77. package/dist/cjs/i18n/es.js +0 -1
  78. package/dist/cjs/i18n/et.js +0 -1
  79. package/dist/cjs/i18n/fi.js +0 -1
  80. package/dist/cjs/i18n/fr.js +0 -1
  81. package/dist/cjs/i18n/hu.js +0 -1
  82. package/dist/cjs/i18n/index.js +0 -30
  83. package/dist/cjs/i18n/it.js +0 -1
  84. package/dist/cjs/i18n/ja.js +0 -1
  85. package/dist/cjs/i18n/ko.js +0 -1
  86. package/dist/cjs/i18n/nb.js +0 -1
  87. package/dist/cjs/i18n/nl.js +0 -1
  88. package/dist/cjs/i18n/pl.js +0 -1
  89. package/dist/cjs/i18n/pt_BR.js +0 -1
  90. package/dist/cjs/i18n/pt_PT.js +0 -1
  91. package/dist/cjs/i18n/ru.js +0 -1
  92. package/dist/cjs/i18n/sk.js +0 -1
  93. package/dist/cjs/i18n/sv.js +0 -1
  94. package/dist/cjs/i18n/th.js +0 -1
  95. package/dist/cjs/i18n/tr.js +0 -1
  96. package/dist/cjs/i18n/uk.js +0 -1
  97. package/dist/cjs/i18n/vi.js +0 -1
  98. package/dist/cjs/i18n/zh.js +0 -1
  99. package/dist/cjs/i18n/zh_TW.js +0 -1
  100. package/dist/cjs/index.js +0 -24
  101. package/dist/cjs/picker.js +0 -2
  102. package/dist/cjs/resource.js +0 -5
  103. package/dist/cjs/typeahead.js +0 -3
  104. package/dist/cjs/types.js +0 -17
  105. package/dist/cjs/util/DuplicateLimitedQueue.js +13 -31
  106. package/dist/cjs/util/StoredDuplicateLimitedQueue.js +4 -26
  107. package/dist/cjs/util/analytics/analytics.js +14 -97
  108. package/dist/cjs/util/analytics/index.js +0 -4
  109. package/dist/cjs/util/analytics/samplingUfo.js +3 -59
  110. package/dist/cjs/util/analytics/ufoExperiences.js +0 -12
  111. package/dist/cjs/util/analytics/useSampledUFOComponentExperience.js +3 -10
  112. package/dist/cjs/util/constants.js +5 -5
  113. package/dist/cjs/util/filters.js +0 -4
  114. package/dist/cjs/util/image.js +3 -18
  115. package/dist/cjs/util/logger.js +0 -6
  116. package/dist/cjs/util/mouse.js +3 -6
  117. package/dist/cjs/util/shared-styles.js +0 -4
  118. package/dist/cjs/util/storage-available.js +10 -8
  119. package/dist/cjs/util/type-helpers.js +2 -57
  120. package/dist/cjs/util/useInView.js +0 -6
  121. package/dist/cjs/utils.js +0 -3
  122. package/dist/cjs/version.json +1 -1
  123. package/dist/es2019/api/EmojiLoader.js +2 -4
  124. package/dist/es2019/api/EmojiRepository.js +15 -82
  125. package/dist/es2019/api/EmojiRepositoryRegex.js +2 -0
  126. package/dist/es2019/api/EmojiResource.js +21 -114
  127. package/dist/es2019/api/EmojiUtils.js +11 -18
  128. package/dist/es2019/api/internal/Comparators.js +12 -48
  129. package/dist/es2019/api/internal/UsageFrequencyTracker.js +7 -24
  130. package/dist/es2019/api/media/MediaEmojiCache.js +9 -52
  131. package/dist/es2019/api/media/MediaImageLoader.js +2 -16
  132. package/dist/es2019/api/media/SiteEmojiResource.js +11 -31
  133. package/dist/es2019/api/media/TokenManager.js +4 -14
  134. package/dist/es2019/components/common/CachingEmoji.js +5 -12
  135. package/dist/es2019/components/common/DeleteButton.js +2 -3
  136. package/dist/es2019/components/common/Emoji.js +19 -47
  137. package/dist/es2019/components/common/EmojiActions.js +3 -16
  138. package/dist/es2019/components/common/EmojiButton.js +0 -5
  139. package/dist/es2019/components/common/EmojiDeletePreview.js +0 -11
  140. package/dist/es2019/components/common/EmojiErrorMessage.js +1 -2
  141. package/dist/es2019/components/common/EmojiPlaceholder.js +0 -5
  142. package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
  143. package/dist/es2019/components/common/EmojiUploadPicker.js +2 -25
  144. package/dist/es2019/components/common/EmojiUploadPreview.js +0 -6
  145. package/dist/es2019/components/common/FileChooser.js +0 -6
  146. package/dist/es2019/components/common/LoadingEmojiComponent.js +2 -14
  147. package/dist/es2019/components/common/Popup.js +4 -22
  148. package/dist/es2019/components/common/RecordSelectionDefault.js +1 -1
  149. package/dist/es2019/components/common/ResourcedEmoji.js +1 -6
  150. package/dist/es2019/components/common/ResourcedEmojiComponent.js +2 -13
  151. package/dist/es2019/components/common/RetryableButton.js +1 -8
  152. package/dist/es2019/components/common/Scrollable.js +2 -12
  153. package/dist/es2019/components/common/ToneSelector.js +2 -8
  154. package/dist/es2019/components/common/UfoErrorBoundary.js +0 -2
  155. package/dist/es2019/components/common/UploadEmoji.js +2 -3
  156. package/dist/es2019/components/common/internal-types.js +0 -1
  157. package/dist/es2019/components/common/styles.js +12 -8
  158. package/dist/es2019/components/picker/CategorySelector.js +0 -22
  159. package/dist/es2019/components/picker/CategoryTracker.js +3 -13
  160. package/dist/es2019/components/picker/EmojiPicker.js +3 -17
  161. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +2 -3
  162. package/dist/es2019/components/picker/EmojiPickerComponent.js +10 -43
  163. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +0 -2
  164. package/dist/es2019/components/picker/EmojiPickerFooter.js +0 -2
  165. package/dist/es2019/components/picker/EmojiPickerList.js +10 -45
  166. package/dist/es2019/components/picker/EmojiPickerListSearch.js +2 -19
  167. package/dist/es2019/components/picker/EmojiPickerSizes.js +1 -0
  168. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +1 -8
  169. package/dist/es2019/components/picker/VirtualList.js +3 -24
  170. package/dist/es2019/components/picker/styles.js +22 -10
  171. package/dist/es2019/components/picker/utils.js +0 -1
  172. package/dist/es2019/components/typeahead/EmojiTypeAhead.js +4 -21
  173. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +0 -42
  174. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +0 -7
  175. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +4 -45
  176. package/dist/es2019/components/typeahead/styles.js +2 -1
  177. package/dist/es2019/components/uploader/EmojiUploadComponent.js +2 -15
  178. package/dist/es2019/components/uploader/EmojiUploader.js +2 -10
  179. package/dist/es2019/components/uploader/styles.js +5 -2
  180. package/dist/es2019/context/EmojiCommonProvider.js +0 -2
  181. package/dist/es2019/context/EmojiContextProvider.js +0 -1
  182. package/dist/es2019/hooks/useEmoji.js +2 -6
  183. package/dist/es2019/hooks/useEmojiContext.js +1 -1
  184. package/dist/es2019/index.js +12 -6
  185. package/dist/es2019/types.js +1 -11
  186. package/dist/es2019/util/DuplicateLimitedQueue.js +13 -35
  187. package/dist/es2019/util/StoredDuplicateLimitedQueue.js +5 -12
  188. package/dist/es2019/util/analytics/analytics.js +7 -23
  189. package/dist/es2019/util/analytics/samplingUfo.js +6 -32
  190. package/dist/es2019/util/analytics/ufoExperiences.js +0 -3
  191. package/dist/es2019/util/analytics/useSampledUFOComponentExperience.js +3 -7
  192. package/dist/es2019/util/constants.js +5 -4
  193. package/dist/es2019/util/filters.js +0 -3
  194. package/dist/es2019/util/image.js +3 -8
  195. package/dist/es2019/util/mouse.js +3 -3
  196. package/dist/es2019/util/storage-available.js +10 -7
  197. package/dist/es2019/util/type-helpers.js +6 -9
  198. package/dist/es2019/util/useInView.js +0 -2
  199. package/dist/es2019/version.json +1 -1
  200. package/dist/esm/api/EmojiLoader.js +2 -6
  201. package/dist/esm/api/EmojiRepository.js +16 -71
  202. package/dist/esm/api/EmojiRepositoryRegex.js +2 -0
  203. package/dist/esm/api/EmojiResource.js +20 -158
  204. package/dist/esm/api/EmojiUtils.js +27 -47
  205. package/dist/esm/api/internal/Comparators.js +12 -53
  206. package/dist/esm/api/internal/UsageFrequencyTracker.js +5 -29
  207. package/dist/esm/api/media/MediaEmojiCache.js +9 -55
  208. package/dist/esm/api/media/MediaImageLoader.js +4 -27
  209. package/dist/esm/api/media/SiteEmojiResource.js +14 -43
  210. package/dist/esm/api/media/TokenManager.js +6 -16
  211. package/dist/esm/components/common/CachingEmoji.js +18 -30
  212. package/dist/esm/components/common/DeleteButton.js +2 -3
  213. package/dist/esm/components/common/Emoji.js +44 -78
  214. package/dist/esm/components/common/EmojiActions.js +25 -40
  215. package/dist/esm/components/common/EmojiButton.js +4 -9
  216. package/dist/esm/components/common/EmojiDeletePreview.js +7 -24
  217. package/dist/esm/components/common/EmojiErrorMessage.js +3 -4
  218. package/dist/esm/components/common/EmojiPlaceholder.js +6 -11
  219. package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
  220. package/dist/esm/components/common/EmojiUploadPicker.js +30 -64
  221. package/dist/esm/components/common/EmojiUploadPreview.js +7 -19
  222. package/dist/esm/components/common/FileChooser.js +5 -11
  223. package/dist/esm/components/common/LoadingEmojiComponent.js +4 -20
  224. package/dist/esm/components/common/Popup.js +16 -36
  225. package/dist/esm/components/common/RecordSelectionDefault.js +1 -1
  226. package/dist/esm/components/common/ResourcedEmoji.js +1 -6
  227. package/dist/esm/components/common/ResourcedEmojiComponent.js +29 -51
  228. package/dist/esm/components/common/RetryableButton.js +4 -11
  229. package/dist/esm/components/common/Scrollable.js +6 -29
  230. package/dist/esm/components/common/ToneSelector.js +3 -13
  231. package/dist/esm/components/common/UfoErrorBoundary.js +1 -13
  232. package/dist/esm/components/common/UploadEmoji.js +2 -3
  233. package/dist/esm/components/common/internal-types.js +0 -1
  234. package/dist/esm/components/common/setSkinToneAriaLabelText.js +0 -2
  235. package/dist/esm/components/common/styles.js +12 -9
  236. package/dist/esm/components/picker/CategorySelector.js +4 -32
  237. package/dist/esm/components/picker/CategoryTracker.js +3 -13
  238. package/dist/esm/components/picker/EmojiPicker.js +5 -27
  239. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +4 -5
  240. package/dist/esm/components/picker/EmojiPickerComponent.js +60 -114
  241. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +6 -8
  242. package/dist/esm/components/picker/EmojiPickerFooter.js +0 -2
  243. package/dist/esm/components/picker/EmojiPickerList.js +32 -77
  244. package/dist/esm/components/picker/EmojiPickerListSearch.js +11 -35
  245. package/dist/esm/components/picker/EmojiPickerSizes.js +1 -0
  246. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +2 -26
  247. package/dist/esm/components/picker/VirtualList.js +11 -28
  248. package/dist/esm/components/picker/styles.js +22 -11
  249. package/dist/esm/components/picker/utils.js +0 -1
  250. package/dist/esm/components/typeahead/EmojiTypeAhead.js +11 -39
  251. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +11 -65
  252. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +7 -24
  253. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +10 -53
  254. package/dist/esm/components/typeahead/styles.js +2 -1
  255. package/dist/esm/components/uploader/EmojiUploadComponent.js +5 -25
  256. package/dist/esm/components/uploader/EmojiUploader.js +4 -22
  257. package/dist/esm/components/uploader/styles.js +5 -2
  258. package/dist/esm/context/EmojiCommonProvider.js +0 -2
  259. package/dist/esm/context/EmojiContextProvider.js +1 -6
  260. package/dist/esm/hooks/useEmoji.js +5 -13
  261. package/dist/esm/hooks/useEmojiContext.js +1 -1
  262. package/dist/esm/index.js +12 -6
  263. package/dist/esm/types.js +1 -11
  264. package/dist/esm/util/DuplicateLimitedQueue.js +13 -29
  265. package/dist/esm/util/StoredDuplicateLimitedQueue.js +5 -22
  266. package/dist/esm/util/analytics/analytics.js +14 -50
  267. package/dist/esm/util/analytics/samplingUfo.js +3 -51
  268. package/dist/esm/util/analytics/ufoExperiences.js +0 -3
  269. package/dist/esm/util/analytics/useSampledUFOComponentExperience.js +3 -7
  270. package/dist/esm/util/constants.js +5 -4
  271. package/dist/esm/util/filters.js +0 -3
  272. package/dist/esm/util/image.js +3 -8
  273. package/dist/esm/util/logger.js +0 -2
  274. package/dist/esm/util/mouse.js +3 -3
  275. package/dist/esm/util/storage-available.js +10 -7
  276. package/dist/esm/util/type-helpers.js +2 -12
  277. package/dist/esm/util/useInView.js +0 -2
  278. package/dist/esm/version.json +1 -1
  279. package/dist/types/types.d.ts +1 -1
  280. package/package.json +2 -2
@@ -1,11 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
-
5
4
  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; }
6
-
7
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; }
8
-
9
6
  /** @jsx jsx */
10
7
  import { useCallback, useEffect, useMemo, useRef, useState, createRef, memo } from 'react';
11
8
  import { jsx } from '@emotion/react';
@@ -14,9 +11,7 @@ import { FormattedMessage } from 'react-intl-next';
14
11
  import { getEmojiVariation } from '../../api/EmojiRepository';
15
12
  import { supportsUploadFeature } from '../../api/EmojiResource';
16
13
  import { customCategory, defaultEmojiPickerSize, frequentCategory } from '../../util/constants';
17
- import { containsEmojiId, isPromise
18
- /*, isEmojiIdEqual, isEmojiLoaded*/
19
- , isEmojiDescription } from '../../util/type-helpers';
14
+ import { containsEmojiId, isPromise /*, isEmojiIdEqual, isEmojiLoaded*/, isEmojiDescription } from '../../util/type-helpers';
20
15
  import { SearchSort } from '../../types';
21
16
  import { getToneEmoji } from '../../util/filters';
22
17
  import { uploadEmoji } from '../common/UploadEmoji';
@@ -29,89 +24,72 @@ import { emojiPicker } from './styles';
29
24
  import { useDidMount } from '../hooks';
30
25
  import { useEmoji } from '../../hooks/useEmoji';
31
26
  var FREQUENTLY_USED_MAX = 16;
32
-
33
27
  var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
34
28
  var onSelection = _ref.onSelection,
35
- onPickerRef = _ref.onPickerRef,
36
- hideToneSelector = _ref.hideToneSelector,
37
- createAnalyticsEvent = _ref.createAnalyticsEvent,
38
- _ref$size = _ref.size,
39
- size = _ref$size === void 0 ? defaultEmojiPickerSize : _ref$size;
40
-
29
+ onPickerRef = _ref.onPickerRef,
30
+ hideToneSelector = _ref.hideToneSelector,
31
+ createAnalyticsEvent = _ref.createAnalyticsEvent,
32
+ _ref$size = _ref.size,
33
+ size = _ref$size === void 0 ? defaultEmojiPickerSize : _ref$size;
41
34
  var _useEmoji = useEmoji(),
42
- emojiProvider = _useEmoji.emojiProvider,
43
- isUploadSupported = _useEmoji.isUploadSupported;
44
-
35
+ emojiProvider = _useEmoji.emojiProvider,
36
+ isUploadSupported = _useEmoji.isUploadSupported;
45
37
  var _useState = useState([]),
46
- _useState2 = _slicedToArray(_useState, 2),
47
- filteredEmojis = _useState2[0],
48
- setFilteredEmojis = _useState2[1];
49
-
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ filteredEmojis = _useState2[0],
40
+ setFilteredEmojis = _useState2[1];
50
41
  var _useState3 = useState([]),
51
- _useState4 = _slicedToArray(_useState3, 2),
52
- searchEmojis = _useState4[0],
53
- setSearchEmojis = _useState4[1];
54
-
42
+ _useState4 = _slicedToArray(_useState3, 2),
43
+ searchEmojis = _useState4[0],
44
+ setSearchEmojis = _useState4[1];
55
45
  var _useState5 = useState([]),
56
- _useState6 = _slicedToArray(_useState5, 2),
57
- frequentlyUsedEmojis = _useState6[0],
58
- setFrequentlyUsedEmojis = _useState6[1];
59
-
46
+ _useState6 = _slicedToArray(_useState5, 2),
47
+ frequentlyUsedEmojis = _useState6[0],
48
+ setFrequentlyUsedEmojis = _useState6[1];
60
49
  var _useState7 = useState(''),
61
- _useState8 = _slicedToArray(_useState7, 2),
62
- query = _useState8[0],
63
- setQuery = _useState8[1];
64
-
50
+ _useState8 = _slicedToArray(_useState7, 2),
51
+ query = _useState8[0],
52
+ setQuery = _useState8[1];
65
53
  var _useState9 = useState([]),
66
- _useState10 = _slicedToArray(_useState9, 2),
67
- dynamicCategories = _useState10[0],
68
- setDynamicCategories = _useState10[1];
69
-
54
+ _useState10 = _slicedToArray(_useState9, 2),
55
+ dynamicCategories = _useState10[0],
56
+ setDynamicCategories = _useState10[1];
70
57
  var _useState11 = useState(!hideToneSelector ? emojiProvider.getSelectedTone() : undefined),
71
- _useState12 = _slicedToArray(_useState11, 2),
72
- selectedTone = _useState12[0],
73
- setSelectedTone = _useState12[1];
74
-
58
+ _useState12 = _slicedToArray(_useState11, 2),
59
+ selectedTone = _useState12[0],
60
+ setSelectedTone = _useState12[1];
75
61
  var _useState13 = useState(true),
76
- _useState14 = _slicedToArray(_useState13, 2),
77
- loading = _useState14[0],
78
- setLoading = _useState14[1];
79
-
62
+ _useState14 = _slicedToArray(_useState13, 2),
63
+ loading = _useState14[0],
64
+ setLoading = _useState14[1];
80
65
  var _useState15 = useState(false),
81
- _useState16 = _slicedToArray(_useState15, 2),
82
- uploading = _useState16[0],
83
- setUploading = _useState16[1];
84
-
66
+ _useState16 = _slicedToArray(_useState15, 2),
67
+ uploading = _useState16[0],
68
+ setUploading = _useState16[1];
85
69
  var _useState17 = useState(),
86
- _useState18 = _slicedToArray(_useState17, 2),
87
- selectedEmoji = _useState18[0],
88
- setSelectedEmoji = _useState18[1];
89
-
70
+ _useState18 = _slicedToArray(_useState17, 2),
71
+ selectedEmoji = _useState18[0],
72
+ setSelectedEmoji = _useState18[1];
90
73
  var _useState19 = useState(null),
91
- _useState20 = _slicedToArray(_useState19, 2),
92
- activeCategory = _useState20[0],
93
- setActiveCategory = _useState20[1];
94
-
74
+ _useState20 = _slicedToArray(_useState19, 2),
75
+ activeCategory = _useState20[0],
76
+ setActiveCategory = _useState20[1];
95
77
  var _useState21 = useState(false),
96
- _useState22 = _slicedToArray(_useState21, 2),
97
- disableCategories = _useState22[0],
98
- setDisableCategories = _useState22[1];
99
-
78
+ _useState22 = _slicedToArray(_useState21, 2),
79
+ disableCategories = _useState22[0],
80
+ setDisableCategories = _useState22[1];
100
81
  var _useState23 = useState(),
101
- _useState24 = _slicedToArray(_useState23, 2),
102
- uploadErrorMessage = _useState24[0],
103
- setUploadErrorMessage = _useState24[1];
104
-
82
+ _useState24 = _slicedToArray(_useState23, 2),
83
+ uploadErrorMessage = _useState24[0],
84
+ setUploadErrorMessage = _useState24[1];
105
85
  var _useState25 = useState(),
106
- _useState26 = _slicedToArray(_useState25, 2),
107
- emojiToDelete = _useState26[0],
108
- setEmojiToDelete = _useState26[1];
109
-
86
+ _useState26 = _slicedToArray(_useState25, 2),
87
+ emojiToDelete = _useState26[0],
88
+ setEmojiToDelete = _useState26[1];
110
89
  var _useState27 = useState(),
111
- _useState28 = _slicedToArray(_useState27, 2),
112
- toneEmoji = _useState28[0],
113
- setToneEmoji = _useState28[1];
114
-
90
+ _useState28 = _slicedToArray(_useState27, 2),
91
+ toneEmoji = _useState28[0],
92
+ setToneEmoji = _useState28[1];
115
93
  var emojiPickerList = useMemo(function () {
116
94
  return /*#__PURE__*/createRef();
117
95
  }, []);
@@ -138,11 +116,9 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
138
116
  setActiveCategory(category);
139
117
  }
140
118
  }, [activeCategory]);
141
-
142
119
  var calculateElapsedTime = function calculateElapsedTime() {
143
120
  return Date.now() - openTime.current;
144
121
  };
145
-
146
122
  var onDynamicCategoryChange = useCallback(function (categories) {
147
123
  setDynamicCategories(categories);
148
124
  }, []);
@@ -157,49 +133,42 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
157
133
  if (!emojiProvider.calculateDynamicCategories) {
158
134
  return Promise.resolve([]);
159
135
  }
160
-
161
136
  return emojiProvider.calculateDynamicCategories();
162
137
  }, [emojiProvider]);
138
+
163
139
  /**
164
140
  * Calculate and set the new state of the component in response to the list of emoji changing for some reason (a search has returned
165
141
  * or the frequently used emoji have updated.)
166
142
  */
167
-
168
143
  var setStateAfterEmojiChange = useCallback(function (_ref2) {
169
144
  var searchQuery = _ref2.searchQuery,
170
- emojiToRender = _ref2.emojiToRender,
171
- searchEmoji = _ref2.searchEmoji,
172
- frequentEmoji = _ref2.frequentEmoji;
145
+ emojiToRender = _ref2.emojiToRender,
146
+ searchEmoji = _ref2.searchEmoji,
147
+ frequentEmoji = _ref2.frequentEmoji;
173
148
  // Only enable categories for full emoji list (non-search)
174
149
  var disableCategories = !!searchQuery;
175
-
176
150
  if (!disableCategories && emojiToRender && emojiToRender.length !== filteredEmojis.length) {
177
151
  getDynamicCategories().then(function (categories) {
178
152
  onDynamicCategoryChange(categories);
179
153
  });
180
154
  }
181
-
182
155
  if (emojiToRender && !containsEmojiId(emojiToRender, selectedEmoji)) {
183
156
  batchedUpdates(function () {
184
- setSelectedEmoji(undefined); // Only enable categories for full emoji list (non-search)
185
-
157
+ setSelectedEmoji(undefined);
158
+ // Only enable categories for full emoji list (non-search)
186
159
  setActiveCategory(null);
187
160
  });
188
161
  }
189
-
190
162
  batchedUpdates(function () {
191
163
  if (emojiToRender) {
192
164
  setFilteredEmojis(emojiToRender);
193
165
  }
194
-
195
166
  if (searchEmoji) {
196
167
  setSearchEmojis(searchEmoji);
197
168
  }
198
-
199
169
  if (frequentEmoji) {
200
170
  setFrequentlyUsedEmojis(frequentEmoji);
201
171
  }
202
-
203
172
  setLoading(false);
204
173
  setDisableCategories(disableCategories);
205
174
  });
@@ -218,20 +187,18 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
218
187
  var onSearchResult = useCallback(function (searchResults) {
219
188
  var frequentlyUsedEmoji = frequentlyUsedEmojis || [];
220
189
  var searchQuery = searchResults.query || '';
190
+
221
191
  /**
222
192
  * If there is no user search in the EmojiPicker then it should display all emoji received from the EmojiRepository and should
223
193
  * also include a special category of most frequently used emoji (if there are any). This method decides if we are in this 'no search'
224
194
  * state and appends the frequent emoji if necessary.
225
195
  */
226
-
227
196
  var emojiToRender;
228
-
229
197
  if (!frequentlyUsedEmoji.length || query) {
230
198
  emojiToRender = searchResults.emojis;
231
199
  } else {
232
200
  emojiToRender = [].concat(_toConsumableArray(searchResults.emojis), _toConsumableArray(frequentlyUsedEmoji));
233
201
  }
234
-
235
202
  setStateAfterEmojiChange({
236
203
  searchQuery: searchQuery,
237
204
  emojiToRender: emojiToRender,
@@ -243,12 +210,12 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
243
210
  result: onSearchResult
244
211
  };
245
212
  }, [onSearchResult]);
213
+
246
214
  /**
247
215
  * Updates the emoji displayed by the picker. If there is no query specified then we expect to retrieve all emoji for display,
248
216
  * by category, in the picker. This differs from when there is a query in which case we expect to receive a sorted result matching
249
217
  * the search.
250
218
  */
251
-
252
219
  var updateEmojis = useCallback(function (query, options) {
253
220
  // if the query is empty then we want the emoji to be in service defined order, unless specified otherwise
254
221
  // and we want emoji for the 'frequently used' category to be refreshed as well.
@@ -256,20 +223,17 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
256
223
  if (!options) {
257
224
  options = {};
258
225
  }
259
-
260
226
  if (!options.sort) {
261
227
  options.sort = SearchSort.None;
262
- } // take a copy of search options so that the frequently used can be limited to 16 without affecting the full emoji query
263
-
228
+ }
264
229
 
230
+ // take a copy of search options so that the frequently used can be limited to 16 without affecting the full emoji query
265
231
  var frequentOptions = _objectSpread(_objectSpread({}, options), {}, {
266
232
  sort: SearchSort.None,
267
233
  limit: FREQUENTLY_USED_MAX
268
234
  });
269
-
270
235
  emojiProvider.getFrequentlyUsed(frequentOptions).then(onFrequentEmojiResult);
271
236
  }
272
-
273
237
  emojiProvider.filter(query, options);
274
238
  }, [emojiProvider, onFrequentEmojiResult]);
275
239
  var onToneSelected = useCallback(function (toneValue) {
@@ -298,21 +262,17 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
298
262
  if (!categoryId) {
299
263
  return;
300
264
  }
301
-
302
265
  emojiProvider.findInCategory(categoryId).then(function (emojisInCategory) {
303
266
  if (!disableCategories) {
304
267
  var newSelectedEmoji;
305
-
306
268
  if (emojisInCategory && emojisInCategory.length > 0) {
307
269
  newSelectedEmoji = getEmojiVariation(emojisInCategory[0], {
308
270
  skinTone: selectedTone
309
271
  });
310
272
  }
311
-
312
273
  if (emojiPickerList.current) {
313
274
  emojiPickerList.current.reveal(categoryId);
314
275
  }
315
-
316
276
  batchedUpdates(function () {
317
277
  setActiveCategory(categoryId);
318
278
  setSelectedEmoji(newSelectedEmoji);
@@ -338,7 +298,6 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
338
298
  var options = {
339
299
  skinTone: selectedTone
340
300
  };
341
-
342
301
  if (query) {
343
302
  ufoExperiences['emoji-searched'].start();
344
303
  ufoExperiences['emoji-searched'].addMetadata({
@@ -346,11 +305,9 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
346
305
  source: 'EmojiPickerComponent'
347
306
  });
348
307
  }
349
-
350
308
  if (searchQuery !== query) {
351
309
  setQuery(searchQuery);
352
310
  }
353
-
354
311
  updateEmojis(query, options);
355
312
  }, [query, selectedTone, updateEmojis]);
356
313
  var onOpenUpload = useCallback(function () {
@@ -358,7 +315,6 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
358
315
  if (supportsUploadFeature(emojiProvider)) {
359
316
  emojiProvider.prepareForUpload();
360
317
  }
361
-
362
318
  batchedUpdates(function () {
363
319
  setUploadErrorMessage(undefined);
364
320
  setUploading(true);
@@ -370,7 +326,6 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
370
326
  // Wait a tick to ensure repaint and updated height for picker list
371
327
  window.setTimeout(function () {
372
328
  var _emojiPickerList$curr;
373
-
374
329
  (_emojiPickerList$curr = emojiPickerList.current) === null || _emojiPickerList$curr === void 0 ? void 0 : _emojiPickerList$curr.scrollToBottom();
375
330
  }, 0);
376
331
  }
@@ -379,11 +334,9 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
379
334
  fireAnalytics(uploadConfirmButton({
380
335
  retry: retry
381
336
  }));
382
-
383
337
  var errorSetter = function errorSetter(message) {
384
338
  setUploadErrorMessage(message);
385
339
  };
386
-
387
340
  var onSuccess = function onSuccess(emojiDescription) {
388
341
  batchedUpdates(function () {
389
342
  setActiveCategory(customCategory);
@@ -392,7 +345,6 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
392
345
  });
393
346
  scrollToEndOfList();
394
347
  };
395
-
396
348
  uploadEmoji(upload, emojiProvider, errorSetter, onSuccess, fireAnalytics, retry);
397
349
  }, [emojiProvider, fireAnalytics, scrollToEndOfList]);
398
350
  var onTriggerDelete = useCallback(function (_emojiId, emoji) {
@@ -419,17 +371,14 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
419
371
  skinTone: selectedTone
420
372
  });
421
373
  }
422
-
423
374
  return success;
424
375
  });
425
376
  }, [emojiProvider, emojiToDelete, fireAnalytics, query, selectedTone, updateEmojis]);
426
377
  var onComponentDidMount = useCallback(function () {
427
378
  emojiProvider.subscribe(onProviderChange);
428
379
  onSearch(query);
429
-
430
380
  if (!hideToneSelector) {
431
381
  var _toneEmoji = getToneEmoji(emojiProvider);
432
-
433
382
  if (isPromise(_toneEmoji)) {
434
383
  _toneEmoji.then(function (emoji) {
435
384
  return setToneEmoji(emoji);
@@ -439,7 +388,6 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
439
388
  }
440
389
  }
441
390
  }, [emojiProvider, hideToneSelector, onProviderChange, onSearch, query]);
442
-
443
391
  if (isMounting.current) {
444
392
  // componentWillMount equivalent
445
393
  ufoExperiences['emoji-picker-opened'].success();
@@ -447,7 +395,6 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
447
395
  fireAnalytics(openedPickerEvent());
448
396
  isMounting.current = false;
449
397
  }
450
-
451
398
  useEffect(function () {
452
399
  // componentDidMount logic
453
400
  if (didMount && updateAfterDidMount.current) {
@@ -557,5 +504,4 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
557
504
  selectedEmoji: selectedEmoji
558
505
  }));
559
506
  };
560
-
561
507
  export default /*#__PURE__*/memo(EmojiPickerComponent);
@@ -3,19 +3,18 @@ import { memo } from 'react';
3
3
  import { jsx } from '@emotion/react';
4
4
  import CachingEmoji from '../common/CachingEmoji';
5
5
  import { emojiItem, emojiPickerRow } from './styles';
6
-
7
6
  var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
8
7
  var emojis = _ref.emojis,
9
- onSelected = _ref.onSelected,
10
- onMouseMove = _ref.onMouseMove,
11
- title = _ref.title,
12
- showDelete = _ref.showDelete,
13
- onDelete = _ref.onDelete;
8
+ onSelected = _ref.onSelected,
9
+ onMouseMove = _ref.onMouseMove,
10
+ title = _ref.title,
11
+ showDelete = _ref.showDelete,
12
+ onDelete = _ref.onDelete;
14
13
  return jsx("div", {
15
14
  css: emojiPickerRow
16
15
  }, emojis.map(function (emoji) {
17
16
  var shortName = emoji.shortName,
18
- id = emoji.id;
17
+ id = emoji.id;
19
18
  var key = id ? "".concat(id, "-").concat(title) : "".concat(shortName, "-").concat(title);
20
19
  return jsx("span", {
21
20
  css: emojiItem,
@@ -32,5 +31,4 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
32
31
  }));
33
32
  }));
34
33
  };
35
-
36
34
  export default /*#__PURE__*/memo(EmojiPickerEmojiRow);
@@ -5,7 +5,6 @@ import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
5
5
  import { emojiPickerFooter, emojiPickerFooterWithTopShadow } from './styles';
6
6
  var previewFooterClassnames = [emojiPickerFooter, emojiPickerFooterWithTopShadow];
7
7
  export var emojiPickerFooterTestId = 'emoji-picker-footer';
8
-
9
8
  var EmojiPickerFooter = function EmojiPickerFooter(_ref) {
10
9
  var selectedEmoji = _ref.selectedEmoji;
11
10
  return jsx("div", {
@@ -15,5 +14,4 @@ var EmojiPickerFooter = function EmojiPickerFooter(_ref) {
15
14
  emoji: selectedEmoji
16
15
  }));
17
16
  };
18
-
19
17
  export default /*#__PURE__*/memo(EmojiPickerFooter);