@atlaskit/emoji 65.0.0 → 65.2.0
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 +36 -0
- package/dist/cjs/components/common/CachingEmoji.js +84 -151
- package/dist/cjs/components/common/Emoji.js +2 -2
- package/dist/cjs/components/common/EmojiActions.js +129 -175
- package/dist/cjs/components/common/EmojiErrorMessage.js +23 -59
- package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +235 -293
- package/dist/cjs/components/common/FileChooser.js +34 -71
- package/dist/cjs/components/common/Popup.js +105 -154
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +10 -5
- package/dist/cjs/components/common/RetryableButton.js +43 -64
- package/dist/cjs/components/common/ToneSelector.js +50 -89
- package/dist/cjs/components/common/styles.js +14 -16
- package/dist/cjs/components/hooks.js +16 -0
- package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +16 -48
- package/dist/cjs/components/picker/EmojiPickerComponent.js +496 -508
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +33 -60
- package/dist/cjs/components/picker/EmojiPickerFooter.js +13 -46
- package/dist/cjs/components/picker/styles.js +16 -13
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +124 -109
- package/dist/cjs/hooks/useEmojiContext.js +16 -0
- package/dist/cjs/hooks/usePrevious.js +16 -0
- package/dist/cjs/index.js +16 -0
- package/dist/cjs/util/constants.js +3 -1
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/common/CachingEmoji.js +65 -112
- package/dist/es2019/components/common/Emoji.js +2 -2
- package/dist/es2019/components/common/EmojiActions.js +124 -150
- package/dist/es2019/components/common/EmojiErrorMessage.js +22 -26
- package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/es2019/components/common/EmojiUploadPicker.js +190 -253
- package/dist/es2019/components/common/FileChooser.js +37 -40
- package/dist/es2019/components/common/Popup.js +89 -109
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +5 -4
- package/dist/es2019/components/common/RetryableButton.js +43 -34
- package/dist/es2019/components/common/ToneSelector.js +46 -59
- package/dist/es2019/components/common/styles.js +9 -9
- package/dist/es2019/components/hooks.js +8 -0
- package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +13 -17
- package/dist/es2019/components/picker/EmojiPickerComponent.js +417 -497
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +32 -35
- package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -19
- package/dist/es2019/components/picker/styles.js +16 -14
- package/dist/es2019/components/uploader/EmojiUploadComponent.js +81 -91
- package/dist/es2019/hooks/useEmojiContext.js +3 -0
- package/dist/es2019/hooks/usePrevious.js +8 -0
- package/dist/es2019/index.js +4 -1
- package/dist/es2019/util/constants.js +1 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/common/CachingEmoji.js +86 -156
- package/dist/esm/components/common/Emoji.js +2 -2
- package/dist/esm/components/common/EmojiActions.js +129 -176
- package/dist/esm/components/common/EmojiErrorMessage.js +21 -56
- package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +233 -299
- package/dist/esm/components/common/FileChooser.js +34 -70
- package/dist/esm/components/common/Popup.js +104 -155
- package/dist/esm/components/common/ResourcedEmojiComponent.js +8 -4
- package/dist/esm/components/common/RetryableButton.js +40 -60
- package/dist/esm/components/common/ToneSelector.js +50 -87
- package/dist/esm/components/common/styles.js +10 -10
- package/dist/esm/components/hooks.js +8 -0
- package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +14 -43
- package/dist/esm/components/picker/EmojiPickerComponent.js +486 -526
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +31 -59
- package/dist/esm/components/picker/EmojiPickerFooter.js +14 -47
- package/dist/esm/components/picker/styles.js +16 -14
- package/dist/esm/components/uploader/EmojiUploadComponent.js +119 -113
- package/dist/esm/hooks/useEmojiContext.js +5 -0
- package/dist/esm/hooks/usePrevious.js +8 -0
- package/dist/esm/index.js +4 -1
- package/dist/esm/util/constants.js +1 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/api/EmojiResource.d.ts +2 -3
- package/dist/types/components/common/CachingEmoji.d.ts +3 -13
- package/dist/types/components/common/Emoji.d.ts +1 -2
- package/dist/types/components/common/EmojiActions.d.ts +6 -17
- package/dist/types/components/common/EmojiErrorMessage.d.ts +3 -6
- package/dist/types/components/common/EmojiPreviewComponent.d.ts +2 -2
- package/dist/types/components/common/EmojiUploadPicker.d.ts +3 -27
- package/dist/types/components/common/FileChooser.d.ts +3 -5
- package/dist/types/components/common/LoadingEmojiComponent.d.ts +3 -0
- package/dist/types/components/common/Popup.d.ts +3 -20
- package/dist/types/components/common/ResourcedEmojiComponent.d.ts +23 -11
- package/dist/types/components/common/RetryableButton.d.ts +3 -7
- package/dist/types/components/common/ToneSelector.d.ts +4 -10
- package/dist/types/components/common/setSkinToneAriaLabelText.d.ts +1 -1
- package/dist/types/components/common/styles.d.ts +1 -3
- package/dist/types/components/hooks.d.ts +1 -0
- package/dist/types/components/picker/CategorySelector.d.ts +1 -1
- package/dist/types/components/picker/EmojiPicker.d.ts +12 -3
- package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +3 -4
- package/dist/types/components/picker/EmojiPickerComponent.d.ts +14 -76
- package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +3 -4
- package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -5
- package/dist/types/components/picker/styles.d.ts +1 -1
- package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +18 -0
- package/dist/types/components/uploader/EmojiUploadComponent.d.ts +3 -17
- package/dist/types/components/uploader/EmojiUploader.d.ts +5 -7
- package/dist/types/hooks/useEmojiContext.d.ts +1 -0
- package/dist/types/hooks/usePrevious.d.ts +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/types.d.ts +2 -1
- package/dist/types/util/constants.d.ts +1 -0
- package/docs/0-intro.tsx +35 -27
- package/docs/1-resourced-emoji.tsx +74 -0
- package/docs/2-emoji-picker.tsx +56 -0
- package/docs/3-typeahead.tsx +20 -0
- package/docs/4-emoji-provider.tsx +98 -0
- package/local-config-example.ts +3 -1
- package/package.json +19 -6
- package/dist/cjs/components/common/EmojiPreview.js +0 -194
- package/dist/es2019/components/common/EmojiPreview.js +0 -152
- package/dist/esm/components/common/EmojiPreview.js +0 -170
- package/dist/types/components/common/EmojiPreview.d.ts +0 -31
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 65.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`dc70b6076fb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/dc70b6076fb) - Converted emoji picker component children to functional components.
|
|
8
|
+
- [`f397ebff733`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f397ebff733) - Emoji Upload Component refactor to functional
|
|
9
|
+
- [`f39be18203b`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f39be18203b) - ToneSelector and EmojiActions functional component conversion
|
|
10
|
+
- [`2a233390245`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2a233390245) - Emoji Upload Picker and File Chooser functional component refactor
|
|
11
|
+
- [`02b3743e97a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/02b3743e97a) - Converted emoji picker component to functional and fixed emoji preview bugs
|
|
12
|
+
- [`16b6d3503f3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/16b6d3503f3) - EmojiErrorMessage, RetryableButton and Popup refactor to functional components
|
|
13
|
+
- [`8a79098bcca`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8a79098bcca) - CachiningEmoji and EmojiPreviewComponent functional component conversion
|
|
14
|
+
- [`7f5cfd05d71`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f5cfd05d71) - Revert changes that causing the emoji picker emoji preview to jump
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [`fa52e2a1ffd`](https://bitbucket.org/atlassian/atlassian-frontend/commits/fa52e2a1ffd) - Convert the 04, 13, 19 and 03 emoji examples to function components
|
|
19
|
+
- [`277d88799b0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/277d88799b0) - Convert emoji example from class to functional
|
|
20
|
+
- Updated dependencies
|
|
21
|
+
|
|
22
|
+
## 65.1.1
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- [`8d4228767b0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8d4228767b0) - Upgrade Typescript from `4.2.4` to `4.3.5`.
|
|
27
|
+
|
|
28
|
+
## 65.1.0
|
|
29
|
+
|
|
30
|
+
### Minor Changes
|
|
31
|
+
|
|
32
|
+
- [`cceb3262363`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cceb3262363) - [ux] Show preview below the scrollable emoji box
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- [`641bf010d2a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/641bf010d2a) - Added JSDoc comments for exposing props
|
|
37
|
+
- [`c47218c565a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c47218c565a) - Convert the demo resource control to functional componment
|
|
38
|
+
|
|
3
39
|
## 65.0.0
|
|
4
40
|
|
|
5
41
|
### Major Changes
|
|
@@ -11,19 +11,7 @@ exports.default = exports.CachingMediaEmoji = exports.CachingEmoji = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
27
15
|
|
|
28
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
29
17
|
|
|
@@ -45,47 +33,41 @@ var _analytics = require("../../util/analytics");
|
|
|
45
33
|
|
|
46
34
|
var _constants = require("../../util/constants");
|
|
47
35
|
|
|
48
|
-
var _EmojiContext = require("../../context/EmojiContext");
|
|
49
|
-
|
|
50
36
|
var _ufoExperiences = require("../../util/analytics/ufoExperiences");
|
|
51
37
|
|
|
52
|
-
var
|
|
53
|
-
|
|
38
|
+
var _useEmojiContext = require("../../hooks/useEmojiContext");
|
|
39
|
+
|
|
40
|
+
var _excluded = ["emoji", "placeholderSize", "showTooltip", "fitToHeight", "children"];
|
|
54
41
|
|
|
55
42
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
56
43
|
|
|
57
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
58
45
|
|
|
59
|
-
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); }; }
|
|
60
|
-
|
|
61
|
-
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; } }
|
|
62
|
-
|
|
63
46
|
/**
|
|
64
47
|
* Renders an emoji from a cached image, if required.
|
|
65
48
|
*/
|
|
66
49
|
var CachingEmoji = function CachingEmoji(props) {
|
|
67
|
-
// Optimisation to only render
|
|
50
|
+
// Optimisation to only render CachingMediaEmoji if necessary
|
|
68
51
|
// slight performance hit, which accumulates for a large number of emoji.
|
|
69
|
-
var
|
|
70
|
-
emojiProps = (0, _objectWithoutProperties2.default)(props, _excluded); // start emoji rendered experience, it may have already started earlier in ResourcedEmoji
|
|
52
|
+
var emoji = props.emoji; // start emoji rendered experience, it may have already started earlier in ResourcedEmoji
|
|
71
53
|
|
|
72
|
-
(0, _analytics.useSampledUFOComponentExperience)(_analytics.ufoExperiences['emoji-rendered'].getInstance(
|
|
54
|
+
(0, _analytics.useSampledUFOComponentExperience)(_analytics.ufoExperiences['emoji-rendered'].getInstance(emoji.id || emoji.shortName), _constants.SAMPLING_RATE_EMOJI_RENDERED_EXP, {
|
|
73
55
|
source: 'caching-emoji',
|
|
74
|
-
emoji:
|
|
56
|
+
emoji: emoji.shortName
|
|
75
57
|
});
|
|
76
58
|
(0, _react.useEffect)(function () {
|
|
77
|
-
if (!(0, _ufoExperiences.hasUfoMarked)((0, _analytics.sampledUfoRenderedEmoji)(
|
|
78
|
-
(0, _analytics.sampledUfoRenderedEmoji)(
|
|
59
|
+
if (!(0, _ufoExperiences.hasUfoMarked)((0, _analytics.sampledUfoRenderedEmoji)(emoji), 'fmp')) {
|
|
60
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emoji).markFMP();
|
|
79
61
|
} // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
80
62
|
|
|
81
63
|
}, []);
|
|
82
64
|
|
|
83
65
|
var emojiNode = function emojiNode() {
|
|
84
|
-
if ((0, _typeHelpers.isMediaEmoji)(
|
|
66
|
+
if ((0, _typeHelpers.isMediaEmoji)(emoji)) {
|
|
85
67
|
return /*#__PURE__*/_react.default.createElement(CachingMediaEmoji, props);
|
|
86
68
|
}
|
|
87
69
|
|
|
88
|
-
return /*#__PURE__*/_react.default.createElement(_Emoji.default,
|
|
70
|
+
return /*#__PURE__*/_react.default.createElement(_Emoji.default, props);
|
|
89
71
|
};
|
|
90
72
|
|
|
91
73
|
return /*#__PURE__*/_react.default.createElement(_UfoErrorBoundary.UfoErrorBoundary, {
|
|
@@ -100,138 +82,89 @@ var CachingEmoji = function CachingEmoji(props) {
|
|
|
100
82
|
|
|
101
83
|
exports.CachingEmoji = CachingEmoji;
|
|
102
84
|
|
|
103
|
-
var CachingMediaEmoji =
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
(0,
|
|
85
|
+
var CachingMediaEmoji = function CachingMediaEmoji(props) {
|
|
86
|
+
var emoji = props.emoji,
|
|
87
|
+
placeholderSize = props.placeholderSize,
|
|
88
|
+
showTooltip = props.showTooltip,
|
|
89
|
+
fitToHeight = props.fitToHeight,
|
|
90
|
+
children = props.children,
|
|
91
|
+
restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
92
|
+
var shortName = emoji.shortName,
|
|
93
|
+
representation = emoji.representation;
|
|
94
|
+
|
|
95
|
+
var _useState = (0, _react.useState)(),
|
|
96
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
97
|
+
cachedEmoji = _useState2[0],
|
|
98
|
+
setCachedEmoji = _useState2[1];
|
|
99
|
+
|
|
100
|
+
var _useState3 = (0, _react.useState)(false),
|
|
101
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
102
|
+
inValidImage = _useState4[0],
|
|
103
|
+
setInvalidImage = _useState4[1];
|
|
104
|
+
|
|
105
|
+
var context = (0, _useEmojiContext.useEmojiContext)();
|
|
106
|
+
var loadEmoji = (0, _react.useCallback)(function (emojiProvider) {
|
|
107
|
+
(0, _logger.default)('Loading image via media cache', emoji.shortName);
|
|
108
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emoji).mark(_types.UfoEmojiTimings.MEDIA_START);
|
|
109
|
+
emojiProvider.getMediaEmojiDescriptionURLWithInlineToken(emoji).then(function (cachedEmoji) {
|
|
110
|
+
setCachedEmoji(cachedEmoji);
|
|
111
|
+
setInvalidImage(false);
|
|
112
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emoji).mark(_types.UfoEmojiTimings.MEDIA_END);
|
|
113
|
+
}).catch(function () {
|
|
114
|
+
setCachedEmoji(undefined);
|
|
115
|
+
setInvalidImage(true);
|
|
116
|
+
(0, _analytics.sampledUfoRenderedEmoji)(emoji).failure({
|
|
115
117
|
metadata: {
|
|
116
|
-
reason: 'load
|
|
118
|
+
reason: 'failed to load media emoji',
|
|
117
119
|
source: 'CachingMediaEmoji',
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
data: {
|
|
121
|
+
emoji: {
|
|
122
|
+
id: emoji.id,
|
|
123
|
+
shortName: emoji.shortName,
|
|
124
|
+
name: emoji.name
|
|
125
|
+
}
|
|
121
126
|
}
|
|
122
127
|
}
|
|
123
128
|
});
|
|
124
|
-
|
|
125
|
-
_this.setState({
|
|
126
|
-
invalidImage: true
|
|
127
|
-
});
|
|
128
129
|
});
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
_this.loadEmoji(props.emoji, context);
|
|
134
|
-
|
|
135
|
-
return _this;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
(0, _createClass2.default)(CachingMediaEmoji, [{
|
|
139
|
-
key: "componentDidUpdate",
|
|
140
|
-
value: function componentDidUpdate() {
|
|
141
|
-
var _this$state$cachedEmo;
|
|
142
|
-
|
|
143
|
-
if (this.props.emoji.shortName !== ((_this$state$cachedEmo = this.state.cachedEmoji) === null || _this$state$cachedEmo === void 0 ? void 0 : _this$state$cachedEmo.shortName)) {
|
|
144
|
-
this.loadEmoji(this.props.emoji, this.context);
|
|
145
|
-
}
|
|
130
|
+
}, [emoji]);
|
|
131
|
+
(0, _react.useEffect)(function () {
|
|
132
|
+
if (context && context.emoji.emojiProvider) {
|
|
133
|
+
loadEmoji(context.emoji.emojiProvider);
|
|
146
134
|
}
|
|
147
|
-
},
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
var emojiProvider = context.emoji.emojiProvider;
|
|
161
|
-
|
|
162
|
-
if (!emojiProvider) {
|
|
163
|
-
return undefined;
|
|
135
|
+
}, [context, loadEmoji]);
|
|
136
|
+
|
|
137
|
+
var handleLoadError = function handleLoadError(_emojiId) {
|
|
138
|
+
(0, _analytics.sampledUfoRenderedEmoji)(_emojiId).failure({
|
|
139
|
+
metadata: {
|
|
140
|
+
reason: 'load error',
|
|
141
|
+
source: 'CachingMediaEmoji',
|
|
142
|
+
emoji: {
|
|
143
|
+
id: _emojiId.id,
|
|
144
|
+
shortName: _emojiId.shortName
|
|
145
|
+
}
|
|
164
146
|
}
|
|
147
|
+
});
|
|
148
|
+
setInvalidImage(true);
|
|
149
|
+
};
|
|
165
150
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
(0, _analytics.sampledUfoRenderedEmoji)(emoji).mark(_types.UfoEmojiTimings.MEDIA_END);
|
|
175
|
-
}).catch(function () {
|
|
176
|
-
_this2.setState({
|
|
177
|
-
cachedEmoji: undefined,
|
|
178
|
-
invalidImage: true
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
(0, _analytics.sampledUfoRenderedEmoji)(emoji).failure({
|
|
182
|
-
metadata: {
|
|
183
|
-
reason: 'failed to load media emoji',
|
|
184
|
-
source: 'CachingMediaEmoji',
|
|
185
|
-
data: {
|
|
186
|
-
emoji: {
|
|
187
|
-
id: emoji.id,
|
|
188
|
-
shortName: emoji.shortName,
|
|
189
|
-
name: emoji.name
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
}, {
|
|
197
|
-
key: "render",
|
|
198
|
-
value: function render() {
|
|
199
|
-
var _this$state = this.state,
|
|
200
|
-
cachedEmoji = _this$state.cachedEmoji,
|
|
201
|
-
invalidImage = _this$state.invalidImage;
|
|
202
|
-
var _this$props = this.props,
|
|
203
|
-
children = _this$props.children,
|
|
204
|
-
otherProps = (0, _objectWithoutProperties2.default)(_this$props, _excluded2);
|
|
205
|
-
var emojiComponent;
|
|
206
|
-
|
|
207
|
-
if (cachedEmoji && !invalidImage) {
|
|
208
|
-
emojiComponent = /*#__PURE__*/_react.default.createElement(_Emoji.default, (0, _extends2.default)({}, otherProps, {
|
|
209
|
-
emoji: cachedEmoji,
|
|
210
|
-
onLoadError: this.handleLoadError
|
|
211
|
-
}));
|
|
212
|
-
} else {
|
|
213
|
-
var _this$props2 = this.props,
|
|
214
|
-
emoji = _this$props2.emoji,
|
|
215
|
-
placeholderSize = _this$props2.placeholderSize,
|
|
216
|
-
showTooltip = _this$props2.showTooltip,
|
|
217
|
-
fitToHeight = _this$props2.fitToHeight;
|
|
218
|
-
var shortName = emoji.shortName,
|
|
219
|
-
representation = emoji.representation;
|
|
220
|
-
emojiComponent = /*#__PURE__*/_react.default.createElement(_EmojiPlaceholder.default, {
|
|
221
|
-
size: fitToHeight || placeholderSize,
|
|
222
|
-
shortName: shortName,
|
|
223
|
-
showTooltip: showTooltip,
|
|
224
|
-
representation: representation
|
|
225
|
-
});
|
|
226
|
-
}
|
|
151
|
+
if (cachedEmoji && !inValidImage) {
|
|
152
|
+
return /*#__PURE__*/_react.default.createElement(_Emoji.default, (0, _extends2.default)({}, restProps, {
|
|
153
|
+
showTooltip: showTooltip,
|
|
154
|
+
fitToHeight: fitToHeight,
|
|
155
|
+
emoji: cachedEmoji,
|
|
156
|
+
onLoadError: handleLoadError
|
|
157
|
+
}));
|
|
158
|
+
}
|
|
227
159
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
160
|
+
return /*#__PURE__*/_react.default.createElement(_EmojiPlaceholder.default, {
|
|
161
|
+
size: fitToHeight || placeholderSize,
|
|
162
|
+
shortName: shortName,
|
|
163
|
+
showTooltip: showTooltip,
|
|
164
|
+
representation: representation
|
|
165
|
+
});
|
|
166
|
+
};
|
|
233
167
|
|
|
234
168
|
exports.CachingMediaEmoji = CachingMediaEmoji;
|
|
235
|
-
(0, _defineProperty2.default)(CachingMediaEmoji, "contextType", _EmojiContext.EmojiContext);
|
|
236
169
|
var _default = CachingEmoji;
|
|
237
170
|
exports.default = _default;
|
|
@@ -158,7 +158,7 @@ var SpriteEmoji = function SpriteEmoji(props) {
|
|
|
158
158
|
onMouseDown: function onMouseDown(event) {
|
|
159
159
|
handleMouseDown(props, event);
|
|
160
160
|
},
|
|
161
|
-
|
|
161
|
+
onMouseEnter: function onMouseEnter(event) {
|
|
162
162
|
handleMouseMove(props, event);
|
|
163
163
|
},
|
|
164
164
|
"aria-label": emoji.shortName,
|
|
@@ -294,7 +294,7 @@ var ImageEmoji = function ImageEmoji(props) {
|
|
|
294
294
|
onMouseDown: function onMouseDown(event) {
|
|
295
295
|
handleMouseDown(props, event);
|
|
296
296
|
},
|
|
297
|
-
|
|
297
|
+
onMouseEnter: function onMouseEnter(event) {
|
|
298
298
|
handleMouseMove(props, event);
|
|
299
299
|
},
|
|
300
300
|
"aria-label": emoji.shortName,
|