@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.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/admin.js +0 -2
- package/dist/cjs/api/EmojiLoader.js +1 -8
- package/dist/cjs/api/EmojiRepository.js +16 -80
- package/dist/cjs/api/EmojiRepositoryRegex.js +2 -0
- package/dist/cjs/api/EmojiResource.js +20 -170
- package/dist/cjs/api/EmojiUtils.js +27 -67
- package/dist/cjs/api/internal/Comparators.js +8 -62
- package/dist/cjs/api/internal/UsageFrequencyTracker.js +4 -34
- package/dist/cjs/api/media/MediaEmojiCache.js +8 -58
- package/dist/cjs/api/media/MediaImageLoader.js +4 -28
- package/dist/cjs/api/media/SiteEmojiResource.js +14 -55
- package/dist/cjs/api/media/TokenManager.js +4 -18
- package/dist/cjs/components/common/CachingEmoji.js +18 -52
- package/dist/cjs/components/common/DeleteButton.js +0 -10
- package/dist/cjs/components/common/Emoji.js +44 -102
- package/dist/cjs/components/common/EmojiActions.js +25 -61
- package/dist/cjs/components/common/EmojiButton.js +5 -18
- package/dist/cjs/components/common/EmojiDeletePreview.js +7 -38
- package/dist/cjs/components/common/EmojiErrorMessage.js +3 -9
- package/dist/cjs/components/common/EmojiPlaceholder.js +7 -16
- package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -6
- package/dist/cjs/components/common/EmojiUploadPicker.js +31 -86
- package/dist/cjs/components/common/EmojiUploadPreview.js +7 -36
- package/dist/cjs/components/common/FileChooser.js +5 -18
- package/dist/cjs/components/common/LoadingEmojiComponent.js +5 -24
- package/dist/cjs/components/common/Popup.js +16 -44
- package/dist/cjs/components/common/RecordSelectionDefault.js +0 -7
- package/dist/cjs/components/common/ResourcedEmoji.js +0 -15
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +29 -69
- package/dist/cjs/components/common/RetryableButton.js +4 -19
- package/dist/cjs/components/common/Scrollable.js +6 -36
- package/dist/cjs/components/common/ToneSelector.js +3 -24
- package/dist/cjs/components/common/UfoErrorBoundary.js +1 -19
- package/dist/cjs/components/common/UploadEmoji.js +2 -13
- package/dist/cjs/components/common/internal-types.js +0 -1
- package/dist/cjs/components/common/setSkinToneAriaLabelText.js +0 -6
- package/dist/cjs/components/common/styles.js +9 -17
- package/dist/cjs/components/hooks.js +0 -2
- package/dist/cjs/components/i18n.js +0 -2
- package/dist/cjs/components/picker/CategorySelector.js +4 -50
- package/dist/cjs/components/picker/CategoryTracker.js +3 -14
- package/dist/cjs/components/picker/EmojiPicker.js +3 -42
- package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +2 -10
- package/dist/cjs/components/picker/EmojiPickerComponent.js +59 -140
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +7 -14
- package/dist/cjs/components/picker/EmojiPickerFooter.js +1 -8
- package/dist/cjs/components/picker/EmojiPickerList.js +32 -83
- package/dist/cjs/components/picker/EmojiPickerListSearch.js +11 -48
- package/dist/cjs/components/picker/EmojiPickerSizes.js +1 -2
- package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +1 -38
- package/dist/cjs/components/picker/VirtualList.js +11 -41
- package/dist/cjs/components/picker/categories.js +0 -14
- package/dist/cjs/components/picker/styles.js +15 -20
- package/dist/cjs/components/picker/utils.js +0 -4
- package/dist/cjs/components/typeahead/EmojiTypeAhead.js +10 -45
- package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +11 -74
- package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +7 -37
- package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +10 -63
- package/dist/cjs/components/typeahead/styles.js +2 -4
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +6 -42
- package/dist/cjs/components/uploader/EmojiUploader.js +3 -31
- package/dist/cjs/components/uploader/styles.js +3 -4
- package/dist/cjs/context/EmojiCommonProvider.js +0 -6
- package/dist/cjs/context/EmojiContext.js +0 -2
- package/dist/cjs/context/EmojiContextProvider.js +1 -17
- package/dist/cjs/element.js +0 -4
- package/dist/cjs/hooks/useEmoji.js +5 -20
- package/dist/cjs/hooks/useEmojiContext.js +0 -4
- package/dist/cjs/hooks/usePrevious.js +0 -2
- package/dist/cjs/i18n/cs.js +0 -1
- package/dist/cjs/i18n/da.js +0 -1
- package/dist/cjs/i18n/de.js +0 -1
- package/dist/cjs/i18n/en.js +0 -1
- package/dist/cjs/i18n/en_GB.js +0 -1
- package/dist/cjs/i18n/en_ZZ.js +0 -1
- package/dist/cjs/i18n/es.js +0 -1
- package/dist/cjs/i18n/et.js +0 -1
- package/dist/cjs/i18n/fi.js +0 -1
- package/dist/cjs/i18n/fr.js +0 -1
- package/dist/cjs/i18n/hu.js +0 -1
- package/dist/cjs/i18n/index.js +0 -30
- package/dist/cjs/i18n/it.js +0 -1
- package/dist/cjs/i18n/ja.js +0 -1
- package/dist/cjs/i18n/ko.js +0 -1
- package/dist/cjs/i18n/nb.js +0 -1
- package/dist/cjs/i18n/nl.js +0 -1
- package/dist/cjs/i18n/pl.js +0 -1
- package/dist/cjs/i18n/pt_BR.js +0 -1
- package/dist/cjs/i18n/pt_PT.js +0 -1
- package/dist/cjs/i18n/ru.js +0 -1
- package/dist/cjs/i18n/sk.js +0 -1
- package/dist/cjs/i18n/sv.js +0 -1
- package/dist/cjs/i18n/th.js +0 -1
- package/dist/cjs/i18n/tr.js +0 -1
- package/dist/cjs/i18n/uk.js +0 -1
- package/dist/cjs/i18n/vi.js +0 -1
- package/dist/cjs/i18n/zh.js +0 -1
- package/dist/cjs/i18n/zh_TW.js +0 -1
- package/dist/cjs/index.js +0 -24
- package/dist/cjs/picker.js +0 -2
- package/dist/cjs/resource.js +0 -5
- package/dist/cjs/typeahead.js +0 -3
- package/dist/cjs/types.js +0 -17
- package/dist/cjs/util/DuplicateLimitedQueue.js +13 -31
- package/dist/cjs/util/StoredDuplicateLimitedQueue.js +4 -26
- package/dist/cjs/util/analytics/analytics.js +14 -97
- package/dist/cjs/util/analytics/index.js +0 -4
- package/dist/cjs/util/analytics/samplingUfo.js +3 -59
- package/dist/cjs/util/analytics/ufoExperiences.js +0 -12
- package/dist/cjs/util/analytics/useSampledUFOComponentExperience.js +3 -10
- package/dist/cjs/util/constants.js +5 -5
- package/dist/cjs/util/filters.js +0 -4
- package/dist/cjs/util/image.js +3 -18
- package/dist/cjs/util/logger.js +0 -6
- package/dist/cjs/util/mouse.js +3 -6
- package/dist/cjs/util/shared-styles.js +0 -4
- package/dist/cjs/util/storage-available.js +10 -8
- package/dist/cjs/util/type-helpers.js +2 -57
- package/dist/cjs/util/useInView.js +0 -6
- package/dist/cjs/utils.js +0 -3
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/api/EmojiLoader.js +2 -4
- package/dist/es2019/api/EmojiRepository.js +15 -82
- package/dist/es2019/api/EmojiRepositoryRegex.js +2 -0
- package/dist/es2019/api/EmojiResource.js +21 -114
- package/dist/es2019/api/EmojiUtils.js +11 -18
- package/dist/es2019/api/internal/Comparators.js +12 -48
- package/dist/es2019/api/internal/UsageFrequencyTracker.js +7 -24
- package/dist/es2019/api/media/MediaEmojiCache.js +9 -52
- package/dist/es2019/api/media/MediaImageLoader.js +2 -16
- package/dist/es2019/api/media/SiteEmojiResource.js +11 -31
- package/dist/es2019/api/media/TokenManager.js +4 -14
- package/dist/es2019/components/common/CachingEmoji.js +5 -12
- package/dist/es2019/components/common/DeleteButton.js +2 -3
- package/dist/es2019/components/common/Emoji.js +19 -47
- package/dist/es2019/components/common/EmojiActions.js +3 -16
- package/dist/es2019/components/common/EmojiButton.js +0 -5
- package/dist/es2019/components/common/EmojiDeletePreview.js +0 -11
- package/dist/es2019/components/common/EmojiErrorMessage.js +1 -2
- package/dist/es2019/components/common/EmojiPlaceholder.js +0 -5
- package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/es2019/components/common/EmojiUploadPicker.js +2 -25
- package/dist/es2019/components/common/EmojiUploadPreview.js +0 -6
- package/dist/es2019/components/common/FileChooser.js +0 -6
- package/dist/es2019/components/common/LoadingEmojiComponent.js +2 -14
- package/dist/es2019/components/common/Popup.js +4 -22
- package/dist/es2019/components/common/RecordSelectionDefault.js +1 -1
- package/dist/es2019/components/common/ResourcedEmoji.js +1 -6
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +2 -13
- package/dist/es2019/components/common/RetryableButton.js +1 -8
- package/dist/es2019/components/common/Scrollable.js +2 -12
- package/dist/es2019/components/common/ToneSelector.js +2 -8
- package/dist/es2019/components/common/UfoErrorBoundary.js +0 -2
- package/dist/es2019/components/common/UploadEmoji.js +2 -3
- package/dist/es2019/components/common/internal-types.js +0 -1
- package/dist/es2019/components/common/styles.js +12 -8
- package/dist/es2019/components/picker/CategorySelector.js +0 -22
- package/dist/es2019/components/picker/CategoryTracker.js +3 -13
- package/dist/es2019/components/picker/EmojiPicker.js +3 -17
- package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +2 -3
- package/dist/es2019/components/picker/EmojiPickerComponent.js +10 -43
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +0 -2
- package/dist/es2019/components/picker/EmojiPickerFooter.js +0 -2
- package/dist/es2019/components/picker/EmojiPickerList.js +10 -45
- package/dist/es2019/components/picker/EmojiPickerListSearch.js +2 -19
- package/dist/es2019/components/picker/EmojiPickerSizes.js +1 -0
- package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +1 -8
- package/dist/es2019/components/picker/VirtualList.js +3 -24
- package/dist/es2019/components/picker/styles.js +22 -10
- package/dist/es2019/components/picker/utils.js +0 -1
- package/dist/es2019/components/typeahead/EmojiTypeAhead.js +4 -21
- package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +0 -42
- package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +0 -7
- package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +4 -45
- package/dist/es2019/components/typeahead/styles.js +2 -1
- package/dist/es2019/components/uploader/EmojiUploadComponent.js +2 -15
- package/dist/es2019/components/uploader/EmojiUploader.js +2 -10
- package/dist/es2019/components/uploader/styles.js +5 -2
- package/dist/es2019/context/EmojiCommonProvider.js +0 -2
- package/dist/es2019/context/EmojiContextProvider.js +0 -1
- package/dist/es2019/hooks/useEmoji.js +2 -6
- package/dist/es2019/hooks/useEmojiContext.js +1 -1
- package/dist/es2019/index.js +12 -6
- package/dist/es2019/types.js +1 -11
- package/dist/es2019/util/DuplicateLimitedQueue.js +13 -35
- package/dist/es2019/util/StoredDuplicateLimitedQueue.js +5 -12
- package/dist/es2019/util/analytics/analytics.js +7 -23
- package/dist/es2019/util/analytics/samplingUfo.js +6 -32
- package/dist/es2019/util/analytics/ufoExperiences.js +0 -3
- package/dist/es2019/util/analytics/useSampledUFOComponentExperience.js +3 -7
- package/dist/es2019/util/constants.js +5 -4
- package/dist/es2019/util/filters.js +0 -3
- package/dist/es2019/util/image.js +3 -8
- package/dist/es2019/util/mouse.js +3 -3
- package/dist/es2019/util/storage-available.js +10 -7
- package/dist/es2019/util/type-helpers.js +6 -9
- package/dist/es2019/util/useInView.js +0 -2
- package/dist/es2019/version.json +1 -1
- package/dist/esm/api/EmojiLoader.js +2 -6
- package/dist/esm/api/EmojiRepository.js +16 -71
- package/dist/esm/api/EmojiRepositoryRegex.js +2 -0
- package/dist/esm/api/EmojiResource.js +20 -158
- package/dist/esm/api/EmojiUtils.js +27 -47
- package/dist/esm/api/internal/Comparators.js +12 -53
- package/dist/esm/api/internal/UsageFrequencyTracker.js +5 -29
- package/dist/esm/api/media/MediaEmojiCache.js +9 -55
- package/dist/esm/api/media/MediaImageLoader.js +4 -27
- package/dist/esm/api/media/SiteEmojiResource.js +14 -43
- package/dist/esm/api/media/TokenManager.js +6 -16
- package/dist/esm/components/common/CachingEmoji.js +18 -30
- package/dist/esm/components/common/DeleteButton.js +2 -3
- package/dist/esm/components/common/Emoji.js +44 -78
- package/dist/esm/components/common/EmojiActions.js +25 -40
- package/dist/esm/components/common/EmojiButton.js +4 -9
- package/dist/esm/components/common/EmojiDeletePreview.js +7 -24
- package/dist/esm/components/common/EmojiErrorMessage.js +3 -4
- package/dist/esm/components/common/EmojiPlaceholder.js +6 -11
- package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +30 -64
- package/dist/esm/components/common/EmojiUploadPreview.js +7 -19
- package/dist/esm/components/common/FileChooser.js +5 -11
- package/dist/esm/components/common/LoadingEmojiComponent.js +4 -20
- package/dist/esm/components/common/Popup.js +16 -36
- package/dist/esm/components/common/RecordSelectionDefault.js +1 -1
- package/dist/esm/components/common/ResourcedEmoji.js +1 -6
- package/dist/esm/components/common/ResourcedEmojiComponent.js +29 -51
- package/dist/esm/components/common/RetryableButton.js +4 -11
- package/dist/esm/components/common/Scrollable.js +6 -29
- package/dist/esm/components/common/ToneSelector.js +3 -13
- package/dist/esm/components/common/UfoErrorBoundary.js +1 -13
- package/dist/esm/components/common/UploadEmoji.js +2 -3
- package/dist/esm/components/common/internal-types.js +0 -1
- package/dist/esm/components/common/setSkinToneAriaLabelText.js +0 -2
- package/dist/esm/components/common/styles.js +12 -9
- package/dist/esm/components/picker/CategorySelector.js +4 -32
- package/dist/esm/components/picker/CategoryTracker.js +3 -13
- package/dist/esm/components/picker/EmojiPicker.js +5 -27
- package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +4 -5
- package/dist/esm/components/picker/EmojiPickerComponent.js +60 -114
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +6 -8
- package/dist/esm/components/picker/EmojiPickerFooter.js +0 -2
- package/dist/esm/components/picker/EmojiPickerList.js +32 -77
- package/dist/esm/components/picker/EmojiPickerListSearch.js +11 -35
- package/dist/esm/components/picker/EmojiPickerSizes.js +1 -0
- package/dist/esm/components/picker/EmojiPickerVirtualItems.js +2 -26
- package/dist/esm/components/picker/VirtualList.js +11 -28
- package/dist/esm/components/picker/styles.js +22 -11
- package/dist/esm/components/picker/utils.js +0 -1
- package/dist/esm/components/typeahead/EmojiTypeAhead.js +11 -39
- package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +11 -65
- package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +7 -24
- package/dist/esm/components/typeahead/EmojiTypeAheadList.js +10 -53
- package/dist/esm/components/typeahead/styles.js +2 -1
- package/dist/esm/components/uploader/EmojiUploadComponent.js +5 -25
- package/dist/esm/components/uploader/EmojiUploader.js +4 -22
- package/dist/esm/components/uploader/styles.js +5 -2
- package/dist/esm/context/EmojiCommonProvider.js +0 -2
- package/dist/esm/context/EmojiContextProvider.js +1 -6
- package/dist/esm/hooks/useEmoji.js +5 -13
- package/dist/esm/hooks/useEmojiContext.js +1 -1
- package/dist/esm/index.js +12 -6
- package/dist/esm/types.js +1 -11
- package/dist/esm/util/DuplicateLimitedQueue.js +13 -29
- package/dist/esm/util/StoredDuplicateLimitedQueue.js +5 -22
- package/dist/esm/util/analytics/analytics.js +14 -50
- package/dist/esm/util/analytics/samplingUfo.js +3 -51
- package/dist/esm/util/analytics/ufoExperiences.js +0 -3
- package/dist/esm/util/analytics/useSampledUFOComponentExperience.js +3 -7
- package/dist/esm/util/constants.js +5 -4
- package/dist/esm/util/filters.js +0 -3
- package/dist/esm/util/image.js +3 -8
- package/dist/esm/util/logger.js +0 -2
- package/dist/esm/util/mouse.js +3 -3
- package/dist/esm/util/storage-available.js +10 -7
- package/dist/esm/util/type-helpers.js +2 -12
- package/dist/esm/util/useInView.js +0 -2
- package/dist/esm/version.json +1 -1
- 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
|
-
|
|
68
|
-
|
|
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
|
-
|
|
96
|
-
|
|
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;
|
|
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);
|
|
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';
|
|
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;
|
|
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
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
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;
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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);
|
|
@@ -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
|
-
|
|
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
|
-
|
|
48
|
-
|
|
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;
|
|
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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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);
|