@atlaskit/emoji 67.0.4 → 67.0.6

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 (279) hide show
  1. package/CHANGELOG.md +12 -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/package.json +6 -4
@@ -1,60 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.supportsUploadFeature = exports.default = exports.EmojiResource = void 0;
9
-
10
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
12
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
-
20
13
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
21
-
22
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
18
  var _utilServiceSupport = require("@atlaskit/util-service-support");
31
-
32
19
  var _constants = require("../util/constants");
33
-
34
20
  var _logger = _interopRequireDefault(require("../util/logger"));
35
-
36
21
  var _typeHelpers = require("../util/type-helpers");
37
-
38
22
  var _storageAvailable = _interopRequireDefault(require("../util/storage-available"));
39
-
40
23
  var _types = require("../types");
41
-
42
24
  var _EmojiLoader = _interopRequireDefault(require("./EmojiLoader"));
43
-
44
25
  var _EmojiRepository = _interopRequireDefault(require("./EmojiRepository"));
45
-
46
26
  var _SiteEmojiResource = _interopRequireDefault(require("./media/SiteEmojiResource"));
47
-
48
27
  var _ufoExperiences = require("../util/analytics/ufoExperiences");
49
-
50
28
  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; }
51
-
52
29
  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) { (0, _defineProperty2.default)(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; }
53
-
54
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
55
-
56
31
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
-
58
32
  /**
59
33
  * Checks if the emojiProvider can support uploading at a feature level.
60
34
  *
@@ -66,17 +40,12 @@ var supportsUploadFeature = function supportsUploadFeature(emojiProvider) {
66
40
  var emojiUploadProvider = emojiProvider;
67
41
  return !!emojiUploadProvider.isUploadSupported && !!emojiUploadProvider.uploadCustomEmoji && !!emojiUploadProvider.prepareForUpload;
68
42
  };
69
-
70
43
  exports.supportsUploadFeature = supportsUploadFeature;
71
-
72
- var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
73
- (0, _inherits2.default)(EmojiResource, _AbstractResource);
74
-
44
+ var EmojiResource = /*#__PURE__*/function (_ref) {
45
+ (0, _inherits2.default)(EmojiResource, _ref);
75
46
  var _super = _createSuper(EmojiResource);
76
-
77
47
  function EmojiResource(config) {
78
48
  var _this;
79
-
80
49
  (0, _classCallCheck2.default)(this, EmojiResource);
81
50
  _this = _super.call(this);
82
51
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "activeLoaders", 0);
@@ -86,7 +55,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
86
55
  if (_this.emojiProviderConfig.optimisticImageApi) {
87
56
  return _this.emojiProviderConfig.optimisticImageApi.getUrl(emojiId);
88
57
  }
89
-
90
58
  return;
91
59
  });
92
60
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isLoaded", function () {
@@ -95,31 +63,27 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
95
63
  _this.emojiProviderConfig = config;
96
64
  _this.recordConfig = config.recordConfig;
97
65
  _this.currentUser = config.currentUser;
98
-
99
66
  if ((0, _storageAvailable.default)('localStorage')) {
100
67
  _this.selectedTone = _this.loadStoredTone();
101
68
  }
102
-
103
69
  if (config.providers.length === 0) {
104
70
  throw new Error('No providers specified');
105
71
  }
106
-
107
72
  _this.activeLoaders = _this.emojiProviderConfig.providers.length;
108
73
  _this.emojiResponses = [];
109
74
  return _this;
110
75
  }
76
+
111
77
  /**
112
78
  * Get the emoji provider from Emoji Resource
113
79
  * @returns Promise<EmojiProvider>
114
80
  */
115
-
116
-
117
81
  (0, _createClass2.default)(EmojiResource, [{
118
82
  key: "getEmojiProvider",
119
83
  value: function () {
120
84
  var _getEmojiProvider = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
121
85
  var options,
122
- _args = arguments;
86
+ _args = arguments;
123
87
  return _regenerator.default.wrap(function _callee$(_context) {
124
88
  while (1) {
125
89
  switch (_context.prev = _context.next) {
@@ -127,29 +91,23 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
127
91
  options = _args.length > 0 && _args[0] !== undefined ? _args[0] : {
128
92
  fetchAtStart: true
129
93
  };
130
-
131
94
  if (!options.fetchAtStart) {
132
95
  _context.next = 11;
133
96
  break;
134
97
  }
135
-
136
98
  _context.prev = 2;
137
99
  _context.next = 5;
138
100
  return this.fetchEmojiProvider();
139
-
140
101
  case 5:
141
102
  _context.next = 11;
142
103
  break;
143
-
144
104
  case 7:
145
105
  _context.prev = 7;
146
106
  _context.t0 = _context["catch"](2);
147
107
  (0, _logger.default)(_context.t0);
148
108
  return _context.abrupt("return", Promise.resolve(this));
149
-
150
109
  case 11:
151
110
  return _context.abrupt("return", Promise.resolve(this));
152
-
153
111
  case 12:
154
112
  case "end":
155
113
  return _context.stop();
@@ -157,11 +115,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
157
115
  }
158
116
  }, _callee, this, [[2, 7]]);
159
117
  }));
160
-
161
118
  function getEmojiProvider() {
162
119
  return _getEmojiProvider.apply(this, arguments);
163
120
  }
164
-
165
121
  return getEmojiProvider;
166
122
  }()
167
123
  }, {
@@ -182,26 +138,22 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
182
138
  type: providerType
183
139
  });
184
140
  loader = new _EmojiLoader.default(provider); // fetch emoji from provider url and denormalise
185
-
186
141
  _context2.next = 7;
187
142
  return loader.loadEmoji();
188
-
189
143
  case 7:
190
144
  emojiResponse = _context2.sent;
191
- (0, _ufoExperiences.sampledUfoEmojiResourceFetched)(providerType).success(); // setup emoji repository
192
-
145
+ (0, _ufoExperiences.sampledUfoEmojiResourceFetched)(providerType).success();
146
+ // setup emoji repository
193
147
  this.emojiResponses[index] = emojiResponse;
194
148
  this.initEmojiRepository(this.emojiResponses);
195
149
  _context2.next = 13;
196
150
  return this.initSiteEmojiResource(emojiResponse, provider);
197
-
198
151
  case 13:
199
152
  this.activeLoaders--;
200
153
  this.performRetries();
201
154
  this.refreshLastFilter();
202
155
  _context2.next = 25;
203
156
  break;
204
-
205
157
  case 18:
206
158
  _context2.prev = 18;
207
159
  _context2.t0 = _context2["catch"](1);
@@ -216,7 +168,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
216
168
  });
217
169
  (0, _logger.default)("failed to fetch emoji provider for ".concat(provider.url), _context2.t0);
218
170
  throw new Error("failed to fetch emoji from ".concat(provider.url));
219
-
220
171
  case 25:
221
172
  case "end":
222
173
  return _context2.stop();
@@ -224,11 +175,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
224
175
  }
225
176
  }, _callee2, this, [[1, 18]]);
226
177
  }));
227
-
228
178
  function fetchIndividualProvider(_x, _x2) {
229
179
  return _fetchIndividualProvider.apply(this, arguments);
230
180
  }
231
-
232
181
  return fetchIndividualProvider;
233
182
  }()
234
183
  }, {
@@ -236,31 +185,26 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
236
185
  value: function () {
237
186
  var _fetchEmojiProvider = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
238
187
  var _this2 = this;
239
-
240
188
  var force,
241
- _args3 = arguments;
189
+ _args3 = arguments;
242
190
  return _regenerator.default.wrap(function _callee3$(_context3) {
243
191
  while (1) {
244
192
  switch (_context3.prev = _context3.next) {
245
193
  case 0:
246
194
  force = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : false;
247
-
248
195
  if (!(force || !this.emojiRepository && !this.isInitialised)) {
249
196
  _context3.next = 6;
250
197
  break;
251
198
  }
252
-
253
199
  this.isInitialised = true;
254
- this.emojiResponses = []; // fetch emoji providers
255
-
200
+ this.emojiResponses = [];
201
+ // fetch emoji providers
256
202
  _context3.next = 6;
257
203
  return Promise.all(this.emojiProviderConfig.providers.map(function (provider, index) {
258
204
  return _this2.fetchIndividualProvider(provider, index);
259
205
  }));
260
-
261
206
  case 6:
262
207
  return _context3.abrupt("return", Promise.resolve(this.emojiRepository));
263
-
264
208
  case 7:
265
209
  case "end":
266
210
  return _context3.stop();
@@ -268,11 +212,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
268
212
  }
269
213
  }, _callee3, this);
270
214
  }));
271
-
272
215
  function fetchEmojiProvider() {
273
216
  return _fetchEmojiProvider.apply(this, arguments);
274
217
  }
275
-
276
218
  return fetchEmojiProvider;
277
219
  }()
278
220
  }, {
@@ -280,7 +222,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
280
222
  value: function () {
281
223
  var _fetchByEmojiId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(emojiId, optimistic) {
282
224
  var _emoji, provider, loader, loadEmoji, _emoji2, emoji;
283
-
284
225
  return _regenerator.default.wrap(function _callee4$(_context4) {
285
226
  while (1) {
286
227
  switch (_context4.prev = _context4.next) {
@@ -289,30 +230,23 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
289
230
  _context4.next = 8;
290
231
  break;
291
232
  }
292
-
293
233
  _context4.next = 3;
294
234
  return this.findByEmojiId(emojiId);
295
-
296
235
  case 3:
297
236
  _emoji = _context4.sent;
298
-
299
237
  if (!_emoji) {
300
238
  _context4.next = 8;
301
239
  break;
302
240
  }
303
-
304
241
  _context4.next = 7;
305
242
  return this.getMediaEmojiDescriptionURLWithInlineToken(_emoji);
306
-
307
243
  case 7:
308
244
  return _context4.abrupt("return", _context4.sent);
309
-
310
245
  case 8:
311
246
  if (!(this.emojiProviderConfig.singleEmojiApi && optimistic)) {
312
247
  _context4.next = 31;
313
248
  break;
314
249
  }
315
-
316
250
  // if config has singleEmojiApi then fetch single emoji
317
251
  provider = {
318
252
  url: this.emojiProviderConfig.singleEmojiApi.getUrl(emojiId),
@@ -322,65 +256,48 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
322
256
  _context4.prev = 11;
323
257
  _context4.next = 14;
324
258
  return loader.loadEmoji();
325
-
326
259
  case 14:
327
260
  loadEmoji = _context4.sent;
328
-
329
261
  if (loadEmoji.emojis[0]) {
330
262
  _context4.next = 17;
331
263
  break;
332
264
  }
333
-
334
265
  return _context4.abrupt("return");
335
-
336
266
  case 17:
337
267
  if (this.siteEmojiResource) {
338
268
  _context4.next = 20;
339
269
  break;
340
270
  }
341
-
342
271
  _context4.next = 20;
343
272
  return this.initSiteEmojiResource(loadEmoji, provider);
344
-
345
273
  case 20:
346
274
  return _context4.abrupt("return", this.getMediaEmojiDescriptionURLWithInlineToken(loadEmoji.emojis[0]));
347
-
348
275
  case 23:
349
276
  _context4.prev = 23;
350
277
  _context4.t0 = _context4["catch"](11);
351
278
  _context4.next = 27;
352
279
  return this.findByEmojiId(emojiId);
353
-
354
280
  case 27:
355
281
  _emoji2 = _context4.sent;
356
-
357
282
  if (_emoji2) {
358
283
  _context4.next = 30;
359
284
  break;
360
285
  }
361
-
362
286
  return _context4.abrupt("return");
363
-
364
287
  case 30:
365
288
  return _context4.abrupt("return", this.getMediaEmojiDescriptionURLWithInlineToken(_emoji2));
366
-
367
289
  case 31:
368
290
  _context4.next = 33;
369
291
  return this.findByEmojiId(emojiId);
370
-
371
292
  case 33:
372
293
  emoji = _context4.sent;
373
-
374
294
  if (emoji) {
375
295
  _context4.next = 36;
376
296
  break;
377
297
  }
378
-
379
298
  return _context4.abrupt("return");
380
-
381
299
  case 36:
382
300
  return _context4.abrupt("return", this.getMediaEmojiDescriptionURLWithInlineToken(emoji));
383
-
384
301
  case 37:
385
302
  case "end":
386
303
  return _context4.stop();
@@ -388,11 +305,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
388
305
  }
389
306
  }, _callee4, this, [[11, 23]]);
390
307
  }));
391
-
392
308
  function fetchByEmojiId(_x3, _x4) {
393
309
  return _fetchByEmojiId.apply(this, arguments);
394
310
  }
395
-
396
311
  return fetchByEmojiId;
397
312
  }()
398
313
  }, {
@@ -405,7 +320,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
405
320
  } else if (provider.url.includes('/atlassian')) {
406
321
  return _types.ProviderTypes.ATLASSIAN;
407
322
  }
408
-
409
323
  return _types.ProviderTypes.UNKNOWN;
410
324
  }
411
325
  }, {
@@ -421,14 +335,13 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
421
335
  key: "initSiteEmojiResource",
422
336
  value: function initSiteEmojiResource(emojiResponse, provider) {
423
337
  if (!this.siteEmojiResource && emojiResponse.mediaApiToken) {
424
- this.siteEmojiResource = new _SiteEmojiResource.default(provider, emojiResponse.mediaApiToken); // Prime cache type + optimistic rendering by checking first Emoji.
425
- // If this is fails, it won't be primed until a good emoji is loaded later.
338
+ this.siteEmojiResource = new _SiteEmojiResource.default(provider, emojiResponse.mediaApiToken);
426
339
 
340
+ // Prime cache type + optimistic rendering by checking first Emoji.
341
+ // If this is fails, it won't be primed until a good emoji is loaded later.
427
342
  var emojis = emojiResponse.emojis;
428
-
429
343
  if (emojis.length) {
430
344
  var done = this.siteEmojiResource.optimisticRendering(emojis[0]);
431
-
432
345
  if ((0, _typeHelpers.isPromise)(done)) {
433
346
  return done.then(function () {
434
347
  (0, _logger.default)('Primed siteEmojiResource');
@@ -442,7 +355,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
442
355
  (0, _logger.default)('No emoji to prime siteEmojiResource with');
443
356
  }
444
357
  }
445
-
446
358
  return Promise.resolve();
447
359
  }
448
360
  }, {
@@ -452,7 +364,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
452
364
  this.retries = new Map();
453
365
  currentRetries.forEach(function (resolveReject, retry) {
454
366
  var result = retry();
455
-
456
367
  if ((0, _typeHelpers.isPromise)(result)) {
457
368
  result.then(function (response) {
458
369
  resolveReject.resolve(response);
@@ -470,14 +381,11 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
470
381
  if (typeof window === 'undefined') {
471
382
  return undefined;
472
383
  }
473
-
474
384
  var storedToneString = window.localStorage.getItem(_constants.selectedToneStorageKey);
475
-
476
385
  if (storedToneString) {
477
386
  var storedTone = parseInt(storedToneString, 10);
478
387
  return !isNaN(storedTone) ? storedTone : undefined;
479
388
  }
480
-
481
389
  return undefined;
482
390
  }
483
391
  }, {
@@ -485,8 +393,8 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
485
393
  value: function refreshLastFilter() {
486
394
  if (typeof this.lastQuery !== 'undefined') {
487
395
  var _this$lastQuery = this.lastQuery,
488
- query = _this$lastQuery.query,
489
- options = _this$lastQuery.options;
396
+ query = _this$lastQuery.query,
397
+ options = _this$lastQuery.options;
490
398
  this.filter(query, options);
491
399
  }
492
400
  }
@@ -494,7 +402,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
494
402
  key: "retryIfLoading",
495
403
  value: function retryIfLoading(retry, defaultResponse) {
496
404
  var _this3 = this;
497
-
498
405
  if (!this.isLoaded()) {
499
406
  return new Promise(function (resolve, reject) {
500
407
  _this3.retries.set(retry, {
@@ -503,7 +410,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
503
410
  });
504
411
  });
505
412
  }
506
-
507
413
  return Promise.resolve(defaultResponse);
508
414
  }
509
415
  }, {
@@ -513,10 +419,10 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
513
419
  (0, _get2.default)((0, _getPrototypeOf2.default)(EmojiResource.prototype), "notifyResult", this).call(this, result);
514
420
  }
515
421
  }
422
+
516
423
  /**
517
424
  * Returns the EmojiDescription with a valid media path that includes query token and client attributes to access the emoji media inline.
518
425
  */
519
-
520
426
  }, {
521
427
  key: "getMediaEmojiDescriptionURLWithInlineToken",
522
428
  value: function () {
@@ -530,10 +436,8 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
530
436
  _context5.next = 5;
531
437
  break;
532
438
  }
533
-
534
439
  _context5.next = 3;
535
440
  return this.siteEmojiResource.generateTokenisedMediaURL(emoji);
536
-
537
441
  case 3:
538
442
  tokenisedMediaPath = _context5.sent;
539
443
  return _context5.abrupt("return", _objectSpread(_objectSpread({}, emoji), {}, {
@@ -541,10 +445,8 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
541
445
  mediaPath: tokenisedMediaPath
542
446
  })
543
447
  }));
544
-
545
448
  case 5:
546
449
  return _context5.abrupt("return", emoji);
547
-
548
450
  case 6:
549
451
  case "end":
550
452
  return _context5.stop();
@@ -552,11 +454,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
552
454
  }
553
455
  }, _callee5, this);
554
456
  }));
555
-
556
457
  function getMediaEmojiDescriptionURLWithInlineToken(_x5) {
557
458
  return _getMediaEmojiDescriptionURLWithInlineToken.apply(this, arguments);
558
459
  }
559
-
560
460
  return getMediaEmojiDescriptionURLWithInlineToken;
561
461
  }()
562
462
  }, {
@@ -565,7 +465,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
565
465
  if (!this.siteEmojiResource || !(0, _typeHelpers.isMediaEmoji)(emoji)) {
566
466
  return emoji;
567
467
  }
568
-
569
468
  return this.siteEmojiResource.loadMediaEmoji(emoji, useAlt);
570
469
  }
571
470
  }, {
@@ -574,19 +473,15 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
574
473
  if (!(0, _typeHelpers.isMediaEmoji)(emoji)) {
575
474
  return true;
576
475
  }
577
-
578
476
  if (!this.siteEmojiResource) {
579
477
  // Shouldn't have a media emoji without a siteEmojiResouce, but anyway ;)
580
478
  return false;
581
479
  }
582
-
583
480
  var optimistic = this.siteEmojiResource.optimisticRendering(emoji, useAlt);
584
-
585
481
  if ((0, _typeHelpers.isPromise)(optimistic)) {
586
482
  // Not sure yet, so lets say no for now (this should normally be primed in most/all cases)
587
483
  return false;
588
484
  }
589
-
590
485
  return optimistic;
591
486
  }
592
487
  }, {
@@ -596,7 +491,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
596
491
  query: query,
597
492
  options: options
598
493
  };
599
-
600
494
  if (this.emojiRepository) {
601
495
  this.notifyResult(this.emojiRepository.search(query, options));
602
496
  } else {
@@ -608,12 +502,10 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
608
502
  key: "findByShortName",
609
503
  value: function findByShortName(shortName) {
610
504
  var _this4 = this;
611
-
612
505
  if (this.isLoaded()) {
613
506
  // Wait for all emoji to load before looking by shortName (to ensure correct priority)
614
507
  return this.emojiRepository.findByShortName(shortName);
615
508
  }
616
-
617
509
  return this.retryIfLoading(function () {
618
510
  return _this4.findByShortName(shortName);
619
511
  }, undefined);
@@ -622,18 +514,14 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
622
514
  key: "findByEmojiId",
623
515
  value: function findByEmojiId(emojiId) {
624
516
  var _this5 = this;
625
-
626
517
  var id = emojiId.id,
627
- shortName = emojiId.shortName;
628
-
518
+ shortName = emojiId.shortName;
629
519
  if (this.emojiRepository) {
630
520
  if (id) {
631
521
  var emoji = this.emojiRepository.findById(id);
632
-
633
522
  if (emoji) {
634
523
  return emoji;
635
524
  }
636
-
637
525
  if (this.isLoaded()) {
638
526
  // all loaded but not found by id, try server to see if
639
527
  // this is a newly uploaded emoji
@@ -644,15 +532,13 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
644
532
  // at least render an alternative
645
533
  return _this5.findByShortName(shortName);
646
534
  }
647
-
648
535
  _this5.addUnknownEmoji(emoji);
649
-
650
536
  return emoji;
651
537
  });
652
- } // if not, fallback to searching by shortName to
653
- // at least render an alternative
654
-
538
+ }
655
539
 
540
+ // if not, fallback to searching by shortName to
541
+ // at least render an alternative
656
542
  return this.findByShortName(shortName);
657
543
  }
658
544
  } else {
@@ -660,7 +546,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
660
546
  return this.findByShortName(shortName);
661
547
  }
662
548
  }
663
-
664
549
  return this.retryIfLoading(function () {
665
550
  return _this5.findByEmojiId(emojiId);
666
551
  }, undefined);
@@ -669,11 +554,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
669
554
  key: "findById",
670
555
  value: function findById(id) {
671
556
  var _this6 = this;
672
-
673
557
  if (this.isLoaded()) {
674
558
  return this.emojiRepository.findById(id);
675
559
  }
676
-
677
560
  return this.retryIfLoading(function () {
678
561
  return _this6.findById(id);
679
562
  }, undefined);
@@ -682,11 +565,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
682
565
  key: "findInCategory",
683
566
  value: function findInCategory(categoryId) {
684
567
  var _this7 = this;
685
-
686
568
  if (this.isLoaded()) {
687
569
  return Promise.resolve(this.emojiRepository.findInCategory(categoryId));
688
570
  }
689
-
690
571
  return this.retryIfLoading(function () {
691
572
  return _this7.findInCategory(categoryId);
692
573
  }, []);
@@ -695,11 +576,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
695
576
  key: "getAsciiMap",
696
577
  value: function getAsciiMap() {
697
578
  var _this8 = this;
698
-
699
579
  if (this.isLoaded()) {
700
580
  return Promise.resolve(this.emojiRepository.getAsciiMap());
701
581
  }
702
-
703
582
  return this.retryIfLoading(function () {
704
583
  return _this8.getAsciiMap();
705
584
  }, new Map());
@@ -708,15 +587,14 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
708
587
  key: "getFrequentlyUsed",
709
588
  value: function getFrequentlyUsed(options) {
710
589
  var _this9 = this;
711
-
712
590
  if (this.isLoaded()) {
713
591
  return Promise.resolve(this.emojiRepository.getFrequentlyUsed(options));
714
592
  }
715
-
716
593
  return this.retryIfLoading(function () {
717
594
  return _this9.getFrequentlyUsed(options);
718
595
  }, []);
719
596
  }
597
+
720
598
  /**
721
599
  * Record the selection of an emoji to a remote service if 'recordConfig' has been supplied.
722
600
  * Regardless of the recordConfig, emoji selections will always be recorded on the EmojiRepository
@@ -724,16 +602,13 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
724
602
  *
725
603
  * @param emoji The full description of the emoji to record usage for.
726
604
  */
727
-
728
605
  }, {
729
606
  key: "recordSelection",
730
607
  value: function recordSelection(emoji) {
731
608
  var recordConfig = this.recordConfig;
732
-
733
609
  if (this.emojiRepository) {
734
610
  this.emojiRepository.used(emoji);
735
611
  }
736
-
737
612
  if (recordConfig) {
738
613
  var queryParams = {
739
614
  emojiId: (0, _typeHelpers.toEmojiId)(emoji)
@@ -746,22 +621,18 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
746
621
  requestInit: requestInit
747
622
  });
748
623
  }
749
-
750
624
  return Promise.resolve();
751
625
  }
752
626
  }, {
753
627
  key: "deleteSiteEmoji",
754
628
  value: function deleteSiteEmoji(emoji) {
755
629
  var _this10 = this;
756
-
757
630
  if (this.siteEmojiResource && emoji.id) {
758
631
  return this.siteEmojiResource.deleteEmoji(emoji).then(function (success) {
759
632
  if (success && _this10.emojiRepository) {
760
633
  _this10.emojiRepository.delete(emoji);
761
-
762
634
  return true;
763
635
  }
764
-
765
636
  return false;
766
637
  }).catch(function (err) {
767
638
  // eslint-disable-next-line no-console
@@ -769,7 +640,6 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
769
640
  return false;
770
641
  });
771
642
  }
772
-
773
643
  return this.retryIfLoading(function () {
774
644
  return _this10.deleteSiteEmoji(emoji);
775
645
  }, false);
@@ -783,11 +653,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
783
653
  key: "setSelectedTone",
784
654
  value: function setSelectedTone(tone) {
785
655
  this.selectedTone = tone;
786
-
787
656
  if (typeof window === 'undefined') {
788
657
  return;
789
658
  }
790
-
791
659
  if ((0, _storageAvailable.default)('localStorage')) {
792
660
  try {
793
661
  window.localStorage.setItem(_constants.selectedToneStorageKey, tone ? tone.toString() : '');
@@ -801,11 +669,9 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
801
669
  key: "calculateDynamicCategories",
802
670
  value: function calculateDynamicCategories() {
803
671
  var _this11 = this;
804
-
805
672
  if (this.isLoaded()) {
806
673
  return Promise.resolve(this.emojiRepository.getDynamicCategoryList());
807
674
  }
808
-
809
675
  return this.retryIfLoading(function () {
810
676
  return _this11.calculateDynamicCategories();
811
677
  }, []);
@@ -825,36 +691,27 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
825
691
  }]);
826
692
  return EmojiResource;
827
693
  }(_utilServiceSupport.AbstractResource);
828
-
829
694
  exports.EmojiResource = EmojiResource;
830
-
831
695
  var UploadingEmojiResource = /*#__PURE__*/function (_EmojiResource) {
832
696
  (0, _inherits2.default)(UploadingEmojiResource, _EmojiResource);
833
-
834
697
  var _super2 = _createSuper(UploadingEmojiResource);
835
-
836
698
  function UploadingEmojiResource(config) {
837
699
  var _this12;
838
-
839
700
  (0, _classCallCheck2.default)(this, UploadingEmojiResource);
840
701
  _this12 = _super2.call(this, config);
841
702
  _this12.allowUpload = !!config.allowUpload;
842
703
  return _this12;
843
704
  }
844
-
845
705
  (0, _createClass2.default)(UploadingEmojiResource, [{
846
706
  key: "isUploadSupported",
847
707
  value: function isUploadSupported() {
848
708
  var _this13 = this;
849
-
850
709
  if (!this.allowUpload) {
851
710
  return Promise.resolve(false);
852
711
  }
853
-
854
712
  if (this.siteEmojiResource) {
855
713
  return this.siteEmojiResource.hasUploadToken();
856
714
  }
857
-
858
715
  return this.retryIfLoading(function () {
859
716
  return _this13.isUploadSupported();
860
717
  }, false);
@@ -863,18 +720,14 @@ var UploadingEmojiResource = /*#__PURE__*/function (_EmojiResource) {
863
720
  key: "uploadCustomEmoji",
864
721
  value: function uploadCustomEmoji(upload) {
865
722
  var _this14 = this;
866
-
867
723
  var retry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
868
724
  return this.isUploadSupported().then(function (supported) {
869
725
  if (!supported || !_this14.siteEmojiResource) {
870
726
  return Promise.reject('No media api support is configured');
871
727
  }
872
-
873
728
  return _this14.siteEmojiResource.uploadEmoji(upload, retry).then(function (emoji) {
874
729
  _this14.addUnknownEmoji(emoji);
875
-
876
730
  _this14.refreshLastFilter();
877
-
878
731
  return emoji;
879
732
  });
880
733
  });
@@ -883,11 +736,9 @@ var UploadingEmojiResource = /*#__PURE__*/function (_EmojiResource) {
883
736
  key: "prepareForUpload",
884
737
  value: function prepareForUpload() {
885
738
  var _this15 = this;
886
-
887
739
  if (this.siteEmojiResource) {
888
740
  this.siteEmojiResource.prepareForUpload();
889
741
  }
890
-
891
742
  return this.retryIfLoading(function () {
892
743
  return _this15.prepareForUpload();
893
744
  }, undefined);
@@ -895,5 +746,4 @@ var UploadingEmojiResource = /*#__PURE__*/function (_EmojiResource) {
895
746
  }]);
896
747
  return UploadingEmojiResource;
897
748
  }(EmojiResource);
898
-
899
749
  exports.default = UploadingEmojiResource;