@atlaskit/emoji 71.16.3 → 71.17.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 +20 -0
- package/dist/cjs/api/media/SiteEmojiResource.js +58 -50
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +2 -0
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/es2019/api/media/SiteEmojiResource.js +58 -50
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +2 -0
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/api/media/SiteEmojiResource.js +57 -49
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +2 -0
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/dist/types/api/media/SiteEmojiResource.d.ts +0 -1
- package/package.json +3 -3
- package/emoji.docs.tsx +0 -96
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 71.17.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`a32f36ef87959`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a32f36ef87959) -
|
|
8
|
+
Gated behind `add_emoji_media_size_to_media_file_upload_request`, switches emoji upload to use
|
|
9
|
+
media client uploadExternal function.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
15
|
+
## 71.16.4
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`e115e358fd590`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e115e358fd590) -
|
|
20
|
+
Retain onMouseLeave effect for updated emoji picker
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 71.16.3
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.mediaProportionOfProgress = exports.
|
|
7
|
+
exports.mediaProportionOfProgress = exports.default = void 0;
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
@@ -25,27 +25,6 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
25
25
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
26
|
// Assume media is 95% of total upload time.
|
|
27
27
|
var mediaProportionOfProgress = exports.mediaProportionOfProgress = 95 / 100;
|
|
28
|
-
var getDataUrlSizeInBytes = exports.getDataUrlSizeInBytes = function getDataUrlSizeInBytes(dataURL) {
|
|
29
|
-
var separatorIndex = dataURL.indexOf(',');
|
|
30
|
-
if (separatorIndex === -1) {
|
|
31
|
-
return undefined;
|
|
32
|
-
}
|
|
33
|
-
var metadata = dataURL.slice(0, separatorIndex);
|
|
34
|
-
var data = dataURL.slice(separatorIndex + 1);
|
|
35
|
-
if (!data) {
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
if (metadata.includes(';base64')) {
|
|
39
|
-
var _data$match;
|
|
40
|
-
var padding = ((_data$match = data.match(/=*$/)) === null || _data$match === void 0 ? void 0 : _data$match[0].length) || 0;
|
|
41
|
-
return Math.floor(data.length * 3 / 4) - padding;
|
|
42
|
-
}
|
|
43
|
-
try {
|
|
44
|
-
return new TextEncoder().encode(decodeURIComponent(data)).length;
|
|
45
|
-
} catch (_unused) {
|
|
46
|
-
return data.length;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
28
|
var SiteEmojiResource = exports.default = /*#__PURE__*/function () {
|
|
50
29
|
// @ts-ignore: I am not being read from, should I be deleted???
|
|
51
30
|
|
|
@@ -210,35 +189,64 @@ var SiteEmojiResource = exports.default = /*#__PURE__*/function () {
|
|
|
210
189
|
},
|
|
211
190
|
useSha256ForUploads: true
|
|
212
191
|
});
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
192
|
+
if ((0, _fg.fg)('add_emoji_media_size_to_media_file_upload_request')) {
|
|
193
|
+
mediaClient.file.uploadExternal(upload.dataURL, collectionName, undefined, true).then(function (_ref3) {
|
|
194
|
+
var uploadableFileUpfrontIds = _ref3.uploadableFileUpfrontIds;
|
|
195
|
+
var subscription = mediaClient.file.getFileState(uploadableFileUpfrontIds.id, {
|
|
196
|
+
collectionName: collectionName
|
|
197
|
+
}).subscribe({
|
|
198
|
+
next: function next(state) {
|
|
199
|
+
if (state.status === 'uploading' && progressCallback) {
|
|
200
|
+
progressCallback({
|
|
201
|
+
percent: state.progress * mediaProportionOfProgress
|
|
202
|
+
});
|
|
203
|
+
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
204
|
+
subscription.unsubscribe();
|
|
205
|
+
var totalUploadTime = Date.now() - startTime;
|
|
206
|
+
var mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
207
|
+
(0, _logger.default)('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
208
|
+
_this2.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(function (emoji) {
|
|
209
|
+
resolve(emoji);
|
|
210
|
+
}).catch(function (httpError) {
|
|
211
|
+
reject(httpError.reason || httpError);
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
error: function error(_error) {
|
|
216
|
+
reject(_error);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
}).catch(function (error) {
|
|
220
|
+
reject(error);
|
|
221
|
+
});
|
|
222
|
+
} else {
|
|
223
|
+
var subscription = mediaClient.file.upload({
|
|
224
|
+
content: upload.dataURL,
|
|
225
|
+
name: upload.filename,
|
|
226
|
+
collection: collectionName
|
|
227
|
+
}).subscribe({
|
|
228
|
+
next: function next(state) {
|
|
229
|
+
if (state.status === 'uploading' && progressCallback) {
|
|
230
|
+
progressCallback({
|
|
231
|
+
percent: state.progress * mediaProportionOfProgress
|
|
232
|
+
});
|
|
233
|
+
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
234
|
+
subscription.unsubscribe();
|
|
235
|
+
var totalUploadTime = Date.now() - startTime;
|
|
236
|
+
var mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
237
|
+
(0, _logger.default)('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
238
|
+
_this2.postToEmojiService(upload, state.id).then(function (emoji) {
|
|
239
|
+
resolve(emoji);
|
|
240
|
+
}).catch(function (httpError) {
|
|
241
|
+
reject(httpError.reason || httpError);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
error: function error(_error2) {
|
|
246
|
+
reject(_error2);
|
|
236
247
|
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
reject(_error);
|
|
240
|
-
}
|
|
241
|
-
});
|
|
248
|
+
});
|
|
249
|
+
}
|
|
242
250
|
});
|
|
243
251
|
});
|
|
244
252
|
}
|
|
@@ -23,6 +23,7 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
|
|
|
23
23
|
var emojis = _ref.emojis,
|
|
24
24
|
onSelected = _ref.onSelected,
|
|
25
25
|
onMouseMove = _ref.onMouseMove,
|
|
26
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
26
27
|
onFocus = _ref.onFocus,
|
|
27
28
|
title = _ref.title,
|
|
28
29
|
showDelete = _ref.showDelete,
|
|
@@ -61,6 +62,7 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
|
|
|
61
62
|
selectOnHover: true,
|
|
62
63
|
onSelected: onSelected,
|
|
63
64
|
onMouseMove: onMouseMove,
|
|
65
|
+
onMouseLeave: onMouseLeave,
|
|
64
66
|
onFocus: handleFocus(index),
|
|
65
67
|
showDelete: showDelete,
|
|
66
68
|
onDelete: onDelete,
|
|
@@ -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: "71.16.
|
|
23
|
+
packageVersion: "71.16.4"
|
|
24
24
|
}, attributes)
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -9,27 +9,6 @@ import TokenManager from './TokenManager';
|
|
|
9
9
|
import debug from '../../util/logger';
|
|
10
10
|
// Assume media is 95% of total upload time.
|
|
11
11
|
export const mediaProportionOfProgress = 95 / 100;
|
|
12
|
-
export const getDataUrlSizeInBytes = dataURL => {
|
|
13
|
-
const separatorIndex = dataURL.indexOf(',');
|
|
14
|
-
if (separatorIndex === -1) {
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
const metadata = dataURL.slice(0, separatorIndex);
|
|
18
|
-
const data = dataURL.slice(separatorIndex + 1);
|
|
19
|
-
if (!data) {
|
|
20
|
-
return undefined;
|
|
21
|
-
}
|
|
22
|
-
if (metadata.includes(';base64')) {
|
|
23
|
-
var _data$match;
|
|
24
|
-
const padding = ((_data$match = data.match(/=*$/)) === null || _data$match === void 0 ? void 0 : _data$match[0].length) || 0;
|
|
25
|
-
return Math.floor(data.length * 3 / 4) - padding;
|
|
26
|
-
}
|
|
27
|
-
try {
|
|
28
|
-
return new TextEncoder().encode(decodeURIComponent(data)).length;
|
|
29
|
-
} catch {
|
|
30
|
-
return data.length;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
12
|
export default class SiteEmojiResource {
|
|
34
13
|
// @ts-ignore: I am not being read from, should I be deleted???
|
|
35
14
|
|
|
@@ -167,36 +146,65 @@ export default class SiteEmojiResource {
|
|
|
167
146
|
}),
|
|
168
147
|
useSha256ForUploads: true
|
|
169
148
|
});
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
149
|
+
if (fg('add_emoji_media_size_to_media_file_upload_request')) {
|
|
150
|
+
mediaClient.file.uploadExternal(upload.dataURL, collectionName, undefined, true).then(({
|
|
151
|
+
uploadableFileUpfrontIds
|
|
152
|
+
}) => {
|
|
153
|
+
const subscription = mediaClient.file.getFileState(uploadableFileUpfrontIds.id, {
|
|
154
|
+
collectionName
|
|
155
|
+
}).subscribe({
|
|
156
|
+
next: state => {
|
|
157
|
+
if (state.status === 'uploading' && progressCallback) {
|
|
158
|
+
progressCallback({
|
|
159
|
+
percent: state.progress * mediaProportionOfProgress
|
|
160
|
+
});
|
|
161
|
+
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
162
|
+
subscription.unsubscribe();
|
|
163
|
+
const totalUploadTime = Date.now() - startTime;
|
|
164
|
+
const mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
165
|
+
debug('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
166
|
+
this.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(emoji => {
|
|
167
|
+
resolve(emoji);
|
|
168
|
+
}).catch(httpError => {
|
|
169
|
+
reject(httpError.reason || httpError);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
error(error) {
|
|
174
|
+
reject(error);
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
}).catch(error => {
|
|
197
178
|
reject(error);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
179
|
+
});
|
|
180
|
+
} else {
|
|
181
|
+
const subscription = mediaClient.file.upload({
|
|
182
|
+
content: upload.dataURL,
|
|
183
|
+
name: upload.filename,
|
|
184
|
+
collection: collectionName
|
|
185
|
+
}).subscribe({
|
|
186
|
+
next: state => {
|
|
187
|
+
if (state.status === 'uploading' && progressCallback) {
|
|
188
|
+
progressCallback({
|
|
189
|
+
percent: state.progress * mediaProportionOfProgress
|
|
190
|
+
});
|
|
191
|
+
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
192
|
+
subscription.unsubscribe();
|
|
193
|
+
const totalUploadTime = Date.now() - startTime;
|
|
194
|
+
const mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
195
|
+
debug('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
196
|
+
this.postToEmojiService(upload, state.id).then(emoji => {
|
|
197
|
+
resolve(emoji);
|
|
198
|
+
}).catch(httpError => {
|
|
199
|
+
reject(httpError.reason || httpError);
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
error(error) {
|
|
204
|
+
reject(error);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}
|
|
200
208
|
});
|
|
201
209
|
});
|
|
202
210
|
}
|
|
@@ -14,6 +14,7 @@ const EmojiPickerEmojiRow = ({
|
|
|
14
14
|
emojis,
|
|
15
15
|
onSelected,
|
|
16
16
|
onMouseMove,
|
|
17
|
+
onMouseLeave,
|
|
17
18
|
onFocus,
|
|
18
19
|
title,
|
|
19
20
|
showDelete,
|
|
@@ -55,6 +56,7 @@ const EmojiPickerEmojiRow = ({
|
|
|
55
56
|
selectOnHover: true,
|
|
56
57
|
onSelected: onSelected,
|
|
57
58
|
onMouseMove: onMouseMove,
|
|
59
|
+
onMouseLeave: onMouseLeave,
|
|
58
60
|
onFocus: handleFocus(index),
|
|
59
61
|
showDelete: showDelete,
|
|
60
62
|
onDelete: onDelete,
|
|
@@ -18,27 +18,6 @@ import TokenManager from './TokenManager';
|
|
|
18
18
|
import debug from '../../util/logger';
|
|
19
19
|
// Assume media is 95% of total upload time.
|
|
20
20
|
export var mediaProportionOfProgress = 95 / 100;
|
|
21
|
-
export var getDataUrlSizeInBytes = function getDataUrlSizeInBytes(dataURL) {
|
|
22
|
-
var separatorIndex = dataURL.indexOf(',');
|
|
23
|
-
if (separatorIndex === -1) {
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
var metadata = dataURL.slice(0, separatorIndex);
|
|
27
|
-
var data = dataURL.slice(separatorIndex + 1);
|
|
28
|
-
if (!data) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
if (metadata.includes(';base64')) {
|
|
32
|
-
var _data$match;
|
|
33
|
-
var padding = ((_data$match = data.match(/=*$/)) === null || _data$match === void 0 ? void 0 : _data$match[0].length) || 0;
|
|
34
|
-
return Math.floor(data.length * 3 / 4) - padding;
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
return new TextEncoder().encode(decodeURIComponent(data)).length;
|
|
38
|
-
} catch (_unused) {
|
|
39
|
-
return data.length;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
21
|
var SiteEmojiResource = /*#__PURE__*/function () {
|
|
43
22
|
// @ts-ignore: I am not being read from, should I be deleted???
|
|
44
23
|
|
|
@@ -203,35 +182,64 @@ var SiteEmojiResource = /*#__PURE__*/function () {
|
|
|
203
182
|
},
|
|
204
183
|
useSha256ForUploads: true
|
|
205
184
|
});
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
}
|
|
185
|
+
if (fg('add_emoji_media_size_to_media_file_upload_request')) {
|
|
186
|
+
mediaClient.file.uploadExternal(upload.dataURL, collectionName, undefined, true).then(function (_ref3) {
|
|
187
|
+
var uploadableFileUpfrontIds = _ref3.uploadableFileUpfrontIds;
|
|
188
|
+
var subscription = mediaClient.file.getFileState(uploadableFileUpfrontIds.id, {
|
|
189
|
+
collectionName: collectionName
|
|
190
|
+
}).subscribe({
|
|
191
|
+
next: function next(state) {
|
|
192
|
+
if (state.status === 'uploading' && progressCallback) {
|
|
193
|
+
progressCallback({
|
|
194
|
+
percent: state.progress * mediaProportionOfProgress
|
|
195
|
+
});
|
|
196
|
+
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
197
|
+
subscription.unsubscribe();
|
|
198
|
+
var totalUploadTime = Date.now() - startTime;
|
|
199
|
+
var mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
200
|
+
debug('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
201
|
+
_this2.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(function (emoji) {
|
|
202
|
+
resolve(emoji);
|
|
203
|
+
}).catch(function (httpError) {
|
|
204
|
+
reject(httpError.reason || httpError);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
error: function error(_error) {
|
|
209
|
+
reject(_error);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}).catch(function (error) {
|
|
213
|
+
reject(error);
|
|
214
|
+
});
|
|
215
|
+
} else {
|
|
216
|
+
var subscription = mediaClient.file.upload({
|
|
217
|
+
content: upload.dataURL,
|
|
218
|
+
name: upload.filename,
|
|
219
|
+
collection: collectionName
|
|
220
|
+
}).subscribe({
|
|
221
|
+
next: function next(state) {
|
|
222
|
+
if (state.status === 'uploading' && progressCallback) {
|
|
223
|
+
progressCallback({
|
|
224
|
+
percent: state.progress * mediaProportionOfProgress
|
|
225
|
+
});
|
|
226
|
+
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
227
|
+
subscription.unsubscribe();
|
|
228
|
+
var totalUploadTime = Date.now() - startTime;
|
|
229
|
+
var mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
230
|
+
debug('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
231
|
+
_this2.postToEmojiService(upload, state.id).then(function (emoji) {
|
|
232
|
+
resolve(emoji);
|
|
233
|
+
}).catch(function (httpError) {
|
|
234
|
+
reject(httpError.reason || httpError);
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
error: function error(_error2) {
|
|
239
|
+
reject(_error2);
|
|
229
240
|
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
reject(_error);
|
|
233
|
-
}
|
|
234
|
-
});
|
|
241
|
+
});
|
|
242
|
+
}
|
|
235
243
|
});
|
|
236
244
|
});
|
|
237
245
|
}
|
|
@@ -14,6 +14,7 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
|
|
|
14
14
|
var emojis = _ref.emojis,
|
|
15
15
|
onSelected = _ref.onSelected,
|
|
16
16
|
onMouseMove = _ref.onMouseMove,
|
|
17
|
+
onMouseLeave = _ref.onMouseLeave,
|
|
17
18
|
onFocus = _ref.onFocus,
|
|
18
19
|
title = _ref.title,
|
|
19
20
|
showDelete = _ref.showDelete,
|
|
@@ -52,6 +53,7 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
|
|
|
52
53
|
selectOnHover: true,
|
|
53
54
|
onSelected: onSelected,
|
|
54
55
|
onMouseMove: onMouseMove,
|
|
56
|
+
onMouseLeave: onMouseLeave,
|
|
55
57
|
onFocus: handleFocus(index),
|
|
56
58
|
showDelete: showDelete,
|
|
57
59
|
onDelete: onDelete,
|
|
@@ -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: "71.16.
|
|
17
|
+
packageVersion: "71.16.4"
|
|
18
18
|
}, attributes)
|
|
19
19
|
};
|
|
20
20
|
};
|
|
@@ -15,7 +15,6 @@ type TokenisedEmojiRepresentation = {
|
|
|
15
15
|
representation?: EmojiRepresentation;
|
|
16
16
|
};
|
|
17
17
|
export declare const mediaProportionOfProgress: number;
|
|
18
|
-
export declare const getDataUrlSizeInBytes: (dataURL: string) => number | undefined;
|
|
19
18
|
export default class SiteEmojiResource {
|
|
20
19
|
private siteServiceConfig;
|
|
21
20
|
private mediaApiToken;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/emoji",
|
|
3
|
-
"version": "71.
|
|
3
|
+
"version": "71.17.0",
|
|
4
4
|
"description": "Fabric emoji React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@atlaskit/spinner": "^20.1.0",
|
|
51
51
|
"@atlaskit/textfield": "^10.0.0",
|
|
52
52
|
"@atlaskit/theme": "^28.0.0",
|
|
53
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
54
|
-
"@atlaskit/tokens": "^16.
|
|
53
|
+
"@atlaskit/tmp-editor-statsig": "^147.1.0",
|
|
54
|
+
"@atlaskit/tokens": "^16.7.0",
|
|
55
55
|
"@atlaskit/tooltip": "^24.0.0",
|
|
56
56
|
"@atlaskit/ufo": "^1.0.0",
|
|
57
57
|
"@atlaskit/util-service-support": "^7.2.0",
|
package/emoji.docs.tsx
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structured MCP docs for `@atlaskit/emoji`.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
import path from 'path';
|
|
6
|
-
|
|
7
|
-
import type { StructuredContentSource } from '@atlassian/structured-docs-types/types';
|
|
8
|
-
|
|
9
|
-
import packageJson from './package.json';
|
|
10
|
-
|
|
11
|
-
const packagePath = path.resolve(__dirname);
|
|
12
|
-
|
|
13
|
-
const documentation: StructuredContentSource = {
|
|
14
|
-
package: {
|
|
15
|
-
package: '@atlaskit/emoji',
|
|
16
|
-
packagePath,
|
|
17
|
-
packageJson,
|
|
18
|
-
overview:
|
|
19
|
-
'React components and utilities for displaying and picking emojis. It includes support for standard emojis, custom emojis, and skin tone variations.',
|
|
20
|
-
},
|
|
21
|
-
components: [
|
|
22
|
-
{
|
|
23
|
-
name: 'Emoji',
|
|
24
|
-
description: 'A component for displaying a single emoji.',
|
|
25
|
-
status: 'general-availability',
|
|
26
|
-
import: {
|
|
27
|
-
name: 'Emoji',
|
|
28
|
-
package: '@atlaskit/emoji',
|
|
29
|
-
type: 'named',
|
|
30
|
-
packagePath,
|
|
31
|
-
packageJson,
|
|
32
|
-
},
|
|
33
|
-
usageGuidelines: ['Use `Emoji` to render a specific emoji by its ID or short name.'],
|
|
34
|
-
keywords: ['emoji', 'display'],
|
|
35
|
-
categories: ['elements'],
|
|
36
|
-
examples: [
|
|
37
|
-
{
|
|
38
|
-
name: 'Simple emoji',
|
|
39
|
-
description: 'Basic usage of the Emoji component.',
|
|
40
|
-
source: path.resolve(packagePath, './examples/00-simple-emoji.tsx'),
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
name: 'EmojiPicker',
|
|
46
|
-
description: 'A component that provides a searchable picker for emojis.',
|
|
47
|
-
status: 'general-availability',
|
|
48
|
-
import: {
|
|
49
|
-
name: 'EmojiPicker',
|
|
50
|
-
package: '@atlaskit/emoji',
|
|
51
|
-
type: 'named',
|
|
52
|
-
packagePath,
|
|
53
|
-
packageJson,
|
|
54
|
-
},
|
|
55
|
-
usageGuidelines: [
|
|
56
|
-
'Use `EmojiPicker` when you need to allow users to select an emoji from a list.',
|
|
57
|
-
'Requires an `EmojiResource` to fetch and manage emoji data.',
|
|
58
|
-
],
|
|
59
|
-
keywords: ['emoji', 'picker', 'select'],
|
|
60
|
-
categories: ['elements'],
|
|
61
|
-
examples: [
|
|
62
|
-
{
|
|
63
|
-
name: 'Emoji picker with usage',
|
|
64
|
-
description: 'Emoji picker with frequently used emojis tracked.',
|
|
65
|
-
source: path.resolve(packagePath, './examples/06-emoji-picker-with-usage.tsx'),
|
|
66
|
-
},
|
|
67
|
-
],
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
name: 'EmojiTypeAhead',
|
|
71
|
-
description: 'A component that provides emoji suggestions based on user input.',
|
|
72
|
-
status: 'general-availability',
|
|
73
|
-
import: {
|
|
74
|
-
name: 'EmojiTypeAhead',
|
|
75
|
-
package: '@atlaskit/emoji',
|
|
76
|
-
type: 'named',
|
|
77
|
-
packagePath,
|
|
78
|
-
packageJson,
|
|
79
|
-
},
|
|
80
|
-
usageGuidelines: [
|
|
81
|
-
'Use `EmojiTypeAhead` to provide a shortcut-based emoji selection experience (e.g., typing `:smile`).',
|
|
82
|
-
],
|
|
83
|
-
keywords: ['emoji', 'typeahead', 'autocomplete'],
|
|
84
|
-
categories: ['elements'],
|
|
85
|
-
examples: [
|
|
86
|
-
{
|
|
87
|
-
name: 'Standard emoji typeahead',
|
|
88
|
-
description: 'Basic usage of EmojiTypeAhead.',
|
|
89
|
-
source: path.resolve(packagePath, './examples/03-standard-emoji-typeahead.tsx'),
|
|
90
|
-
},
|
|
91
|
-
],
|
|
92
|
-
},
|
|
93
|
-
],
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
export default documentation;
|