@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.
- package/CHANGELOG.md +27 -0
- package/dist/cjs/api/media/SiteEmojiResource.js +10 -2
- package/dist/cjs/components/common/CachingEmoji.js +6 -8
- package/dist/cjs/components/common/DeleteButton.js +9 -13
- package/dist/cjs/components/common/Emoji.js +18 -36
- package/dist/cjs/components/common/EmojiActions.js +26 -31
- package/dist/cjs/components/common/EmojiButton.js +7 -7
- package/dist/cjs/components/common/EmojiDeletePreview.js +20 -26
- package/dist/cjs/components/common/EmojiErrorMessage.js +10 -14
- package/dist/cjs/components/common/EmojiPlaceholder.js +5 -12
- package/dist/cjs/components/common/EmojiPreview.js +20 -40
- package/dist/cjs/components/common/EmojiPreviewComponent.js +34 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +26 -24
- package/dist/cjs/components/common/EmojiUploadPreview.js +22 -28
- package/dist/cjs/components/common/RecordSelectionDefault.js +8 -2
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +17 -12
- package/dist/cjs/components/common/RetryableButton.js +12 -18
- package/dist/cjs/components/common/Scrollable.js +5 -10
- package/dist/cjs/components/common/UploadEmoji.js +8 -0
- package/dist/cjs/components/common/styles.js +210 -266
- package/dist/cjs/components/picker/CategorySelector.js +13 -12
- package/dist/cjs/components/picker/EmojiPicker.js +17 -6
- package/dist/cjs/components/picker/EmojiPickerCategoryHeading.js +8 -14
- package/dist/cjs/components/picker/EmojiPickerComponent.js +51 -30
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +8 -12
- package/dist/cjs/components/picker/EmojiPickerFooter.js +8 -14
- package/dist/cjs/components/picker/EmojiPickerList.js +28 -9
- package/dist/cjs/components/picker/EmojiPickerListSearch.js +10 -8
- package/dist/cjs/components/picker/EmojiPickerVirtualItems.js +9 -15
- package/dist/cjs/components/picker/styles.js +113 -161
- package/dist/cjs/components/typeahead/EmojiTypeAheadComponent.js +40 -24
- package/dist/cjs/components/typeahead/EmojiTypeAheadItem.js +10 -13
- package/dist/cjs/components/typeahead/EmojiTypeAheadList.js +17 -22
- package/dist/cjs/components/typeahead/styles.js +17 -19
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +22 -15
- package/dist/cjs/components/uploader/styles.js +4 -4
- package/dist/cjs/index.js +21 -3
- package/dist/cjs/types.js +23 -2
- package/dist/cjs/util/analytics/analytics.js +11 -41
- package/dist/cjs/util/analytics/index.js +16 -14
- package/dist/cjs/util/analytics/ufoExperiences.js +48 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/api/media/SiteEmojiResource.js +10 -2
- package/dist/es2019/components/common/CachingEmoji.js +5 -7
- package/dist/es2019/components/common/DeleteButton.js +8 -6
- package/dist/es2019/components/common/Emoji.js +19 -34
- package/dist/es2019/components/common/EmojiActions.js +26 -24
- package/dist/es2019/components/common/EmojiButton.js +6 -6
- package/dist/es2019/components/common/EmojiDeletePreview.js +20 -20
- package/dist/es2019/components/common/EmojiErrorMessage.js +9 -8
- package/dist/es2019/components/common/EmojiPlaceholder.js +5 -8
- package/dist/es2019/components/common/EmojiPreview.js +19 -35
- package/dist/es2019/components/common/EmojiPreviewComponent.js +21 -0
- package/dist/es2019/components/common/EmojiUploadPicker.js +25 -22
- package/dist/es2019/components/common/EmojiUploadPreview.js +22 -22
- package/dist/es2019/components/common/RecordSelectionDefault.js +9 -2
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +16 -11
- package/dist/es2019/components/common/RetryableButton.js +10 -11
- package/dist/es2019/components/common/Scrollable.js +6 -10
- package/dist/es2019/components/common/UploadEmoji.js +4 -0
- package/dist/es2019/components/common/styles.js +195 -262
- package/dist/es2019/components/picker/CategorySelector.js +15 -12
- package/dist/es2019/components/picker/EmojiPicker.js +15 -6
- package/dist/es2019/components/picker/EmojiPickerCategoryHeading.js +8 -8
- package/dist/es2019/components/picker/EmojiPickerComponent.js +46 -22
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +8 -7
- package/dist/es2019/components/picker/EmojiPickerFooter.js +8 -8
- package/dist/es2019/components/picker/EmojiPickerList.js +28 -8
- package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -8
- package/dist/es2019/components/picker/EmojiPickerVirtualItems.js +10 -8
- package/dist/es2019/components/picker/styles.js +112 -160
- package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +35 -17
- package/dist/es2019/components/typeahead/EmojiTypeAheadItem.js +12 -13
- package/dist/es2019/components/typeahead/EmojiTypeAheadList.js +18 -19
- package/dist/es2019/components/typeahead/styles.js +14 -15
- package/dist/es2019/components/uploader/EmojiUploadComponent.js +19 -9
- package/dist/es2019/components/uploader/styles.js +4 -4
- package/dist/es2019/index.js +5 -4
- package/dist/es2019/types.js +20 -1
- package/dist/es2019/util/analytics/analytics.js +16 -37
- package/dist/es2019/util/analytics/index.js +2 -1
- package/dist/es2019/util/analytics/ufoExperiences.js +35 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/api/media/SiteEmojiResource.js +10 -2
- package/dist/esm/components/common/CachingEmoji.js +5 -7
- package/dist/esm/components/common/DeleteButton.js +8 -6
- package/dist/esm/components/common/Emoji.js +18 -27
- package/dist/esm/components/common/EmojiActions.js +26 -25
- package/dist/esm/components/common/EmojiButton.js +6 -6
- package/dist/esm/components/common/EmojiDeletePreview.js +19 -20
- package/dist/esm/components/common/EmojiErrorMessage.js +9 -8
- package/dist/esm/components/common/EmojiPlaceholder.js +5 -8
- package/dist/esm/components/common/EmojiPreview.js +19 -33
- package/dist/esm/components/common/EmojiPreviewComponent.js +20 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +27 -25
- package/dist/esm/components/common/EmojiUploadPreview.js +21 -22
- package/dist/esm/components/common/RecordSelectionDefault.js +6 -3
- package/dist/esm/components/common/ResourcedEmojiComponent.js +16 -10
- package/dist/esm/components/common/RetryableButton.js +11 -12
- package/dist/esm/components/common/Scrollable.js +6 -10
- package/dist/esm/components/common/UploadEmoji.js +4 -0
- package/dist/esm/components/common/styles.js +192 -242
- package/dist/esm/components/picker/CategorySelector.js +14 -12
- package/dist/esm/components/picker/EmojiPicker.js +13 -6
- package/dist/esm/components/picker/EmojiPickerCategoryHeading.js +8 -8
- package/dist/esm/components/picker/EmojiPickerComponent.js +47 -22
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +8 -7
- package/dist/esm/components/picker/EmojiPickerFooter.js +8 -8
- package/dist/esm/components/picker/EmojiPickerList.js +29 -8
- package/dist/esm/components/picker/EmojiPickerListSearch.js +10 -8
- package/dist/esm/components/picker/EmojiPickerVirtualItems.js +9 -8
- package/dist/esm/components/picker/styles.js +108 -149
- package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +35 -17
- package/dist/esm/components/typeahead/EmojiTypeAheadItem.js +11 -13
- package/dist/esm/components/typeahead/EmojiTypeAheadList.js +17 -19
- package/dist/esm/components/typeahead/styles.js +14 -14
- package/dist/esm/components/uploader/EmojiUploadComponent.js +19 -9
- package/dist/esm/components/uploader/styles.js +4 -4
- package/dist/esm/index.js +5 -4
- package/dist/esm/types.js +20 -1
- package/dist/esm/util/analytics/analytics.js +8 -33
- package/dist/esm/util/analytics/index.js +2 -1
- package/dist/esm/util/analytics/ufoExperiences.js +35 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/components/common/CachingEmoji.d.ts +8 -6
- package/dist/types/components/common/EmojiActions.d.ts +2 -3
- package/dist/types/components/common/EmojiDeletePreview.d.ts +3 -3
- package/dist/types/components/common/EmojiErrorMessage.d.ts +2 -1
- package/dist/types/components/common/EmojiPreview.d.ts +2 -3
- package/dist/types/components/common/EmojiPreviewComponent.d.ts +7 -0
- package/dist/types/components/common/EmojiUploadPreview.d.ts +3 -3
- package/dist/types/components/common/ResourcedEmojiComponent.d.ts +6 -0
- package/dist/types/components/common/RetryableButton.d.ts +0 -2
- package/dist/types/components/common/styles.d.ts +44 -44
- package/dist/types/components/picker/EmojiPicker.d.ts +2 -3
- package/dist/types/components/picker/EmojiPickerComponent.d.ts +6 -0
- package/dist/types/components/picker/EmojiPickerList.d.ts +10 -0
- package/dist/types/components/picker/styles.d.ts +17 -18
- package/dist/types/components/typeahead/EmojiTypeAheadComponent.d.ts +6 -0
- package/dist/types/components/typeahead/styles.d.ts +8 -7
- package/dist/types/components/uploader/EmojiUploadComponent.d.ts +1 -0
- package/dist/types/components/uploader/styles.d.ts +2 -2
- package/dist/types/index.d.ts +4 -4
- package/dist/types/types.d.ts +13 -0
- package/dist/types/util/analytics/analytics.d.ts +3 -7
- package/dist/types/util/analytics/index.d.ts +3 -2
- package/dist/types/util/analytics/ufoExperiences.d.ts +11 -0
- package/package.json +9 -10
- package/dist/cjs/components/picker/EmojiPickerPreview.js +0 -87
- package/dist/cjs/context/EmojiContext.js +0 -11
- package/dist/cjs/context/EmojiContextProvider.js +0 -22
- package/dist/es2019/components/picker/EmojiPickerPreview.js +0 -43
- package/dist/es2019/context/EmojiContext.js +0 -2
- package/dist/es2019/context/EmojiContextProvider.js +0 -10
- package/dist/esm/components/picker/EmojiPickerPreview.js +0 -67
- package/dist/esm/context/EmojiContext.js +0 -2
- package/dist/esm/context/EmojiContextProvider.js +0 -9
- package/dist/types/components/picker/EmojiPickerPreview.d.ts +0 -9
- package/dist/types/context/EmojiContext.d.ts +0 -4
- 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, "
|
|
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
|
|
8
|
+
import { emojiDeleteButton, deleteButton } from './styles';
|
|
8
9
|
|
|
9
|
-
const DeleteButton = props =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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 =
|
|
127
|
-
className:
|
|
120
|
+
const emojiNode = jsx("span", {
|
|
121
|
+
className: emojiSprite,
|
|
128
122
|
style: style
|
|
129
123
|
}, "\xA0");
|
|
130
|
-
return
|
|
124
|
+
return jsx("span", {
|
|
131
125
|
tabIndex: shouldBeInteractive ? 0 : undefined,
|
|
132
126
|
role: shouldBeInteractive ? 'button' : undefined,
|
|
133
|
-
|
|
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 =
|
|
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 =
|
|
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
|
|
216
|
+
return jsx("span", {
|
|
217
|
+
css: emojiStyles,
|
|
233
218
|
tabIndex: shouldBeInteractive ? 0 : undefined,
|
|
234
219
|
role: shouldBeInteractive ? 'button' : undefined,
|
|
235
|
-
className:
|
|
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
|
-
|
|
3
|
-
|
|
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
|
|
80
|
-
|
|
81
|
-
}, this.state.selectingTone &&
|
|
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
|
-
}),
|
|
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
|
|
112
|
-
|
|
113
|
-
},
|
|
112
|
+
return jsx("div", {
|
|
113
|
+
css: addCustomEmoji
|
|
114
|
+
}, jsx(FormattedMessage, messages.addCustomEmojiLabel, label => jsx(AkButton, {
|
|
114
115
|
onClick: onOpenUpload,
|
|
115
|
-
iconBefore:
|
|
116
|
+
iconBefore: jsx(AddIcon, {
|
|
116
117
|
label: formatMessage(messages.addCustomEmojiLabel),
|
|
117
118
|
size: "small"
|
|
118
119
|
}),
|
|
119
120
|
appearance: "subtle",
|
|
120
|
-
|
|
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 =
|
|
140
|
+
const previewFooterClassnames = [emojiPickerFooter, emojiActionsContainerWithBottomShadow];
|
|
139
141
|
|
|
140
142
|
if (uploading) {
|
|
141
|
-
return
|
|
142
|
-
|
|
143
|
-
},
|
|
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
|
|
154
|
-
|
|
155
|
-
},
|
|
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
|
|
163
|
-
|
|
164
|
+
return jsx("div", {
|
|
165
|
+
css: previewFooterClassnames,
|
|
164
166
|
onMouseLeave: this.onMouseLeave
|
|
165
|
-
},
|
|
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 &&
|
|
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
|
-
|
|
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
|
-
|
|
38
|
-
return /*#__PURE__*/React.createElement("button", {
|
|
38
|
+
return jsx("button", {
|
|
39
39
|
ref: ref,
|
|
40
40
|
"aria-expanded": ariaExpanded,
|
|
41
|
-
|
|
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
|
-
},
|
|
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
|
|
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
|
|
73
|
-
|
|
74
|
-
},
|
|
75
|
-
|
|
76
|
-
},
|
|
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
|
-
}))),
|
|
81
|
-
|
|
82
|
-
},
|
|
82
|
+
}))), jsx("div", {
|
|
83
|
+
css: deleteFooter
|
|
84
|
+
}, jsx(CachingEmoji, {
|
|
83
85
|
emoji: emoji
|
|
84
|
-
}),
|
|
85
|
-
|
|
86
|
-
}, error ? !loading ?
|
|
86
|
+
}), jsx("div", {
|
|
87
|
+
css: previewButtonGroup
|
|
88
|
+
}, error ? !loading ? jsx(EmojiErrorMessage, {
|
|
87
89
|
message: formatMessage(messages.deleteEmojiFailed),
|
|
88
|
-
|
|
90
|
+
messageStyles: emojiDeleteErrorMessage,
|
|
89
91
|
tooltip: true
|
|
90
|
-
}) : null : null,
|
|
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
|
-
}),
|
|
98
|
+
}), jsx(AkButton, {
|
|
99
99
|
appearance: "subtle",
|
|
100
100
|
onClick: this.onCancel,
|
|
101
|
-
|
|
102
|
-
},
|
|
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
|
|
8
|
-
|
|
9
|
-
},
|
|
8
|
+
return jsx("div", {
|
|
9
|
+
css: this.props.messageStyles
|
|
10
|
+
}, jsx(Tooltip, {
|
|
10
11
|
content: this.props.message,
|
|
11
12
|
position: "top"
|
|
12
|
-
},
|
|
13
|
+
}, jsx(ErrorIcon, {
|
|
13
14
|
label: "Error",
|
|
14
15
|
size: "medium"
|
|
15
16
|
})));
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
renderInline() {
|
|
19
|
-
return
|
|
20
|
-
|
|
21
|
-
},
|
|
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
|
-
|
|
2
|
-
import
|
|
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
|
-
|
|
35
|
-
[placeholder]: true,
|
|
36
|
-
[placeholderContainer]: true
|
|
37
|
-
};
|
|
38
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
34
|
+
return jsx("span", {
|
|
39
35
|
"aria-label": shortName,
|
|
40
|
-
className:
|
|
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
|
|
77
|
-
className:
|
|
78
|
-
}, this.state.selectingTone &&
|
|
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
|
-
}),
|
|
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
|
-
|
|
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
|
-
})
|
|
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
|
|
147
|
-
|
|
148
|
-
},
|
|
130
|
+
return jsx("div", {
|
|
131
|
+
css: addCustomEmoji
|
|
132
|
+
}, jsx(FormattedMessage, messages.addCustomEmojiLabel, label => jsx(AkButton, {
|
|
149
133
|
onClick: onOpenUpload,
|
|
150
|
-
iconBefore:
|
|
134
|
+
iconBefore: jsx(AddIcon, {
|
|
151
135
|
label: formatMessage(messages.addCustomEmojiLabel),
|
|
152
136
|
size: "small"
|
|
153
137
|
}),
|
|
154
138
|
appearance: "subtle",
|
|
155
|
-
|
|
139
|
+
css: addCustomEmojiButton,
|
|
140
|
+
className: emojiPickerAddEmoji
|
|
156
141
|
}, label)));
|
|
157
142
|
}
|
|
158
143
|
|
|
159
144
|
render() {
|
|
160
|
-
|
|
161
|
-
|
|
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
|
+
};
|