@atlaskit/emoji 64.2.0 → 64.4.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 (184) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/cjs/api/EmojiResource.js +36 -1
  3. package/dist/cjs/api/media/SiteEmojiResource.js +10 -2
  4. package/dist/cjs/components/common/CachingEmoji.js +38 -12
  5. package/dist/cjs/components/common/DeleteButton.js +9 -13
  6. package/dist/cjs/components/common/Emoji.js +25 -36
  7. package/dist/cjs/components/common/EmojiActions.js +26 -31
  8. package/dist/cjs/components/common/EmojiButton.js +7 -7
  9. package/dist/cjs/components/common/EmojiDeletePreview.js +20 -26
  10. package/dist/cjs/components/common/EmojiErrorMessage.js +10 -14
  11. package/dist/cjs/components/common/EmojiPlaceholder.js +5 -12
  12. package/dist/cjs/components/common/EmojiPreview.js +20 -40
  13. package/dist/cjs/components/common/EmojiPreviewComponent.js +34 -0
  14. package/dist/cjs/components/common/EmojiUploadPicker.js +26 -24
  15. package/dist/cjs/components/common/EmojiUploadPreview.js +22 -28
  16. package/dist/cjs/components/common/RecordSelectionDefault.js +8 -2
  17. package/dist/cjs/components/common/ResourcedEmoji.js +25 -9
  18. package/dist/cjs/components/common/ResourcedEmojiComponent.js +33 -11
  19. package/dist/cjs/components/common/RetryableButton.js +12 -18
  20. package/dist/cjs/components/common/Scrollable.js +5 -10
  21. package/dist/cjs/components/common/UfoErrorBoundary.js +52 -0
  22. package/dist/cjs/components/common/UploadEmoji.js +8 -0
  23. package/dist/cjs/components/common/styles.js +210 -266
  24. package/dist/cjs/components/picker/CategorySelector.js +13 -12
  25. package/dist/cjs/components/picker/EmojiPicker.js +17 -6
  26. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
  27. package/dist/cjs/components/picker/EmojiPickerComponent.js +51 -30
  28. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
  29. package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
  30. package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
  31. package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
  32. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
  33. package/dist/cjs/components/picker/styles.js +113 -161
  34. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +40 -24
  35. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
  36. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
  37. package/dist/cjs/components/typeahead/styles.js +17 -19
  38. package/dist/cjs/components/uploader/EmojiUploadComponent.js +22 -15
  39. package/dist/cjs/components/uploader/styles.js +4 -4
  40. package/dist/cjs/index.js +9 -3
  41. package/dist/cjs/types.js +12 -2
  42. package/dist/cjs/util/{analytics.js → analytics/analytics.js} +12 -10
  43. package/dist/cjs/util/analytics/index.js +205 -0
  44. package/dist/cjs/util/analytics/samplingUfo.js +278 -0
  45. package/dist/cjs/util/analytics/ufoExperiences.js +46 -0
  46. package/dist/cjs/util/analytics/useSampledUFOComponentExperience.js +49 -0
  47. package/dist/cjs/util/constants.js +10 -3
  48. package/dist/cjs/version.json +1 -1
  49. package/dist/es2019/api/EmojiResource.js +28 -1
  50. package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
  51. package/dist/es2019/components/common/CachingEmoji.js +34 -12
  52. package/dist/es2019/components/common/DeleteButton.js +8 -6
  53. package/dist/es2019/components/common/Emoji.js +27 -36
  54. package/dist/es2019/components/common/EmojiActions.js +26 -24
  55. package/dist/es2019/components/common/EmojiButton.js +6 -6
  56. package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
  57. package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
  58. package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
  59. package/dist/es2019/components/common/EmojiPreview.js +19 -35
  60. package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
  61. package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
  62. package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
  63. package/dist/es2019/components/common/RecordSelectionDefault.js +9 -2
  64. package/dist/es2019/components/common/ResourcedEmoji.js +22 -5
  65. package/dist/es2019/components/common/ResourcedEmojiComponent.js +32 -11
  66. package/dist/es2019/components/common/RetryableButton.js +10 -11
  67. package/dist/es2019/components/common/Scrollable.js +6 -10
  68. package/dist/es2019/components/common/UfoErrorBoundary.js +11 -0
  69. package/dist/es2019/components/common/UploadEmoji.js +4 -0
  70. package/dist/es2019/components/common/styles.js +195 -262
  71. package/dist/es2019/components/picker/CategorySelector.js +15 -12
  72. package/dist/es2019/components/picker/EmojiPicker.js +15 -6
  73. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
  74. package/dist/es2019/components/picker/EmojiPickerComponent.js +46 -22
  75. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
  76. package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
  77. package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
  78. package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
  79. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
  80. package/dist/es2019/components/picker/styles.js +112 -160
  81. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  82. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
  83. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
  84. package/dist/es2019/components/typeahead/styles.js +14 -15
  85. package/dist/es2019/components/uploader/EmojiUploadComponent.js +19 -9
  86. package/dist/es2019/components/uploader/styles.js +4 -4
  87. package/dist/es2019/index.js +4 -3
  88. package/dist/es2019/types.js +10 -1
  89. package/dist/es2019/util/{analytics.js → analytics/analytics.js} +17 -11
  90. package/dist/es2019/util/analytics/index.js +4 -0
  91. package/dist/es2019/util/analytics/samplingUfo.js +147 -0
  92. package/dist/es2019/util/analytics/ufoExperiences.js +34 -0
  93. package/dist/es2019/util/analytics/useSampledUFOComponentExperience.js +39 -0
  94. package/dist/es2019/util/constants.js +5 -1
  95. package/dist/es2019/version.json +1 -1
  96. package/dist/esm/api/EmojiResource.js +32 -1
  97. package/dist/esm/api/media/SiteEmojiResource.js +10 -2
  98. package/dist/esm/components/common/CachingEmoji.js +36 -12
  99. package/dist/esm/components/common/DeleteButton.js +8 -6
  100. package/dist/esm/components/common/Emoji.js +26 -29
  101. package/dist/esm/components/common/EmojiActions.js +26 -25
  102. package/dist/esm/components/common/EmojiButton.js +6 -6
  103. package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
  104. package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
  105. package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
  106. package/dist/esm/components/common/EmojiPreview.js +19 -33
  107. package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
  108. package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
  109. package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
  110. package/dist/esm/components/common/RecordSelectionDefault.js +6 -3
  111. package/dist/esm/components/common/ResourcedEmoji.js +22 -9
  112. package/dist/esm/components/common/ResourcedEmojiComponent.js +32 -10
  113. package/dist/esm/components/common/RetryableButton.js +11 -12
  114. package/dist/esm/components/common/Scrollable.js +6 -10
  115. package/dist/esm/components/common/UfoErrorBoundary.js +38 -0
  116. package/dist/esm/components/common/UploadEmoji.js +4 -0
  117. package/dist/esm/components/common/styles.js +192 -242
  118. package/dist/esm/components/picker/CategorySelector.js +14 -12
  119. package/dist/esm/components/picker/EmojiPicker.js +13 -6
  120. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
  121. package/dist/esm/components/picker/EmojiPickerComponent.js +47 -22
  122. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
  123. package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
  124. package/dist/esm/components/picker/EmojiPickerList.js +29 -8
  125. package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
  126. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
  127. package/dist/esm/components/picker/styles.js +108 -149
  128. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  129. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
  130. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
  131. package/dist/esm/components/typeahead/styles.js +14 -14
  132. package/dist/esm/components/uploader/EmojiUploadComponent.js +19 -9
  133. package/dist/esm/components/uploader/styles.js +4 -4
  134. package/dist/esm/index.js +4 -3
  135. package/dist/esm/types.js +10 -1
  136. package/dist/esm/util/{analytics.js → analytics/analytics.js} +9 -7
  137. package/dist/esm/util/analytics/index.js +4 -0
  138. package/dist/esm/util/analytics/samplingUfo.js +259 -0
  139. package/dist/esm/util/analytics/ufoExperiences.js +34 -0
  140. package/dist/esm/util/analytics/useSampledUFOComponentExperience.js +39 -0
  141. package/dist/esm/util/constants.js +5 -1
  142. package/dist/esm/version.json +1 -1
  143. package/dist/types/api/EmojiResource.d.ts +1 -0
  144. package/dist/types/components/common/CachingEmoji.d.ts +8 -6
  145. package/dist/types/components/common/EmojiActions.d.ts +2 -3
  146. package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
  147. package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
  148. package/dist/types/components/common/EmojiPreview.d.ts +2 -3
  149. package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
  150. package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
  151. package/dist/types/components/common/ResourcedEmoji.d.ts +2 -0
  152. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
  153. package/dist/types/components/common/RetryableButton.d.ts +0 -2
  154. package/dist/types/components/common/UfoErrorBoundary.d.ts +8 -0
  155. package/dist/types/components/common/styles.d.ts +44 -44
  156. package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
  157. package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
  158. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
  159. package/dist/types/components/picker/styles.d.ts +17 -18
  160. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
  161. package/dist/types/components/typeahead/styles.d.ts +8 -7
  162. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +1 -0
  163. package/dist/types/components/uploader/styles.d.ts +2 -2
  164. package/dist/types/index.d.ts +3 -3
  165. package/dist/types/types.d.ts +6 -0
  166. package/dist/types/util/{analytics.d.ts → analytics/analytics.d.ts} +7 -7
  167. package/dist/types/util/analytics/index.d.ts +6 -0
  168. package/dist/types/util/analytics/samplingUfo.d.ts +31 -0
  169. package/dist/types/util/analytics/ufoExperiences.d.ts +12 -0
  170. package/dist/types/util/analytics/useSampledUFOComponentExperience.d.ts +8 -0
  171. package/dist/types/util/constants.d.ts +2 -0
  172. package/package.json +10 -9
  173. package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
  174. package/dist/cjs/context/EmojiContext.js +0 -11
  175. package/dist/cjs/context/EmojiContextProvider.js +0 -22
  176. package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
  177. package/dist/es2019/context/EmojiContext.js +0 -2
  178. package/dist/es2019/context/EmojiContextProvider.js +0 -10
  179. package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
  180. package/dist/esm/context/EmojiContext.js +0 -2
  181. package/dist/esm/context/EmojiContextProvider.js +0 -9
  182. package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
  183. package/dist/types/context/EmojiContext.d.ts +0 -4
  184. package/dist/types/context/EmojiContextProvider.d.ts +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # @atlaskit/emoji
2
2
 
3
+ ## 64.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`39031597fa1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/39031597fa1) - added more UFO experiences support
8
+
9
+ ## 64.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`753e9b6b610`](https://bitbucket.org/atlassian/atlassian-frontend/commits/753e9b6b610) - Migrated styles from typestyle to emotion
14
+ - [`f862d5ae7aa`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f862d5ae7aa) - remove RxJs peer dependency
15
+
16
+ ### Patch Changes
17
+
18
+ - [`e68c59796b5`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e68c59796b5) - Fix EmojiId encoding
19
+ - [`963a1369eac`](https://bitbucket.org/atlassian/atlassian-frontend/commits/963a1369eac) - This is a revert commit to a refactor that has not been released for legacy context provider
20
+ - [`876cae9c606`](https://bitbucket.org/atlassian/atlassian-frontend/commits/876cae9c606) - Changed selector first-child to first-of-type to better support SSR
21
+ - [`62edf20ab1e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/62edf20ab1e) - Migrates all usage of brand tokens to either selected or information tokens. This change is purely for semantic reasons, there are no visual or behavioural changes.
22
+ - Updated dependencies
23
+
24
+ ## 64.2.1
25
+
26
+ ### Patch Changes
27
+
28
+ - [`85397ad6786`](https://bitbucket.org/atlassian/atlassian-frontend/commits/85397ad6786) - add emoji-rendered and emoji-resource-fetched UFO experiences
29
+
3
30
  ## 64.2.0
4
31
 
5
32
  ### Minor Changes
@@ -31,6 +31,8 @@ var _typeHelpers = require("../util/type-helpers");
31
31
 
32
32
  var _storageAvailable = _interopRequireDefault(require("../util/storage-available"));
33
33
 
34
+ var _types = require("../types");
35
+
34
36
  var _logger = _interopRequireDefault(require("../util/logger"));
35
37
 
36
38
  var _EmojiLoader = _interopRequireDefault(require("./EmojiLoader"));
@@ -39,6 +41,8 @@ var _EmojiRepository = _interopRequireDefault(require("./EmojiRepository"));
39
41
 
40
42
  var _SiteEmojiResource = _interopRequireDefault(require("./media/SiteEmojiResource"));
41
43
 
44
+ var _analytics = require("../util/analytics");
45
+
42
46
  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); }; }
43
47
 
44
48
  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; } }
@@ -80,6 +84,14 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
80
84
  var emojiResponses = [];
81
85
  _this.activeLoaders = config.providers.length;
82
86
  config.providers.forEach(function (provider, index) {
87
+ var providerType = _this.getProviderType(provider);
88
+
89
+ _analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).start();
90
+
91
+ _analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).addMetadata({
92
+ type: providerType
93
+ });
94
+
83
95
  var loader = new _EmojiLoader.default(provider);
84
96
  var emojis = loader.loadEmoji();
85
97
  emojis.then(function (emojiResponse) {
@@ -92,12 +104,22 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
92
104
 
93
105
  _this.performRetries();
94
106
 
95
- _this.refreshLastFilter();
107
+ _this.refreshLastFilter(); // if not site emoji it would still resolve
108
+ // TODO: improve the logic in future
109
+
110
+
111
+ _analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).success();
96
112
  });
97
113
  }).catch(function (reason) {
98
114
  _this.activeLoaders--;
99
115
 
100
116
  _this.notifyError(reason);
117
+
118
+ _analytics.ufoExperiences['emoji-resource-fetched'].getInstance(providerType).failure({
119
+ metadata: {
120
+ reason: reason
121
+ }
122
+ });
101
123
  });
102
124
  });
103
125
 
@@ -113,6 +135,19 @@ var EmojiResource = /*#__PURE__*/function (_AbstractResource) {
113
135
  }
114
136
 
115
137
  (0, _createClass2.default)(EmojiResource, [{
138
+ key: "getProviderType",
139
+ value: function getProviderType(provider) {
140
+ if (provider.url.includes('/site')) {
141
+ return _types.ProviderTypes.SITE;
142
+ } else if (provider.url.includes('/standard')) {
143
+ return _types.ProviderTypes.STANDARD;
144
+ } else if (provider.url.includes('/atlassian')) {
145
+ return _types.ProviderTypes.ATLASSIAN;
146
+ }
147
+
148
+ return _types.ProviderTypes.UNKNOWN;
149
+ }
150
+ }, {
116
151
  key: "initEmojiRepository",
117
152
  value: function initEmojiRepository(emojiResponses) {
118
153
  var emojis = [];
@@ -197,7 +197,11 @@ var SiteEmojiResource = /*#__PURE__*/function () {
197
197
  }, {
198
198
  key: "findEmoji",
199
199
  value: function findEmoji(emojiId) {
200
- var path = "../".concat(emojiId.id);
200
+ if (!emojiId.id) {
201
+ return Promise.reject(false);
202
+ }
203
+
204
+ var path = "../".concat(encodeURIComponent(emojiId.id));
201
205
  return (0, _EmojiUtils.emojiRequest)(this.siteServiceConfig, {
202
206
  path: path
203
207
  }).then(function (serviceResponse) {
@@ -221,7 +225,11 @@ var SiteEmojiResource = /*#__PURE__*/function () {
221
225
  return Promise.reject(false);
222
226
  }
223
227
 
224
- var path = "".concat(emoji.id);
228
+ if (!emoji.id) {
229
+ return Promise.reject(false);
230
+ }
231
+
232
+ var path = "".concat(encodeURIComponent(emoji.id));
225
233
  var requestInit = {
226
234
  method: 'DELETE'
227
235
  };
@@ -27,6 +27,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
27
27
 
28
28
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
29
29
 
30
+ var _propTypes = _interopRequireDefault(require("prop-types"));
31
+
30
32
  var _react = _interopRequireWildcard(require("react"));
31
33
 
32
34
  var _EmojiUtils = require("../../api/EmojiUtils");
@@ -39,7 +41,11 @@ var _Emoji = _interopRequireDefault(require("./Emoji"));
39
41
 
40
42
  var _EmojiPlaceholder = _interopRequireDefault(require("./EmojiPlaceholder"));
41
43
 
42
- var _EmojiContext = require("../../context/EmojiContext");
44
+ var _UfoErrorBoundary = require("./UfoErrorBoundary");
45
+
46
+ var _analytics = require("../../util/analytics");
47
+
48
+ var _constants = require("../../util/constants");
43
49
 
44
50
  var _excluded = ["placeholderSize"],
45
51
  _excluded2 = ["children", "placeholderSize"];
@@ -59,13 +65,23 @@ var CachingEmoji = function CachingEmoji(props) {
59
65
  // Optimisation to only render the class based CachingMediaEmoji if necessary
60
66
  // slight performance hit, which accumulates for a large number of emoji.
61
67
  var placeholderSize = props.placeholderSize,
62
- emojiProps = (0, _objectWithoutProperties2.default)(props, _excluded);
68
+ emojiProps = (0, _objectWithoutProperties2.default)(props, _excluded); // start emoji rendered experience, it may have already started earlier in ResourcedEmoji
63
69
 
64
- if ((0, _typeHelpers.isMediaEmoji)(props.emoji)) {
65
- return /*#__PURE__*/_react.default.createElement(CachingMediaEmoji, props);
66
- }
70
+ (0, _analytics.useSampledUFOComponentExperience)(_analytics.ufoExperiences['emoji-rendered'].getInstance(emojiProps.emoji.id || emojiProps.emoji.shortName), _constants.SAMPLING_RATE_EMOJI_RENDERED_EXP, {
71
+ source: 'caching-emoji'
72
+ });
67
73
 
68
- return /*#__PURE__*/_react.default.createElement(_Emoji.default, emojiProps);
74
+ var emojiNode = function emojiNode() {
75
+ if ((0, _typeHelpers.isMediaEmoji)(props.emoji)) {
76
+ return /*#__PURE__*/_react.default.createElement(CachingMediaEmoji, props);
77
+ }
78
+
79
+ return /*#__PURE__*/_react.default.createElement(_Emoji.default, emojiProps);
80
+ };
81
+
82
+ return /*#__PURE__*/_react.default.createElement(_UfoErrorBoundary.UfoErrorBoundary, {
83
+ experiences: [_analytics.ufoExperiences['emoji-rendered'].getInstance(props.emoji.id || props.emoji.shortName)]
84
+ }, emojiNode());
69
85
  };
70
86
  /**
71
87
  * Rendering a media emoji image from a cache for media emoji, with different
@@ -84,10 +100,15 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
84
100
  var _this;
85
101
 
86
102
  (0, _classCallCheck2.default)(this, CachingMediaEmoji);
87
- _this = _super.call(this, props);
103
+ _this = _super.call(this, props, context);
88
104
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mounted", false);
89
105
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleLoadError", function (_emojiId, emoji) {
90
106
  var invalidImage = _this.state.invalidImage;
107
+ (0, _analytics.sampledUfoRenderedEmoji)(_emojiId).failure({
108
+ metadata: {
109
+ reason: 'load error'
110
+ }
111
+ });
91
112
 
92
113
  if (invalidImage || !emoji) {
93
114
  // do nothing, bad image
@@ -108,6 +129,7 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
108
129
  key: "componentDidMount",
109
130
  value: function componentDidMount() {
110
131
  this.mounted = true;
132
+ (0, _analytics.sampledUfoRenderedEmoji)(this.props.emoji).markFMP();
111
133
  }
112
134
  }, {
113
135
  key: "componentWillUnmount",
@@ -130,10 +152,6 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
130
152
  value: function loadEmoji(emoji, context, forceLoad) {
131
153
  var _this2 = this;
132
154
 
133
- if (!context) {
134
- return;
135
- }
136
-
137
155
  if (!context.emoji) {
138
156
  return undefined;
139
157
  }
@@ -170,6 +188,12 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
170
188
  cachedEmoji: undefined,
171
189
  invalidImage: true
172
190
  });
191
+
192
+ (0, _analytics.sampledUfoRenderedEmoji)(emoji).failure({
193
+ metadata: {
194
+ reason: 'failed to load media emoji'
195
+ }
196
+ });
173
197
  }
174
198
  });
175
199
  return undefined;
@@ -219,6 +243,8 @@ var CachingMediaEmoji = /*#__PURE__*/function (_PureComponent) {
219
243
  }(_react.PureComponent);
220
244
 
221
245
  exports.CachingMediaEmoji = CachingMediaEmoji;
222
- (0, _defineProperty2.default)(CachingMediaEmoji, "contextType", _EmojiContext.EmojiContext);
246
+ (0, _defineProperty2.default)(CachingMediaEmoji, "contextTypes", {
247
+ emoji: _propTypes.default.object
248
+ });
223
249
  var _default = CachingEmoji;
224
250
  exports.default = _default;
@@ -2,36 +2,32 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
9
 
10
+ var _core = require("@emotion/core");
11
+
12
12
  var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
13
13
 
14
14
  var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/cross-circle"));
15
15
 
16
- var _react = _interopRequireDefault(require("react"));
17
-
18
16
  var _tokens = require("@atlaskit/tokens");
19
17
 
20
18
  var _colors = require("@atlaskit/theme/colors");
21
19
 
22
20
  var _constants = require("../../util/constants");
23
21
 
24
- var styles = _interopRequireWildcard(require("./styles"));
25
-
26
- 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); }
27
-
28
- 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; }
22
+ var _styles = require("./styles");
29
23
 
24
+ /** @jsx jsx */
30
25
  var DeleteButton = function DeleteButton(props) {
31
- return /*#__PURE__*/_react.default.createElement("span", {
32
- className: styles.deleteButton
33
- }, /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
34
- iconBefore: /*#__PURE__*/_react.default.createElement(_crossCircle.default, {
26
+ return (0, _core.jsx)("span", {
27
+ css: _styles.deleteButton,
28
+ className: _styles.emojiDeleteButton
29
+ }, (0, _core.jsx)(_customThemeButton.default, {
30
+ iconBefore: (0, _core.jsx)(_crossCircle.default, {
35
31
  label: _constants.deleteEmojiLabel,
36
32
  primaryColor: (0, _tokens.token)('color.text.subtle', _colors.N500),
37
33
  size: "small"
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -13,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
11
 
14
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
13
 
16
- var _classnames = _interopRequireDefault(require("classnames"));
14
+ var _core = require("@emotion/core");
17
15
 
18
16
  var _react = _interopRequireDefault(require("react"));
19
17
 
@@ -25,13 +23,11 @@ var _typeHelpers = require("../../util/type-helpers");
25
23
 
26
24
  var _mouse = require("../../util/mouse");
27
25
 
28
- var styles = _interopRequireWildcard(require("./styles"));
29
-
30
26
  var _DeleteButton = _interopRequireDefault(require("./DeleteButton"));
31
27
 
32
- 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); }
28
+ var _styles = require("./styles");
33
29
 
34
- 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; }
30
+ var _analytics = require("../../util/analytics");
35
31
 
36
32
  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; }
37
33
 
@@ -102,8 +98,6 @@ var handleImageError = function handleImageError(props, event) {
102
98
 
103
99
 
104
100
  var renderAsSprite = function renderAsSprite(props) {
105
- var _classes;
106
-
107
101
  var emoji = props.emoji,
108
102
  fitToHeight = props.fitToHeight,
109
103
  selected = props.selected,
@@ -113,18 +107,15 @@ var renderAsSprite = function renderAsSprite(props) {
113
107
  shouldBeInteractive = props.shouldBeInteractive;
114
108
  var representation = emoji.representation;
115
109
  var sprite = representation.sprite;
116
- var classes = (_classes = {}, (0, _defineProperty2.default)(_classes, styles.emojiContainer, true), (0, _defineProperty2.default)(_classes, styles.emojiNode, true), (0, _defineProperty2.default)(_classes, styles.selected, selected), (0, _defineProperty2.default)(_classes, styles.selectOnHover, selectOnHover), _classes);
117
-
118
- if (className) {
119
- classes[className] = true;
120
- }
121
-
110
+ var classes = "".concat(_styles.emojiNodeStyles, " ").concat(selected ? _styles.commonSelectedStyles : '', " ").concat(selectOnHover ? _styles.selectOnHoverStyles : '', " ").concat(className ? className : '');
122
111
  var sizing = {};
123
112
 
124
113
  if (fitToHeight) {
125
114
  sizing = {
126
115
  width: "".concat(fitToHeight, "px"),
127
- height: "".concat(fitToHeight, "px")
116
+ height: "".concat(fitToHeight, "px"),
117
+ minHeight: "".concat(fitToHeight, "px"),
118
+ minWidth: "".concat(fitToHeight, "px")
128
119
  };
129
120
  }
130
121
 
@@ -137,15 +128,15 @@ var renderAsSprite = function renderAsSprite(props) {
137
128
  backgroundSize: "".concat(sprite.column * 100, "% ").concat(sprite.row * 100, "%")
138
129
  }, sizing);
139
130
 
140
- var emojiNode = /*#__PURE__*/_react.default.createElement("span", {
141
- className: styles.emojiSprite,
131
+ var emojiNode = (0, _core.jsx)("span", {
132
+ className: _styles.emojiSprite,
142
133
  style: style
143
134
  }, "\xA0");
144
-
145
- return /*#__PURE__*/_react.default.createElement("span", {
135
+ return (0, _core.jsx)("span", {
146
136
  tabIndex: shouldBeInteractive ? 0 : undefined,
147
137
  role: shouldBeInteractive ? 'button' : undefined,
148
- className: (0, _classnames.default)(classes),
138
+ css: _styles.emojiContainer,
139
+ className: classes,
149
140
  onKeyPress: function onKeyPress(event) {
150
141
  return handleKeyPress(props, event);
151
142
  },
@@ -162,8 +153,6 @@ var renderAsSprite = function renderAsSprite(props) {
162
153
 
163
154
 
164
155
  var renderAsImage = function renderAsImage(props) {
165
- var _classes2;
166
-
167
156
  var emoji = props.emoji,
168
157
  fitToHeight = props.fitToHeight,
169
158
  selected = props.selected,
@@ -172,12 +161,7 @@ var renderAsImage = function renderAsImage(props) {
172
161
  showTooltip = props.showTooltip,
173
162
  showDelete = props.showDelete,
174
163
  shouldBeInteractive = props.shouldBeInteractive;
175
- var classes = (_classes2 = {}, (0, _defineProperty2.default)(_classes2, styles.emoji, true), (0, _defineProperty2.default)(_classes2, styles.emojiNode, true), (0, _defineProperty2.default)(_classes2, styles.selected, selected), (0, _defineProperty2.default)(_classes2, styles.selectOnHover, selectOnHover), (0, _defineProperty2.default)(_classes2, styles.emojiImage, true), _classes2);
176
-
177
- if (className) {
178
- classes[className] = true;
179
- }
180
-
164
+ var classes = "".concat(_styles.emojiMainStyle, " ").concat(_styles.emojiNodeStyles, " ").concat(selected ? _styles.commonSelectedStyles : '', " ").concat(selectOnHover ? _styles.selectOnHoverStyles : '', " ").concat(_styles.emojiImage, " ").concat(className ? className : '');
181
165
  var width;
182
166
  var height;
183
167
  var src;
@@ -196,7 +180,7 @@ var renderAsImage = function renderAsImage(props) {
196
180
  var deleteButton;
197
181
 
198
182
  if (showDelete) {
199
- deleteButton = /*#__PURE__*/_react.default.createElement(_DeleteButton.default, {
183
+ deleteButton = (0, _core.jsx)(_DeleteButton.default, {
200
184
  onClick: function onClick(event) {
201
185
  return handleDelete(props, event);
202
186
  }
@@ -215,6 +199,10 @@ var renderAsImage = function renderAsImage(props) {
215
199
 
216
200
  var onError = function onError(event) {
217
201
  handleImageError(props, event);
202
+ };
203
+
204
+ var onLoad = function onLoad() {
205
+ (0, _analytics.sampledUfoRenderedEmoji)(emoji).success();
218
206
  }; // Pass src attribute as key to force React to rerender img node since browser does not
219
207
  // change preview image until loaded
220
208
  // We currently have the following error: property 'loading' does not exist on type 'DetailedHTMLProps<ImgHTMLAttributes, HTMLImageElement>'
@@ -222,7 +210,7 @@ var renderAsImage = function renderAsImage(props) {
222
210
  // TODO: remove @ts-ignore for the <img> below when the @types/react will be bumped from v16.8.0 to v16.9.20 or higher.
223
211
 
224
212
 
225
- var emojiNode = /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
213
+ var emojiNode = (0, _core.jsx)("img", (0, _extends2.default)({
226
214
  // @ts-ignore
227
215
  loading: "lazy",
228
216
  src: src,
@@ -235,13 +223,14 @@ var renderAsImage = function renderAsImage(props) {
235
223
  style: {
236
224
  visibility: 'visible'
237
225
  },
238
- onError: onError
226
+ onError: onError,
227
+ onLoad: onLoad
239
228
  }, sizing));
240
-
241
- return /*#__PURE__*/_react.default.createElement("span", {
229
+ return (0, _core.jsx)("span", {
230
+ css: _styles.emojiStyles,
242
231
  tabIndex: shouldBeInteractive ? 0 : undefined,
243
232
  role: shouldBeInteractive ? 'button' : undefined,
244
- className: (0, _classnames.default)(classes),
233
+ className: classes,
245
234
  onKeyPress: function onKeyPress(event) {
246
235
  return handleKeyPress(props, event);
247
236
  },
@@ -257,7 +246,7 @@ var renderAsImage = function renderAsImage(props) {
257
246
  };
258
247
 
259
248
  var Emoji = function Emoji(props) {
260
- var emoji = props.emoji;
249
+ var emoji = props.emoji; // TODO: We always prefer render as image as having accessibility issues with sprite representation
261
250
 
262
251
  if ((0, _typeHelpers.isSpriteRepresentation)(emoji.representation)) {
263
252
  return renderAsSprite(props);
@@ -2,8 +2,6 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -23,9 +21,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
21
 
24
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
23
 
26
- var _classnames = _interopRequireDefault(require("classnames"));
24
+ var _core = require("@emotion/core");
27
25
 
28
- var _react = _interopRequireWildcard(require("react"));
26
+ var _react = require("react");
29
27
 
30
28
  var _reactIntlNext = require("react-intl-next");
31
29
 
@@ -33,10 +31,6 @@ var _EmojiDeletePreview = _interopRequireDefault(require("../common/EmojiDeleteP
33
31
 
34
32
  var _EmojiUploadPicker = _interopRequireDefault(require("../common/EmojiUploadPicker"));
35
33
 
36
- var styles = _interopRequireWildcard(require("./styles"));
37
-
38
- var footerStyles = _interopRequireWildcard(require("../picker/styles"));
39
-
40
34
  var _EmojiPickerListSearch = _interopRequireDefault(require("../picker/EmojiPickerListSearch"));
41
35
 
42
36
  var _ToneSelector = _interopRequireDefault(require("./ToneSelector"));
@@ -51,9 +45,9 @@ var _add = _interopRequireDefault(require("@atlaskit/icon/glyph/add"));
51
45
 
52
46
  var _setSkinToneAriaLabelText = require("./setSkinToneAriaLabelText");
53
47
 
54
- 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); }
48
+ var _styles = require("./styles");
55
49
 
56
- 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; }
50
+ var _styles2 = require("../picker/styles");
57
51
 
58
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); }; }
59
53
 
@@ -125,13 +119,13 @@ var EmojiActions = /*#__PURE__*/function (_PureComponent) {
125
119
  previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
126
120
  }
127
121
 
128
- return /*#__PURE__*/_react.default.createElement("div", {
129
- className: styles.emojiToneSelectorContainer
130
- }, this.state.selectingTone && /*#__PURE__*/_react.default.createElement(_ToneSelector.default, {
122
+ return (0, _core.jsx)("div", {
123
+ css: _styles.emojiToneSelectorContainer
124
+ }, this.state.selectingTone && (0, _core.jsx)(_ToneSelector.default, {
131
125
  emoji: toneEmoji,
132
126
  onToneSelected: this.onToneSelected,
133
127
  previewEmojiId: previewEmoji.id
134
- }), /*#__PURE__*/_react.default.createElement(_EmojiButton.default, {
128
+ }), (0, _core.jsx)(_EmojiButton.default, {
135
129
  ariaExpanded: this.state.selectingTone,
136
130
  emoji: previewEmoji,
137
131
  selectOnHover: true,
@@ -155,17 +149,18 @@ var EmojiActions = /*#__PURE__*/function (_PureComponent) {
155
149
  return null;
156
150
  }
157
151
 
158
- return /*#__PURE__*/_react.default.createElement("div", {
159
- className: styles.AddCustomEmoji
160
- }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _i18n.messages.addCustomEmojiLabel, function (label) {
161
- return /*#__PURE__*/_react.default.createElement(_standardButton.default, {
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, {
162
156
  onClick: onOpenUpload,
163
- iconBefore: /*#__PURE__*/_react.default.createElement(_add.default, {
157
+ iconBefore: (0, _core.jsx)(_add.default, {
164
158
  label: formatMessage(_i18n.messages.addCustomEmojiLabel),
165
159
  size: "small"
166
160
  }),
167
161
  appearance: "subtle",
168
- className: styles.addCustomEmojiButton + ' emoji-picker-add-emoji'
162
+ css: _styles.addCustomEmojiButton,
163
+ className: _styles.emojiPickerAddEmoji
169
164
  }, label);
170
165
  }));
171
166
  }
@@ -184,12 +179,12 @@ var EmojiActions = /*#__PURE__*/function (_PureComponent) {
184
179
  emojiToDelete = _this$props3.emojiToDelete,
185
180
  onChange = _this$props3.onChange,
186
181
  query = _this$props3.query;
187
- var previewFooterClassnames = (0, _classnames.default)([footerStyles.emojiPickerFooter, footerStyles.emojiActionsContainerWithBottomShadow]);
182
+ var previewFooterClassnames = [_styles2.emojiPickerFooter, _styles2.emojiActionsContainerWithBottomShadow];
188
183
 
189
184
  if (uploading) {
190
- return /*#__PURE__*/_react.default.createElement("div", {
191
- className: previewFooterClassnames
192
- }, /*#__PURE__*/_react.default.createElement(_EmojiUploadPicker.default, {
185
+ return (0, _core.jsx)("div", {
186
+ css: previewFooterClassnames
187
+ }, (0, _core.jsx)(_EmojiUploadPicker.default, {
193
188
  onUploadCancelled: onUploadCancelled,
194
189
  onUploadEmoji: onUploadEmoji,
195
190
  onFileChooserClicked: onFileChooserClicked,
@@ -199,25 +194,25 @@ var EmojiActions = /*#__PURE__*/function (_PureComponent) {
199
194
  }
200
195
 
201
196
  if (emojiToDelete) {
202
- return /*#__PURE__*/_react.default.createElement("div", {
203
- className: previewFooterClassnames
204
- }, /*#__PURE__*/_react.default.createElement(_EmojiDeletePreview.default, {
197
+ return (0, _core.jsx)("div", {
198
+ css: previewFooterClassnames
199
+ }, (0, _core.jsx)(_EmojiDeletePreview.default, {
205
200
  emoji: emojiToDelete,
206
201
  onDeleteEmoji: onDeleteEmoji,
207
202
  onCloseDelete: onCloseDelete
208
203
  }));
209
204
  }
210
205
 
211
- return /*#__PURE__*/_react.default.createElement("div", {
212
- className: previewFooterClassnames,
206
+ return (0, _core.jsx)("div", {
207
+ css: previewFooterClassnames,
213
208
  onMouseLeave: this.onMouseLeave
214
- }, /*#__PURE__*/_react.default.createElement("div", {
209
+ }, (0, _core.jsx)("div", {
215
210
  style: {
216
211
  display: 'flex',
217
212
  justifyContent: 'flex-end',
218
213
  alignItems: 'center'
219
214
  }
220
- }, !this.state.selectingTone && /*#__PURE__*/_react.default.createElement(_EmojiPickerListSearch.default, {
215
+ }, !this.state.selectingTone && (0, _core.jsx)(_EmojiPickerListSearch.default, {
221
216
  onChange: onChange,
222
217
  query: query
223
218
  }), this.renderTones()), this.renderAddOwnEmoji());
@@ -9,20 +9,21 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = exports.EmojiButton = void 0;
11
11
 
12
- var _classnames = _interopRequireDefault(require("classnames"));
12
+ var _core = require("@emotion/core");
13
13
 
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
 
16
- var styles = _interopRequireWildcard(require("./styles"));
17
-
18
16
  var _Emoji = _interopRequireDefault(require("./Emoji"));
19
17
 
20
18
  var _mouse = require("../../util/mouse");
21
19
 
20
+ var _styles = require("./styles");
21
+
22
22
  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); }
23
23
 
24
24
  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; }
25
25
 
26
+ /** @jsx jsx */
26
27
  var handleMouseDown = function handleMouseDown(props, event) {
27
28
  var onSelected = props.onSelected;
28
29
  event.preventDefault();
@@ -47,11 +48,10 @@ var EmojiButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
47
48
  ariaLabelText = props.ariaLabelText,
48
49
  ariaExpanded = props.ariaExpanded,
49
50
  shouldHideButton = props.shouldHideButton;
50
- var classes = [shouldHideButton ? styles.hiddenToneButton : styles.emojiButton];
51
- return /*#__PURE__*/_react.default.createElement("button", {
51
+ return (0, _core.jsx)("button", {
52
52
  ref: ref,
53
53
  "aria-expanded": ariaExpanded,
54
- className: (0, _classnames.default)(classes),
54
+ css: shouldHideButton ? _styles.hiddenToneButton : _styles.emojiButton,
55
55
  onMouseDown: function onMouseDown(event) {
56
56
  handleMouseDown(props, event);
57
57
  },
@@ -59,7 +59,7 @@ var EmojiButton = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
59
59
  handleKeyPress(props, event);
60
60
  },
61
61
  "aria-label": ariaLabelText
62
- }, /*#__PURE__*/_react.default.createElement(_Emoji.default, {
62
+ }, (0, _core.jsx)(_Emoji.default, {
63
63
  emoji: emoji,
64
64
  selectOnHover: selectOnHover
65
65
  }));