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