@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.
Files changed (115) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/cjs/components/common/CachingEmoji.js +84 -151
  3. package/dist/cjs/components/common/Emoji.js +2 -2
  4. package/dist/cjs/components/common/EmojiActions.js +129 -175
  5. package/dist/cjs/components/common/EmojiErrorMessage.js +23 -59
  6. package/dist/cjs/components/common/EmojiPreviewComponent.js +1 -0
  7. package/dist/cjs/components/common/EmojiUploadPicker.js +235 -293
  8. package/dist/cjs/components/common/FileChooser.js +34 -71
  9. package/dist/cjs/components/common/Popup.js +105 -154
  10. package/dist/cjs/components/common/ResourcedEmojiComponent.js +10 -5
  11. package/dist/cjs/components/common/RetryableButton.js +43 -64
  12. package/dist/cjs/components/common/ToneSelector.js +50 -89
  13. package/dist/cjs/components/common/styles.js +14 -16
  14. package/dist/cjs/components/hooks.js +16 -0
  15. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +16 -48
  16. package/dist/cjs/components/picker/EmojiPickerComponent.js +496 -508
  17. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +33 -60
  18. package/dist/cjs/components/picker/EmojiPickerFooter.js +13 -46
  19. package/dist/cjs/components/picker/styles.js +16 -13
  20. package/dist/cjs/components/uploader/EmojiUploadComponent.js +124 -109
  21. package/dist/cjs/hooks/useEmojiContext.js +16 -0
  22. package/dist/cjs/hooks/usePrevious.js +16 -0
  23. package/dist/cjs/index.js +16 -0
  24. package/dist/cjs/util/constants.js +3 -1
  25. package/dist/cjs/version.json +1 -1
  26. package/dist/es2019/components/common/CachingEmoji.js +65 -112
  27. package/dist/es2019/components/common/Emoji.js +2 -2
  28. package/dist/es2019/components/common/EmojiActions.js +124 -150
  29. package/dist/es2019/components/common/EmojiErrorMessage.js +22 -26
  30. package/dist/es2019/components/common/EmojiPreviewComponent.js +1 -0
  31. package/dist/es2019/components/common/EmojiUploadPicker.js +190 -253
  32. package/dist/es2019/components/common/FileChooser.js +37 -40
  33. package/dist/es2019/components/common/Popup.js +89 -109
  34. package/dist/es2019/components/common/ResourcedEmojiComponent.js +5 -4
  35. package/dist/es2019/components/common/RetryableButton.js +43 -34
  36. package/dist/es2019/components/common/ToneSelector.js +46 -59
  37. package/dist/es2019/components/common/styles.js +9 -9
  38. package/dist/es2019/components/hooks.js +8 -0
  39. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +13 -17
  40. package/dist/es2019/components/picker/EmojiPickerComponent.js +417 -497
  41. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +32 -35
  42. package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -19
  43. package/dist/es2019/components/picker/styles.js +16 -14
  44. package/dist/es2019/components/uploader/EmojiUploadComponent.js +81 -91
  45. package/dist/es2019/hooks/useEmojiContext.js +3 -0
  46. package/dist/es2019/hooks/usePrevious.js +8 -0
  47. package/dist/es2019/index.js +4 -1
  48. package/dist/es2019/util/constants.js +1 -0
  49. package/dist/es2019/version.json +1 -1
  50. package/dist/esm/components/common/CachingEmoji.js +86 -156
  51. package/dist/esm/components/common/Emoji.js +2 -2
  52. package/dist/esm/components/common/EmojiActions.js +129 -176
  53. package/dist/esm/components/common/EmojiErrorMessage.js +21 -56
  54. package/dist/esm/components/common/EmojiPreviewComponent.js +1 -0
  55. package/dist/esm/components/common/EmojiUploadPicker.js +233 -299
  56. package/dist/esm/components/common/FileChooser.js +34 -70
  57. package/dist/esm/components/common/Popup.js +104 -155
  58. package/dist/esm/components/common/ResourcedEmojiComponent.js +8 -4
  59. package/dist/esm/components/common/RetryableButton.js +40 -60
  60. package/dist/esm/components/common/ToneSelector.js +50 -87
  61. package/dist/esm/components/common/styles.js +10 -10
  62. package/dist/esm/components/hooks.js +8 -0
  63. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +14 -43
  64. package/dist/esm/components/picker/EmojiPickerComponent.js +486 -526
  65. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +31 -59
  66. package/dist/esm/components/picker/EmojiPickerFooter.js +14 -47
  67. package/dist/esm/components/picker/styles.js +16 -14
  68. package/dist/esm/components/uploader/EmojiUploadComponent.js +119 -113
  69. package/dist/esm/hooks/useEmojiContext.js +5 -0
  70. package/dist/esm/hooks/usePrevious.js +8 -0
  71. package/dist/esm/index.js +4 -1
  72. package/dist/esm/util/constants.js +1 -0
  73. package/dist/esm/version.json +1 -1
  74. package/dist/types/api/EmojiResource.d.ts +2 -3
  75. package/dist/types/components/common/CachingEmoji.d.ts +3 -13
  76. package/dist/types/components/common/Emoji.d.ts +1 -2
  77. package/dist/types/components/common/EmojiActions.d.ts +6 -17
  78. package/dist/types/components/common/EmojiErrorMessage.d.ts +3 -6
  79. package/dist/types/components/common/EmojiPreviewComponent.d.ts +2 -2
  80. package/dist/types/components/common/EmojiUploadPicker.d.ts +3 -27
  81. package/dist/types/components/common/FileChooser.d.ts +3 -5
  82. package/dist/types/components/common/LoadingEmojiComponent.d.ts +3 -0
  83. package/dist/types/components/common/Popup.d.ts +3 -20
  84. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +23 -11
  85. package/dist/types/components/common/RetryableButton.d.ts +3 -7
  86. package/dist/types/components/common/ToneSelector.d.ts +4 -10
  87. package/dist/types/components/common/setSkinToneAriaLabelText.d.ts +1 -1
  88. package/dist/types/components/common/styles.d.ts +1 -3
  89. package/dist/types/components/hooks.d.ts +1 -0
  90. package/dist/types/components/picker/CategorySelector.d.ts +1 -1
  91. package/dist/types/components/picker/EmojiPicker.d.ts +12 -3
  92. package/dist/types/components/picker/EmojiPickerCategoryHeading.d.ts +3 -4
  93. package/dist/types/components/picker/EmojiPickerComponent.d.ts +14 -76
  94. package/dist/types/components/picker/EmojiPickerEmojiRow.d.ts +3 -4
  95. package/dist/types/components/picker/EmojiPickerFooter.d.ts +3 -5
  96. package/dist/types/components/picker/styles.d.ts +1 -1
  97. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +18 -0
  98. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +3 -17
  99. package/dist/types/components/uploader/EmojiUploader.d.ts +5 -7
  100. package/dist/types/hooks/useEmojiContext.d.ts +1 -0
  101. package/dist/types/hooks/usePrevious.d.ts +1 -0
  102. package/dist/types/index.d.ts +3 -1
  103. package/dist/types/types.d.ts +2 -1
  104. package/dist/types/util/constants.d.ts +1 -0
  105. package/docs/0-intro.tsx +35 -27
  106. package/docs/1-resourced-emoji.tsx +74 -0
  107. package/docs/2-emoji-picker.tsx +56 -0
  108. package/docs/3-typeahead.tsx +20 -0
  109. package/docs/4-emoji-provider.tsx +98 -0
  110. package/local-config-example.ts +3 -1
  111. package/package.json +19 -6
  112. package/dist/cjs/components/common/EmojiPreview.js +0 -194
  113. package/dist/es2019/components/common/EmojiPreview.js +0 -152
  114. package/dist/esm/components/common/EmojiPreview.js +0 -170
  115. package/dist/types/components/common/EmojiPreview.d.ts +0 -31
@@ -7,19 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = exports.EmojiActions = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
13
 
24
14
  var _core = require("@emotion/core");
25
15
 
@@ -49,177 +39,141 @@ var _styles = require("./styles");
49
39
 
50
40
  var _styles2 = require("../picker/styles");
51
41
 
52
- 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); }; }
53
-
54
- 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; } }
55
-
56
- var EmojiActions = /*#__PURE__*/function (_PureComponent) {
57
- (0, _inherits2.default)(EmojiActions, _PureComponent);
42
+ /** @jsx jsx */
43
+ var AddOwnEmoji = function AddOwnEmoji(props) {
44
+ var onOpenUpload = props.onOpenUpload,
45
+ uploadEnabled = props.uploadEnabled,
46
+ formatMessage = props.intl.formatMessage;
47
+ return (0, _core.jsx)(_react.Fragment, null, uploadEnabled && (0, _core.jsx)("div", {
48
+ css: _styles.addCustomEmoji
49
+ }, (0, _core.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.addCustomEmojiLabel, function (label) {
50
+ return (0, _core.jsx)(_standardButton.default, {
51
+ onClick: onOpenUpload,
52
+ iconBefore: (0, _core.jsx)(_add.default, {
53
+ label: formatMessage(_i18n.messages.addCustomEmojiLabel),
54
+ size: "small"
55
+ }),
56
+ appearance: "subtle",
57
+ css: _styles.addCustomEmojiButton,
58
+ className: _styles.emojiPickerAddEmoji
59
+ }, label);
60
+ })));
61
+ };
62
+
63
+ var TonesWrapper = function TonesWrapper(props) {
64
+ var toneEmoji = props.toneEmoji,
65
+ selectedTone = props.selectedTone,
66
+ intl = props.intl,
67
+ onToneSelected = props.onToneSelected,
68
+ onToneOpen = props.onToneOpen,
69
+ showToneSelector = props.showToneSelector;
70
+ var formatMessage = intl.formatMessage;
71
+
72
+ if (!toneEmoji) {
73
+ return null;
74
+ }
58
75
 
59
- var _super = _createSuper(EmojiActions);
76
+ var previewEmoji = toneEmoji;
60
77
 
61
- function EmojiActions() {
62
- var _this;
78
+ if (selectedTone && previewEmoji.skinVariations) {
79
+ previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
80
+ }
63
81
 
64
- (0, _classCallCheck2.default)(this, EmojiActions);
82
+ return (0, _core.jsx)("div", {
83
+ css: _styles.emojiToneSelectorContainer
84
+ }, showToneSelector && (0, _core.jsx)(_ToneSelector.default, {
85
+ emoji: toneEmoji,
86
+ onToneSelected: onToneSelected,
87
+ previewEmojiId: previewEmoji.id
88
+ }), (0, _core.jsx)(_EmojiButton.default, {
89
+ ariaExpanded: showToneSelector,
90
+ emoji: previewEmoji,
91
+ selectOnHover: true,
92
+ onSelected: onToneOpen,
93
+ ariaLabelText: formatMessage(_i18n.messages.emojiSelectSkinToneButtonAriaLabelText, {
94
+ selectedTone: "".concat((0, _setSkinToneAriaLabelText.setSkinToneAriaLabelText)(previewEmoji.name), " selected")
95
+ })
96
+ }));
97
+ };
98
+
99
+ var EmojiActions = function EmojiActions(props) {
100
+ var onToneSelected = props.onToneSelected,
101
+ onToneSelectorCancelled = props.onToneSelectorCancelled,
102
+ initialUploadName = props.initialUploadName,
103
+ onUploadCancelled = props.onUploadCancelled,
104
+ onCloseDelete = props.onCloseDelete,
105
+ onDeleteEmoji = props.onDeleteEmoji,
106
+ onUploadEmoji = props.onUploadEmoji,
107
+ uploadErrorMessage = props.uploadErrorMessage,
108
+ uploading = props.uploading,
109
+ onFileChooserClicked = props.onFileChooserClicked,
110
+ emojiToDelete = props.emojiToDelete,
111
+ onChange = props.onChange,
112
+ query = props.query;
113
+
114
+ var _useState = (0, _react.useState)(false),
115
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
116
+ showToneSelector = _useState2[0],
117
+ setShowToneSelector = _useState2[1];
118
+
119
+ var previewFooterClassnames = [_styles2.emojiPickerFooter, _styles2.emojiActionsContainerWithBottomShadow];
120
+
121
+ var onToneOpenHandler = function onToneOpenHandler() {
122
+ return setShowToneSelector(true);
123
+ };
124
+
125
+ var onToneSelectedHandler = function onToneSelectedHandler(toneValue) {
126
+ setShowToneSelector(false);
127
+
128
+ if (onToneSelected) {
129
+ onToneSelected(toneValue);
130
+ }
131
+ };
65
132
 
66
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
67
- args[_key] = arguments[_key];
133
+ var onMouseLeaveHandler = function onMouseLeaveHandler() {
134
+ if (showToneSelector && onToneSelectorCancelled) {
135
+ onToneSelectorCancelled();
68
136
  }
69
137
 
70
- _this = _super.call.apply(_super, [this].concat(args));
71
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
72
- selectingTone: false
73
- });
74
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToneButtonClick", function () {
75
- _this.setState({
76
- selectingTone: !_this.state.selectingTone
77
- });
78
- });
79
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onToneSelected", function (toneValue) {
80
- _this.setState({
81
- selectingTone: false
82
- });
83
-
84
- if (_this.props.onToneSelected) {
85
- _this.props.onToneSelected(toneValue);
86
- }
87
- });
88
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "onMouseLeave", function () {
89
- var selectingTone = _this.state.selectingTone;
90
- var onToneSelectorCancelled = _this.props.onToneSelectorCancelled;
91
-
92
- if (selectingTone && onToneSelectorCancelled) {
93
- onToneSelectorCancelled();
94
- }
95
-
96
- _this.setState({
97
- selectingTone: false
98
- });
99
- });
100
- return _this;
138
+ setShowToneSelector(false);
139
+ };
140
+
141
+ if (uploading) {
142
+ return (0, _core.jsx)("div", {
143
+ css: previewFooterClassnames
144
+ }, (0, _core.jsx)(_EmojiUploadPicker.default, {
145
+ onUploadCancelled: onUploadCancelled,
146
+ onUploadEmoji: onUploadEmoji,
147
+ onFileChooserClicked: onFileChooserClicked,
148
+ errorMessage: uploadErrorMessage,
149
+ initialUploadName: initialUploadName
150
+ }));
101
151
  }
102
152
 
103
- (0, _createClass2.default)(EmojiActions, [{
104
- key: "renderTones",
105
- value: function renderTones() {
106
- var _this$props = this.props,
107
- toneEmoji = _this$props.toneEmoji,
108
- selectedTone = _this$props.selectedTone,
109
- intl = _this$props.intl;
110
- var formatMessage = intl.formatMessage;
111
-
112
- if (!toneEmoji) {
113
- return null;
114
- }
115
-
116
- var previewEmoji = toneEmoji;
117
-
118
- if (selectedTone && previewEmoji.skinVariations) {
119
- previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
120
- }
121
-
122
- return (0, _core.jsx)("div", {
123
- css: _styles.emojiToneSelectorContainer
124
- }, this.state.selectingTone && (0, _core.jsx)(_ToneSelector.default, {
125
- emoji: toneEmoji,
126
- onToneSelected: this.onToneSelected,
127
- previewEmojiId: previewEmoji.id
128
- }), (0, _core.jsx)(_EmojiButton.default, {
129
- ariaExpanded: this.state.selectingTone,
130
- emoji: previewEmoji,
131
- selectOnHover: true,
132
- onSelected: this.onToneButtonClick,
133
- ariaLabelText: formatMessage(_i18n.messages.emojiSelectSkinToneButtonAriaLabelText, {
134
- selectedTone: "".concat((0, _setSkinToneAriaLabelText.setSkinToneAriaLabelText)(previewEmoji.name), " selected")
135
- })
136
- }));
137
- } // note: emoji-picker-add-emoji className is used by pollinator synthetic checks
138
-
139
- }, {
140
- key: "renderAddOwnEmoji",
141
- value: function renderAddOwnEmoji() {
142
- var _this$props2 = this.props,
143
- onOpenUpload = _this$props2.onOpenUpload,
144
- uploadEnabled = _this$props2.uploadEnabled,
145
- intl = _this$props2.intl;
146
- var formatMessage = intl.formatMessage;
147
-
148
- if (!uploadEnabled) {
149
- return null;
150
- }
151
-
152
- return (0, _core.jsx)("div", {
153
- css: _styles.addCustomEmoji
154
- }, (0, _core.jsx)(_reactIntlNext.FormattedMessage, _i18n.messages.addCustomEmojiLabel, function (label) {
155
- return (0, _core.jsx)(_standardButton.default, {
156
- onClick: onOpenUpload,
157
- iconBefore: (0, _core.jsx)(_add.default, {
158
- label: formatMessage(_i18n.messages.addCustomEmojiLabel),
159
- size: "small"
160
- }),
161
- appearance: "subtle",
162
- css: _styles.addCustomEmojiButton,
163
- className: _styles.emojiPickerAddEmoji
164
- }, label);
165
- }));
166
- }
167
- }, {
168
- key: "render",
169
- value: function render() {
170
- var _this$props3 = this.props,
171
- initialUploadName = _this$props3.initialUploadName,
172
- onUploadCancelled = _this$props3.onUploadCancelled,
173
- onUploadEmoji = _this$props3.onUploadEmoji,
174
- onCloseDelete = _this$props3.onCloseDelete,
175
- onDeleteEmoji = _this$props3.onDeleteEmoji,
176
- uploadErrorMessage = _this$props3.uploadErrorMessage,
177
- uploading = _this$props3.uploading,
178
- onFileChooserClicked = _this$props3.onFileChooserClicked,
179
- emojiToDelete = _this$props3.emojiToDelete,
180
- onChange = _this$props3.onChange,
181
- query = _this$props3.query;
182
- var previewFooterClassnames = [_styles2.emojiPickerFooter, _styles2.emojiActionsContainerWithBottomShadow];
183
-
184
- if (uploading) {
185
- return (0, _core.jsx)("div", {
186
- css: previewFooterClassnames
187
- }, (0, _core.jsx)(_EmojiUploadPicker.default, {
188
- onUploadCancelled: onUploadCancelled,
189
- onUploadEmoji: onUploadEmoji,
190
- onFileChooserClicked: onFileChooserClicked,
191
- errorMessage: uploadErrorMessage,
192
- initialUploadName: initialUploadName
193
- }));
194
- }
195
-
196
- if (emojiToDelete) {
197
- return (0, _core.jsx)("div", {
198
- css: previewFooterClassnames
199
- }, (0, _core.jsx)(_EmojiDeletePreview.default, {
200
- emoji: emojiToDelete,
201
- onDeleteEmoji: onDeleteEmoji,
202
- onCloseDelete: onCloseDelete
203
- }));
204
- }
205
-
206
- return (0, _core.jsx)("div", {
207
- css: previewFooterClassnames,
208
- onMouseLeave: this.onMouseLeave
209
- }, (0, _core.jsx)("div", {
210
- style: {
211
- display: 'flex',
212
- justifyContent: 'flex-end',
213
- alignItems: 'center'
214
- }
215
- }, !this.state.selectingTone && (0, _core.jsx)(_EmojiPickerListSearch.default, {
216
- onChange: onChange,
217
- query: query
218
- }), this.renderTones()), this.renderAddOwnEmoji());
219
- }
220
- }]);
221
- return EmojiActions;
222
- }(_react.PureComponent);
153
+ if (emojiToDelete) {
154
+ return (0, _core.jsx)("div", {
155
+ css: previewFooterClassnames
156
+ }, (0, _core.jsx)(_EmojiDeletePreview.default, {
157
+ emoji: emojiToDelete,
158
+ onDeleteEmoji: onDeleteEmoji,
159
+ onCloseDelete: onCloseDelete
160
+ }));
161
+ }
162
+
163
+ return (0, _core.jsx)("div", {
164
+ css: previewFooterClassnames,
165
+ onMouseLeave: onMouseLeaveHandler
166
+ }, (0, _core.jsx)("div", {
167
+ css: _styles.emojiActionsWrapper
168
+ }, !showToneSelector && (0, _core.jsx)(_EmojiPickerListSearch.default, {
169
+ onChange: onChange,
170
+ query: query
171
+ }), (0, _core.jsx)(TonesWrapper, (0, _extends2.default)({}, props, {
172
+ onToneOpen: onToneOpenHandler,
173
+ onToneSelected: onToneSelectedHandler,
174
+ showToneSelector: showToneSelector
175
+ }))), (0, _core.jsx)(AddOwnEmoji, props));
176
+ };
223
177
 
224
178
  exports.EmojiActions = EmojiActions;
225
179
 
@@ -7,68 +7,32 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = void 0;
9
9
 
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
10
  var _core = require("@emotion/core");
21
11
 
22
12
  var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
23
13
 
24
- var _react = require("react");
25
-
26
14
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
27
15
 
28
- 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); }; }
29
-
30
- 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; } }
31
-
32
- var EmojiErrorMessage = /*#__PURE__*/function (_PureComponent) {
33
- (0, _inherits2.default)(EmojiErrorMessage, _PureComponent);
34
-
35
- var _super = _createSuper(EmojiErrorMessage);
36
-
37
- function EmojiErrorMessage() {
38
- (0, _classCallCheck2.default)(this, EmojiErrorMessage);
39
- return _super.apply(this, arguments);
40
- }
41
-
42
- (0, _createClass2.default)(EmojiErrorMessage, [{
43
- key: "renderWithTooltip",
44
- value: function renderWithTooltip() {
45
- return (0, _core.jsx)("div", {
46
- css: this.props.messageStyles
47
- }, (0, _core.jsx)(_tooltip.default, {
48
- content: this.props.message,
49
- position: "top"
50
- }, (0, _core.jsx)(_error.default, {
51
- label: "Error",
52
- size: "medium"
53
- })));
54
- }
55
- }, {
56
- key: "renderInline",
57
- value: function renderInline() {
58
- return (0, _core.jsx)("div", {
59
- css: this.props.messageStyles
60
- }, (0, _core.jsx)(_error.default, {
61
- label: "Error",
62
- size: "small"
63
- }), " ", this.props.message);
64
- }
65
- }, {
66
- key: "render",
67
- value: function render() {
68
- return this.props.tooltip ? this.renderWithTooltip() : this.renderInline();
69
- }
70
- }]);
71
- return EmojiErrorMessage;
72
- }(_react.PureComponent);
73
-
74
- exports.default = EmojiErrorMessage;
16
+ /** @jsx jsx */
17
+ var EmojiErrorMessage = function EmojiErrorMessage(props) {
18
+ var messageStyles = props.messageStyles,
19
+ message = props.message,
20
+ tooltip = props.tooltip;
21
+ return tooltip ? (0, _core.jsx)("div", {
22
+ css: messageStyles
23
+ }, (0, _core.jsx)(_tooltip.default, {
24
+ content: message,
25
+ position: "top"
26
+ }, (0, _core.jsx)(_error.default, {
27
+ label: "Error",
28
+ size: "medium"
29
+ }))) : (0, _core.jsx)("div", {
30
+ css: messageStyles
31
+ }, (0, _core.jsx)(_error.default, {
32
+ label: "Error",
33
+ size: "small"
34
+ }), " ", message);
35
+ };
36
+
37
+ var _default = EmojiErrorMessage;
38
+ exports.default = _default;
@@ -21,6 +21,7 @@ var EmojiPreviewComponent = function EmojiPreviewComponent(_ref) {
21
21
  }, (0, _core.jsx)("span", {
22
22
  css: _styles.previewImg
23
23
  }, (0, _core.jsx)(_CachingEmoji.default, {
24
+ key: emoji.id || emoji.shortName,
24
25
  emoji: emoji
25
26
  })), (0, _core.jsx)("div", {
26
27
  css: _styles.previewText