@atlaskit/emoji 70.5.1 → 70.6.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.
- package/CHANGELOG.md +13 -0
- package/afm-cc/tsconfig.json +3 -0
- package/afm-products/tsconfig.json +3 -0
- package/dist/cjs/components/common/EmojiUploadPicker.compiled.css +8 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +68 -3
- package/dist/cjs/components/common/FileChooser.compiled.css +22 -0
- package/dist/cjs/components/common/FileChooser.js +95 -10
- package/dist/cjs/components/i18n.js +5 -0
- package/dist/cjs/components/picker/EmojiPickerComponent.compiled.css +10 -2
- package/dist/cjs/components/picker/EmojiPickerComponent.js +13 -3
- package/dist/es2019/components/common/EmojiUploadPicker.compiled.css +8 -0
- package/dist/es2019/components/common/EmojiUploadPicker.js +66 -3
- package/dist/es2019/components/common/FileChooser.compiled.css +22 -0
- package/dist/es2019/components/common/FileChooser.js +88 -10
- package/dist/es2019/components/i18n.js +5 -0
- package/dist/es2019/components/picker/EmojiPickerComponent.compiled.css +10 -2
- package/dist/es2019/components/picker/EmojiPickerComponent.js +13 -3
- package/dist/esm/components/common/EmojiUploadPicker.compiled.css +8 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +68 -3
- package/dist/esm/components/common/FileChooser.compiled.css +22 -0
- package/dist/esm/components/common/FileChooser.js +95 -10
- package/dist/esm/components/i18n.js +5 -0
- package/dist/esm/components/picker/EmojiPickerComponent.compiled.css +10 -2
- package/dist/esm/components/picker/EmojiPickerComponent.js +13 -3
- package/dist/types/components/common/FileChooser.d.ts +8 -0
- package/dist/types/components/i18n.d.ts +5 -0
- package/dist/types-ts4.5/components/common/FileChooser.d.ts +8 -0
- package/dist/types-ts4.5/components/i18n.d.ts +5 -0
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 70.6.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`0ed6bb96033a5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0ed6bb96033a5) -
|
|
8
|
+
Updated emoji upload experience - add dropzone for upload, full screen, updated user flow
|
|
9
|
+
|
|
10
|
+
## 70.5.2
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
|
|
3
16
|
## 70.5.1
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
._11c8wadc{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
2
|
._scffidpf input{border:0}
|
|
3
|
+
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
4
|
+
._zulpu2gc{gap:var(--ds-space-100,8px)}
|
|
3
5
|
._16jlkb7n{flex-grow:1}
|
|
6
|
+
._19bvpxbi{padding-left:var(--ds-space-200,1pc)}
|
|
4
7
|
._19bvu2gc{padding-left:var(--ds-space-100,8px)}
|
|
5
8
|
._1bah1b1v{justify-content:space-around}
|
|
6
9
|
._1bah1yb4{justify-content:space-between}
|
|
10
|
+
._1bahesu3{justify-content:flex-end}
|
|
7
11
|
._1e0c1txw{display:flex}
|
|
8
12
|
._1o9zkb7n{flex-shrink:1}
|
|
9
13
|
._1rwq1j28 input{background-color:transparent}
|
|
10
14
|
._1w90azsu._1w90azsu{color:var(--ds-text-subtle,#505258)}
|
|
11
15
|
._2lx21bp4{flex-direction:column}
|
|
12
16
|
._34ir1o36 input{outline-width:medium}
|
|
17
|
+
._4cvr1h6o{align-items:center}
|
|
13
18
|
._4cvresu3{align-items:flex-end}
|
|
14
19
|
._9bj2glyw input::-ms-clear{display:none}
|
|
20
|
+
._ca0qpxbi{padding-top:var(--ds-space-200,1pc)}
|
|
15
21
|
._ca0qu2gc{padding-top:var(--ds-space-100,8px)}
|
|
16
22
|
._coc6glyw input:invalid{box-shadow:none}
|
|
17
23
|
._gxxuglyw input{outline-style:none}
|
|
18
24
|
._gy1p12x7{column-gap:var(--ds-space-075,6px)}
|
|
19
25
|
._i0dl1wug{flex-basis:auto}
|
|
20
26
|
._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
|
|
27
|
+
._n3td1ejb{padding-bottom:var(--ds-space-300,24px)}
|
|
21
28
|
._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
|
|
29
|
+
._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
|
|
22
30
|
._u5f3u2gc{padding-right:var(--ds-space-100,8px)}
|
|
23
31
|
._xmji1r31 input{outline-color:currentColor}
|
|
@@ -28,14 +28,18 @@ var _EmojiUploadPreview = _interopRequireDefault(require("./EmojiUploadPreview")
|
|
|
28
28
|
var _FileChooser = _interopRequireDefault(require("./FileChooser"));
|
|
29
29
|
var _internalTypes = require("./internal-types");
|
|
30
30
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
31
|
+
var _new = _interopRequireDefault(require("@atlaskit/button/new"));
|
|
31
32
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
32
33
|
var closeEmojiUploadButton = null;
|
|
34
|
+
var uploadAddRowNew = null;
|
|
33
35
|
var emojiUpload = null;
|
|
36
|
+
var emojiUploadNew = null;
|
|
34
37
|
var emojiUploadTop = null;
|
|
35
38
|
var labelStyles = null;
|
|
36
39
|
var uploadChooseFileEmojiName = null;
|
|
37
40
|
var uploadChooseFileMessage = null;
|
|
38
41
|
var uploadChooseFileRow = null;
|
|
42
|
+
var uploadChooseFileRowNew = null;
|
|
39
43
|
var uploadEmojiNameInputTestId = exports.uploadEmojiNameInputTestId = 'upload-emoji-name-input';
|
|
40
44
|
var uploadEmojiComponentTestId = exports.uploadEmojiComponentTestId = 'upload-emoji-component';
|
|
41
45
|
var cancelEmojiUploadPickerTestId = exports.cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
|
|
@@ -59,7 +63,10 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
59
63
|
onClick = props.onClick,
|
|
60
64
|
onNameChange = props.onNameChange,
|
|
61
65
|
onUploadCancelled = props.onUploadCancelled,
|
|
66
|
+
onAddEmoji = props.onAddEmoji,
|
|
62
67
|
errorMessage = props.errorMessage,
|
|
68
|
+
previewImage = props.previewImage,
|
|
69
|
+
uploadStatus = props.uploadStatus,
|
|
63
70
|
intl = props.intl;
|
|
64
71
|
var formatMessage = intl.formatMessage;
|
|
65
72
|
var disableChooser = !name;
|
|
@@ -80,7 +87,62 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
80
87
|
var emojiPlaceholder = formatMessage(_i18n.messages.emojiPlaceholder);
|
|
81
88
|
var emojiNameAriaLabel = formatMessage(_i18n.messages.emojiNameAriaLabel);
|
|
82
89
|
var emojiChooseFileTitle = formatMessage(_i18n.messages.emojiChooseFileTitle);
|
|
83
|
-
|
|
90
|
+
var isUploading = uploadStatus === _internalTypes.UploadStatus.Uploading;
|
|
91
|
+
var addEmojiDisabled = !previewImage || !name || isUploading;
|
|
92
|
+
return (0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh') ? /*#__PURE__*/React.createElement("div", {
|
|
93
|
+
"data-testid": uploadEmojiComponentTestId,
|
|
94
|
+
className: (0, _runtime.ax)(["_ca0qu2gc _u5f3pxbi _n3tdu2gc _19bvpxbi _1e0c1txw _2lx21bp4 _1bah1b1v"])
|
|
95
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
className: (0, _runtime.ax)(["_11c8wadc _n3tdu2gc _1e0c1txw _1bah1yb4 _4cvresu3"])
|
|
97
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
98
|
+
htmlFor: "new-emoji-name-input",
|
|
99
|
+
className: (0, _runtime.ax)(["_1w90azsu", "_11c8wadc _k48p1pd9"])
|
|
100
|
+
}, previewImage ? /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiPreviewTitle) : /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.addCustomEmojiLabel))), /*#__PURE__*/React.createElement("div", {
|
|
101
|
+
className: (0, _runtime.ax)(["_zulppxbi _1e0c1txw _2lx21bp4 _n3tdu2gc"])
|
|
102
|
+
}, /*#__PURE__*/React.createElement(_compiled.Text, null, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiChooseFileScreenReaderDescription, function () {
|
|
103
|
+
return /*#__PURE__*/React.createElement(_FileChooser.default, {
|
|
104
|
+
label: emojiChooseFileTitle,
|
|
105
|
+
onChange: onChooseFile,
|
|
106
|
+
onClick: onClick,
|
|
107
|
+
accept: "image/png,image/jpeg,image/gif",
|
|
108
|
+
ariaDescribedBy: fileChooserButtonDescriptionId,
|
|
109
|
+
previewImage: previewImage,
|
|
110
|
+
previewAlt: name
|
|
111
|
+
});
|
|
112
|
+
})), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
|
|
113
|
+
htmlFor: "new-emoji-name-input",
|
|
114
|
+
className: (0, _runtime.ax)(["_1w90azsu", "_11c8wadc _k48p1pd9"])
|
|
115
|
+
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiNameLabel)), /*#__PURE__*/React.createElement(_textfield.default, {
|
|
116
|
+
placeholder: emojiPlaceholder,
|
|
117
|
+
"aria-label": emojiNameAriaLabel,
|
|
118
|
+
maxLength: maxNameLength,
|
|
119
|
+
onChange: onNameChange,
|
|
120
|
+
onKeyDown: onKeyDownHandler,
|
|
121
|
+
value: name,
|
|
122
|
+
isCompact: true,
|
|
123
|
+
autoFocus: true,
|
|
124
|
+
testId: uploadEmojiNameInputTestId,
|
|
125
|
+
ref: inputRef,
|
|
126
|
+
id: "new-emoji-name-input",
|
|
127
|
+
"aria-required": true
|
|
128
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
129
|
+
id: fileChooserButtonDescriptionId
|
|
130
|
+
}, errorMessage && /*#__PURE__*/React.createElement(_EmojiErrorMessage.default, {
|
|
131
|
+
errorStyle: "chooseFile",
|
|
132
|
+
message: errorMessage
|
|
133
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: (0, _runtime.ax)(["_zulpu2gc _1e0c1txw _1bahesu3 _4cvr1h6o _ca0qpxbi _n3td1ejb"])
|
|
135
|
+
}, /*#__PURE__*/React.createElement(_new.default, {
|
|
136
|
+
onClick: onUploadCancelled,
|
|
137
|
+
appearance: "subtle",
|
|
138
|
+
isDisabled: isUploading,
|
|
139
|
+
testId: cancelEmojiUploadPickerTestId
|
|
140
|
+
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.cancelLabel)), /*#__PURE__*/React.createElement(_new.default, {
|
|
141
|
+
onClick: onAddEmoji,
|
|
142
|
+
appearance: "primary",
|
|
143
|
+
isDisabled: addEmojiDisabled,
|
|
144
|
+
isLoading: isUploading
|
|
145
|
+
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.addEmojiLabel)))) : /*#__PURE__*/React.createElement("div", {
|
|
84
146
|
"data-testid": uploadEmojiComponentTestId,
|
|
85
147
|
className: (0, _runtime.ax)(["_ca0qu2gc _u5f3u2gc _n3tdu2gc _19bvu2gc _1e0c1txw _2lx21bp4 _1bah1b1v"])
|
|
86
148
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -88,7 +150,7 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
88
150
|
}, /*#__PURE__*/React.createElement("label", {
|
|
89
151
|
htmlFor: "new-emoji-name-input",
|
|
90
152
|
className: (0, _runtime.ax)(["_1w90azsu", "_11c8wadc _k48p1pd9"])
|
|
91
|
-
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage,
|
|
153
|
+
}, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.addCustomEmojiLabel)), /*#__PURE__*/React.createElement("div", {
|
|
92
154
|
className: (0, _runtime.ax)(["_1e0c1txw"])
|
|
93
155
|
}, /*#__PURE__*/React.createElement(_standardButton.default, {
|
|
94
156
|
onClick: onUploadCancelled,
|
|
@@ -297,7 +359,7 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
297
359
|
var onChooseFileClicked = function onChooseFileClicked() {
|
|
298
360
|
onFileChooserClicked && onFileChooserClicked();
|
|
299
361
|
};
|
|
300
|
-
var content = name && previewImage ? /*#__PURE__*/React.createElement(_EmojiUploadPreview.default, {
|
|
362
|
+
var content = !(0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh') && name && previewImage ? /*#__PURE__*/React.createElement(_EmojiUploadPreview.default, {
|
|
301
363
|
errorMessage: errorMessage,
|
|
302
364
|
name: name,
|
|
303
365
|
onAddEmoji: onAddEmoji,
|
|
@@ -310,6 +372,9 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
|
|
|
310
372
|
onClick: onChooseFileClicked,
|
|
311
373
|
onNameChange: onNameChange,
|
|
312
374
|
onUploadCancelled: cancelUpload,
|
|
375
|
+
onAddEmoji: onAddEmoji,
|
|
376
|
+
previewImage: previewImage,
|
|
377
|
+
uploadStatus: uploadStatus,
|
|
313
378
|
errorMessage: chooseEmojiErrorMessage,
|
|
314
379
|
intl: intl
|
|
315
380
|
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
3
|
+
._zulpu2gc{gap:var(--ds-space-100,8px)}._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
4
|
+
._1dqogq9o{border-style:dashed}
|
|
5
|
+
._1h6d1l7x{border-color:var(--ds-border,#0b120e24)}
|
|
6
|
+
._1h6dq98m{border-color:var(--ds-border-selected,#1868db)}
|
|
7
|
+
._19bvutpp{padding-left:var(--ds-space-150,9pt)}
|
|
8
|
+
._1bah1h6o{justify-content:center}
|
|
9
|
+
._1e0c1txw{display:flex}
|
|
10
|
+
._1oec6ebc{transition-duration:.15s}
|
|
11
|
+
._2lx21bp4{flex-direction:column}
|
|
12
|
+
._4cvr1h6o{align-items:center}
|
|
13
|
+
._4t3i7l9q{height:170px}
|
|
14
|
+
._5ral1f51{object-fit:contain}
|
|
15
|
+
._6fl45ucs{transition-timing-function:ease}
|
|
16
|
+
._80omtlke{cursor:pointer}
|
|
17
|
+
._bfhkhfxm{background-color:var(--ds-surface-sunken,#f8f8f8)}
|
|
18
|
+
._bfhkufnl{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
19
|
+
._c71lys9h{max-height:5pc}
|
|
20
|
+
._k8m01rje{transition-property:background-color,border-color}
|
|
21
|
+
._p12f1osq{max-width:100%}
|
|
22
|
+
._u5f3utpp{padding-right:var(--ds-space-150,9pt)}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* FileChooser.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -5,21 +6,40 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
6
|
Object.defineProperty(exports, "__esModule", {
|
|
6
7
|
value: true
|
|
7
8
|
});
|
|
8
|
-
exports.fileUploadInputTestId = exports.default = exports.chooseFileButtonTestId = void 0;
|
|
9
|
+
exports.fileUploadInputTestId = exports.dropzoneTestId = exports.default = exports.chooseFileButtonTestId = void 0;
|
|
10
|
+
require("./FileChooser.compiled.css");
|
|
11
|
+
var _runtime = require("@compiled/react/runtime");
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
14
|
var _new = _interopRequireDefault(require("@atlaskit/button/new"));
|
|
15
|
+
var _upload = _interopRequireDefault(require("@atlaskit/icon/core/upload"));
|
|
16
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
|
+
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/external/adapter");
|
|
18
|
+
var _file = require("@atlaskit/pragmatic-drag-and-drop/external/file");
|
|
11
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
12
20
|
var chooseFileButtonTestId = exports.chooseFileButtonTestId = 'choose-file-button';
|
|
13
21
|
var fileUploadInputTestId = exports.fileUploadInputTestId = 'file-upload';
|
|
22
|
+
var dropzoneTestId = exports.dropzoneTestId = 'file-dropzone';
|
|
23
|
+
var dropzone = null;
|
|
24
|
+
var dropzoneActive = null;
|
|
25
|
+
var previewImageStyles = null;
|
|
14
26
|
var FileChooser = function FileChooser(props) {
|
|
15
27
|
var accept = props.accept,
|
|
16
28
|
ariaDescribedBy = props.ariaDescribedBy,
|
|
17
29
|
isDisabled = props.isDisabled,
|
|
30
|
+
isDropDisabled = props.isDropDisabled,
|
|
18
31
|
label = props.label,
|
|
19
32
|
onChange = props.onChange,
|
|
20
|
-
onClick = props.onClick
|
|
33
|
+
onClick = props.onClick,
|
|
34
|
+
previewImage = props.previewImage,
|
|
35
|
+
previewAlt = props.previewAlt;
|
|
21
36
|
var filePickerRef = (0, _react.useRef)(null);
|
|
22
37
|
var fileButtonRef = (0, _react.useRef)(null);
|
|
38
|
+
var dropzoneRef = (0, _react.useRef)(null);
|
|
39
|
+
var _useState = (0, _react.useState)(false),
|
|
40
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
41
|
+
isDragging = _useState2[0],
|
|
42
|
+
setIsDragging = _useState2[1];
|
|
23
43
|
var handleOnChooseFile = function handleOnChooseFile() {
|
|
24
44
|
var _fileButtonRef$curren;
|
|
25
45
|
if (!filePickerRef.current) {
|
|
@@ -31,13 +51,50 @@ var FileChooser = function FileChooser(props) {
|
|
|
31
51
|
filePickerRef.current.click();
|
|
32
52
|
(_fileButtonRef$curren = fileButtonRef.current) === null || _fileButtonRef$curren === void 0 || _fileButtonRef$curren.focus();
|
|
33
53
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
54
|
+
var handleFileDrop = (0, _react.useCallback)(function (files) {
|
|
55
|
+
if (!onChange || !files.length) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
var dataTransfer = new DataTransfer();
|
|
59
|
+
files.forEach(function (file) {
|
|
60
|
+
return dataTransfer.items.add(file);
|
|
61
|
+
});
|
|
62
|
+
var syntheticEvent = {
|
|
63
|
+
target: {
|
|
64
|
+
files: dataTransfer.files
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
onChange(syntheticEvent);
|
|
68
|
+
}, [onChange]);
|
|
69
|
+
(0, _react.useEffect)(function () {
|
|
70
|
+
var element = dropzoneRef.current;
|
|
71
|
+
if (!element || !(0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh')) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
return (0, _adapter.dropTargetForExternal)({
|
|
75
|
+
element: element,
|
|
76
|
+
canDrop: _file.containsFiles,
|
|
77
|
+
onDragEnter: function onDragEnter() {
|
|
78
|
+
if (!isDropDisabled) {
|
|
79
|
+
setIsDragging(true);
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
onDragLeave: function onDragLeave() {
|
|
83
|
+
return setIsDragging(false);
|
|
84
|
+
},
|
|
85
|
+
onDrop: function onDrop(_ref) {
|
|
86
|
+
var source = _ref.source;
|
|
87
|
+
setIsDragging(false);
|
|
88
|
+
if (!isDropDisabled) {
|
|
89
|
+
var files = (0, _file.getFiles)({
|
|
90
|
+
source: source
|
|
91
|
+
});
|
|
92
|
+
handleFileDrop(files);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
}, [isDropDisabled, handleFileDrop]);
|
|
97
|
+
var hiddenInput = /*#__PURE__*/_react.default.createElement("input", {
|
|
41
98
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
42
99
|
className: "emojiUploadFileInput",
|
|
43
100
|
ref: filePickerRef,
|
|
@@ -50,6 +107,34 @@ var FileChooser = function FileChooser(props) {
|
|
|
50
107
|
display: 'none'
|
|
51
108
|
},
|
|
52
109
|
"data-testid": fileUploadInputTestId
|
|
53
|
-
})
|
|
110
|
+
});
|
|
111
|
+
if ((0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh')) {
|
|
112
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
113
|
+
ref: dropzoneRef,
|
|
114
|
+
"data-testid": dropzoneTestId,
|
|
115
|
+
role: "region",
|
|
116
|
+
"aria-label": label,
|
|
117
|
+
className: (0, _runtime.ax)(["_zulpu2gc _2rko1qi0 _189ee4h9 _1dqogq9o _1h6d1l7x _1e0c1txw _2lx21bp4 _4cvr1h6o _1bah1h6o _4t3i7l9q _u5f3utpp _19bvutpp _bfhkhfxm _80omtlke _k8m01rje _1oec6ebc _6fl45ucs", isDragging && "_1h6dq98m _bfhkufnl"])
|
|
118
|
+
}, previewImage ? /*#__PURE__*/_react.default.createElement("img", {
|
|
119
|
+
src: previewImage,
|
|
120
|
+
alt: previewAlt,
|
|
121
|
+
className: (0, _runtime.ax)(["_c71lys9h _p12f1osq _5ral1f51"])
|
|
122
|
+
}) : /*#__PURE__*/_react.default.createElement(_new.default, {
|
|
123
|
+
onClick: handleOnChooseFile,
|
|
124
|
+
isDisabled: isDisabled,
|
|
125
|
+
appearance: "subtle",
|
|
126
|
+
iconBefore: _upload.default,
|
|
127
|
+
"aria-describedby": ariaDescribedBy,
|
|
128
|
+
testId: chooseFileButtonTestId,
|
|
129
|
+
ref: fileButtonRef
|
|
130
|
+
}, label), hiddenInput);
|
|
131
|
+
}
|
|
132
|
+
return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_new.default, {
|
|
133
|
+
onClick: handleOnChooseFile,
|
|
134
|
+
isDisabled: isDisabled,
|
|
135
|
+
"aria-describedby": ariaDescribedBy,
|
|
136
|
+
testId: chooseFileButtonTestId,
|
|
137
|
+
ref: fileButtonRef
|
|
138
|
+
}, label), hiddenInput);
|
|
54
139
|
};
|
|
55
140
|
var _default = exports.default = FileChooser;
|
|
@@ -46,6 +46,11 @@ var messages = exports.messages = (0, _reactIntl.defineMessages)({
|
|
|
46
46
|
defaultMessage: 'Enter a name for the new emoji',
|
|
47
47
|
description: 'Explains to enter a name for a new emoji'
|
|
48
48
|
},
|
|
49
|
+
emojiNameLabel: {
|
|
50
|
+
id: 'fabric.emoji.name.label',
|
|
51
|
+
defaultMessage: 'Emoji name',
|
|
52
|
+
description: 'Label for the emoji name input field in the custom emoji upload panel'
|
|
53
|
+
},
|
|
49
54
|
emojiChooseFileTitle: {
|
|
50
55
|
id: 'fabric.emoji.choose.file.title',
|
|
51
56
|
defaultMessage: 'Choose file',
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
|
|
2
2
|
._19itahnd{border:var(--ds-border,#0b120e24) var(--ds-border-width,1px) solid}
|
|
3
|
-
._2rkofajl{border-radius:var(--ds-radius-small,3px)}.
|
|
3
|
+
._2rkofajl{border-radius:var(--ds-radius-small,3px)}._154iidpf{top:0}
|
|
4
|
+
._16jlkb7n{flex-grow:1}
|
|
4
5
|
._16qs130s{box-shadow:var(--ds-shadow-overlay,0 8px 9pt #1e1f2126,0 0 1px #1e1f214f)}
|
|
5
6
|
._18m915vq{overflow-y:hidden}
|
|
7
|
+
._18m91wug{overflow-y:auto}
|
|
6
8
|
._1bah1yb4{justify-content:space-between}
|
|
7
9
|
._1bsb10mj{width:var(--_gsvyy7)}
|
|
8
10
|
._1e0c1txw{display:flex}
|
|
11
|
+
._1ltvidpf{left:0}
|
|
9
12
|
._1o9zkb7n{flex-shrink:1}
|
|
13
|
+
._1pbykb7n{z-index:1}
|
|
10
14
|
._1reo15vq{overflow-x:hidden}
|
|
11
15
|
._1tke1pna{min-height:420px}
|
|
12
16
|
._1tke5x59{min-height:340px}
|
|
13
17
|
._1tkegx0z{min-height:260px}
|
|
14
18
|
._1tkeidpf{min-height:0}
|
|
15
19
|
._1ul910mj{min-width:var(--_gsvyy7)}
|
|
20
|
+
._1xi2idpf{right:0}
|
|
16
21
|
._2lx21bp4{flex-direction:column}
|
|
17
22
|
._4t3i1ckg{height:455px}
|
|
18
23
|
._4t3i2300{height:429px}
|
|
@@ -21,6 +26,9 @@
|
|
|
21
26
|
._4t3iuxo9{height:var(--_19dn98e)}
|
|
22
27
|
._4t3ivixp{height:349px}
|
|
23
28
|
._4t3ixt2k{height:509px}
|
|
29
|
+
._94n5idpf{bottom:0}
|
|
24
30
|
._bfhk1bhr{background-color:var(--ds-surface-overlay,#fff)}
|
|
25
31
|
._c71l1y6z{max-height:calc(80vh - 86px)}
|
|
26
|
-
._i0dlf1ug{flex-basis:0%}
|
|
32
|
+
._i0dlf1ug{flex-basis:0%}
|
|
33
|
+
._kqswh2mm{position:relative}
|
|
34
|
+
._kqswstnw{position:absolute}
|
|
@@ -27,6 +27,7 @@ var _UploadEmoji = require("../common/UploadEmoji");
|
|
|
27
27
|
var _RecordSelectionDefault = require("../common/RecordSelectionDefault");
|
|
28
28
|
var _CategorySelector = _interopRequireDefault(require("./CategorySelector"));
|
|
29
29
|
var _EmojiPickerFooter = _interopRequireDefault(require("./EmojiPickerFooter"));
|
|
30
|
+
var _EmojiUploadPicker = _interopRequireDefault(require("../common/EmojiUploadPicker"));
|
|
30
31
|
var _EmojiPickerList = require("./EmojiPickerList");
|
|
31
32
|
var _analytics = require("../../util/analytics");
|
|
32
33
|
var _useEmoji2 = require("../../hooks/useEmoji");
|
|
@@ -42,6 +43,7 @@ var emojiPickerWidth = 350;
|
|
|
42
43
|
var emojiPickerMinHeight = 260;
|
|
43
44
|
var heightOffset = 80;
|
|
44
45
|
var emojiPicker = null;
|
|
46
|
+
var uploadOverlay = null;
|
|
45
47
|
var emojiPickerWrapper = null;
|
|
46
48
|
var withPreviewHeight = {
|
|
47
49
|
small: "_4t3ivixp _1tkegx0z",
|
|
@@ -522,7 +524,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
522
524
|
role: "dialog",
|
|
523
525
|
"aria-label": formatMessage(_i18n.messages.emojiPickerTitle),
|
|
524
526
|
"aria-modal": true,
|
|
525
|
-
className: (0, _runtime.ax)(["_19itahnd _2rkofajl _1e0c1txw _2lx21bp4 _1bah1yb4 _bfhk1bhr _16qs130s _4t3iuxo9 _1bsb10mj _1ul910mj _c71l1y6z", showPreview && withPreviewHeight[size], !showPreview && withoutPreviewHeight[size]]),
|
|
527
|
+
className: (0, _runtime.ax)(["_19itahnd _2rkofajl _1e0c1txw _2lx21bp4 _1bah1yb4 _bfhk1bhr _16qs130s _4t3iuxo9 _1bsb10mj _1ul910mj _c71l1y6z _kqswh2mm", showPreview && withPreviewHeight[size], !showPreview && withoutPreviewHeight[size]]),
|
|
526
528
|
style: {
|
|
527
529
|
"--_19dn98e": (0, _runtime.ix)("".concat(emojiPickerHeight, "px")),
|
|
528
530
|
"--_gsvyy7": (0, _runtime.ix)("".concat(emojiPickerWidth, "px"))
|
|
@@ -582,7 +584,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
582
584
|
onKeyPress: suppressKeyPress,
|
|
583
585
|
onKeyUp: suppressKeyPress,
|
|
584
586
|
onKeyDown: suppressKeyPress,
|
|
585
|
-
className: (0, _runtime.ax)(["_19itahnd _2rkofajl _1e0c1txw _2lx21bp4 _1bah1yb4 _bfhk1bhr _16qs130s _4t3iuxo9 _1bsb10mj _1ul910mj _c71l1y6z", showPreview && withPreviewHeight[size]
|
|
587
|
+
className: (0, _runtime.ax)(["_19itahnd _2rkofajl _1e0c1txw _2lx21bp4 _1bah1yb4 _bfhk1bhr _16qs130s _4t3iuxo9 _1bsb10mj _1ul910mj _c71l1y6z _kqswh2mm", showPreview || uploading && (0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh') ? withPreviewHeight[size] : withoutPreviewHeight[size]]),
|
|
586
588
|
style: {
|
|
587
589
|
"--_19dn98e": (0, _runtime.ix)("".concat(emojiPickerHeight, "px")),
|
|
588
590
|
"--_gsvyy7": (0, _runtime.ix)("".concat(emojiPickerWidth, "px"))
|
|
@@ -625,7 +627,15 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
625
627
|
selectedEmoji: selectedEmoji,
|
|
626
628
|
uploadEnabled: isUploadSupported && !uploading,
|
|
627
629
|
onOpenUpload: onOpenUpload
|
|
628
|
-
}))
|
|
630
|
+
}), uploading && (0, _platformFeatureFlags.fg)('platform_emoji_picker_refresh') && /*#__PURE__*/React.createElement("div", {
|
|
631
|
+
className: (0, _runtime.ax)(["_2rkofajl _kqswstnw _154iidpf _1ltvidpf _1xi2idpf _94n5idpf _bfhk1bhr _1pbykb7n _18m91wug"])
|
|
632
|
+
}, /*#__PURE__*/React.createElement(_EmojiUploadPicker.default, {
|
|
633
|
+
onUploadEmoji: onUploadEmoji,
|
|
634
|
+
onUploadCancelled: onUploadCancelled,
|
|
635
|
+
onFileChooserClicked: onFileChooserClicked,
|
|
636
|
+
errorMessage: formattedErrorMessage,
|
|
637
|
+
initialUploadName: query
|
|
638
|
+
})));
|
|
629
639
|
};
|
|
630
640
|
var _default_1 = /*#__PURE__*/(0, _react.memo)(EmojiPickerComponent);
|
|
631
641
|
var _default = exports.default = _default_1;
|
|
@@ -1,23 +1,31 @@
|
|
|
1
1
|
._11c8wadc{font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
|
|
2
2
|
._scffidpf input{border:0}
|
|
3
|
+
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
4
|
+
._zulpu2gc{gap:var(--ds-space-100,8px)}
|
|
3
5
|
._16jlkb7n{flex-grow:1}
|
|
6
|
+
._19bvpxbi{padding-left:var(--ds-space-200,1pc)}
|
|
4
7
|
._19bvu2gc{padding-left:var(--ds-space-100,8px)}
|
|
5
8
|
._1bah1b1v{justify-content:space-around}
|
|
6
9
|
._1bah1yb4{justify-content:space-between}
|
|
10
|
+
._1bahesu3{justify-content:flex-end}
|
|
7
11
|
._1e0c1txw{display:flex}
|
|
8
12
|
._1o9zkb7n{flex-shrink:1}
|
|
9
13
|
._1rwq1j28 input{background-color:transparent}
|
|
10
14
|
._1w90azsu._1w90azsu{color:var(--ds-text-subtle,#505258)}
|
|
11
15
|
._2lx21bp4{flex-direction:column}
|
|
12
16
|
._34ir1o36 input{outline-width:medium}
|
|
17
|
+
._4cvr1h6o{align-items:center}
|
|
13
18
|
._4cvresu3{align-items:flex-end}
|
|
14
19
|
._9bj2glyw input::-ms-clear{display:none}
|
|
20
|
+
._ca0qpxbi{padding-top:var(--ds-space-200,1pc)}
|
|
15
21
|
._ca0qu2gc{padding-top:var(--ds-space-100,8px)}
|
|
16
22
|
._coc6glyw input:invalid{box-shadow:none}
|
|
17
23
|
._gxxuglyw input{outline-style:none}
|
|
18
24
|
._gy1p12x7{column-gap:var(--ds-space-075,6px)}
|
|
19
25
|
._i0dl1wug{flex-basis:auto}
|
|
20
26
|
._k48p1pd9{font-weight:var(--ds-font-weight-semibold,600)}
|
|
27
|
+
._n3td1ejb{padding-bottom:var(--ds-space-300,24px)}
|
|
21
28
|
._n3tdu2gc{padding-bottom:var(--ds-space-100,8px)}
|
|
29
|
+
._u5f3pxbi{padding-right:var(--ds-space-200,1pc)}
|
|
22
30
|
._u5f3u2gc{padding-right:var(--ds-space-100,8px)}
|
|
23
31
|
._xmji1r31 input{outline-color:currentColor}
|
|
@@ -17,13 +17,17 @@ import EmojiUploadPreview from './EmojiUploadPreview';
|
|
|
17
17
|
import FileChooser from './FileChooser';
|
|
18
18
|
import { UploadStatus } from './internal-types';
|
|
19
19
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
20
|
+
import Button from '@atlaskit/button/new';
|
|
20
21
|
const closeEmojiUploadButton = null;
|
|
22
|
+
const uploadAddRowNew = null;
|
|
21
23
|
const emojiUpload = null;
|
|
24
|
+
const emojiUploadNew = null;
|
|
22
25
|
const emojiUploadTop = null;
|
|
23
26
|
const labelStyles = null;
|
|
24
27
|
const uploadChooseFileEmojiName = null;
|
|
25
28
|
const uploadChooseFileMessage = null;
|
|
26
29
|
const uploadChooseFileRow = null;
|
|
30
|
+
const uploadChooseFileRowNew = null;
|
|
27
31
|
export const uploadEmojiNameInputTestId = 'upload-emoji-name-input';
|
|
28
32
|
export const uploadEmojiComponentTestId = 'upload-emoji-component';
|
|
29
33
|
export const cancelEmojiUploadPickerTestId = 'cancel-emoji-upload-picker';
|
|
@@ -47,7 +51,10 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
|
47
51
|
onClick,
|
|
48
52
|
onNameChange,
|
|
49
53
|
onUploadCancelled,
|
|
54
|
+
onAddEmoji,
|
|
50
55
|
errorMessage,
|
|
56
|
+
previewImage,
|
|
57
|
+
uploadStatus,
|
|
51
58
|
intl
|
|
52
59
|
} = props;
|
|
53
60
|
const {
|
|
@@ -71,7 +78,60 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
|
71
78
|
const emojiPlaceholder = formatMessage(messages.emojiPlaceholder);
|
|
72
79
|
const emojiNameAriaLabel = formatMessage(messages.emojiNameAriaLabel);
|
|
73
80
|
const emojiChooseFileTitle = formatMessage(messages.emojiChooseFileTitle);
|
|
74
|
-
|
|
81
|
+
const isUploading = uploadStatus === UploadStatus.Uploading;
|
|
82
|
+
const addEmojiDisabled = !previewImage || !name || isUploading;
|
|
83
|
+
return fg('platform_emoji_picker_refresh') ? /*#__PURE__*/React.createElement("div", {
|
|
84
|
+
"data-testid": uploadEmojiComponentTestId,
|
|
85
|
+
className: ax(["_ca0qu2gc _u5f3pxbi _n3tdu2gc _19bvpxbi _1e0c1txw _2lx21bp4 _1bah1b1v"])
|
|
86
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
87
|
+
className: ax(["_11c8wadc _n3tdu2gc _1e0c1txw _1bah1yb4 _4cvresu3"])
|
|
88
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
89
|
+
htmlFor: "new-emoji-name-input",
|
|
90
|
+
className: ax(["_1w90azsu", "_11c8wadc _k48p1pd9"])
|
|
91
|
+
}, previewImage ? /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiPreviewTitle) : /*#__PURE__*/React.createElement(FormattedMessage, messages.addCustomEmojiLabel))), /*#__PURE__*/React.createElement("div", {
|
|
92
|
+
className: ax(["_zulppxbi _1e0c1txw _2lx21bp4 _n3tdu2gc"])
|
|
93
|
+
}, /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, () => /*#__PURE__*/React.createElement(FileChooser, {
|
|
94
|
+
label: emojiChooseFileTitle,
|
|
95
|
+
onChange: onChooseFile,
|
|
96
|
+
onClick: onClick,
|
|
97
|
+
accept: "image/png,image/jpeg,image/gif",
|
|
98
|
+
ariaDescribedBy: fileChooserButtonDescriptionId,
|
|
99
|
+
previewImage: previewImage,
|
|
100
|
+
previewAlt: name
|
|
101
|
+
}))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("label", {
|
|
102
|
+
htmlFor: "new-emoji-name-input",
|
|
103
|
+
className: ax(["_1w90azsu", "_11c8wadc _k48p1pd9"])
|
|
104
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiNameLabel)), /*#__PURE__*/React.createElement(TextField, {
|
|
105
|
+
placeholder: emojiPlaceholder,
|
|
106
|
+
"aria-label": emojiNameAriaLabel,
|
|
107
|
+
maxLength: maxNameLength,
|
|
108
|
+
onChange: onNameChange,
|
|
109
|
+
onKeyDown: onKeyDownHandler,
|
|
110
|
+
value: name,
|
|
111
|
+
isCompact: true,
|
|
112
|
+
autoFocus: true,
|
|
113
|
+
testId: uploadEmojiNameInputTestId,
|
|
114
|
+
ref: inputRef,
|
|
115
|
+
id: "new-emoji-name-input",
|
|
116
|
+
"aria-required": true
|
|
117
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
118
|
+
id: fileChooserButtonDescriptionId
|
|
119
|
+
}, errorMessage && /*#__PURE__*/React.createElement(EmojiErrorMessage, {
|
|
120
|
+
errorStyle: "chooseFile",
|
|
121
|
+
message: errorMessage
|
|
122
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
123
|
+
className: ax(["_zulpu2gc _1e0c1txw _1bahesu3 _4cvr1h6o _ca0qpxbi _n3td1ejb"])
|
|
124
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
125
|
+
onClick: onUploadCancelled,
|
|
126
|
+
appearance: "subtle",
|
|
127
|
+
isDisabled: isUploading,
|
|
128
|
+
testId: cancelEmojiUploadPickerTestId
|
|
129
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.cancelLabel)), /*#__PURE__*/React.createElement(Button, {
|
|
130
|
+
onClick: onAddEmoji,
|
|
131
|
+
appearance: "primary",
|
|
132
|
+
isDisabled: addEmojiDisabled,
|
|
133
|
+
isLoading: isUploading
|
|
134
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.addEmojiLabel)))) : /*#__PURE__*/React.createElement("div", {
|
|
75
135
|
"data-testid": uploadEmojiComponentTestId,
|
|
76
136
|
className: ax(["_ca0qu2gc _u5f3u2gc _n3tdu2gc _19bvu2gc _1e0c1txw _2lx21bp4 _1bah1b1v"])
|
|
77
137
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -79,7 +139,7 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
|
79
139
|
}, /*#__PURE__*/React.createElement("label", {
|
|
80
140
|
htmlFor: "new-emoji-name-input",
|
|
81
141
|
className: ax(["_1w90azsu", "_11c8wadc _k48p1pd9"])
|
|
82
|
-
}, /*#__PURE__*/React.createElement(FormattedMessage,
|
|
142
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, messages.addCustomEmojiLabel)), /*#__PURE__*/React.createElement("div", {
|
|
83
143
|
className: ax(["_1e0c1txw"])
|
|
84
144
|
}, /*#__PURE__*/React.createElement(AkButton, {
|
|
85
145
|
onClick: onUploadCancelled,
|
|
@@ -254,7 +314,7 @@ const EmojiUploadPicker = props => {
|
|
|
254
314
|
const onChooseFileClicked = () => {
|
|
255
315
|
onFileChooserClicked && onFileChooserClicked();
|
|
256
316
|
};
|
|
257
|
-
const content = name && previewImage ? /*#__PURE__*/React.createElement(EmojiUploadPreview, {
|
|
317
|
+
const content = !fg('platform_emoji_picker_refresh') && name && previewImage ? /*#__PURE__*/React.createElement(EmojiUploadPreview, {
|
|
258
318
|
errorMessage: errorMessage,
|
|
259
319
|
name: name,
|
|
260
320
|
onAddEmoji: onAddEmoji,
|
|
@@ -267,6 +327,9 @@ const EmojiUploadPicker = props => {
|
|
|
267
327
|
onClick: onChooseFileClicked,
|
|
268
328
|
onNameChange: onNameChange,
|
|
269
329
|
onUploadCancelled: cancelUpload,
|
|
330
|
+
onAddEmoji: onAddEmoji,
|
|
331
|
+
previewImage: previewImage,
|
|
332
|
+
uploadStatus: uploadStatus,
|
|
270
333
|
errorMessage: chooseEmojiErrorMessage,
|
|
271
334
|
intl: intl
|
|
272
335
|
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
|
|
2
|
+
._2rko1qi0{border-radius:var(--ds-radius-medium,6px)}
|
|
3
|
+
._zulpu2gc{gap:var(--ds-space-100,8px)}._189ee4h9{border-width:var(--ds-border-width,1px)}
|
|
4
|
+
._1dqogq9o{border-style:dashed}
|
|
5
|
+
._1h6d1l7x{border-color:var(--ds-border,#0b120e24)}
|
|
6
|
+
._1h6dq98m{border-color:var(--ds-border-selected,#1868db)}
|
|
7
|
+
._19bvutpp{padding-left:var(--ds-space-150,9pt)}
|
|
8
|
+
._1bah1h6o{justify-content:center}
|
|
9
|
+
._1e0c1txw{display:flex}
|
|
10
|
+
._1oec6ebc{transition-duration:.15s}
|
|
11
|
+
._2lx21bp4{flex-direction:column}
|
|
12
|
+
._4cvr1h6o{align-items:center}
|
|
13
|
+
._4t3i7l9q{height:170px}
|
|
14
|
+
._5ral1f51{object-fit:contain}
|
|
15
|
+
._6fl45ucs{transition-timing-function:ease}
|
|
16
|
+
._80omtlke{cursor:pointer}
|
|
17
|
+
._bfhkhfxm{background-color:var(--ds-surface-sunken,#f8f8f8)}
|
|
18
|
+
._bfhkufnl{background-color:var(--ds-background-selected-hovered,#cfe1fd)}
|
|
19
|
+
._c71lys9h{max-height:5pc}
|
|
20
|
+
._k8m01rje{transition-property:background-color,border-color}
|
|
21
|
+
._p12f1osq{max-width:100%}
|
|
22
|
+
._u5f3utpp{padding-right:var(--ds-space-150,9pt)}
|