@atlaskit/emoji 64.2.1 → 64.4.1

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 (160) hide show
  1. package/CHANGELOG.md +27 -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/RecordSelectionDefault.js +8 -2
  16. package/dist/cjs/components/common/ResourcedEmojiComponent.js +17 -12
  17. package/dist/cjs/components/common/RetryableButton.js +12 -18
  18. package/dist/cjs/components/common/Scrollable.js +5 -10
  19. package/dist/cjs/components/common/UploadEmoji.js +8 -0
  20. package/dist/cjs/components/common/styles.js +210 -266
  21. package/dist/cjs/components/picker/CategorySelector.js +13 -12
  22. package/dist/cjs/components/picker/EmojiPicker.js +17 -6
  23. package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
  24. package/dist/cjs/components/picker/EmojiPickerComponent.js +51 -30
  25. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
  26. package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
  27. package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
  28. package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
  29. package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
  30. package/dist/cjs/components/picker/styles.js +113 -161
  31. package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +40 -24
  32. package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
  33. package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
  34. package/dist/cjs/components/typeahead/styles.js +17 -19
  35. package/dist/cjs/components/uploader/EmojiUploadComponent.js +22 -15
  36. package/dist/cjs/components/uploader/styles.js +4 -4
  37. package/dist/cjs/index.js +21 -3
  38. package/dist/cjs/types.js +23 -2
  39. package/dist/cjs/util/analytics/analytics.js +11 -41
  40. package/dist/cjs/util/analytics/index.js +16 -14
  41. package/dist/cjs/util/analytics/ufoExperiences.js +48 -0
  42. package/dist/cjs/version.json +1 -1
  43. package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
  44. package/dist/es2019/components/common/CachingEmoji.js +5 -7
  45. package/dist/es2019/components/common/DeleteButton.js +8 -6
  46. package/dist/es2019/components/common/Emoji.js +19 -34
  47. package/dist/es2019/components/common/EmojiActions.js +26 -24
  48. package/dist/es2019/components/common/EmojiButton.js +6 -6
  49. package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
  50. package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
  51. package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
  52. package/dist/es2019/components/common/EmojiPreview.js +19 -35
  53. package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
  54. package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
  55. package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
  56. package/dist/es2019/components/common/RecordSelectionDefault.js +9 -2
  57. package/dist/es2019/components/common/ResourcedEmojiComponent.js +16 -11
  58. package/dist/es2019/components/common/RetryableButton.js +10 -11
  59. package/dist/es2019/components/common/Scrollable.js +6 -10
  60. package/dist/es2019/components/common/UploadEmoji.js +4 -0
  61. package/dist/es2019/components/common/styles.js +195 -262
  62. package/dist/es2019/components/picker/CategorySelector.js +15 -12
  63. package/dist/es2019/components/picker/EmojiPicker.js +15 -6
  64. package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
  65. package/dist/es2019/components/picker/EmojiPickerComponent.js +46 -22
  66. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
  67. package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
  68. package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
  69. package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
  70. package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
  71. package/dist/es2019/components/picker/styles.js +112 -160
  72. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  73. package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
  74. package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
  75. package/dist/es2019/components/typeahead/styles.js +14 -15
  76. package/dist/es2019/components/uploader/EmojiUploadComponent.js +19 -9
  77. package/dist/es2019/components/uploader/styles.js +4 -4
  78. package/dist/es2019/index.js +5 -4
  79. package/dist/es2019/types.js +20 -1
  80. package/dist/es2019/util/analytics/analytics.js +16 -37
  81. package/dist/es2019/util/analytics/index.js +2 -1
  82. package/dist/es2019/util/analytics/ufoExperiences.js +35 -0
  83. package/dist/es2019/version.json +1 -1
  84. package/dist/esm/api/media/SiteEmojiResource.js +10 -2
  85. package/dist/esm/components/common/CachingEmoji.js +5 -7
  86. package/dist/esm/components/common/DeleteButton.js +8 -6
  87. package/dist/esm/components/common/Emoji.js +18 -27
  88. package/dist/esm/components/common/EmojiActions.js +26 -25
  89. package/dist/esm/components/common/EmojiButton.js +6 -6
  90. package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
  91. package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
  92. package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
  93. package/dist/esm/components/common/EmojiPreview.js +19 -33
  94. package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
  95. package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
  96. package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
  97. package/dist/esm/components/common/RecordSelectionDefault.js +6 -3
  98. package/dist/esm/components/common/ResourcedEmojiComponent.js +16 -10
  99. package/dist/esm/components/common/RetryableButton.js +11 -12
  100. package/dist/esm/components/common/Scrollable.js +6 -10
  101. package/dist/esm/components/common/UploadEmoji.js +4 -0
  102. package/dist/esm/components/common/styles.js +192 -242
  103. package/dist/esm/components/picker/CategorySelector.js +14 -12
  104. package/dist/esm/components/picker/EmojiPicker.js +13 -6
  105. package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
  106. package/dist/esm/components/picker/EmojiPickerComponent.js +47 -22
  107. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
  108. package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
  109. package/dist/esm/components/picker/EmojiPickerList.js +29 -8
  110. package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
  111. package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
  112. package/dist/esm/components/picker/styles.js +108 -149
  113. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +35 -17
  114. package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
  115. package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
  116. package/dist/esm/components/typeahead/styles.js +14 -14
  117. package/dist/esm/components/uploader/EmojiUploadComponent.js +19 -9
  118. package/dist/esm/components/uploader/styles.js +4 -4
  119. package/dist/esm/index.js +5 -4
  120. package/dist/esm/types.js +20 -1
  121. package/dist/esm/util/analytics/analytics.js +8 -33
  122. package/dist/esm/util/analytics/index.js +2 -1
  123. package/dist/esm/util/analytics/ufoExperiences.js +35 -0
  124. package/dist/esm/version.json +1 -1
  125. package/dist/types/components/common/CachingEmoji.d.ts +8 -6
  126. package/dist/types/components/common/EmojiActions.d.ts +2 -3
  127. package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
  128. package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
  129. package/dist/types/components/common/EmojiPreview.d.ts +2 -3
  130. package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
  131. package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
  132. package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
  133. package/dist/types/components/common/RetryableButton.d.ts +0 -2
  134. package/dist/types/components/common/styles.d.ts +44 -44
  135. package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
  136. package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
  137. package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
  138. package/dist/types/components/picker/styles.d.ts +17 -18
  139. package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
  140. package/dist/types/components/typeahead/styles.d.ts +8 -7
  141. package/dist/types/components/uploader/EmojiUploadComponent.d.ts +1 -0
  142. package/dist/types/components/uploader/styles.d.ts +2 -2
  143. package/dist/types/index.d.ts +4 -4
  144. package/dist/types/types.d.ts +13 -0
  145. package/dist/types/util/analytics/analytics.d.ts +3 -7
  146. package/dist/types/util/analytics/index.d.ts +3 -2
  147. package/dist/types/util/analytics/ufoExperiences.d.ts +11 -0
  148. package/package.json +9 -10
  149. package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
  150. package/dist/cjs/context/EmojiContext.js +0 -11
  151. package/dist/cjs/context/EmojiContextProvider.js +0 -22
  152. package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
  153. package/dist/es2019/context/EmojiContext.js +0 -2
  154. package/dist/es2019/context/EmojiContextProvider.js +0 -10
  155. package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
  156. package/dist/esm/context/EmojiContext.js +0 -2
  157. package/dist/esm/context/EmojiContextProvider.js +0 -9
  158. package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
  159. package/dist/types/context/EmojiContext.d.ts +0 -4
  160. package/dist/types/context/EmojiContextProvider.d.ts +0 -7
@@ -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
  }
@@ -1,24 +1,25 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/core';
1
3
  import ErrorIcon from '@atlaskit/icon/glyph/error';
2
- import React from 'react';
3
4
  import { PureComponent } from 'react';
4
5
  import Tooltip from '@atlaskit/tooltip';
5
6
  export default class EmojiErrorMessage extends PureComponent {
6
7
  renderWithTooltip() {
7
- return /*#__PURE__*/React.createElement("div", {
8
- className: this.props.className
9
- }, /*#__PURE__*/React.createElement(Tooltip, {
8
+ return jsx("div", {
9
+ css: this.props.messageStyles
10
+ }, jsx(Tooltip, {
10
11
  content: this.props.message,
11
12
  position: "top"
12
- }, /*#__PURE__*/React.createElement(ErrorIcon, {
13
+ }, jsx(ErrorIcon, {
13
14
  label: "Error",
14
15
  size: "medium"
15
16
  })));
16
17
  }
17
18
 
18
19
  renderInline() {
19
- return /*#__PURE__*/React.createElement("div", {
20
- className: this.props.className
21
- }, /*#__PURE__*/React.createElement(ErrorIcon, {
20
+ return jsx("div", {
21
+ css: this.props.messageStyles
22
+ }, jsx(ErrorIcon, {
22
23
  label: "Error",
23
24
  size: "small"
24
25
  }), " ", this.props.message);
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
- import classNames from 'classnames';
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/core';
3
3
  import { placeholder, placeholderContainer } from './styles';
4
4
  import { defaultEmojiHeight } from '../../util/constants';
5
5
  import { isImageRepresentation, isMediaRepresentation } from '../../util/type-helpers';
@@ -31,13 +31,10 @@ const EmojiPlaceholder = props => {
31
31
  width: `${width}px`,
32
32
  height: `${height}px`
33
33
  };
34
- const classes = {
35
- [placeholder]: true,
36
- [placeholderContainer]: true
37
- };
38
- return /*#__PURE__*/React.createElement("span", {
34
+ return jsx("span", {
39
35
  "aria-label": shortName,
40
- className: classNames(classes),
36
+ className: placeholder,
37
+ css: placeholderContainer,
41
38
  style: style,
42
39
  title: showTooltip ? shortName : ''
43
40
  });
@@ -1,16 +1,17 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+
3
+ /** @jsx jsx */
4
+ import { jsx } from '@emotion/core';
2
5
  import AkButton from '@atlaskit/button/standard-button';
3
6
  import AddIcon from '@atlaskit/icon/glyph/add';
4
- import classNames from 'classnames';
5
- import React from 'react';
6
7
  import { PureComponent } from 'react';
7
8
  import { FormattedMessage, injectIntl } from 'react-intl-next';
8
- import CachingEmoji from '../../components/common/CachingEmoji';
9
9
  import EmojiButton from '../../components/common/EmojiButton';
10
10
  import { messages } from '../i18n';
11
- import * as styles from './styles';
12
11
  import ToneSelector from './ToneSelector';
13
12
  import { setSkinToneAriaLabelText } from './setSkinToneAriaLabelText';
13
+ import { addCustomEmoji, addCustomEmojiButton, emojiPickerAddEmoji, emojiPreview, toneSelectorContainer } from './styles';
14
+ import { EmojiPreviewComponent } from './EmojiPreviewComponent';
14
15
  export class EmojiPreview extends PureComponent {
15
16
  constructor(...args) {
16
17
  super(...args);
@@ -73,13 +74,13 @@ export class EmojiPreview extends PureComponent {
73
74
  previewEmoji = previewEmoji.skinVariations[(selectedTone || 1) - 1];
74
75
  }
75
76
 
76
- return /*#__PURE__*/React.createElement("div", {
77
- className: styles.toneSelectorContainer
78
- }, this.state.selectingTone && /*#__PURE__*/React.createElement(ToneSelector, {
77
+ return jsx("div", {
78
+ className: toneSelectorContainer
79
+ }, this.state.selectingTone && jsx(ToneSelector, {
79
80
  emoji: toneEmoji,
80
81
  onToneSelected: this.onToneSelected,
81
82
  previewEmojiId: previewEmoji.id
82
- }), /*#__PURE__*/React.createElement(EmojiButton, {
83
+ }), jsx(EmojiButton, {
83
84
  ariaExpanded: this.state.selectingTone,
84
85
  emoji: previewEmoji,
85
86
  selectOnHover: true,
@@ -103,26 +104,9 @@ export class EmojiPreview extends PureComponent {
103
104
  return null;
104
105
  }
105
106
 
106
- const previewClasses = classNames({
107
- [styles.preview]: true
108
- });
109
- const previewTextClasses = classNames({
110
- [styles.previewText]: true,
111
- [styles.previewSingleLine]: !emoji.name
112
- });
113
- return /*#__PURE__*/React.createElement("div", {
114
- className: previewClasses
115
- }, /*#__PURE__*/React.createElement("span", {
116
- className: styles.previewImg
117
- }, /*#__PURE__*/React.createElement(CachingEmoji, {
107
+ return jsx(EmojiPreviewComponent, {
118
108
  emoji: emoji
119
- })), /*#__PURE__*/React.createElement("div", {
120
- className: previewTextClasses
121
- }, /*#__PURE__*/React.createElement("span", {
122
- className: styles.name
123
- }, emoji.name), /*#__PURE__*/React.createElement("span", {
124
- className: styles.shortName
125
- }, emoji.shortName)));
109
+ });
126
110
  } // note: emoji-picker-add-emoji className is used by pollinator synthetic checks
127
111
 
128
112
 
@@ -143,23 +127,23 @@ export class EmojiPreview extends PureComponent {
143
127
  return null;
144
128
  }
145
129
 
146
- return /*#__PURE__*/React.createElement("div", {
147
- className: styles.AddCustomEmoji
148
- }, /*#__PURE__*/React.createElement(FormattedMessage, messages.addCustomEmojiLabel, label => /*#__PURE__*/React.createElement(AkButton, {
130
+ return jsx("div", {
131
+ css: addCustomEmoji
132
+ }, jsx(FormattedMessage, messages.addCustomEmojiLabel, label => jsx(AkButton, {
149
133
  onClick: onOpenUpload,
150
- iconBefore: /*#__PURE__*/React.createElement(AddIcon, {
134
+ iconBefore: jsx(AddIcon, {
151
135
  label: formatMessage(messages.addCustomEmojiLabel),
152
136
  size: "small"
153
137
  }),
154
138
  appearance: "subtle",
155
- className: styles.addCustomEmojiButton + ' emoji-picker-add-emoji'
139
+ css: addCustomEmojiButton,
140
+ className: emojiPickerAddEmoji
156
141
  }, label)));
157
142
  }
158
143
 
159
144
  render() {
160
- const sectionClasses = classNames([styles.emojiPreview, styles.emojiPreviewSection]);
161
- return /*#__PURE__*/React.createElement("div", {
162
- className: sectionClasses,
145
+ return jsx("div", {
146
+ css: emojiPreview,
163
147
  onMouseLeave: this.onMouseLeave
164
148
  }, this.renderAddOwnEmoji(), this.renderEmojiPreview(), this.renderTones());
165
149
  }
@@ -0,0 +1,21 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/core';
3
+ import CachingEmoji from './CachingEmoji';
4
+ import { emojiName, emojiShortName, preview, previewImg, previewText } from './styles';
5
+ export const EmojiPreviewComponent = ({
6
+ emoji
7
+ }) => {
8
+ return jsx("div", {
9
+ css: preview
10
+ }, jsx("span", {
11
+ css: previewImg
12
+ }, jsx(CachingEmoji, {
13
+ emoji: emoji
14
+ })), jsx("div", {
15
+ css: previewText
16
+ }, emoji.name && jsx("div", {
17
+ css: emojiName
18
+ }, emoji.name), jsx("div", {
19
+ css: emojiShortName
20
+ }, emoji.shortName)));
21
+ };