@atlaskit/emoji 64.2.1 → 64.3.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 (137) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/api/media/SiteEmojiResource.js +10 -2
  3. package/dist/cjs/components/common/CachingEmoji.js +6 -8
  4. package/dist/cjs/components/common/DeleteButton.js +9 -13
  5. package/dist/cjs/components/common/Emoji.js +18 -36
  6. package/dist/cjs/components/common/EmojiActions.js +26 -31
  7. package/dist/cjs/components/common/EmojiButton.js +7 -7
  8. package/dist/cjs/components/common/EmojiDeletePreview.js +20 -26
  9. package/dist/cjs/components/common/EmojiErrorMessage.js +10 -14
  10. package/dist/cjs/components/common/EmojiPlaceholder.js +5 -12
  11. package/dist/cjs/components/common/EmojiPreview.js +20 -40
  12. package/dist/cjs/components/common/EmojiPreviewComponent.js +34 -0
  13. package/dist/cjs/components/common/EmojiUploadPicker.js +26 -24
  14. package/dist/cjs/components/common/EmojiUploadPreview.js +22 -28
  15. package/dist/cjs/components/common/ResourcedEmojiComponent.js +17 -12
  16. package/dist/cjs/components/common/RetryableButton.js +12 -18
  17. package/dist/cjs/components/common/Scrollable.js +5 -10
  18. package/dist/cjs/components/common/styles.js +210 -266
  19. package/dist/cjs/components/picker/CategorySelector.js +13 -12
  20. package/dist/cjs/components/picker/EmojiPicker.js +6 -6
  21. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
  22. package/dist/cjs/components/picker/EmojiPickerComponent.js +24 -28
  23. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
  24. package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
  25. package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
  26. package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
  27. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
  28. package/dist/cjs/components/picker/styles.js +113 -161
  29. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +23 -24
  30. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
  31. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
  32. package/dist/cjs/components/typeahead/styles.js +17 -19
  33. package/dist/cjs/components/uploader/EmojiUploadComponent.js +10 -16
  34. package/dist/cjs/components/uploader/styles.js +4 -4
  35. package/dist/cjs/index.js +3 -3
  36. package/dist/cjs/version.json +1 -1
  37. package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
  38. package/dist/es2019/components/common/CachingEmoji.js +5 -7
  39. package/dist/es2019/components/common/DeleteButton.js +8 -6
  40. package/dist/es2019/components/common/Emoji.js +19 -34
  41. package/dist/es2019/components/common/EmojiActions.js +26 -24
  42. package/dist/es2019/components/common/EmojiButton.js +6 -6
  43. package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
  44. package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
  45. package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
  46. package/dist/es2019/components/common/EmojiPreview.js +19 -35
  47. package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
  48. package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
  49. package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
  50. package/dist/es2019/components/common/ResourcedEmojiComponent.js +16 -11
  51. package/dist/es2019/components/common/RetryableButton.js +10 -11
  52. package/dist/es2019/components/common/Scrollable.js +6 -10
  53. package/dist/es2019/components/common/styles.js +195 -262
  54. package/dist/es2019/components/picker/CategorySelector.js +15 -12
  55. package/dist/es2019/components/picker/EmojiPicker.js +7 -5
  56. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
  57. package/dist/es2019/components/picker/EmojiPickerComponent.js +24 -19
  58. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
  59. package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
  60. package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
  61. package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
  62. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
  63. package/dist/es2019/components/picker/styles.js +112 -160
  64. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +22 -16
  65. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
  66. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
  67. package/dist/es2019/components/typeahead/styles.js +14 -15
  68. package/dist/es2019/components/uploader/EmojiUploadComponent.js +10 -9
  69. package/dist/es2019/components/uploader/styles.js +4 -4
  70. package/dist/es2019/index.js +2 -1
  71. package/dist/es2019/version.json +1 -1
  72. package/dist/esm/api/media/SiteEmojiResource.js +10 -2
  73. package/dist/esm/components/common/CachingEmoji.js +5 -7
  74. package/dist/esm/components/common/DeleteButton.js +8 -6
  75. package/dist/esm/components/common/Emoji.js +18 -27
  76. package/dist/esm/components/common/EmojiActions.js +26 -25
  77. package/dist/esm/components/common/EmojiButton.js +6 -6
  78. package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
  79. package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
  80. package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
  81. package/dist/esm/components/common/EmojiPreview.js +19 -33
  82. package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
  83. package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
  84. package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
  85. package/dist/esm/components/common/ResourcedEmojiComponent.js +16 -10
  86. package/dist/esm/components/common/RetryableButton.js +11 -12
  87. package/dist/esm/components/common/Scrollable.js +6 -10
  88. package/dist/esm/components/common/styles.js +192 -242
  89. package/dist/esm/components/picker/CategorySelector.js +14 -12
  90. package/dist/esm/components/picker/EmojiPicker.js +6 -5
  91. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
  92. package/dist/esm/components/picker/EmojiPickerComponent.js +24 -19
  93. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
  94. package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
  95. package/dist/esm/components/picker/EmojiPickerList.js +29 -8
  96. package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
  97. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
  98. package/dist/esm/components/picker/styles.js +108 -149
  99. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +22 -16
  100. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
  101. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
  102. package/dist/esm/components/typeahead/styles.js +14 -14
  103. package/dist/esm/components/uploader/EmojiUploadComponent.js +9 -9
  104. package/dist/esm/components/uploader/styles.js +4 -4
  105. package/dist/esm/index.js +2 -1
  106. package/dist/esm/version.json +1 -1
  107. package/dist/types/components/common/CachingEmoji.d.ts +8 -6
  108. package/dist/types/components/common/EmojiActions.d.ts +2 -3
  109. package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
  110. package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
  111. package/dist/types/components/common/EmojiPreview.d.ts +2 -3
  112. package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
  113. package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
  114. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
  115. package/dist/types/components/common/RetryableButton.d.ts +0 -2
  116. package/dist/types/components/common/styles.d.ts +44 -44
  117. package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
  118. package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
  119. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
  120. package/dist/types/components/picker/styles.d.ts +17 -18
  121. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
  122. package/dist/types/components/typeahead/styles.d.ts +8 -7
  123. package/dist/types/components/uploader/styles.d.ts +2 -2
  124. package/dist/types/index.d.ts +1 -1
  125. package/package.json +8 -9
  126. package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
  127. package/dist/cjs/context/EmojiContext.js +0 -11
  128. package/dist/cjs/context/EmojiContextProvider.js +0 -22
  129. package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
  130. package/dist/es2019/context/EmojiContext.js +0 -2
  131. package/dist/es2019/context/EmojiContextProvider.js +0 -10
  132. package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
  133. package/dist/esm/context/EmojiContext.js +0 -2
  134. package/dist/esm/context/EmojiContextProvider.js +0 -9
  135. package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
  136. package/dist/types/context/EmojiContext.d.ts +0 -4
  137. package/dist/types/context/EmojiContextProvider.d.ts +0 -7
@@ -1,27 +1,24 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- exports.typeAheadListContainer = exports.typeAheadList = exports.typeAheadItemRow = exports.typeAheadItem = exports.typeAheadEmpty = exports.selected = exports.emojiTypeAheadSpinnerContainer = exports.emojiTypeAheadSpinner = exports.emojiTypeAhead = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ exports.typeaheadSelected = exports.typeAheadListContainer = exports.typeAheadList = exports.typeAheadItemRow = exports.typeAheadItem = exports.typeAheadEmpty = exports.selected = exports.emojiTypeAheadSpinnerContainer = exports.emojiTypeAheadSpinner = exports.emojiTypeAhead = void 0;
11
7
 
12
- var _typestyle = require("typestyle");
8
+ var _core = require("@emotion/core");
13
9
 
14
10
  var _tokens = require("@atlaskit/tokens");
15
11
 
16
12
  var _sharedStyles = require("../../util/shared-styles");
17
13
 
18
- var selected = 'emoji-typeahead-selected';
19
- exports.selected = selected;
20
14
  var emojiTypeAhead = 'emoji-typeahead-element';
21
15
  exports.emojiTypeAhead = emojiTypeAhead;
22
- var typeAheadListContainer = 'emoji-typeahead-list-container';
16
+ var typeAheadListContainer = 'emoji-typeahead-list-container'; // editor-core is using this static class name for testing
17
+
23
18
  exports.typeAheadListContainer = typeAheadListContainer;
24
- var typeAheadList = (0, _typestyle.style)({
19
+ var typeaheadSelected = 'emoji-typeahead-selected';
20
+ exports.typeaheadSelected = typeaheadSelected;
21
+ var typeAheadList = (0, _core.css)({
25
22
  background: (0, _tokens.token)('elevation.surface.overlay', 'white'),
26
23
  border: "1px solid ".concat(_sharedStyles.noDialogContainerBorderColor),
27
24
  borderRadius: _sharedStyles.noDialogContainerBorderRadius,
@@ -30,36 +27,37 @@ var typeAheadList = (0, _typestyle.style)({
30
27
  width: _sharedStyles.emojiTypeAheadWidth
31
28
  });
32
29
  exports.typeAheadList = typeAheadList;
33
- var typeAheadEmpty = (0, _typestyle.style)({
30
+ var typeAheadEmpty = (0, _core.css)({
34
31
  display: 'none'
35
32
  });
36
33
  exports.typeAheadEmpty = typeAheadEmpty;
37
- var typeAheadItem = (0, _typestyle.style)({
34
+ var selected = (0, _core.css)({
35
+ backgroundColor: _sharedStyles.emojiPreviewSelectedColor
36
+ });
37
+ exports.selected = selected;
38
+ var typeAheadItem = (0, _core.css)({
38
39
  cursor: 'pointer',
39
40
  display: 'block',
40
41
  listStyleType: 'none',
41
42
  overflow: 'hidden',
42
- width: _sharedStyles.emojiTypeAheadWidth,
43
- $nest: (0, _defineProperty2.default)({}, "&.".concat(selected), {
44
- backgroundColor: _sharedStyles.emojiPreviewSelectedColor
45
- })
43
+ width: _sharedStyles.emojiTypeAheadWidth
46
44
  });
47
45
  exports.typeAheadItem = typeAheadItem;
48
- var typeAheadItemRow = (0, _typestyle.style)({
46
+ var typeAheadItemRow = (0, _core.css)({
49
47
  display: 'flex',
50
48
  flexDirection: 'row',
51
49
  flexWrap: 'wrap',
52
50
  verticalAlign: 'middle'
53
51
  });
54
52
  exports.typeAheadItemRow = typeAheadItemRow;
55
- var emojiTypeAheadSpinnerContainer = (0, _typestyle.style)({
53
+ var emojiTypeAheadSpinnerContainer = (0, _core.css)({
56
54
  position: 'relative',
57
55
  height: "".concat(_sharedStyles.emojiTypeAheadMaxHeight, "px"),
58
56
  paddingTop: "".concat(((_sharedStyles.emojiTypeAheadMaxHeight - 30) / 2).toFixed(), "px"),
59
57
  boxSizing: 'border-box'
60
58
  });
61
59
  exports.emojiTypeAheadSpinnerContainer = emojiTypeAheadSpinnerContainer;
62
- var emojiTypeAheadSpinner = (0, _typestyle.style)({
60
+ var emojiTypeAheadSpinner = (0, _core.css)({
63
61
  textAlign: 'center'
64
62
  });
65
63
  exports.emojiTypeAheadSpinner = emojiTypeAheadSpinner;
@@ -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,13 +21,11 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
23
21
 
24
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
23
 
26
- var _react = _interopRequireWildcard(require("react"));
27
-
28
- var _reactIntlNext = require("react-intl-next");
24
+ var _core = require("@emotion/core");
29
25
 
30
- var _classnames = _interopRequireDefault(require("classnames"));
26
+ var _react = require("react");
31
27
 
32
- var styles = _interopRequireWildcard(require("./styles"));
28
+ var _reactIntlNext = require("react-intl-next");
33
29
 
34
30
  var _EmojiResource = require("../../api/EmojiResource");
35
31
 
@@ -39,9 +35,7 @@ var _UploadEmoji = require("../common/UploadEmoji");
39
35
 
40
36
  var _analytics = require("../../util/analytics");
41
37
 
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); }
43
-
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; }
38
+ var _styles = require("./styles");
45
39
 
46
40
  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); }; }
47
41
 
@@ -118,13 +112,13 @@ var EmojiUploadComponent = /*#__PURE__*/function (_PureComponent) {
118
112
  key: "render",
119
113
  value: function render() {
120
114
  var uploadErrorMessage = this.state.uploadErrorMessage;
121
- var errorMessage = uploadErrorMessage ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, uploadErrorMessage) : null;
122
- return /*#__PURE__*/_react.default.createElement("div", {
123
- className: (0, _classnames.default)([styles.emojiUploadWidget]),
115
+ var errorMessage = uploadErrorMessage ? (0, _core.jsx)(_reactIntlNext.FormattedMessage, uploadErrorMessage) : null;
116
+ return (0, _core.jsx)("div", {
117
+ css: _styles.emojiUploadWidget,
124
118
  ref: this.props.onUploaderRef
125
- }, /*#__PURE__*/_react.default.createElement("div", {
126
- className: (0, _classnames.default)([styles.emojiUploadFooter])
127
- }, /*#__PURE__*/_react.default.createElement(_EmojiUploadPicker.default, {
119
+ }, (0, _core.jsx)("div", {
120
+ css: _styles.emojiUploadFooter
121
+ }, (0, _core.jsx)(_EmojiUploadPicker.default, {
128
122
  ref: this.onUploaderRef,
129
123
  onFileChooserClicked: this.onFileChooserClicked,
130
124
  onUploadCancelled: this.onUploadCancelled,
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.emojiUploadWidget = exports.emojiUploadFooter = void 0;
7
7
 
8
- var _typestyle = require("typestyle");
9
-
10
8
  var _tokens = require("@atlaskit/tokens");
11
9
 
12
10
  var _constants = require("../../util/constants");
13
11
 
12
+ var _core = require("@emotion/core");
13
+
14
14
  // Uploader
15
- var emojiUploadWidget = (0, _typestyle.style)({
15
+ var emojiUploadWidget = (0, _core.css)({
16
16
  display: 'flex',
17
17
  flexDirection: 'column',
18
18
  justifyContent: 'center',
@@ -27,7 +27,7 @@ var emojiUploadWidget = (0, _typestyle.style)({
27
27
  }); /// Footer
28
28
 
29
29
  exports.emojiUploadWidget = emojiUploadWidget;
30
- var emojiUploadFooter = (0, _typestyle.style)({
30
+ var emojiUploadFooter = (0, _core.css)({
31
31
  flex: '0 0 auto'
32
32
  });
33
33
  exports.emojiUploadFooter = emojiUploadFooter;
package/dist/cjs/index.js CHANGED
@@ -111,7 +111,7 @@ Object.defineProperty(exports, "emojiImage", {
111
111
  Object.defineProperty(exports, "emojiNode", {
112
112
  enumerable: true,
113
113
  get: function get() {
114
- return _styles.emojiNode;
114
+ return _styles.emojiNodeStyles;
115
115
  }
116
116
  });
117
117
  Object.defineProperty(exports, "emojiPickerHeight", {
@@ -147,13 +147,13 @@ Object.defineProperty(exports, "recordSelectionSucceededSli", {
147
147
  Object.defineProperty(exports, "selectOnHover", {
148
148
  enumerable: true,
149
149
  get: function get() {
150
- return _styles.selectOnHover;
150
+ return _styles.selectOnHoverStyles;
151
151
  }
152
152
  });
153
153
  Object.defineProperty(exports, "selected", {
154
154
  enumerable: true,
155
155
  get: function get() {
156
- return _styles.selected;
156
+ return _styles.commonSelectedStyles;
157
157
  }
158
158
  });
159
159
  Object.defineProperty(exports, "toEmojiId", {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "64.2.1",
3
+ "version": "64.3.0",
4
4
  "sideEffects": false
5
5
  }
@@ -163,7 +163,11 @@ export default class SiteEmojiResource {
163
163
  }
164
164
 
165
165
  findEmoji(emojiId) {
166
- const path = `../${emojiId.id}`;
166
+ if (!emojiId.id) {
167
+ return Promise.reject(false);
168
+ }
169
+
170
+ const path = `../${encodeURIComponent(emojiId.id)}`;
167
171
  return emojiRequest(this.siteServiceConfig, {
168
172
  path
169
173
  }).then(serviceResponse => {
@@ -186,7 +190,11 @@ export default class SiteEmojiResource {
186
190
  return Promise.reject(false);
187
191
  }
188
192
 
189
- const path = `${emoji.id}`;
193
+ if (!emoji.id) {
194
+ return Promise.reject(false);
195
+ }
196
+
197
+ const path = `${encodeURIComponent(emoji.id)}`;
190
198
  const requestInit = {
191
199
  method: 'DELETE'
192
200
  };
@@ -1,5 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import PropTypes from 'prop-types';
3
4
  import React from 'react';
4
5
  import { PureComponent } from 'react';
5
6
  import { shouldUseAltRepresentation } from '../../api/EmojiUtils';
@@ -7,7 +8,6 @@ import { isEmojiDescription, isMediaEmoji, isPromise } from '../../util/type-hel
7
8
  import debug from '../../util/logger';
8
9
  import Emoji from './Emoji';
9
10
  import EmojiPlaceholder from './EmojiPlaceholder';
10
- import { EmojiContext } from '../../context/EmojiContext';
11
11
  import { UfoErrorBoundary } from './UfoErrorBoundary';
12
12
  import { sampledUfoRenderedEmoji, ufoExperiences, useSampledUFOComponentExperience } from '../../util/analytics';
13
13
  import { SAMPLING_RATE_EMOJI_RENDERED_EXP } from '../../util/constants';
@@ -46,7 +46,7 @@ export const CachingEmoji = props => {
46
46
 
47
47
  export class CachingMediaEmoji extends PureComponent {
48
48
  constructor(props, context) {
49
- super(props);
49
+ super(props, context);
50
50
 
51
51
  _defineProperty(this, "mounted", false);
52
52
 
@@ -95,10 +95,6 @@ export class CachingMediaEmoji extends PureComponent {
95
95
  }
96
96
 
97
97
  loadEmoji(emoji, context, forceLoad) {
98
- if (!context) {
99
- return;
100
- }
101
-
102
98
  if (!context.emoji) {
103
99
  return undefined;
104
100
  }
@@ -196,6 +192,8 @@ export class CachingMediaEmoji extends PureComponent {
196
192
 
197
193
  }
198
194
 
199
- _defineProperty(CachingMediaEmoji, "contextType", EmojiContext);
195
+ _defineProperty(CachingMediaEmoji, "contextTypes", {
196
+ emoji: PropTypes.object
197
+ });
200
198
 
201
199
  export default CachingEmoji;
@@ -1,15 +1,17 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/core';
1
3
  import Button from '@atlaskit/button/custom-theme-button';
2
4
  import CrossCircleIcon from '@atlaskit/icon/glyph/cross-circle';
3
- import React from 'react';
4
5
  import { token } from '@atlaskit/tokens';
5
6
  import { N500 } from '@atlaskit/theme/colors';
6
7
  import { deleteEmojiLabel } from '../../util/constants';
7
- import * as styles from './styles';
8
+ import { emojiDeleteButton, deleteButton } from './styles';
8
9
 
9
- const DeleteButton = props => /*#__PURE__*/React.createElement("span", {
10
- className: styles.deleteButton
11
- }, /*#__PURE__*/React.createElement(Button, {
12
- iconBefore: /*#__PURE__*/React.createElement(CrossCircleIcon, {
10
+ const DeleteButton = props => jsx("span", {
11
+ css: deleteButton,
12
+ className: emojiDeleteButton
13
+ }, jsx(Button, {
14
+ iconBefore: jsx(CrossCircleIcon, {
13
15
  label: deleteEmojiLabel,
14
16
  primaryColor: token('color.text.subtle', N500),
15
17
  size: "small"
@@ -1,12 +1,14 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import classNames from 'classnames';
2
+
3
+ /** @jsx jsx */
4
+ import { jsx } from '@emotion/core';
3
5
  import React from 'react';
4
6
  import { shouldUseAltRepresentation } from '../../api/EmojiUtils';
5
7
  import { deleteEmojiLabel } from '../../util/constants';
6
8
  import { isImageRepresentation, isMediaRepresentation, isSpriteRepresentation, toEmojiId } from '../../util/type-helpers';
7
9
  import { leftClick } from '../../util/mouse';
8
- import * as styles from './styles';
9
10
  import DeleteButton from './DeleteButton';
11
+ import { emojiContainer, emojiNodeStyles, commonSelectedStyles, selectOnHoverStyles, emojiSprite, emojiMainStyle, emojiStyles, emojiImage } from './styles';
10
12
  import { sampledUfoRenderedEmoji } from '../../util/analytics';
11
13
 
12
14
  const handleMouseDown = (props, event) => {
@@ -95,23 +97,15 @@ const renderAsSprite = props => {
95
97
  } = props;
96
98
  const representation = emoji.representation;
97
99
  const sprite = representation.sprite;
98
- const classes = {
99
- [styles.emojiContainer]: true,
100
- [styles.emojiNode]: true,
101
- [styles.selected]: selected,
102
- [styles.selectOnHover]: selectOnHover
103
- };
104
-
105
- if (className) {
106
- classes[className] = true;
107
- }
108
-
100
+ const classes = `${emojiNodeStyles} ${selected ? commonSelectedStyles : ''} ${selectOnHover ? selectOnHoverStyles : ''} ${className ? className : ''}`;
109
101
  let sizing = {};
110
102
 
111
103
  if (fitToHeight) {
112
104
  sizing = {
113
105
  width: `${fitToHeight}px`,
114
- height: `${fitToHeight}px`
106
+ height: `${fitToHeight}px`,
107
+ minHeight: `${fitToHeight}px`,
108
+ minWidth: `${fitToHeight}px`
115
109
  };
116
110
  }
117
111
 
@@ -123,14 +117,15 @@ const renderAsSprite = props => {
123
117
  backgroundSize: `${sprite.column * 100}% ${sprite.row * 100}%`,
124
118
  ...sizing
125
119
  };
126
- const emojiNode = /*#__PURE__*/React.createElement("span", {
127
- className: styles.emojiSprite,
120
+ const emojiNode = jsx("span", {
121
+ className: emojiSprite,
128
122
  style: style
129
123
  }, "\xA0");
130
- return /*#__PURE__*/React.createElement("span", {
124
+ return jsx("span", {
131
125
  tabIndex: shouldBeInteractive ? 0 : undefined,
132
126
  role: shouldBeInteractive ? 'button' : undefined,
133
- className: classNames(classes),
127
+ css: emojiContainer,
128
+ className: classes,
134
129
  onKeyPress: event => handleKeyPress(props, event),
135
130
  onMouseDown: event => {
136
131
  handleMouseDown(props, event);
@@ -155,18 +150,7 @@ const renderAsImage = props => {
155
150
  showDelete,
156
151
  shouldBeInteractive
157
152
  } = props;
158
- const classes = {
159
- [styles.emoji]: true,
160
- [styles.emojiNode]: true,
161
- [styles.selected]: selected,
162
- [styles.selectOnHover]: selectOnHover,
163
- [styles.emojiImage]: true
164
- };
165
-
166
- if (className) {
167
- classes[className] = true;
168
- }
169
-
153
+ const classes = `${emojiMainStyle} ${emojiNodeStyles} ${selected ? commonSelectedStyles : ''} ${selectOnHover ? selectOnHoverStyles : ''} ${emojiImage} ${className ? className : ''}`;
170
154
  let width;
171
155
  let height;
172
156
  let src;
@@ -185,7 +169,7 @@ const renderAsImage = props => {
185
169
  let deleteButton;
186
170
 
187
171
  if (showDelete) {
188
- deleteButton = /*#__PURE__*/React.createElement(DeleteButton, {
172
+ deleteButton = jsx(DeleteButton, {
189
173
  onClick: event => handleDelete(props, event)
190
174
  });
191
175
  }
@@ -213,7 +197,7 @@ const renderAsImage = props => {
213
197
  // 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.
214
198
 
215
199
 
216
- const emojiNode = /*#__PURE__*/React.createElement("img", _extends({
200
+ const emojiNode = jsx("img", _extends({
217
201
  // @ts-ignore
218
202
  loading: "lazy",
219
203
  src: src,
@@ -229,10 +213,11 @@ const renderAsImage = props => {
229
213
  onError: onError,
230
214
  onLoad: onLoad
231
215
  }, sizing));
232
- return /*#__PURE__*/React.createElement("span", {
216
+ return jsx("span", {
217
+ css: emojiStyles,
233
218
  tabIndex: shouldBeInteractive ? 0 : undefined,
234
219
  role: shouldBeInteractive ? 'button' : undefined,
235
- className: classNames(classes),
220
+ className: classes,
236
221
  onKeyPress: event => handleKeyPress(props, event),
237
222
  onMouseDown: event => {
238
223
  handleMouseDown(props, event);
@@ -1,12 +1,11 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import classNames from 'classnames';
3
- import React from 'react';
2
+
3
+ /** @jsx jsx */
4
+ import { jsx } from '@emotion/core';
4
5
  import { PureComponent } from 'react';
5
6
  import { FormattedMessage, injectIntl } from 'react-intl-next';
6
7
  import EmojiDeletePreview from '../common/EmojiDeletePreview';
7
8
  import EmojiUploadPicker from '../common/EmojiUploadPicker';
8
- import * as styles from './styles';
9
- import * as footerStyles from '../picker/styles';
10
9
  import EmojiPickerListSearch from '../picker/EmojiPickerListSearch';
11
10
  import ToneSelector from './ToneSelector';
12
11
  import EmojiButton from './EmojiButton';
@@ -14,6 +13,8 @@ import { messages } from '../i18n';
14
13
  import AkButton from '@atlaskit/button/standard-button';
15
14
  import AddIcon from '@atlaskit/icon/glyph/add';
16
15
  import { setSkinToneAriaLabelText } from './setSkinToneAriaLabelText';
16
+ import { addCustomEmoji, addCustomEmojiButton, emojiPickerAddEmoji, emojiToneSelectorContainer } from './styles';
17
+ import { emojiActionsContainerWithBottomShadow, emojiPickerFooter } from '../picker/styles';
17
18
  export class EmojiActions extends PureComponent {
18
19
  constructor(...args) {
19
20
  super(...args);
@@ -76,13 +77,13 @@ export class EmojiActions extends PureComponent {
76
77
  previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
77
78
  }
78
79
 
79
- return /*#__PURE__*/React.createElement("div", {
80
- className: styles.emojiToneSelectorContainer
81
- }, this.state.selectingTone && /*#__PURE__*/React.createElement(ToneSelector, {
80
+ return jsx("div", {
81
+ css: emojiToneSelectorContainer
82
+ }, this.state.selectingTone && jsx(ToneSelector, {
82
83
  emoji: toneEmoji,
83
84
  onToneSelected: this.onToneSelected,
84
85
  previewEmojiId: previewEmoji.id
85
- }), /*#__PURE__*/React.createElement(EmojiButton, {
86
+ }), jsx(EmojiButton, {
86
87
  ariaExpanded: this.state.selectingTone,
87
88
  emoji: previewEmoji,
88
89
  selectOnHover: true,
@@ -108,16 +109,17 @@ export class EmojiActions extends PureComponent {
108
109
  return null;
109
110
  }
110
111
 
111
- return /*#__PURE__*/React.createElement("div", {
112
- className: styles.AddCustomEmoji
113
- }, /*#__PURE__*/React.createElement(FormattedMessage, messages.addCustomEmojiLabel, label => /*#__PURE__*/React.createElement(AkButton, {
112
+ return jsx("div", {
113
+ css: addCustomEmoji
114
+ }, jsx(FormattedMessage, messages.addCustomEmojiLabel, label => jsx(AkButton, {
114
115
  onClick: onOpenUpload,
115
- iconBefore: /*#__PURE__*/React.createElement(AddIcon, {
116
+ iconBefore: jsx(AddIcon, {
116
117
  label: formatMessage(messages.addCustomEmojiLabel),
117
118
  size: "small"
118
119
  }),
119
120
  appearance: "subtle",
120
- className: styles.addCustomEmojiButton + ' emoji-picker-add-emoji'
121
+ css: addCustomEmojiButton,
122
+ className: emojiPickerAddEmoji
121
123
  }, label)));
122
124
  }
123
125
 
@@ -135,12 +137,12 @@ export class EmojiActions extends PureComponent {
135
137
  onChange,
136
138
  query
137
139
  } = this.props;
138
- const previewFooterClassnames = classNames([footerStyles.emojiPickerFooter, footerStyles.emojiActionsContainerWithBottomShadow]);
140
+ const previewFooterClassnames = [emojiPickerFooter, emojiActionsContainerWithBottomShadow];
139
141
 
140
142
  if (uploading) {
141
- return /*#__PURE__*/React.createElement("div", {
142
- className: previewFooterClassnames
143
- }, /*#__PURE__*/React.createElement(EmojiUploadPicker, {
143
+ return jsx("div", {
144
+ css: previewFooterClassnames
145
+ }, jsx(EmojiUploadPicker, {
144
146
  onUploadCancelled: onUploadCancelled,
145
147
  onUploadEmoji: onUploadEmoji,
146
148
  onFileChooserClicked: onFileChooserClicked,
@@ -150,25 +152,25 @@ export class EmojiActions extends PureComponent {
150
152
  }
151
153
 
152
154
  if (emojiToDelete) {
153
- return /*#__PURE__*/React.createElement("div", {
154
- className: previewFooterClassnames
155
- }, /*#__PURE__*/React.createElement(EmojiDeletePreview, {
155
+ return jsx("div", {
156
+ css: previewFooterClassnames
157
+ }, jsx(EmojiDeletePreview, {
156
158
  emoji: emojiToDelete,
157
159
  onDeleteEmoji: onDeleteEmoji,
158
160
  onCloseDelete: onCloseDelete
159
161
  }));
160
162
  }
161
163
 
162
- return /*#__PURE__*/React.createElement("div", {
163
- className: previewFooterClassnames,
164
+ return jsx("div", {
165
+ css: previewFooterClassnames,
164
166
  onMouseLeave: this.onMouseLeave
165
- }, /*#__PURE__*/React.createElement("div", {
167
+ }, jsx("div", {
166
168
  style: {
167
169
  display: 'flex',
168
170
  justifyContent: 'flex-end',
169
171
  alignItems: 'center'
170
172
  }
171
- }, !this.state.selectingTone && /*#__PURE__*/React.createElement(EmojiPickerListSearch, {
173
+ }, !this.state.selectingTone && jsx(EmojiPickerListSearch, {
172
174
  onChange: onChange,
173
175
  query: query
174
176
  }), this.renderTones()), this.renderAddOwnEmoji());
@@ -1,8 +1,9 @@
1
- import classNames from 'classnames';
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/core';
2
3
  import React, { forwardRef } from 'react';
3
- import * as styles from './styles';
4
4
  import Emoji from './Emoji';
5
5
  import { leftClick } from '../../util/mouse';
6
+ import { emojiButton, hiddenToneButton } from './styles';
6
7
 
7
8
  const handleMouseDown = (props, event) => {
8
9
  const {
@@ -34,11 +35,10 @@ export const EmojiButton = /*#__PURE__*/forwardRef((props, ref) => {
34
35
  ariaExpanded,
35
36
  shouldHideButton
36
37
  } = props;
37
- const classes = [shouldHideButton ? styles.hiddenToneButton : styles.emojiButton];
38
- return /*#__PURE__*/React.createElement("button", {
38
+ return jsx("button", {
39
39
  ref: ref,
40
40
  "aria-expanded": ariaExpanded,
41
- className: classNames(classes),
41
+ css: shouldHideButton ? hiddenToneButton : emojiButton,
42
42
  onMouseDown: event => {
43
43
  handleMouseDown(props, event);
44
44
  },
@@ -46,7 +46,7 @@ export const EmojiButton = /*#__PURE__*/forwardRef((props, ref) => {
46
46
  handleKeyPress(props, event);
47
47
  },
48
48
  "aria-label": ariaLabelText
49
- }, /*#__PURE__*/React.createElement(Emoji, {
49
+ }, jsx(Emoji, {
50
50
  emoji: emoji,
51
51
  selectOnHover: selectOnHover
52
52
  }));
@@ -1,14 +1,16 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+
4
+ /** @jsx jsx */
5
+ import { jsx } from '@emotion/core';
3
6
  import AkButton from '@atlaskit/button/custom-theme-button';
4
- import React from 'react';
5
7
  import { Component } from 'react';
6
8
  import { FormattedMessage, injectIntl } from 'react-intl-next';
7
9
  import { messages } from '../i18n';
8
10
  import CachingEmoji from './CachingEmoji';
9
11
  import EmojiErrorMessage from './EmojiErrorMessage';
10
12
  import RetryableButton from './RetryableButton';
11
- import * as styles from './styles';
13
+ import { cancelButton, deleteFooter, deletePreview, deleteText, emojiDeleteErrorMessage, previewButtonGroup } from './styles';
12
14
 
13
15
  class EmojiDeletePreview extends Component {
14
16
  constructor(props) {
@@ -69,37 +71,35 @@ class EmojiDeletePreview extends Component {
69
71
  const {
70
72
  formatMessage
71
73
  } = intl;
72
- return /*#__PURE__*/React.createElement("div", {
73
- className: styles.deletePreview
74
- }, /*#__PURE__*/React.createElement("div", {
75
- className: styles.deleteText
76
- }, /*#__PURE__*/React.createElement("h5", null, /*#__PURE__*/React.createElement(FormattedMessage, messages.deleteEmojiTitle)), /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.deleteEmojiDescription, {
74
+ return jsx("div", {
75
+ css: deletePreview
76
+ }, jsx("div", {
77
+ css: deleteText
78
+ }, jsx("h5", null, jsx(FormattedMessage, messages.deleteEmojiTitle)), jsx(FormattedMessage, _extends({}, messages.deleteEmojiDescription, {
77
79
  values: {
78
80
  emojiShortName: emoji.shortName
79
81
  }
80
- }))), /*#__PURE__*/React.createElement("div", {
81
- className: styles.deleteFooter
82
- }, /*#__PURE__*/React.createElement(CachingEmoji, {
82
+ }))), jsx("div", {
83
+ css: deleteFooter
84
+ }, jsx(CachingEmoji, {
83
85
  emoji: emoji
84
- }), /*#__PURE__*/React.createElement("div", {
85
- className: styles.previewButtonGroup
86
- }, error ? !loading ? /*#__PURE__*/React.createElement(EmojiErrorMessage, {
86
+ }), jsx("div", {
87
+ css: previewButtonGroup
88
+ }, error ? !loading ? jsx(EmojiErrorMessage, {
87
89
  message: formatMessage(messages.deleteEmojiFailed),
88
- className: styles.emojiDeleteErrorMessage,
90
+ messageStyles: emojiDeleteErrorMessage,
89
91
  tooltip: true
90
- }) : null : null, /*#__PURE__*/React.createElement(RetryableButton, {
91
- className: styles.uploadEmojiButton,
92
- retryClassName: styles.uploadRetryButton,
92
+ }) : null : null, jsx(RetryableButton, {
93
93
  label: formatMessage(messages.deleteEmojiLabel),
94
94
  onSubmit: this.onSubmit,
95
95
  appearance: "danger",
96
96
  loading: loading,
97
97
  error: error
98
- }), /*#__PURE__*/React.createElement(AkButton, {
98
+ }), jsx(AkButton, {
99
99
  appearance: "subtle",
100
100
  onClick: this.onCancel,
101
- className: styles.cancelButton
102
- }, /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelLabel)))));
101
+ css: cancelButton
102
+ }, jsx(FormattedMessage, messages.cancelLabel)))));
103
103
  }
104
104
 
105
105
  }