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