@atlaskit/emoji 70.11.0 → 70.11.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 +8 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +19 -0
- package/dist/cjs/components/i18n.js +5 -0
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/es2019/components/common/EmojiUploadPicker.js +17 -0
- package/dist/es2019/components/i18n.js +5 -0
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/components/common/EmojiUploadPicker.js +19 -0
- package/dist/esm/components/i18n.js +5 -0
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/dist/types/components/i18n.d.ts +5 -0
- package/dist/types-ts4.5/components/i18n.d.ts +5 -0
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 70.11.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`f9457ee7bd8fc`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/f9457ee7bd8fc) -
|
|
8
|
+
Add file type validation to emoji picker.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
3
11
|
## 70.11.0
|
|
4
12
|
|
|
5
13
|
### Minor Changes
|
|
@@ -43,6 +43,8 @@ var uploadChooseFileEmojiName = null;
|
|
|
43
43
|
var uploadChooseFileMessage = null;
|
|
44
44
|
var uploadChooseFileRow = null;
|
|
45
45
|
var uploadChooseFileRowNew = null;
|
|
46
|
+
var supportedEmojiUploadMimeTypes = new Set(['image/png', 'image/jpeg', 'image/gif']);
|
|
47
|
+
var supportedEmojiUploadExtensions = ['.png', '.jpg', '.jpeg', '.gif'];
|
|
46
48
|
var uploadEmojiNameInputTestId = exports.uploadEmojiNameInputTestId = 'upload-emoji-name-input';
|
|
47
49
|
var uploadEmojiComponentTestId = exports.uploadEmojiComponentTestId = 'upload-emoji-component';
|
|
48
50
|
var cancelEmojiUploadPickerTestId = exports.cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
|
|
@@ -59,6 +61,18 @@ var toEmojiName = function toEmojiName(uploadName) {
|
|
|
59
61
|
var name = uploadName.split('_').join(' ');
|
|
60
62
|
return "".concat(name.substr(0, 1).toLocaleUpperCase()).concat(name.substr(1));
|
|
61
63
|
};
|
|
64
|
+
var isSupportedEmojiUploadFileType = function isSupportedEmojiUploadFileType(file) {
|
|
65
|
+
if (!(0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh')) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
if (supportedEmojiUploadMimeTypes.has(file.type)) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
var lowerCaseFileName = file.name.toLowerCase();
|
|
72
|
+
return supportedEmojiUploadExtensions.some(function (extension) {
|
|
73
|
+
return lowerCaseFileName.endsWith(extension);
|
|
74
|
+
});
|
|
75
|
+
};
|
|
62
76
|
var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
63
77
|
var _props$name = props.name,
|
|
64
78
|
name = _props$name === void 0 ? '' : _props$name,
|
|
@@ -342,6 +356,11 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
342
356
|
if (files.length) {
|
|
343
357
|
var reader = new FileReader();
|
|
344
358
|
var file = files[0];
|
|
359
|
+
if (!isSupportedEmojiUploadFileType(file)) {
|
|
360
|
+
setChooseEmojiErrorMessage( /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiUnsupportedFileType));
|
|
361
|
+
cancelChooseFile();
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
345
364
|
if (ImageUtil.hasFileExceededSize(file)) {
|
|
346
365
|
setChooseEmojiErrorMessage( /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiImageTooBig));
|
|
347
366
|
cancelChooseFile();
|
|
@@ -221,6 +221,11 @@ var messages = exports.messages = (0, _reactIntl.defineMessages)({
|
|
|
221
221
|
defaultMessage: 'Selected image is more than 1 MB',
|
|
222
222
|
description: 'Error message for image too big, beyond the size limit'
|
|
223
223
|
},
|
|
224
|
+
emojiUnsupportedFileType: {
|
|
225
|
+
id: 'fabric.emoji.error.unsupported.file.type',
|
|
226
|
+
defaultMessage: "This file type isn't supported. Select a PNG, JPEG, or GIF to create your emoji.",
|
|
227
|
+
description: 'Error message shown when the selected emoji upload file type is not supported'
|
|
228
|
+
},
|
|
224
229
|
emojiDuplicateName: {
|
|
225
230
|
id: 'fabric.emoji.error.duplicate.name',
|
|
226
231
|
defaultMessage: 'An emoji with this name exists already',
|
|
@@ -20,7 +20,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
|
|
|
20
20
|
actionSubjectId: actionSubjectId,
|
|
21
21
|
attributes: _objectSpread({
|
|
22
22
|
packageName: "@atlaskit/emoji",
|
|
23
|
-
packageVersion: "70.
|
|
23
|
+
packageVersion: "70.11.0"
|
|
24
24
|
}, attributes)
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -32,6 +32,8 @@ const uploadChooseFileEmojiName = null;
|
|
|
32
32
|
const uploadChooseFileMessage = null;
|
|
33
33
|
const uploadChooseFileRow = null;
|
|
34
34
|
const uploadChooseFileRowNew = null;
|
|
35
|
+
const supportedEmojiUploadMimeTypes = new Set(['image/png', 'image/jpeg', 'image/gif']);
|
|
36
|
+
const supportedEmojiUploadExtensions = ['.png', '.jpg', '.jpeg', '.gif'];
|
|
35
37
|
export const uploadEmojiNameInputTestId = 'upload-emoji-name-input';
|
|
36
38
|
export const uploadEmojiComponentTestId = 'upload-emoji-component';
|
|
37
39
|
export const cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
|
|
@@ -48,6 +50,16 @@ const toEmojiName = uploadName => {
|
|
|
48
50
|
const name = uploadName.split('_').join(' ');
|
|
49
51
|
return `${name.substr(0, 1).toLocaleUpperCase()}${name.substr(1)}`;
|
|
50
52
|
};
|
|
53
|
+
const isSupportedEmojiUploadFileType = file => {
|
|
54
|
+
if (!fg('platform_emoji_picker_refresh')) {
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
if (supportedEmojiUploadMimeTypes.has(file.type)) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
const lowerCaseFileName = file.name.toLowerCase();
|
|
61
|
+
return supportedEmojiUploadExtensions.some(extension => lowerCaseFileName.endsWith(extension));
|
|
62
|
+
};
|
|
51
63
|
const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
52
64
|
const {
|
|
53
65
|
name = '',
|
|
@@ -297,6 +309,11 @@ const EmojiUploadPicker = props => {
|
|
|
297
309
|
if (files.length) {
|
|
298
310
|
const reader = new FileReader();
|
|
299
311
|
const file = files[0];
|
|
312
|
+
if (!isSupportedEmojiUploadFileType(file)) {
|
|
313
|
+
setChooseEmojiErrorMessage( /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiUnsupportedFileType));
|
|
314
|
+
cancelChooseFile();
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
300
317
|
if (ImageUtil.hasFileExceededSize(file)) {
|
|
301
318
|
setChooseEmojiErrorMessage( /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiImageTooBig));
|
|
302
319
|
cancelChooseFile();
|
|
@@ -215,6 +215,11 @@ export const messages = defineMessages({
|
|
|
215
215
|
defaultMessage: 'Selected image is more than 1 MB',
|
|
216
216
|
description: 'Error message for image too big, beyond the size limit'
|
|
217
217
|
},
|
|
218
|
+
emojiUnsupportedFileType: {
|
|
219
|
+
id: 'fabric.emoji.error.unsupported.file.type',
|
|
220
|
+
defaultMessage: "This file type isn't supported. Select a PNG, JPEG, or GIF to create your emoji.",
|
|
221
|
+
description: 'Error message shown when the selected emoji upload file type is not supported'
|
|
222
|
+
},
|
|
218
223
|
emojiDuplicateName: {
|
|
219
224
|
id: 'fabric.emoji.error.duplicate.name',
|
|
220
225
|
defaultMessage: 'An emoji with this name exists already',
|
|
@@ -35,6 +35,8 @@ var uploadChooseFileEmojiName = null;
|
|
|
35
35
|
var uploadChooseFileMessage = null;
|
|
36
36
|
var uploadChooseFileRow = null;
|
|
37
37
|
var uploadChooseFileRowNew = null;
|
|
38
|
+
var supportedEmojiUploadMimeTypes = new Set(['image/png', 'image/jpeg', 'image/gif']);
|
|
39
|
+
var supportedEmojiUploadExtensions = ['.png', '.jpg', '.jpeg', '.gif'];
|
|
38
40
|
export var uploadEmojiNameInputTestId = 'upload-emoji-name-input';
|
|
39
41
|
export var uploadEmojiComponentTestId = 'upload-emoji-component';
|
|
40
42
|
export var cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
|
|
@@ -51,6 +53,18 @@ var toEmojiName = function toEmojiName(uploadName) {
|
|
|
51
53
|
var name = uploadName.split('_').join(' ');
|
|
52
54
|
return "".concat(name.substr(0, 1).toLocaleUpperCase()).concat(name.substr(1));
|
|
53
55
|
};
|
|
56
|
+
var isSupportedEmojiUploadFileType = function isSupportedEmojiUploadFileType(file) {
|
|
57
|
+
if (!fg('platform_emoji_picker_refresh')) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
if (supportedEmojiUploadMimeTypes.has(file.type)) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
var lowerCaseFileName = file.name.toLowerCase();
|
|
64
|
+
return supportedEmojiUploadExtensions.some(function (extension) {
|
|
65
|
+
return lowerCaseFileName.endsWith(extension);
|
|
66
|
+
});
|
|
67
|
+
};
|
|
54
68
|
var ChooseEmojiFile = /*#__PURE__*/memo(function (props) {
|
|
55
69
|
var _props$name = props.name,
|
|
56
70
|
name = _props$name === void 0 ? '' : _props$name,
|
|
@@ -334,6 +348,11 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
334
348
|
if (files.length) {
|
|
335
349
|
var reader = new FileReader();
|
|
336
350
|
var file = files[0];
|
|
351
|
+
if (!isSupportedEmojiUploadFileType(file)) {
|
|
352
|
+
setChooseEmojiErrorMessage( /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiUnsupportedFileType));
|
|
353
|
+
cancelChooseFile();
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
337
356
|
if (ImageUtil.hasFileExceededSize(file)) {
|
|
338
357
|
setChooseEmojiErrorMessage( /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiImageTooBig));
|
|
339
358
|
cancelChooseFile();
|
|
@@ -215,6 +215,11 @@ export var messages = defineMessages({
|
|
|
215
215
|
defaultMessage: 'Selected image is more than 1 MB',
|
|
216
216
|
description: 'Error message for image too big, beyond the size limit'
|
|
217
217
|
},
|
|
218
|
+
emojiUnsupportedFileType: {
|
|
219
|
+
id: 'fabric.emoji.error.unsupported.file.type',
|
|
220
|
+
defaultMessage: "This file type isn't supported. Select a PNG, JPEG, or GIF to create your emoji.",
|
|
221
|
+
description: 'Error message shown when the selected emoji upload file type is not supported'
|
|
222
|
+
},
|
|
218
223
|
emojiDuplicateName: {
|
|
219
224
|
id: 'fabric.emoji.error.duplicate.name',
|
|
220
225
|
defaultMessage: 'An emoji with this name exists already',
|
|
@@ -14,7 +14,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
|
|
|
14
14
|
actionSubjectId: actionSubjectId,
|
|
15
15
|
attributes: _objectSpread({
|
|
16
16
|
packageName: "@atlaskit/emoji",
|
|
17
|
-
packageVersion: "70.
|
|
17
|
+
packageVersion: "70.11.0"
|
|
18
18
|
}, attributes)
|
|
19
19
|
};
|
|
20
20
|
};
|
|
@@ -159,6 +159,11 @@ export declare const messages: {
|
|
|
159
159
|
description: string;
|
|
160
160
|
id: string;
|
|
161
161
|
};
|
|
162
|
+
emojiUnsupportedFileType: {
|
|
163
|
+
defaultMessage: string;
|
|
164
|
+
description: string;
|
|
165
|
+
id: string;
|
|
166
|
+
};
|
|
162
167
|
emojiUploadFailed: {
|
|
163
168
|
defaultMessage: string;
|
|
164
169
|
description: string;
|
|
@@ -159,6 +159,11 @@ export declare const messages: {
|
|
|
159
159
|
description: string;
|
|
160
160
|
id: string;
|
|
161
161
|
};
|
|
162
|
+
emojiUnsupportedFileType: {
|
|
163
|
+
defaultMessage: string;
|
|
164
|
+
description: string;
|
|
165
|
+
id: string;
|
|
166
|
+
};
|
|
162
167
|
emojiUploadFailed: {
|
|
163
168
|
defaultMessage: string;
|
|
164
169
|
description: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/emoji",
|
|
3
|
-
"version": "70.11.
|
|
3
|
+
"version": "70.11.1",
|
|
4
4
|
"description": "Fabric emoji React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"@atlaskit/primitives": "^19.0.0",
|
|
53
53
|
"@atlaskit/spinner": "^19.1.0",
|
|
54
54
|
"@atlaskit/textfield": "^8.3.0",
|
|
55
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
55
|
+
"@atlaskit/tmp-editor-statsig": "^85.0.0",
|
|
56
56
|
"@atlaskit/tokens": "^13.1.0",
|
|
57
|
-
"@atlaskit/tooltip": "^22.
|
|
57
|
+
"@atlaskit/tooltip": "^22.5.0",
|
|
58
58
|
"@atlaskit/ufo": "^0.5.0",
|
|
59
59
|
"@atlaskit/util-service-support": "^6.4.0",
|
|
60
60
|
"@atlaskit/visually-hidden": "^3.1.0",
|