@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
@@ -6,11 +6,8 @@ import _inherits from "@babel/runtime/helpers/inherits";
6
6
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
-
10
9
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
-
12
10
  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; } }
13
-
14
11
  /** @jsx jsx */
15
12
  import React, { PureComponent } from 'react';
16
13
  import { jsx } from '@emotion/react';
@@ -23,49 +20,37 @@ import EmojiActions from '../common/EmojiActions';
23
20
  import { emojiPickerList } from './styles';
24
21
  import { emojiPickerHeightOffset } from './utils';
25
22
  import { VirtualList } from './VirtualList';
26
-
27
23
  /**
28
24
  * Test id for wrapper Emoji Picker List div
29
25
  */
30
26
  export var RENDER_EMOJI_PICKER_LIST_TESTID = 'render-emoji-picker-list';
31
27
  var categoryClassname = 'emoji-category';
32
-
33
28
  var byOrder = function byOrder(orderableA, orderableB) {
34
29
  return (orderableA.order || 0) - (orderableB.order || 0);
35
30
  };
36
-
37
31
  var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
38
32
  _inherits(EmojiPickerVirtualList, _PureComponent);
39
-
40
33
  var _super = _createSuper(EmojiPickerVirtualList);
41
-
42
34
  function EmojiPickerVirtualList(_props) {
43
35
  var _this;
44
-
45
36
  _classCallCheck(this, EmojiPickerVirtualList);
46
-
47
37
  _this = _super.call(this, _props);
48
-
49
38
  _defineProperty(_assertThisInitialized(_this), "virtualItems", []);
50
-
51
39
  _defineProperty(_assertThisInitialized(_this), "categoryTracker", new CategoryTracker());
52
-
53
40
  _defineProperty(_assertThisInitialized(_this), "onEmojiMouseEnter", function (emojiId, emoji) {
54
41
  if (_this.props.onEmojiActive) {
55
42
  _this.props.onEmojiActive(emojiId, emoji);
56
43
  }
57
44
  });
58
-
59
45
  _defineProperty(_assertThisInitialized(_this), "onSearch", function (e) {
60
46
  if (_this.props.onSearch) {
61
47
  _this.props.onSearch(e.target.value);
62
48
  }
63
49
  });
64
-
65
50
  _defineProperty(_assertThisInitialized(_this), "buildVirtualItemFromGroup", function (group) {
66
51
  var _this$props = _this.props,
67
- onEmojiSelected = _this$props.onEmojiSelected,
68
- onEmojiDelete = _this$props.onEmojiDelete;
52
+ onEmojiSelected = _this$props.onEmojiSelected,
53
+ onEmojiDelete = _this$props.onEmojiDelete;
69
54
  var items = [];
70
55
  items.push(new CategoryHeadingItem({
71
56
  id: group.category,
@@ -73,7 +58,6 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
73
58
  className: categoryClassname
74
59
  }));
75
60
  var remainingEmojis = group.emojis;
76
-
77
61
  while (remainingEmojis.length > 0) {
78
62
  var rowEmojis = remainingEmojis.slice(0, sizes.emojiPerRow);
79
63
  remainingEmojis = remainingEmojis.slice(sizes.emojiPerRow);
@@ -86,24 +70,20 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
86
70
  onMouseMove: _this.onEmojiMouseEnter
87
71
  }));
88
72
  }
89
-
90
73
  return items;
91
74
  });
92
-
93
75
  _defineProperty(_assertThisInitialized(_this), "buildVirtualItems", function (props, _state) {
94
76
  var emojis = props.emojis,
95
- loading = props.loading,
96
- query = props.query;
77
+ loading = props.loading,
78
+ query = props.query;
97
79
  var items = [];
98
-
99
80
  _this.categoryTracker.reset();
100
-
101
81
  if (loading) {
102
82
  items.push(new LoadingItem());
103
83
  } else {
104
84
  if (query) {
105
- var search = CategoryDescriptionMap.SEARCH; // Only a single "result" category
106
-
85
+ var search = CategoryDescriptionMap.SEARCH;
86
+ // Only a single "result" category
107
87
  items = [].concat(_toConsumableArray(items), _toConsumableArray(_this.buildVirtualItemFromGroup({
108
88
  category: 'SEARCH',
109
89
  title: search.name,
@@ -112,26 +92,23 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
112
92
  })));
113
93
  } else {
114
94
  // Group by category
95
+
115
96
  // Not searching show in categories.
116
97
  _this.allEmojiGroups.forEach(function (group) {
117
98
  // Optimisation - avoid re-rendering unaffected groups for the current selectedShortcut
118
99
  // by not passing it to irrelevant groups
119
100
  _this.categoryTracker.add(group.emojis[0].category, items.length);
120
-
121
101
  items = [].concat(_toConsumableArray(items), _toConsumableArray(_this.buildVirtualItemFromGroup(group)));
122
102
  });
123
103
  }
124
104
  }
125
-
126
105
  var rowCountChanged = _this.virtualItems.length !== items.length;
127
106
  _this.virtualItems = items;
128
107
  var list = _this.refs.list;
129
-
130
108
  if (!rowCountChanged && list) {
131
109
  // Row count has not changed, so need to tell list to rerender.
132
110
  list.forceUpdateGrid();
133
111
  }
134
-
135
112
  if (!query && list) {
136
113
  // VirtualList can apply stale heights since it performs a shallow
137
114
  // compare to check if the list has changed. Should manually recompute
@@ -139,7 +116,6 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
139
116
  list.recomputeRowHeights();
140
117
  }
141
118
  });
142
-
143
119
  _defineProperty(_assertThisInitialized(_this), "addToCategoryMap", function (categoryToGroupMap, emoji, category) {
144
120
  if (!categoryToGroupMap[category]) {
145
121
  var categoryDefinition = CategoryDescriptionMap[category];
@@ -150,24 +126,19 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
150
126
  order: categoryDefinition.order
151
127
  };
152
128
  }
153
-
154
129
  categoryToGroupMap[category].emojis.push(emoji);
155
130
  return categoryToGroupMap;
156
131
  });
157
-
158
132
  _defineProperty(_assertThisInitialized(_this), "groupByCategory", function (currentUser) {
159
133
  return function (categoryToGroupMap, emoji) {
160
- _this.addToCategoryMap(categoryToGroupMap, emoji, emoji.category); // separate user emojis
161
-
162
-
134
+ _this.addToCategoryMap(categoryToGroupMap, emoji, emoji.category);
135
+ // separate user emojis
163
136
  if (emoji.category === customCategory && currentUser && emoji.creatorUserId === currentUser.id) {
164
137
  _this.addToCategoryMap(categoryToGroupMap, emoji, 'USER_CUSTOM');
165
138
  }
166
-
167
139
  return categoryToGroupMap;
168
140
  };
169
141
  });
170
-
171
142
  _defineProperty(_assertThisInitialized(_this), "buildEmojiGroupedByCategory", function (emojis, currentUser) {
172
143
  var categoryToGroupMap = emojis.reduce(_this.groupByCategory(currentUser), {});
173
144
  _this.allEmojiGroups = Object.keys(categoryToGroupMap).map(function (key) {
@@ -176,63 +147,51 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
176
147
  if (group.category !== 'FREQUENT') {
177
148
  group.emojis.sort(byOrder);
178
149
  }
179
-
180
150
  return group;
181
151
  }).sort(byOrder);
182
152
  });
183
-
184
153
  _defineProperty(_assertThisInitialized(_this), "repaintList", function () {
185
154
  if (_this.refs.root) {
186
155
  var root = _this.refs.root;
187
156
  var display = root.style.display;
188
- root.style.display = 'none'; // we need to access offset to force repaint
189
- // eslint-disable-next-line no-unused-expressions
157
+ root.style.display = 'none';
190
158
 
159
+ // we need to access offset to force repaint
160
+ // eslint-disable-next-line no-unused-expressions
191
161
  root.offsetHeight;
192
162
  root.style.display = display;
193
163
  }
194
164
  });
195
-
196
165
  _defineProperty(_assertThisInitialized(_this), "checkCategoryIdChange", function (indexes) {
197
- var startIndex = indexes.startIndex; // FS-1844 Fix a rendering problem when scrolling to the top
166
+ var startIndex = indexes.startIndex;
198
167
 
168
+ // FS-1844 Fix a rendering problem when scrolling to the top
199
169
  if (startIndex === 0) {
200
170
  _this.repaintList();
201
171
  }
202
-
203
172
  if (!_this.props.query) {
204
173
  // Calculate category in view - only relevant if categories shown, i.e. no query
205
174
  var list = _this.refs.list;
206
-
207
175
  var currentCategory = _this.categoryTracker.findNearestCategoryAbove(startIndex, list);
208
-
209
176
  if (currentCategory && _this.activeCategoryId !== currentCategory) {
210
177
  _this.activeCategoryId = currentCategory;
211
-
212
178
  if (_this.props.onCategoryActivated) {
213
179
  _this.props.onCategoryActivated(currentCategory);
214
180
  }
215
181
  }
216
182
  }
217
183
  });
218
-
219
184
  _defineProperty(_assertThisInitialized(_this), "rowSize", function (index) {
220
185
  var _this$virtualItems$in;
221
-
222
186
  return ((_this$virtualItems$in = _this.virtualItems[index]) === null || _this$virtualItems$in === void 0 ? void 0 : _this$virtualItems$in.height) || sizes.categoryHeadingHeight;
223
187
  });
224
-
225
188
  _defineProperty(_assertThisInitialized(_this), "renderRow", function (context) {
226
189
  return virtualItemRenderer(_this.virtualItems, context);
227
190
  });
228
-
229
191
  _this.buildEmojiGroupedByCategory(_props.emojis, _props.currentUser);
230
-
231
192
  _this.buildVirtualItems(_props, _this.state);
232
-
233
193
  return _this;
234
194
  }
235
-
236
195
  _createClass(EmojiPickerVirtualList, [{
237
196
  key: "UNSAFE_componentWillUpdate",
238
197
  value: function UNSAFE_componentWillUpdate(nextProps, nextState) {
@@ -241,7 +200,6 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
241
200
  // Only refresh if no query
242
201
  this.buildEmojiGroupedByCategory(nextProps.emojis, nextProps.currentUser);
243
202
  }
244
-
245
203
  this.buildVirtualItems(nextProps, nextState);
246
204
  }
247
205
  }
@@ -266,24 +224,24 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
266
224
  key: "render",
267
225
  value: function render() {
268
226
  var _this$props2 = this.props,
269
- query = _this$props2.query,
270
- selectedTone = _this$props2.selectedTone,
271
- onToneSelected = _this$props2.onToneSelected,
272
- onToneSelectorCancelled = _this$props2.onToneSelectorCancelled,
273
- toneEmoji = _this$props2.toneEmoji,
274
- uploading = _this$props2.uploading,
275
- uploadEnabled = _this$props2.uploadEnabled,
276
- emojiToDelete = _this$props2.emojiToDelete,
277
- initialUploadName = _this$props2.initialUploadName,
278
- uploadErrorMessage = _this$props2.uploadErrorMessage,
279
- onUploadCancelled = _this$props2.onUploadCancelled,
280
- onUploadEmoji = _this$props2.onUploadEmoji,
281
- onCloseDelete = _this$props2.onCloseDelete,
282
- onDeleteEmoji = _this$props2.onDeleteEmoji,
283
- onFileChooserClicked = _this$props2.onFileChooserClicked,
284
- onOpenUpload = _this$props2.onOpenUpload,
285
- _this$props2$size = _this$props2.size,
286
- size = _this$props2$size === void 0 ? defaultEmojiPickerSize : _this$props2$size;
227
+ query = _this$props2.query,
228
+ selectedTone = _this$props2.selectedTone,
229
+ onToneSelected = _this$props2.onToneSelected,
230
+ onToneSelectorCancelled = _this$props2.onToneSelectorCancelled,
231
+ toneEmoji = _this$props2.toneEmoji,
232
+ uploading = _this$props2.uploading,
233
+ uploadEnabled = _this$props2.uploadEnabled,
234
+ emojiToDelete = _this$props2.emojiToDelete,
235
+ initialUploadName = _this$props2.initialUploadName,
236
+ uploadErrorMessage = _this$props2.uploadErrorMessage,
237
+ onUploadCancelled = _this$props2.onUploadCancelled,
238
+ onUploadEmoji = _this$props2.onUploadEmoji,
239
+ onCloseDelete = _this$props2.onCloseDelete,
240
+ onDeleteEmoji = _this$props2.onDeleteEmoji,
241
+ onFileChooserClicked = _this$props2.onFileChooserClicked,
242
+ onOpenUpload = _this$props2.onOpenUpload,
243
+ _this$props2$size = _this$props2.size,
244
+ size = _this$props2$size === void 0 ? defaultEmojiPickerSize : _this$props2$size;
287
245
  return jsx("div", {
288
246
  ref: "root",
289
247
  css: emojiPickerList,
@@ -319,10 +277,8 @@ var EmojiPickerVirtualList = /*#__PURE__*/function (_PureComponent) {
319
277
  }));
320
278
  }
321
279
  }]);
322
-
323
280
  return EmojiPickerVirtualList;
324
281
  }(PureComponent);
325
-
326
282
  _defineProperty(EmojiPickerVirtualList, "defaultProps", {
327
283
  onEmojiSelected: function onEmojiSelected() {},
328
284
  onEmojiActive: function onEmojiActive() {},
@@ -331,5 +287,4 @@ _defineProperty(EmojiPickerVirtualList, "defaultProps", {
331
287
  onSearch: function onSearch() {},
332
288
  size: defaultEmojiPickerSize
333
289
  });
334
-
335
290
  export { EmojiPickerVirtualList as default };
@@ -5,11 +5,8 @@ import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
8
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
10
  /** @jsx jsx */
14
11
  import React, { PureComponent } from 'react';
15
12
  import { jsx } from '@emotion/react';
@@ -19,73 +16,56 @@ import { injectIntl } from 'react-intl-next';
19
16
  import { messages } from '../i18n';
20
17
  import { input, pickerSearch, searchIcon } from './styles';
21
18
  export var emojiPickerSearchTestId = 'emoji-picker-serach';
22
-
23
19
  var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
24
20
  _inherits(EmojiPickerListSearch, _PureComponent);
25
-
26
21
  var _super = _createSuper(EmojiPickerListSearch);
27
-
28
22
  function EmojiPickerListSearch() {
29
23
  var _this;
30
-
31
24
  _classCallCheck(this, EmojiPickerListSearch);
32
-
33
25
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34
26
  args[_key] = arguments[_key];
35
27
  }
36
-
37
28
  _this = _super.call.apply(_super, [this].concat(args));
38
-
39
29
  _defineProperty(_assertThisInitialized(_this), "onBlur", function () {
40
- var activeElement = document.activeElement; // Input lost focus to emoji picker container (happens in IE11 when updating search results)
30
+ var activeElement = document.activeElement;
31
+ // Input lost focus to emoji picker container (happens in IE11 when updating search results)
41
32
  // See FS-2111
42
-
43
33
  if (activeElement instanceof HTMLElement && activeElement.getAttribute('data-emoji-picker-container')) {
44
34
  _this.restoreInputFocus();
45
35
  }
46
36
  });
47
-
48
37
  _defineProperty(_assertThisInitialized(_this), "onChange", function (e) {
49
38
  _this.saveInputSelection();
50
-
51
39
  _this.props.onChange(e);
52
40
  });
53
-
54
41
  _defineProperty(_assertThisInitialized(_this), "focusInput", function () {
55
42
  if (_this.inputRef) {
56
43
  _this.inputRef.focus();
57
44
  }
58
45
  });
59
-
60
46
  _defineProperty(_assertThisInitialized(_this), "handleInputRef", function (input) {
61
47
  if (input) {
62
48
  // Defer focus so it give some time to position the popup before
63
49
  // setting the focus to search input.
64
50
  // see FS-2056
65
51
  _this.inputRef = input;
66
-
67
52
  if (typeof window === 'undefined') {
68
53
  return;
69
54
  }
70
-
71
55
  window.requestAnimationFrame(_this.focusInput);
72
56
  }
73
57
  });
74
-
75
58
  return _this;
76
59
  }
77
-
78
60
  _createClass(EmojiPickerListSearch, [{
79
61
  key: "saveInputSelection",
80
62
  value: function saveInputSelection() {
81
63
  this.inputSelection = undefined;
82
-
83
64
  if (this.inputRef) {
84
65
  var _this$inputRef = this.inputRef,
85
- selectionStart = _this$inputRef.selectionStart,
86
- selectionEnd = _this$inputRef.selectionEnd,
87
- selectionDirection = _this$inputRef.selectionDirection;
88
-
66
+ selectionStart = _this$inputRef.selectionStart,
67
+ selectionEnd = _this$inputRef.selectionEnd,
68
+ selectionDirection = _this$inputRef.selectionDirection;
89
69
  if (selectionStart && selectionEnd && selectionDirection) {
90
70
  this.inputSelection = {
91
71
  selectionStart: selectionStart,
@@ -99,12 +79,11 @@ var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
99
79
  key: "restoreInputFocus",
100
80
  value: function restoreInputFocus() {
101
81
  this.focusInput();
102
-
103
82
  if (this.inputSelection && this.inputRef && this.inputRef.setSelectionRange) {
104
83
  var _this$inputSelection = this.inputSelection,
105
- selectionStart = _this$inputSelection.selectionStart,
106
- selectionEnd = _this$inputSelection.selectionEnd,
107
- selectionDirection = _this$inputSelection.selectionDirection;
84
+ selectionStart = _this$inputSelection.selectionStart,
85
+ selectionEnd = _this$inputSelection.selectionEnd,
86
+ selectionDirection = _this$inputSelection.selectionDirection;
108
87
  this.inputRef.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
109
88
  }
110
89
  }
@@ -112,9 +91,9 @@ var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
112
91
  key: "render",
113
92
  value: function render() {
114
93
  var _this$props = this.props,
115
- style = _this$props.style,
116
- query = _this$props.query,
117
- intl = _this$props.intl;
94
+ style = _this$props.style,
95
+ query = _this$props.query,
96
+ intl = _this$props.intl;
118
97
  var formatMessage = intl.formatMessage;
119
98
  return jsx("div", {
120
99
  css: pickerSearch,
@@ -139,12 +118,9 @@ var EmojiPickerListSearch = /*#__PURE__*/function (_PureComponent) {
139
118
  }));
140
119
  }
141
120
  }]);
142
-
143
121
  return EmojiPickerListSearch;
144
122
  }(PureComponent);
145
-
146
123
  _defineProperty(EmojiPickerListSearch, "defaultProps", {
147
124
  style: {}
148
125
  });
149
-
150
126
  export default injectIntl(EmojiPickerListSearch);
@@ -14,5 +14,6 @@ export var sizes = {
14
14
  // Fills remaining space without scrolling when loading.
15
15
  uploadActionHeight: 40,
16
16
  // 40px height
17
+
17
18
  emojiPerRow: 8
18
19
  };
@@ -5,12 +5,10 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
5
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
6
  import _createClass from "@babel/runtime/helpers/createClass";
7
7
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
8
-
9
8
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
10
  /** @jsx jsx */
11
+
14
12
  import { jsx } from '@emotion/react';
15
13
  import Spinner from '@atlaskit/spinner';
16
14
  import EmojiPickerCategoryHeading from './EmojiPickerCategoryHeading';
@@ -19,43 +17,30 @@ import { sizes } from './EmojiPickerSizes';
19
17
  import { emojiPickerSpinner } from './styles';
20
18
  export var AbstractItem = /*#__PURE__*/_createClass(function AbstractItem(props, height) {
21
19
  _classCallCheck(this, AbstractItem);
22
-
23
20
  this.props = props;
24
21
  this.height = height;
25
22
  });
26
23
  export var EmojisRowItem = /*#__PURE__*/function (_AbstractItem) {
27
24
  _inherits(EmojisRowItem, _AbstractItem);
28
-
29
25
  var _super = _createSuper(EmojisRowItem);
30
-
31
26
  function EmojisRowItem(props) {
32
27
  var _this;
33
-
34
28
  _classCallCheck(this, EmojisRowItem);
35
-
36
29
  _this = _super.call(this, props, sizes.emojiRowHeight);
37
-
38
30
  _defineProperty(_assertThisInitialized(_this), "renderItem", function () {
39
31
  return jsx(EmojiPickerEmojiRow, _this.props);
40
32
  });
41
-
42
33
  return _this;
43
34
  }
44
-
45
35
  return _createClass(EmojisRowItem);
46
36
  }(AbstractItem);
47
37
  export var LoadingItem = /*#__PURE__*/function (_AbstractItem2) {
48
38
  _inherits(LoadingItem, _AbstractItem2);
49
-
50
39
  var _super2 = _createSuper(LoadingItem);
51
-
52
40
  function LoadingItem() {
53
41
  var _this2;
54
-
55
42
  _classCallCheck(this, LoadingItem);
56
-
57
43
  _this2 = _super2.call(this, {}, sizes.loadingRowHeight);
58
-
59
44
  _defineProperty(_assertThisInitialized(_this2), "renderItem", function () {
60
45
  return jsx("div", {
61
46
  css: emojiPickerSpinner
@@ -63,36 +48,27 @@ export var LoadingItem = /*#__PURE__*/function (_AbstractItem2) {
63
48
  size: "medium"
64
49
  })));
65
50
  });
66
-
67
51
  return _this2;
68
52
  }
69
-
70
53
  return _createClass(LoadingItem);
71
54
  }(AbstractItem);
72
55
  export var CategoryHeadingItem = /*#__PURE__*/function (_AbstractItem3) {
73
56
  _inherits(CategoryHeadingItem, _AbstractItem3);
74
-
75
57
  var _super3 = _createSuper(CategoryHeadingItem);
76
-
77
58
  function CategoryHeadingItem(props) {
78
59
  var _this3;
79
-
80
60
  _classCallCheck(this, CategoryHeadingItem);
81
-
82
61
  _this3 = _super3.call(this, props, sizes.categoryHeadingHeight);
83
-
84
62
  _defineProperty(_assertThisInitialized(_this3), "renderItem", function () {
85
63
  return jsx(EmojiPickerCategoryHeading, _this3.props);
86
64
  });
87
-
88
65
  return _this3;
89
66
  }
90
-
91
67
  return _createClass(CategoryHeadingItem);
92
68
  }(AbstractItem);
93
69
  export var virtualItemRenderer = function virtualItemRenderer(rows, context) {
94
70
  var index = context.index,
95
- key = context.key;
71
+ key = context.key;
96
72
  var row = rows[index];
97
73
  return jsx("div", {
98
74
  key: key
@@ -5,11 +5,8 @@ import _inherits from "@babel/runtime/helpers/inherits";
5
5
  import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
7
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
8
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
10
-
11
9
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
12
-
13
10
  /** @jsx jsx */
14
11
  import { jsx } from '@emotion/react';
15
12
  import { Virtualizer, observeElementRect, observeElementOffset, elementScroll } from '@tanstack/react-virtual';
@@ -18,34 +15,27 @@ import { virtualList } from './styles';
18
15
  export var virtualListScrollContainerTestId = 'virtual-list-scroll-container';
19
16
  export var VirtualList = /*#__PURE__*/function (_PureComponent) {
20
17
  _inherits(VirtualList, _PureComponent);
21
-
22
18
  var _super = _createSuper(VirtualList);
23
-
24
19
  /**
25
20
  * Determine if the component is mounted to the DOM or not
26
21
  */
22
+
27
23
  function VirtualList(props) {
28
24
  var _this;
29
-
30
25
  _classCallCheck(this, VirtualList);
31
-
32
26
  _this = _super.call(this, props);
33
-
34
27
  _defineProperty(_assertThisInitialized(_this), "_isMounted", false);
35
-
36
28
  _this.parentRef = /*#__PURE__*/createRef();
37
29
  _this.rowVirtualizer = new Virtualizer(_this.getVirtualizerOptions(props));
38
30
  return _this;
39
31
  }
40
-
41
32
  _createClass(VirtualList, [{
42
33
  key: "getVirtualizerOptions",
43
34
  value: function getVirtualizerOptions(props) {
44
35
  var _this2 = this;
45
-
46
36
  var rowCount = props.rowCount,
47
- rowHeight = props.rowHeight,
48
- overscanRowCount = props.overscanRowCount;
37
+ rowHeight = props.rowHeight,
38
+ overscanRowCount = props.overscanRowCount;
49
39
  return {
50
40
  observeElementRect: observeElementRect,
51
41
  observeElementOffset: observeElementOffset,
@@ -70,8 +60,9 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
70
60
  var elemTop = elementRect.top;
71
61
  var elemBottom = elementRect.bottom;
72
62
  var parentTop = parentRect.top;
73
- var parentBottom = parentRect.bottom; // Only completely visible elements return true:
63
+ var parentBottom = parentRect.bottom;
74
64
 
65
+ // Only completely visible elements return true:
75
66
  var isVisible = elemTop >= parentTop && elemBottom <= parentBottom;
76
67
  return isVisible;
77
68
  }
@@ -79,10 +70,9 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
79
70
  key: "getFirstVisibleListElementIndex",
80
71
  value: function getFirstVisibleListElementIndex() {
81
72
  var _this$parentRef$curre,
82
- _this$parentRef$curre2,
83
- _this3 = this,
84
- _virtualList$firstVis;
85
-
73
+ _this$parentRef$curre2,
74
+ _this3 = this,
75
+ _virtualList$firstVis;
86
76
  var virtualList = this.rowVirtualizer.getVirtualItems();
87
77
  var renderedElements = (_this$parentRef$curre = this.parentRef.current) === null || _this$parentRef$curre === void 0 ? void 0 : (_this$parentRef$curre2 = _this$parentRef$curre.firstChild) === null || _this$parentRef$curre2 === void 0 ? void 0 : _this$parentRef$curre2.childNodes;
88
78
  var firstVisibleIndex = 0;
@@ -114,9 +104,7 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
114
104
  value: function componentDidMount() {
115
105
  if (this.rowVirtualizer) {
116
106
  this.rowVirtualizer._didMount();
117
-
118
107
  this.rowVirtualizer._willUpdate();
119
-
120
108
  this._isMounted = true;
121
109
  }
122
110
  }
@@ -129,10 +117,8 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
129
117
  key: "scrollToRow",
130
118
  value: function scrollToRow(index) {
131
119
  var scrollToAlignment = this.props.scrollToAlignment;
132
-
133
120
  if (index !== undefined) {
134
121
  var _this$rowVirtualizer;
135
-
136
122
  (_this$rowVirtualizer = this.rowVirtualizer) === null || _this$rowVirtualizer === void 0 ? void 0 : _this$rowVirtualizer.scrollToIndex(index, {
137
123
  align: scrollToAlignment,
138
124
  smoothScroll: false
@@ -151,7 +137,6 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
151
137
  key: "recomputeRowHeights",
152
138
  value: function recomputeRowHeights() {
153
139
  var _this$rowVirtualizer2;
154
-
155
140
  (_this$rowVirtualizer2 = this.rowVirtualizer) === null || _this$rowVirtualizer2 === void 0 ? void 0 : _this$rowVirtualizer2.measure();
156
141
  }
157
142
  }, {
@@ -163,11 +148,10 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
163
148
  key: "render",
164
149
  value: function render() {
165
150
  var _this$rowVirtualizer3, _this$rowVirtualizer4;
166
-
167
151
  var _this$props = this.props,
168
- rowRenderer = _this$props.rowRenderer,
169
- width = _this$props.width,
170
- height = _this$props.height;
152
+ rowRenderer = _this$props.rowRenderer,
153
+ width = _this$props.width,
154
+ height = _this$props.height;
171
155
  return jsx("div", {
172
156
  ref: this.parentRef,
173
157
  role: "grid",
@@ -200,6 +184,5 @@ export var VirtualList = /*#__PURE__*/function (_PureComponent) {
200
184
  })));
201
185
  }
202
186
  }]);
203
-
204
187
  return VirtualList;
205
188
  }(PureComponent);