@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 { Component } from 'react';
|
|
16
13
|
import { jsx } from '@emotion/react';
|
|
@@ -22,36 +19,27 @@ import EmojiErrorMessage from './EmojiErrorMessage';
|
|
|
22
19
|
import RetryableButton from './RetryableButton';
|
|
23
20
|
import { cancelButton, deleteFooter, deletePreview, deleteText, emojiDeleteErrorMessage, previewButtonGroup } from './styles';
|
|
24
21
|
export var emojiDeletePreviewTestId = 'emoji-delete-preview';
|
|
25
|
-
|
|
26
22
|
var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
|
|
27
23
|
_inherits(EmojiDeletePreview, _Component);
|
|
28
|
-
|
|
29
24
|
var _super = _createSuper(EmojiDeletePreview);
|
|
30
|
-
|
|
31
25
|
function EmojiDeletePreview(props) {
|
|
32
26
|
var _this;
|
|
33
|
-
|
|
34
27
|
_classCallCheck(this, EmojiDeletePreview);
|
|
35
|
-
|
|
36
28
|
_this = _super.call(this, props);
|
|
37
|
-
|
|
38
29
|
_defineProperty(_assertThisInitialized(_this), "onSubmit", function () {
|
|
39
30
|
var _this$props = _this.props,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
31
|
+
emoji = _this$props.emoji,
|
|
32
|
+
onDeleteEmoji = _this$props.onDeleteEmoji,
|
|
33
|
+
onCloseDelete = _this$props.onCloseDelete;
|
|
44
34
|
if (!_this.state.loading) {
|
|
45
35
|
_this.setState({
|
|
46
36
|
loading: true
|
|
47
37
|
});
|
|
48
|
-
|
|
49
38
|
onDeleteEmoji(emoji).then(function (success) {
|
|
50
39
|
if (success) {
|
|
51
40
|
onCloseDelete();
|
|
52
41
|
return;
|
|
53
42
|
}
|
|
54
|
-
|
|
55
43
|
_this.setState({
|
|
56
44
|
loading: false,
|
|
57
45
|
error: true
|
|
@@ -59,18 +47,15 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
|
|
|
59
47
|
});
|
|
60
48
|
}
|
|
61
49
|
});
|
|
62
|
-
|
|
63
50
|
_defineProperty(_assertThisInitialized(_this), "onCancel", function () {
|
|
64
51
|
_this.props.onCloseDelete();
|
|
65
52
|
});
|
|
66
|
-
|
|
67
53
|
_this.state = {
|
|
68
54
|
loading: false,
|
|
69
55
|
error: false
|
|
70
56
|
};
|
|
71
57
|
return _this;
|
|
72
58
|
}
|
|
73
|
-
|
|
74
59
|
_createClass(EmojiDeletePreview, [{
|
|
75
60
|
key: "UNSAFE_componentWillUpdate",
|
|
76
61
|
value: function UNSAFE_componentWillUpdate(nextProps) {
|
|
@@ -84,11 +69,11 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
|
|
|
84
69
|
key: "render",
|
|
85
70
|
value: function render() {
|
|
86
71
|
var _this$props2 = this.props,
|
|
87
|
-
|
|
88
|
-
|
|
72
|
+
emoji = _this$props2.emoji,
|
|
73
|
+
intl = _this$props2.intl;
|
|
89
74
|
var _this$state = this.state,
|
|
90
|
-
|
|
91
|
-
|
|
75
|
+
loading = _this$state.loading,
|
|
76
|
+
error = _this$state.error;
|
|
92
77
|
var formatMessage = intl.formatMessage;
|
|
93
78
|
return jsx("div", {
|
|
94
79
|
css: deletePreview,
|
|
@@ -122,8 +107,6 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
|
|
|
122
107
|
}, jsx(FormattedMessage, messages.cancelLabel)))));
|
|
123
108
|
}
|
|
124
109
|
}]);
|
|
125
|
-
|
|
126
110
|
return EmojiDeletePreview;
|
|
127
111
|
}(Component);
|
|
128
|
-
|
|
129
112
|
export default injectIntl(EmojiDeletePreview);
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/** @jsx jsx */
|
|
2
|
+
|
|
2
3
|
import { jsx } from '@emotion/react';
|
|
3
4
|
import Tooltip from '@atlaskit/tooltip';
|
|
4
5
|
import ErrorIcon from '@atlaskit/icon/glyph/error';
|
|
5
6
|
export var emojiErrorMessageTestId = 'emoji-error-message';
|
|
6
7
|
export var emojiErrorMessageTooltipTestId = 'emoji-error-message-tooltip';
|
|
7
8
|
export var emojiErrorIconTestId = 'emoji-error-icon';
|
|
8
|
-
|
|
9
9
|
var EmojiErrorMessage = function EmojiErrorMessage(props) {
|
|
10
10
|
var messageStyles = props.messageStyles,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
message = props.message,
|
|
12
|
+
tooltip = props.tooltip;
|
|
13
13
|
return tooltip ? jsx("div", {
|
|
14
14
|
css: messageStyles,
|
|
15
15
|
"data-testid": emojiErrorMessageTestId
|
|
@@ -29,5 +29,4 @@ var EmojiErrorMessage = function EmojiErrorMessage(props) {
|
|
|
29
29
|
size: "small"
|
|
30
30
|
}), " ", message);
|
|
31
31
|
};
|
|
32
|
-
|
|
33
32
|
export default EmojiErrorMessage;
|
|
@@ -5,28 +5,24 @@ import { placeholder, placeholderContainer, placeholderContainerAnimated } from
|
|
|
5
5
|
export var emojiPlaceholderTestId = function emojiPlaceholderTestId(shortName) {
|
|
6
6
|
return "emoji-placeholder-".concat(shortName);
|
|
7
7
|
};
|
|
8
|
-
|
|
9
8
|
var EmojiPlaceholder = function EmojiPlaceholder(props) {
|
|
10
9
|
var shortName = props.shortName,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
_props$size = props.size,
|
|
11
|
+
size = _props$size === void 0 ? defaultEmojiHeight : _props$size,
|
|
12
|
+
showTooltip = props.showTooltip,
|
|
13
|
+
representation = props.representation,
|
|
14
|
+
_props$loading = props.loading,
|
|
15
|
+
loading = _props$loading === void 0 ? false : _props$loading;
|
|
17
16
|
var scaledWidth;
|
|
18
17
|
var scaledHeight;
|
|
19
|
-
|
|
20
18
|
if (representation && size) {
|
|
21
19
|
var _width = representation.width;
|
|
22
20
|
var _height = representation.height;
|
|
23
|
-
|
|
24
21
|
if (_width && _height) {
|
|
25
22
|
scaledWidth = size / _height * _width;
|
|
26
23
|
scaledHeight = size;
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
|
|
30
26
|
var width = scaledWidth || size;
|
|
31
27
|
var height = scaledHeight || size;
|
|
32
28
|
var style = {
|
|
@@ -45,5 +41,4 @@ var EmojiPlaceholder = function EmojiPlaceholder(props) {
|
|
|
45
41
|
title: showTooltip ? shortName : ''
|
|
46
42
|
});
|
|
47
43
|
};
|
|
48
|
-
|
|
49
44
|
export default EmojiPlaceholder;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
|
|
5
4
|
/** @jsx jsx */
|
|
6
5
|
import React, { Fragment, useEffect, useState } from 'react';
|
|
7
6
|
import { jsx } from '@emotion/react';
|
|
@@ -19,7 +18,6 @@ import { UploadStatus } from './internal-types';
|
|
|
19
18
|
import { closeEmojiUploadButton, emojiChooseFileErrorMessage, emojiUpload, emojiUploadBottom, emojiUploadTop, uploadChooseFileBrowse, uploadChooseFileEmojiName, uploadChooseFileMessage, uploadChooseFileRow } from './styles';
|
|
20
19
|
export var uploadEmojiNameInputTestId = 'upload-emoji-name-input';
|
|
21
20
|
var disallowedReplacementsMap = new Map([[':', ''], ['!', ''], ['@', ''], ['#', ''], ['%', ''], ['^', ''], ['&', ''], ['*', ''], ['(', ''], [')', ''], [' ', '_']]);
|
|
22
|
-
|
|
23
21
|
var sanitizeName = function sanitizeName(name) {
|
|
24
22
|
// prevent / replace certain characters, allow others
|
|
25
23
|
disallowedReplacementsMap.forEach(function (replaceWith, exclude) {
|
|
@@ -27,33 +25,28 @@ var sanitizeName = function sanitizeName(name) {
|
|
|
27
25
|
});
|
|
28
26
|
return name;
|
|
29
27
|
};
|
|
30
|
-
|
|
31
28
|
var maxNameLength = 50;
|
|
32
|
-
|
|
33
29
|
var toEmojiName = function toEmojiName(uploadName) {
|
|
34
30
|
var name = uploadName.split('_').join(' ');
|
|
35
31
|
return "".concat(name.substr(0, 1).toLocaleUpperCase()).concat(name.substr(1));
|
|
36
32
|
};
|
|
37
|
-
|
|
38
33
|
var ChooseEmojiFile = function ChooseEmojiFile(props) {
|
|
39
34
|
var _props$name = props.name,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
name = _props$name === void 0 ? '' : _props$name,
|
|
36
|
+
onChooseFile = props.onChooseFile,
|
|
37
|
+
onClick = props.onClick,
|
|
38
|
+
onNameChange = props.onNameChange,
|
|
39
|
+
onUploadCancelled = props.onUploadCancelled,
|
|
40
|
+
errorMessage = props.errorMessage,
|
|
41
|
+
intl = props.intl;
|
|
47
42
|
var formatMessage = intl.formatMessage;
|
|
48
43
|
var disableChooser = !name;
|
|
49
44
|
var fileChooserButtonDescriptionId = 'choose.emoji.file.button.screen.reader.description.id';
|
|
50
|
-
|
|
51
45
|
var onKeyDownHandler = function onKeyDownHandler(event) {
|
|
52
46
|
if (event.key === 'Escape') {
|
|
53
47
|
onUploadCancelled();
|
|
54
48
|
}
|
|
55
49
|
};
|
|
56
|
-
|
|
57
50
|
return jsx("div", {
|
|
58
51
|
css: emojiUpload
|
|
59
52
|
}, jsx("div", {
|
|
@@ -108,40 +101,33 @@ var ChooseEmojiFile = function ChooseEmojiFile(props) {
|
|
|
108
101
|
message: errorMessage
|
|
109
102
|
})));
|
|
110
103
|
};
|
|
111
|
-
|
|
112
104
|
var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
113
105
|
var errorMessage = props.errorMessage,
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
106
|
+
initialUploadName = props.initialUploadName,
|
|
107
|
+
onUploadEmoji = props.onUploadEmoji,
|
|
108
|
+
onFileChooserClicked = props.onFileChooserClicked,
|
|
109
|
+
onUploadCancelled = props.onUploadCancelled,
|
|
110
|
+
intl = props.intl;
|
|
120
111
|
var _useState = useState(errorMessage ? UploadStatus.Error : UploadStatus.Waiting),
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
112
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
113
|
+
uploadStatus = _useState2[0],
|
|
114
|
+
setUploadStatus = _useState2[1];
|
|
125
115
|
var _useState3 = useState(),
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
116
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
117
|
+
chooseEmojiErrorMessage = _useState4[0],
|
|
118
|
+
setChooseEmojiErrorMessage = _useState4[1];
|
|
130
119
|
var _useState5 = useState(initialUploadName && sanitizeName(initialUploadName)),
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
120
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
121
|
+
name = _useState6[0],
|
|
122
|
+
setName = _useState6[1];
|
|
135
123
|
var _useState7 = useState(),
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
124
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
125
|
+
filename = _useState8[0],
|
|
126
|
+
setFilename = _useState8[1];
|
|
140
127
|
var _useState9 = useState(),
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
128
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
129
|
+
previewImage = _useState10[0],
|
|
130
|
+
setPreviewImage = _useState10[1];
|
|
145
131
|
useEffect(function () {
|
|
146
132
|
if (errorMessage) {
|
|
147
133
|
setUploadStatus(UploadStatus.Error);
|
|
@@ -157,24 +143,20 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
157
143
|
setName(sanitizeName(initialUploadName));
|
|
158
144
|
}
|
|
159
145
|
}, [initialUploadName]);
|
|
160
|
-
|
|
161
146
|
var onNameChange = function onNameChange(event) {
|
|
162
147
|
var newName = sanitizeName(event.target.value);
|
|
163
|
-
|
|
164
148
|
if (name !== newName) {
|
|
165
149
|
setName(newName);
|
|
166
150
|
}
|
|
167
151
|
};
|
|
168
|
-
|
|
169
152
|
var onAddEmoji = function onAddEmoji() {
|
|
170
153
|
if (uploadStatus === UploadStatus.Uploading) {
|
|
171
154
|
return;
|
|
172
155
|
}
|
|
173
|
-
|
|
174
156
|
if (filename && name && previewImage) {
|
|
175
157
|
var notifyUpload = function notifyUpload(size) {
|
|
176
158
|
var width = size.width,
|
|
177
|
-
|
|
159
|
+
height = size.height;
|
|
178
160
|
setUploadStatus(UploadStatus.Uploading);
|
|
179
161
|
onUploadEmoji({
|
|
180
162
|
name: toEmojiName(name),
|
|
@@ -185,13 +167,12 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
185
167
|
height: height
|
|
186
168
|
}, uploadStatus === UploadStatus.Error, clearUploadPicker);
|
|
187
169
|
};
|
|
188
|
-
|
|
189
170
|
ImageUtil.getNaturalImageSize(previewImage).then(function (size) {
|
|
190
171
|
notifyUpload(size);
|
|
191
172
|
}).catch(function (error) {
|
|
192
|
-
debug('getNaturalImageSize error', error);
|
|
173
|
+
debug('getNaturalImageSize error', error);
|
|
174
|
+
// Just set arbitrary size, worse case is it may render
|
|
193
175
|
// in wrong aspect ratio in some circumstances.
|
|
194
|
-
|
|
195
176
|
notifyUpload({
|
|
196
177
|
width: 32,
|
|
197
178
|
height: 32
|
|
@@ -199,13 +180,11 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
199
180
|
});
|
|
200
181
|
}
|
|
201
182
|
};
|
|
202
|
-
|
|
203
183
|
var errorOnUpload = function errorOnUpload(event) {
|
|
204
184
|
debug('File load error: ', event);
|
|
205
185
|
setChooseEmojiErrorMessage(messages.emojiUploadFailed);
|
|
206
186
|
cancelChooseFile();
|
|
207
187
|
};
|
|
208
|
-
|
|
209
188
|
var onFileLoad = function onFileLoad(file) {
|
|
210
189
|
return /*#__PURE__*/function () {
|
|
211
190
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(f) {
|
|
@@ -217,18 +196,15 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
217
196
|
setFilename(file.name);
|
|
218
197
|
_context.next = 4;
|
|
219
198
|
return ImageUtil.parseImage(f.target.result);
|
|
220
|
-
|
|
221
199
|
case 4:
|
|
222
200
|
setPreviewImage(f.target.result);
|
|
223
201
|
_context.next = 11;
|
|
224
202
|
break;
|
|
225
|
-
|
|
226
203
|
case 7:
|
|
227
204
|
_context.prev = 7;
|
|
228
205
|
_context.t0 = _context["catch"](0);
|
|
229
206
|
setChooseEmojiErrorMessage(messages.emojiInvalidImage);
|
|
230
207
|
cancelChooseFile();
|
|
231
|
-
|
|
232
208
|
case 11:
|
|
233
209
|
case "end":
|
|
234
210
|
return _context.stop();
|
|
@@ -236,30 +212,24 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
236
212
|
}
|
|
237
213
|
}, _callee, null, [[0, 7]]);
|
|
238
214
|
}));
|
|
239
|
-
|
|
240
215
|
return function (_x) {
|
|
241
216
|
return _ref.apply(this, arguments);
|
|
242
217
|
};
|
|
243
218
|
}();
|
|
244
219
|
};
|
|
245
|
-
|
|
246
220
|
var cancelChooseFile = function cancelChooseFile() {
|
|
247
221
|
setPreviewImage(undefined);
|
|
248
222
|
};
|
|
249
|
-
|
|
250
223
|
var onChooseFile = function onChooseFile(event) {
|
|
251
224
|
var files = event.target.files;
|
|
252
|
-
|
|
253
225
|
if (files.length) {
|
|
254
226
|
var reader = new FileReader();
|
|
255
227
|
var file = files[0];
|
|
256
|
-
|
|
257
228
|
if (ImageUtil.hasFileExceededSize(file)) {
|
|
258
229
|
setChooseEmojiErrorMessage(messages.emojiImageTooBig);
|
|
259
230
|
cancelChooseFile();
|
|
260
231
|
return;
|
|
261
232
|
}
|
|
262
|
-
|
|
263
233
|
reader.addEventListener('load', onFileLoad(file));
|
|
264
234
|
reader.addEventListener('abort', errorOnUpload);
|
|
265
235
|
reader.addEventListener('error', errorOnUpload);
|
|
@@ -268,18 +238,15 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
268
238
|
cancelChooseFile();
|
|
269
239
|
}
|
|
270
240
|
};
|
|
271
|
-
|
|
272
241
|
var clearUploadPicker = function clearUploadPicker() {
|
|
273
242
|
setName(undefined);
|
|
274
243
|
setPreviewImage(undefined);
|
|
275
244
|
setUploadStatus(UploadStatus.Waiting);
|
|
276
245
|
};
|
|
277
|
-
|
|
278
246
|
var cancelUpload = function cancelUpload() {
|
|
279
247
|
clearUploadPicker();
|
|
280
248
|
onUploadCancelled();
|
|
281
249
|
};
|
|
282
|
-
|
|
283
250
|
return jsx(React.Fragment, null, name && previewImage ? jsx(EmojiUploadPreview, {
|
|
284
251
|
errorMessage: errorMessage,
|
|
285
252
|
name: name,
|
|
@@ -297,5 +264,4 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
297
264
|
intl: intl
|
|
298
265
|
}));
|
|
299
266
|
};
|
|
300
|
-
|
|
301
267
|
export default injectIntl(EmojiUploadPicker);
|
|
@@ -4,11 +4,8 @@ import _createClass from "@babel/runtime/helpers/createClass";
|
|
|
4
4
|
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
|
-
|
|
8
7
|
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); }; }
|
|
9
|
-
|
|
10
8
|
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; } }
|
|
11
|
-
|
|
12
9
|
/** @jsx jsx */
|
|
13
10
|
import { PureComponent } from 'react';
|
|
14
11
|
import { jsx } from '@emotion/react';
|
|
@@ -23,32 +20,26 @@ import RetryableButton from './RetryableButton';
|
|
|
23
20
|
import { bigEmojiPreview, cancelButton, emojiPreviewErrorMessage, uploadAddRow, uploadPreview, uploadPreviewFooter, uploadPreviewText } from './styles';
|
|
24
21
|
export var uploadPreviewTestId = 'upload-preview';
|
|
25
22
|
export var cancelUploadButtonTestId = 'cancel-upload-button';
|
|
26
|
-
|
|
27
23
|
var EmojiUploadPreview = /*#__PURE__*/function (_PureComponent) {
|
|
28
24
|
_inherits(EmojiUploadPreview, _PureComponent);
|
|
29
|
-
|
|
30
25
|
var _super = _createSuper(EmojiUploadPreview);
|
|
31
|
-
|
|
32
26
|
function EmojiUploadPreview() {
|
|
33
27
|
_classCallCheck(this, EmojiUploadPreview);
|
|
34
|
-
|
|
35
28
|
return _super.apply(this, arguments);
|
|
36
29
|
}
|
|
37
|
-
|
|
38
30
|
_createClass(EmojiUploadPreview, [{
|
|
39
31
|
key: "render",
|
|
40
32
|
value: function render() {
|
|
41
33
|
var _this$props = this.props,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
34
|
+
name = _this$props.name,
|
|
35
|
+
previewImage = _this$props.previewImage,
|
|
36
|
+
uploadStatus = _this$props.uploadStatus,
|
|
37
|
+
errorMessage = _this$props.errorMessage,
|
|
38
|
+
onAddEmoji = _this$props.onAddEmoji,
|
|
39
|
+
onUploadCancelled = _this$props.onUploadCancelled,
|
|
40
|
+
intl = _this$props.intl;
|
|
49
41
|
var formatMessage = intl.formatMessage;
|
|
50
42
|
var emojiComponent;
|
|
51
|
-
|
|
52
43
|
if (previewImage) {
|
|
53
44
|
var emoji = {
|
|
54
45
|
shortName: ":".concat(name, ":"),
|
|
@@ -65,7 +56,6 @@ var EmojiUploadPreview = /*#__PURE__*/function (_PureComponent) {
|
|
|
65
56
|
emoji: emoji
|
|
66
57
|
});
|
|
67
58
|
}
|
|
68
|
-
|
|
69
59
|
var uploading = uploadStatus === UploadStatus.Uploading;
|
|
70
60
|
return jsx("div", {
|
|
71
61
|
css: uploadPreviewFooter
|
|
@@ -101,8 +91,6 @@ var EmojiUploadPreview = /*#__PURE__*/function (_PureComponent) {
|
|
|
101
91
|
}, jsx(FormattedMessage, messages.cancelLabel))));
|
|
102
92
|
}
|
|
103
93
|
}]);
|
|
104
|
-
|
|
105
94
|
return EmojiUploadPreview;
|
|
106
95
|
}(PureComponent);
|
|
107
|
-
|
|
108
96
|
export default injectIntl(EmojiUploadPreview);
|
|
@@ -2,28 +2,23 @@ import React, { useRef } from 'react';
|
|
|
2
2
|
import AkButton from '@atlaskit/button/custom-theme-button';
|
|
3
3
|
export var chooseFileButtonTestId = 'choose-file-button';
|
|
4
4
|
export var fileUploadInputTestId = 'file-upload';
|
|
5
|
-
|
|
6
5
|
var FileChooser = function FileChooser(props) {
|
|
7
6
|
var accept = props.accept,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
ariaDescribedBy = props.ariaDescribedBy,
|
|
8
|
+
isDisabled = props.isDisabled,
|
|
9
|
+
label = props.label,
|
|
10
|
+
onChange = props.onChange,
|
|
11
|
+
onClick = props.onClick;
|
|
13
12
|
var filePickerRef = useRef(null);
|
|
14
|
-
|
|
15
13
|
var handleOnChooseFile = function handleOnChooseFile() {
|
|
16
14
|
if (!filePickerRef.current) {
|
|
17
15
|
return;
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
if (onClick) {
|
|
21
18
|
onClick();
|
|
22
19
|
}
|
|
23
|
-
|
|
24
20
|
filePickerRef.current.click();
|
|
25
21
|
};
|
|
26
|
-
|
|
27
22
|
return /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(AkButton, {
|
|
28
23
|
onClick: handleOnChooseFile,
|
|
29
24
|
isDisabled: isDisabled,
|
|
@@ -41,5 +36,4 @@ var FileChooser = function FileChooser(props) {
|
|
|
41
36
|
"data-testid": fileUploadInputTestId
|
|
42
37
|
}));
|
|
43
38
|
};
|
|
44
|
-
|
|
45
39
|
export default FileChooser;
|
|
@@ -5,13 +5,9 @@ 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
|
import { Component } from 'react';
|
|
14
|
-
|
|
15
11
|
/**
|
|
16
12
|
* A base class for components that don't want to start rendering
|
|
17
13
|
* until the EmojiProvider is resolved.
|
|
@@ -20,30 +16,22 @@ import { Component } from 'react';
|
|
|
20
16
|
*/
|
|
21
17
|
var LoadingEmojiComponent = /*#__PURE__*/function (_Component) {
|
|
22
18
|
_inherits(LoadingEmojiComponent, _Component);
|
|
23
|
-
|
|
24
19
|
var _super = _createSuper(LoadingEmojiComponent);
|
|
25
|
-
|
|
26
20
|
function LoadingEmojiComponent(props, _state) {
|
|
27
21
|
var _this;
|
|
28
|
-
|
|
29
22
|
_classCallCheck(this, LoadingEmojiComponent);
|
|
30
|
-
|
|
31
23
|
_this = _super.call(this, props);
|
|
32
|
-
|
|
33
24
|
_defineProperty(_assertThisInitialized(_this), "isUnmounted", false);
|
|
34
|
-
|
|
35
25
|
_defineProperty(_assertThisInitialized(_this), "loaded", function (state) {
|
|
36
26
|
return !!state.asyncLoadedComponent && !!state.loadedEmojiProvider;
|
|
37
27
|
});
|
|
28
|
+
_this.state = _state;
|
|
38
29
|
|
|
39
|
-
|
|
30
|
+
// initializing here instead of componentDidMount to avoid needless
|
|
40
31
|
// rerendering if emojiProvider resolves immediately.
|
|
41
|
-
|
|
42
32
|
_this.loadEmojiProvider(_this.props.emojiProvider);
|
|
43
|
-
|
|
44
33
|
return _this;
|
|
45
34
|
}
|
|
46
|
-
|
|
47
35
|
_createClass(LoadingEmojiComponent, [{
|
|
48
36
|
key: "componentDidMount",
|
|
49
37
|
value: function componentDidMount() {
|
|
@@ -68,7 +56,6 @@ var LoadingEmojiComponent = /*#__PURE__*/function (_Component) {
|
|
|
68
56
|
key: "loadEmojiProvider",
|
|
69
57
|
value: function loadEmojiProvider(futureEmojiProvider) {
|
|
70
58
|
var _this2 = this;
|
|
71
|
-
|
|
72
59
|
futureEmojiProvider.then(function (loadedEmojiProvider) {
|
|
73
60
|
if (!_this2.isUnmounted) {
|
|
74
61
|
_this2.setState({
|
|
@@ -102,16 +89,13 @@ var LoadingEmojiComponent = /*#__PURE__*/function (_Component) {
|
|
|
102
89
|
value: function render() {
|
|
103
90
|
if (this.loaded(this.state)) {
|
|
104
91
|
var _this$state = this.state,
|
|
105
|
-
|
|
106
|
-
|
|
92
|
+
_loadedEmojiProvider = _this$state.loadedEmojiProvider,
|
|
93
|
+
_asyncLoadedComponent = _this$state.asyncLoadedComponent;
|
|
107
94
|
return this.renderLoaded(_loadedEmojiProvider, _asyncLoadedComponent);
|
|
108
95
|
}
|
|
109
|
-
|
|
110
96
|
return this.renderLoading();
|
|
111
97
|
}
|
|
112
98
|
}]);
|
|
113
|
-
|
|
114
99
|
return LoadingEmojiComponent;
|
|
115
100
|
}(Component);
|
|
116
|
-
|
|
117
101
|
export { LoadingEmojiComponent as default };
|