@atlaskit/emoji 71.4.6 → 71.5.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 +14 -0
- package/dist/cjs/api/EmojiRepository.js +14 -5
- package/dist/cjs/components/common/DeleteButton.js +11 -2
- package/dist/cjs/components/common/EmojiActions.js +15 -6
- package/dist/cjs/components/common/EmojiDeletePreview.js +11 -2
- package/dist/cjs/components/common/EmojiErrorMessage.js +11 -2
- package/dist/cjs/components/common/EmojiUploadPicker.js +18 -9
- package/dist/cjs/components/common/FileChooser.js +12 -3
- package/dist/cjs/components/common/ToneSelector.js +11 -2
- package/dist/cjs/components/picker/CategorySelector.js +16 -7
- package/dist/cjs/components/picker/EmojiPicker.js +11 -2
- package/dist/cjs/components/picker/EmojiPickerComponent.js +24 -15
- package/dist/cjs/components/picker/EmojiPickerFooter.js +12 -2
- package/dist/cjs/components/picker/EmojiPickerList.js +16 -3
- package/dist/cjs/components/picker/EmojiPickerListSearch.js +11 -2
- package/dist/cjs/components/picker/VirtualList.js +12 -3
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/es2019/api/EmojiRepository.js +14 -5
- package/dist/es2019/components/common/DeleteButton.js +11 -2
- package/dist/es2019/components/common/EmojiActions.js +15 -6
- package/dist/es2019/components/common/EmojiDeletePreview.js +11 -2
- package/dist/es2019/components/common/EmojiErrorMessage.js +11 -2
- package/dist/es2019/components/common/EmojiUploadPicker.js +18 -9
- package/dist/es2019/components/common/FileChooser.js +12 -3
- package/dist/es2019/components/common/ToneSelector.js +11 -2
- package/dist/es2019/components/picker/CategorySelector.js +15 -6
- package/dist/es2019/components/picker/EmojiPicker.js +11 -2
- package/dist/es2019/components/picker/EmojiPickerComponent.js +24 -15
- package/dist/es2019/components/picker/EmojiPickerFooter.js +11 -2
- package/dist/es2019/components/picker/EmojiPickerList.js +16 -3
- package/dist/es2019/components/picker/EmojiPickerListSearch.js +11 -2
- package/dist/es2019/components/picker/VirtualList.js +12 -3
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/api/EmojiRepository.js +14 -5
- package/dist/esm/components/common/DeleteButton.js +11 -2
- package/dist/esm/components/common/EmojiActions.js +15 -6
- package/dist/esm/components/common/EmojiDeletePreview.js +11 -2
- package/dist/esm/components/common/EmojiErrorMessage.js +11 -2
- package/dist/esm/components/common/EmojiUploadPicker.js +18 -9
- package/dist/esm/components/common/FileChooser.js +12 -3
- package/dist/esm/components/common/ToneSelector.js +11 -2
- package/dist/esm/components/picker/CategorySelector.js +16 -7
- package/dist/esm/components/picker/EmojiPicker.js +11 -2
- package/dist/esm/components/picker/EmojiPickerComponent.js +24 -15
- package/dist/esm/components/picker/EmojiPickerFooter.js +11 -2
- package/dist/esm/components/picker/EmojiPickerList.js +16 -3
- package/dist/esm/components/picker/EmojiPickerListSearch.js +11 -2
- package/dist/esm/components/picker/VirtualList.js +12 -3
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
16
16
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
17
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
18
18
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
|
-
var
|
|
19
|
+
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
20
20
|
var _browserApis = require("@atlaskit/browser-apis");
|
|
21
21
|
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/external/adapter");
|
|
22
22
|
var _file = require("@atlaskit/pragmatic-drag-and-drop/external/file");
|
|
@@ -44,6 +44,15 @@ var _hiddenEmojis = require("../../util/hidden-emojis");
|
|
|
44
44
|
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); }
|
|
45
45
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
46
46
|
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; }
|
|
47
|
+
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
48
|
+
if (!_featureGateJsClient.default.initializeCompleted()) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
53
|
+
var isEnabled = _featureGateJsClient.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
54
|
+
return isEnabled;
|
|
55
|
+
};
|
|
47
56
|
var emojiPickerBoxShadow = "var(--ds-shadow-overlay, 0px 8px 12px #1E1F2126, 0px 0px 1px #1E1F214f)";
|
|
48
57
|
var emojiPickerHeight = 295;
|
|
49
58
|
var emojiPickerHeightWithPreview = 349; // emojiPickerHeight + emojiPickerPreviewHeight;
|
|
@@ -94,7 +103,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
94
103
|
var _useEmoji = (0, _useEmoji2.useEmoji)(),
|
|
95
104
|
emojiProvider = _useEmoji.emojiProvider,
|
|
96
105
|
isUploadSupported = _useEmoji.isUploadSupported;
|
|
97
|
-
var isTeamojiExperimentEnabled = (
|
|
106
|
+
var isTeamojiExperimentEnabled = isRefreshEmojiPickerEnabled();
|
|
98
107
|
var _useState = (0, _react.useState)([]),
|
|
99
108
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
100
109
|
filteredEmojis = _useState2[0],
|
|
@@ -187,7 +196,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
187
196
|
}
|
|
188
197
|
}, [selectedEmoji]);
|
|
189
198
|
var onEmojiLeave = (0, _react.useCallback)(function () {
|
|
190
|
-
if ((
|
|
199
|
+
if (isRefreshEmojiPickerEnabled()) {
|
|
191
200
|
setSelectedEmoji(undefined);
|
|
192
201
|
}
|
|
193
202
|
}, []);
|
|
@@ -195,16 +204,16 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
195
204
|
// Ignore scroll-driven category changes while a programmatic reveal()
|
|
196
205
|
// scroll is in progress — they would flicker the indicator through
|
|
197
206
|
// intermediate categories before landing on the correct one.
|
|
198
|
-
if (isProgrammaticScroll.current && (
|
|
207
|
+
if (isProgrammaticScroll.current && isRefreshEmojiPickerEnabled()) {
|
|
199
208
|
return;
|
|
200
209
|
}
|
|
201
210
|
// Ignore scroll-driven category changes while the upload or delete screen is open
|
|
202
|
-
if ((uploading || emojiToDelete) && (
|
|
211
|
+
if ((uploading || emojiToDelete) && isRefreshEmojiPickerEnabled()) {
|
|
203
212
|
return;
|
|
204
213
|
}
|
|
205
214
|
if (activeCategory !== category) {
|
|
206
215
|
setActiveCategory(category);
|
|
207
|
-
if (!query && (
|
|
216
|
+
if (!query && isRefreshEmojiPickerEnabled()) {
|
|
208
217
|
lastNonSearchCategory.current = category;
|
|
209
218
|
}
|
|
210
219
|
}
|
|
@@ -221,7 +230,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
221
230
|
setUploadErrorMessage(undefined);
|
|
222
231
|
});
|
|
223
232
|
fireAnalytics((0, _analytics.uploadCancelButton)());
|
|
224
|
-
if ((
|
|
233
|
+
if (isRefreshEmojiPickerEnabled()) {
|
|
225
234
|
setTimeout(function () {
|
|
226
235
|
var _getDocument;
|
|
227
236
|
(_getDocument = (0, _browserApis.getDocument)()) === null || _getDocument === void 0 || (_getDocument = _getDocument.getElementById('add-custom-emoji')) === null || _getDocument === void 0 || _getDocument.focus();
|
|
@@ -371,7 +380,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
371
380
|
}
|
|
372
381
|
|
|
373
382
|
// If the upload or delete screen is open, close it when a category is selected
|
|
374
|
-
if ((
|
|
383
|
+
if (isRefreshEmojiPickerEnabled()) {
|
|
375
384
|
if (uploading) {
|
|
376
385
|
setUploading(false);
|
|
377
386
|
setUploadErrorMessage(undefined);
|
|
@@ -433,7 +442,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
433
442
|
};
|
|
434
443
|
if (searchQuery !== query) {
|
|
435
444
|
// Capture the active category before entering search so we can keep it highlighted
|
|
436
|
-
if (!query && searchQuery && (
|
|
445
|
+
if (!query && searchQuery && isRefreshEmojiPickerEnabled()) {
|
|
437
446
|
lastNonSearchCategory.current = activeCategory;
|
|
438
447
|
}
|
|
439
448
|
setQuery(searchQuery);
|
|
@@ -449,7 +458,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
449
458
|
// cannot reach underlying page drop handlers (e.g. the Confluence editor).
|
|
450
459
|
(0, _react.useEffect)(function () {
|
|
451
460
|
var _getDocument2;
|
|
452
|
-
if (!uploading || !(
|
|
461
|
+
if (!uploading || !isRefreshEmojiPickerEnabled()) {
|
|
453
462
|
return;
|
|
454
463
|
}
|
|
455
464
|
var body = (_getDocument2 = (0, _browserApis.getDocument)()) === null || _getDocument2 === void 0 ? void 0 : _getDocument2.body;
|
|
@@ -518,7 +527,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
518
527
|
});
|
|
519
528
|
scrollToUploadedEmoji(emojiDescription);
|
|
520
529
|
};
|
|
521
|
-
if (!(
|
|
530
|
+
if (!isRefreshEmojiPickerEnabled()) {
|
|
522
531
|
_context.next = 2;
|
|
523
532
|
break;
|
|
524
533
|
}
|
|
@@ -656,14 +665,14 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
656
665
|
emojiProvider.unsubscribe(onProviderChange);
|
|
657
666
|
};
|
|
658
667
|
}, [emojiProvider, onProviderChange]);
|
|
659
|
-
var showPreview = (
|
|
668
|
+
var showPreview = isRefreshEmojiPickerEnabled() ? !uploading : selectedEmoji && !uploading;
|
|
660
669
|
return /*#__PURE__*/React.createElement("div", {
|
|
661
670
|
ref: setPickerRef,
|
|
662
671
|
"data-emoji-picker-container": true,
|
|
663
672
|
role: "dialog",
|
|
664
673
|
"aria-label": formatMessage(_i18n.messages.emojiPickerTitle),
|
|
665
674
|
"aria-modal": true,
|
|
666
|
-
className: (0, _runtime.ax)([(
|
|
675
|
+
className: (0, _runtime.ax)([isRefreshEmojiPickerEnabled() ? "_19itahnd _2rko1mok _1e0c1txw _2lx21bp4 _1bah1yb4 _bfhk1bhr _16qs130s _4t3iuxo9 _1bsb10mj _1ul910mj _c71l1y6z _kqswh2mm" : "_19itahnd _2rkofajl _1e0c1txw _2lx21bp4 _1bah1yb4 _bfhk1bhr _16qs130s _4t3iuxo9 _1bsb10mj _1ul910mj _c71l1y6z _kqswh2mm", !!emojiToDelete && isRefreshEmojiPickerEnabled() ? withDeleteRefreshHeight[size] : uploading && isRefreshEmojiPickerEnabled() ? withUploadRefreshHeight[size] : query && filteredEmojis.length === 0 && isRefreshEmojiPickerEnabled() ? withNoResultsRefreshHeight[size] : showPreview ? withPreviewHeight[size] : withoutPreviewHeight[size]]),
|
|
667
676
|
style: {
|
|
668
677
|
"--_19dn98e": (0, _runtime.ix)("".concat(emojiPickerHeight, "px")),
|
|
669
678
|
"--_gsvyy7": (0, _runtime.ix)("".concat(emojiPickerWidth, "px"))
|
|
@@ -675,7 +684,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
675
684
|
onKeyDown: suppressKeyPress,
|
|
676
685
|
className: (0, _runtime.ax)(["_16jlkb7n _1o9zkb7n _i0dlf1ug _1reo15vq _18m915vq _1e0c1txw _2lx21bp4 _1bah1yb4 _1tkeidpf"])
|
|
677
686
|
}, /*#__PURE__*/React.createElement(_CategorySelector.default, {
|
|
678
|
-
activeCategoryId: (uploading || emojiToDelete) && (
|
|
687
|
+
activeCategoryId: (uploading || emojiToDelete) && isRefreshEmojiPickerEnabled() ? null : activeCategory,
|
|
679
688
|
dynamicCategories: dynamicCategories,
|
|
680
689
|
disableCategories: disableCategories,
|
|
681
690
|
onCategorySelected: onCategorySelected
|
|
@@ -710,7 +719,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
|
|
|
710
719
|
onOpenUpload: onOpenUpload,
|
|
711
720
|
size: size,
|
|
712
721
|
activeCategoryId: activeCategory
|
|
713
|
-
}), showPreview && !(emojiToDelete && (
|
|
722
|
+
}), showPreview && !(emojiToDelete && isRefreshEmojiPickerEnabled()) && !(query && filteredEmojis.length === 0 && isRefreshEmojiPickerEnabled()) && /*#__PURE__*/React.createElement(_EmojiPickerFooter.default, {
|
|
714
723
|
selectedEmoji: selectedEmoji,
|
|
715
724
|
uploadEnabled: isUploadSupported && !uploading,
|
|
716
725
|
onOpenUpload: onOpenUpload
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* EmojiPickerFooter.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
2
|
"use strict";
|
|
3
3
|
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
6
|
Object.defineProperty(exports, "__esModule", {
|
|
6
7
|
value: true
|
|
@@ -14,8 +15,17 @@ var _reactIntl = require("react-intl");
|
|
|
14
15
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
15
16
|
var _EmojiPreviewComponent = require("../common/EmojiPreviewComponent");
|
|
16
17
|
var _AddEmoji = require("../common/AddEmoji");
|
|
17
|
-
var
|
|
18
|
+
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
18
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); }
|
|
20
|
+
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
21
|
+
if (!_featureGateJsClient.default.initializeCompleted()) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
26
|
+
var isEnabled = _featureGateJsClient.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
27
|
+
return isEnabled;
|
|
28
|
+
};
|
|
19
29
|
var emojiPickerFooter = null;
|
|
20
30
|
var emojiPickerFooterWithTopShadow = null;
|
|
21
31
|
var emojiPickerFooterWithTopShadowNew = null;
|
|
@@ -28,7 +38,7 @@ var EmojiPickerFooter = function EmojiPickerFooter(_ref) {
|
|
|
28
38
|
onOpenUpload = _ref.onOpenUpload,
|
|
29
39
|
uploadEnabled = _ref.uploadEnabled;
|
|
30
40
|
var intl = (0, _reactIntl.useIntl)();
|
|
31
|
-
return (
|
|
41
|
+
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
32
42
|
"data-testid": emojiPickerFooterTestId,
|
|
33
43
|
className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug", "_x3doia51"])
|
|
34
44
|
}, selectedEmoji ? /*#__PURE__*/React.createElement(_compiled.Box, {
|
|
@@ -9,7 +9,7 @@ exports.RENDER_EMOJI_PICKER_LIST_TESTID = exports.EmojiPickerVirtualListInternal
|
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
var _reactIntl = require("react-intl");
|
|
12
|
-
var
|
|
12
|
+
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _constants = require("../../util/constants");
|
|
15
15
|
var _productivityColors = require("../../util/productivity-colors");
|
|
@@ -31,6 +31,15 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
31
31
|
var RENDER_EMOJI_PICKER_LIST_TESTID = exports.RENDER_EMOJI_PICKER_LIST_TESTID = 'render-emoji-picker-list';
|
|
32
32
|
var categoryClassname = 'emoji-category';
|
|
33
33
|
var teamojiRefreshExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
|
|
34
|
+
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
35
|
+
if (!_featureGateJsClient.default.initializeCompleted()) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
40
|
+
var isEnabled = _featureGateJsClient.default.getExperimentValue(teamojiRefreshExperimentName, 'isEnabled', false);
|
|
41
|
+
return isEnabled;
|
|
42
|
+
};
|
|
34
43
|
var atlassianCategory = 'ATLASSIAN';
|
|
35
44
|
var atlassianSubcategoryOrder = ['Faces', 'Hands', 'Reactions', 'Objects', 'Productivity', 'Logos'];
|
|
36
45
|
|
|
@@ -106,7 +115,7 @@ var EmojiPickerVirtualListInternal = exports.EmojiPickerVirtualListInternal = /*
|
|
|
106
115
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
107
116
|
categoriesChanged = _useState8[0],
|
|
108
117
|
setCategoriesChanged = _useState8[1];
|
|
109
|
-
var isTeamojiExperimentEnabled = (
|
|
118
|
+
var isTeamojiExperimentEnabled = isRefreshEmojiPickerEnabled();
|
|
110
119
|
var visibleEmojis = (0, _react.useMemo)(function () {
|
|
111
120
|
return isTeamojiExperimentEnabled ? (0, _hiddenEmojis.filterHiddenEmojis)(emojis) : emojis;
|
|
112
121
|
}, [emojis, isTeamojiExperimentEnabled]);
|
|
@@ -114,8 +123,12 @@ var EmojiPickerVirtualListInternal = exports.EmojiPickerVirtualListInternal = /*
|
|
|
114
123
|
return isTeamojiExperimentEnabled ? (0, _productivityColors.getProductivityColorPreviewEmojis)(visibleEmojis) : {};
|
|
115
124
|
}, [isTeamojiExperimentEnabled, visibleEmojis]);
|
|
116
125
|
var addToCategoryMap = (0, _react.useCallback)(function (categoryToGroupMap, emoji, category) {
|
|
126
|
+
var _categoryToGroupMap$c;
|
|
117
127
|
if (!categoryToGroupMap[category]) {
|
|
118
128
|
var categoryDefinition = isTeamojiExperimentEnabled ? _categories.CategoryDescriptionMapNew[category] : _categories.CategoryDescriptionMap[category];
|
|
129
|
+
if (!categoryDefinition && isTeamojiExperimentEnabled) {
|
|
130
|
+
return categoryToGroupMap;
|
|
131
|
+
}
|
|
119
132
|
categoryToGroupMap[category] = {
|
|
120
133
|
emojis: [],
|
|
121
134
|
title: categoryDefinition.name,
|
|
@@ -123,7 +136,7 @@ var EmojiPickerVirtualListInternal = exports.EmojiPickerVirtualListInternal = /*
|
|
|
123
136
|
order: categoryDefinition.order
|
|
124
137
|
};
|
|
125
138
|
}
|
|
126
|
-
categoryToGroupMap[category].emojis.push(emoji);
|
|
139
|
+
(_categoryToGroupMap$c = categoryToGroupMap[category]) === null || _categoryToGroupMap$c === void 0 || _categoryToGroupMap$c.emojis.push(emoji);
|
|
127
140
|
return categoryToGroupMap;
|
|
128
141
|
}, [isTeamojiExperimentEnabled]);
|
|
129
142
|
var groupByCategory = (0, _react.useCallback)(function (currentUser) {
|
|
@@ -18,8 +18,17 @@ var _reactIntl = require("react-intl");
|
|
|
18
18
|
var _useDebounce = require("use-debounce");
|
|
19
19
|
var _constants = require("../../util/constants");
|
|
20
20
|
var _i18n = require("../i18n");
|
|
21
|
-
var
|
|
21
|
+
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
22
22
|
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); }
|
|
23
|
+
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
24
|
+
if (!_featureGateJsClient.default.initializeCompleted()) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
29
|
+
var isEnabled = _featureGateJsClient.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
30
|
+
return isEnabled;
|
|
31
|
+
};
|
|
23
32
|
var input = null;
|
|
24
33
|
var inputNew = null;
|
|
25
34
|
var textFieldWrapperNew = null;
|
|
@@ -71,7 +80,7 @@ var EmojiPickerListSearch = exports.EmojiPickerListSearch = function EmojiPicker
|
|
|
71
80
|
role: "status"
|
|
72
81
|
}, dirty ? query === '' ? formatMessage(_i18n.messages.searchResultsStatusSeeAll) : formatMessage(_i18n.messages.searchResultsStatus, {
|
|
73
82
|
count: resultsCount
|
|
74
|
-
}) : null), (
|
|
83
|
+
}) : null), isRefreshEmojiPickerEnabled() ? /*#__PURE__*/_react.default.createElement("div", {
|
|
75
84
|
className: (0, _runtime.ax)(["_n6341l7x _18z11b66"])
|
|
76
85
|
}, /*#__PURE__*/_react.default.createElement(_textfield.default, {
|
|
77
86
|
role: "searchbox",
|
|
@@ -14,12 +14,21 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
var _reactVirtual = require("@tanstack/react-virtual");
|
|
16
16
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
|
-
var
|
|
17
|
+
var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gate-js-client"));
|
|
18
18
|
var _useEmojiPickerListContext = require("../../hooks/useEmojiPickerListContext");
|
|
19
19
|
var _constants = require("../../util/constants");
|
|
20
20
|
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); }
|
|
21
21
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
22
22
|
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; }
|
|
23
|
+
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
24
|
+
if (!_featureGateJsClient.default.initializeCompleted()) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
29
|
+
var isEnabled = _featureGateJsClient.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
30
|
+
return isEnabled;
|
|
31
|
+
};
|
|
23
32
|
var virtualList = null;
|
|
24
33
|
var virtualRowStyle = null;
|
|
25
34
|
var virtualListScrollContainerTestId = exports.virtualListScrollContainerTestId = 'virtual-list-scroll-container';
|
|
@@ -65,7 +74,7 @@ var VirtualList = exports.VirtualList = /*#__PURE__*/_react.default.forwardRef(f
|
|
|
65
74
|
var elemBottom = elementRect.bottom;
|
|
66
75
|
var parentTop = parentRect.top;
|
|
67
76
|
var parentBottom = parentRect.bottom;
|
|
68
|
-
var isVisible = (
|
|
77
|
+
var isVisible = isRefreshEmojiPickerEnabled() ? elemTop >= parentTop && elemBottom <= parentBottom : elemBottom > parentTop && elemTop < parentBottom;
|
|
69
78
|
return isVisible;
|
|
70
79
|
};
|
|
71
80
|
var getFirstVisibleListElementIndex = (0, _react.useCallback)(function () {
|
|
@@ -84,7 +93,7 @@ var VirtualList = exports.VirtualList = /*#__PURE__*/_react.default.forwardRef(f
|
|
|
84
93
|
var _virtualList$firstVis;
|
|
85
94
|
return ((_virtualList$firstVis = virtualList[firstVisibleIndex]) === null || _virtualList$firstVis === void 0 ? void 0 : _virtualList$firstVis.index) || 0;
|
|
86
95
|
}
|
|
87
|
-
return (
|
|
96
|
+
return isRefreshEmojiPickerEnabled() ? ((_virtualList$ = virtualList[0]) === null || _virtualList$ === void 0 ? void 0 : _virtualList$.index) || 0 : 0;
|
|
88
97
|
}, [rowVirtualizer]);
|
|
89
98
|
|
|
90
99
|
/**
|
|
@@ -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.4.
|
|
23
|
+
packageVersion: "71.4.7"
|
|
24
24
|
}, attributes)
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -7,7 +7,7 @@ import { tokenizerRegex } from './EmojiRepositoryRegex';
|
|
|
7
7
|
import { createSearchEmojiComparator, createUsageOnlyEmojiComparator } from './internal/Comparators';
|
|
8
8
|
import { UsageFrequencyTracker } from './internal/UsageFrequencyTracker';
|
|
9
9
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
|
-
import
|
|
10
|
+
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
11
11
|
// FS-1097 - duplicated in mentions - extract at some point into a shared library
|
|
12
12
|
class Tokenizer {
|
|
13
13
|
tokenize(text) {
|
|
@@ -93,6 +93,15 @@ const findEmojiIndex = (emojis, toFind) => {
|
|
|
93
93
|
return match;
|
|
94
94
|
};
|
|
95
95
|
const teamojiRefreshExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
|
|
96
|
+
const isRefreshEmojiPickerEnabled = () => {
|
|
97
|
+
if (!FeatureGates.initializeCompleted()) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
102
|
+
const isEnabled = FeatureGates.getExperimentValue(teamojiRefreshExperimentName, 'isEnabled', false);
|
|
103
|
+
return isEnabled;
|
|
104
|
+
};
|
|
96
105
|
export default class EmojiRepository {
|
|
97
106
|
// protected to allow subclasses to access (for testing and storybooks).
|
|
98
107
|
|
|
@@ -168,7 +177,7 @@ export default class EmojiRepository {
|
|
|
168
177
|
findInCategory(categoryId) {
|
|
169
178
|
if (categoryId === frequentCategory) {
|
|
170
179
|
return this.getFrequentlyUsed();
|
|
171
|
-
} else if (
|
|
180
|
+
} else if (isRefreshEmojiPickerEnabled() && categoryId === 'ATLASSIAN') {
|
|
172
181
|
return this.all().emojis.filter(emoji => emoji.type === 'ATLASSIAN');
|
|
173
182
|
} else {
|
|
174
183
|
return this.all().emojis.filter(emoji => emoji.category === categoryId);
|
|
@@ -288,7 +297,7 @@ export default class EmojiRepository {
|
|
|
288
297
|
this.asciiMap = new Map();
|
|
289
298
|
const categorySet = new Set();
|
|
290
299
|
this.emojis.forEach(emoji => {
|
|
291
|
-
categorySet.add(this.getDynamicCategoryForEmoji(emoji,
|
|
300
|
+
categorySet.add(this.getDynamicCategoryForEmoji(emoji, isRefreshEmojiPickerEnabled()));
|
|
292
301
|
this.addToMaps(emoji);
|
|
293
302
|
});
|
|
294
303
|
if (this.usageTracker.getOrder().length) {
|
|
@@ -302,7 +311,7 @@ export default class EmojiRepository {
|
|
|
302
311
|
this.fullSearch.searchIndex = new UnorderedSearchIndex();
|
|
303
312
|
this.fullSearch.addIndex('name');
|
|
304
313
|
this.fullSearch.addIndex('shortName');
|
|
305
|
-
if (
|
|
314
|
+
if (isRefreshEmojiPickerEnabled()) {
|
|
306
315
|
this.fullSearch.addIndex('keywords');
|
|
307
316
|
}
|
|
308
317
|
this.fullSearch.addDocuments(this.getAllSearchableEmojis());
|
|
@@ -332,7 +341,7 @@ export default class EmojiRepository {
|
|
|
332
341
|
}
|
|
333
342
|
}
|
|
334
343
|
addToDynamicCategories(emoji) {
|
|
335
|
-
const category = this.getDynamicCategoryForEmoji(emoji,
|
|
344
|
+
const category = this.getDynamicCategoryForEmoji(emoji, isRefreshEmojiPickerEnabled());
|
|
336
345
|
if (defaultCategories.indexOf(category) === -1 && this.dynamicCategoryList.indexOf(category) === -1) {
|
|
337
346
|
this.dynamicCategoryList.push(category);
|
|
338
347
|
}
|
|
@@ -7,7 +7,16 @@ import CrossCircleIcon from '@atlaskit/icon/core/cross-circle';
|
|
|
7
7
|
import { deleteEmojiLabel } from '../../util/constants';
|
|
8
8
|
import { emojiDeleteButton } from './styles';
|
|
9
9
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
10
|
-
import
|
|
10
|
+
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
11
|
+
const isRefreshEmojiPickerEnabled = () => {
|
|
12
|
+
if (!FeatureGates.initializeCompleted()) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
17
|
+
const isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
18
|
+
return isEnabled;
|
|
19
|
+
};
|
|
11
20
|
const styles = {
|
|
12
21
|
boxWrapperStyle: "_1bsbf6fq _4t3if6fq"
|
|
13
22
|
};
|
|
@@ -19,7 +28,7 @@ const refreshedDeleteButton = null;
|
|
|
19
28
|
*/
|
|
20
29
|
export const RENDER_EMOJI_DELETE_BUTTON_TESTID = 'render-emoji-delete-button';
|
|
21
30
|
const DeleteButton = props => {
|
|
22
|
-
const isRefreshEnabled =
|
|
31
|
+
const isRefreshEnabled = isRefreshEmojiPickerEnabled();
|
|
23
32
|
return /*#__PURE__*/React.createElement("span", {
|
|
24
33
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
25
34
|
className: ax(["_3um015vq _1e0c1txw _kqswstnw _154ix0bf _1xi2x0bf _1pbykb7n _13t3idpf", isRefreshEnabled && "_154ir5cr _1xi2r5cr", emojiDeleteButton]),
|
|
@@ -5,7 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import { ax, ix } from "@compiled/react/runtime";
|
|
6
6
|
import { Fragment, useState, useRef, memo, useLayoutEffect, useCallback, useEffect } from 'react';
|
|
7
7
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
|
-
import
|
|
8
|
+
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
9
9
|
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
10
10
|
import EmojiDeletePreview from './EmojiDeletePreview';
|
|
11
11
|
import EmojiUploadPicker from './EmojiUploadPicker';
|
|
@@ -22,6 +22,15 @@ import { emojiPickerAddEmoji } from './styles';
|
|
|
22
22
|
import { DEFAULT_TONE } from '../../util/constants';
|
|
23
23
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
24
24
|
import { layers } from '@atlaskit/theme/constants';
|
|
25
|
+
const isRefreshEmojiPickerEnabled = () => {
|
|
26
|
+
if (!FeatureGates.initializeCompleted()) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
31
|
+
const isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
32
|
+
return isEnabled;
|
|
33
|
+
};
|
|
25
34
|
const styles = {
|
|
26
35
|
icon: "_18u0r5cr _2hwx1i6y"
|
|
27
36
|
};
|
|
@@ -131,7 +140,7 @@ const TonesWrapper = props => {
|
|
|
131
140
|
openProductivityColorSelectorWithKeyboard.current = true;
|
|
132
141
|
}
|
|
133
142
|
}, []);
|
|
134
|
-
const shouldShowProductivityColorSelector = !!(activeCategoryId === 'ATLASSIAN' && productivityColorPreviewEmojis && selectedProductivityColor && onProductivityColorSelected &&
|
|
143
|
+
const shouldShowProductivityColorSelector = !!(activeCategoryId === 'ATLASSIAN' && productivityColorPreviewEmojis && selectedProductivityColor && onProductivityColorSelected && isRefreshEmojiPickerEnabled());
|
|
135
144
|
if (shouldShowProductivityColorSelector) {
|
|
136
145
|
const previewEmoji = (productivityColorPreviewEmojis === null || productivityColorPreviewEmojis === void 0 ? void 0 : productivityColorPreviewEmojis[selectedProductivityColor]) || Object.values(productivityColorPreviewEmojis || {})[0];
|
|
137
146
|
if (!previewEmoji) {
|
|
@@ -210,7 +219,7 @@ export const EmojiActions = props => {
|
|
|
210
219
|
} = props;
|
|
211
220
|
const [showToneSelector, setShowToneSelector] = useState(false);
|
|
212
221
|
const wasProductivityColorSelectorOpen = useRef(false);
|
|
213
|
-
const shouldUseProductivityColorControl = !!(props.activeCategoryId === 'ATLASSIAN' && props.productivityColorPreviewEmojis && props.selectedProductivityColor && props.onProductivityColorSelected &&
|
|
222
|
+
const shouldUseProductivityColorControl = !!(props.activeCategoryId === 'ATLASSIAN' && props.productivityColorPreviewEmojis && props.selectedProductivityColor && props.onProductivityColorSelected && isRefreshEmojiPickerEnabled());
|
|
214
223
|
const onToneOpenHandler = useCallback(() => setShowToneSelector(true), []);
|
|
215
224
|
const onToneCloseHandler = useCallback(() => setShowToneSelector(false), []);
|
|
216
225
|
const onToneToggleHandler = useCallback(() => {
|
|
@@ -242,7 +251,7 @@ export const EmojiActions = props => {
|
|
|
242
251
|
}
|
|
243
252
|
}, [shouldUseProductivityColorControl, showToneSelector]);
|
|
244
253
|
if (uploading) {
|
|
245
|
-
return
|
|
254
|
+
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
246
255
|
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug"])
|
|
247
256
|
}, /*#__PURE__*/React.createElement(EmojiUploadPicker, {
|
|
248
257
|
onUploadCancelled: onUploadCancelled,
|
|
@@ -261,7 +270,7 @@ export const EmojiActions = props => {
|
|
|
261
270
|
}));
|
|
262
271
|
}
|
|
263
272
|
if (emojiToDelete) {
|
|
264
|
-
return
|
|
273
|
+
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
265
274
|
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug"])
|
|
266
275
|
}, /*#__PURE__*/React.createElement(EmojiDeletePreview, {
|
|
267
276
|
emoji: emojiToDelete,
|
|
@@ -275,7 +284,7 @@ export const EmojiActions = props => {
|
|
|
275
284
|
onCloseDelete: onCloseDelete
|
|
276
285
|
}));
|
|
277
286
|
}
|
|
278
|
-
return
|
|
287
|
+
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
279
288
|
"data-testid": emojiActionsTestId,
|
|
280
289
|
onMouseLeave: onMouseLeaveHandler,
|
|
281
290
|
onBlur: fg('platform_suppression_removal_fix_reactions') ? onMouseLeaveHandler : undefined,
|
|
@@ -5,7 +5,7 @@ import "./EmojiDeletePreview.compiled.css";
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { ax, ix } from "@compiled/react/runtime";
|
|
7
7
|
import { Component } from 'react';
|
|
8
|
-
import
|
|
8
|
+
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
9
9
|
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
10
10
|
import AkButton from '@atlaskit/button/new';
|
|
11
11
|
import Heading from '@atlaskit/heading';
|
|
@@ -16,6 +16,15 @@ import CachingEmoji from './CachingEmoji';
|
|
|
16
16
|
import EmojiErrorMessage, { emojiErrorScreenreaderTestId } from './EmojiErrorMessage';
|
|
17
17
|
import RetryableButton from './RetryableButton';
|
|
18
18
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
19
|
+
const isRefreshEmojiPickerEnabled = () => {
|
|
20
|
+
if (!FeatureGates.initializeCompleted()) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
25
|
+
const isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
26
|
+
return isEnabled;
|
|
27
|
+
};
|
|
19
28
|
const deleteFooter = null;
|
|
20
29
|
const deletePreview = null;
|
|
21
30
|
const deleteText = null;
|
|
@@ -78,7 +87,7 @@ class EmojiDeletePreview extends Component {
|
|
|
78
87
|
const {
|
|
79
88
|
formatMessage
|
|
80
89
|
} = intl;
|
|
81
|
-
if (
|
|
90
|
+
if (isRefreshEmojiPickerEnabled()) {
|
|
82
91
|
return /*#__PURE__*/React.createElement(FocusLock, {
|
|
83
92
|
noFocusGuards: true
|
|
84
93
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -6,8 +6,17 @@ import Tooltip from '@atlaskit/tooltip';
|
|
|
6
6
|
import ErrorIcon from '@atlaskit/icon/core/status-error';
|
|
7
7
|
import { ErrorMessage } from '@atlaskit/form';
|
|
8
8
|
import { useIntl } from 'react-intl';
|
|
9
|
-
import
|
|
9
|
+
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
10
10
|
import { messages } from '../i18n';
|
|
11
|
+
const isRefreshEmojiPickerEnabled = () => {
|
|
12
|
+
if (!FeatureGates.initializeCompleted()) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
17
|
+
const isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
18
|
+
return isEnabled;
|
|
19
|
+
};
|
|
11
20
|
const errorMessageStyles = {
|
|
12
21
|
chooseFile: "_1e0c1txw _syaz1tmw _u5f319bv _1bah1y6m",
|
|
13
22
|
delete: "_1e0c1txw _syaz1tmw _4cvr1h6o _1bahesu3 _u5f31b66",
|
|
@@ -38,7 +47,7 @@ const EmojiErrorMessage = props => {
|
|
|
38
47
|
label: formatMessage(messages.error),
|
|
39
48
|
spacing: "spacious",
|
|
40
49
|
testId: emojiErrorIconTestId
|
|
41
|
-
}))) :
|
|
50
|
+
}))) : isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
42
51
|
"data-testid": emojiErrorMessageTestId
|
|
43
52
|
}, /*#__PURE__*/React.createElement(ErrorMessage, null, message)) : /*#__PURE__*/React.createElement("div", {
|
|
44
53
|
"data-testid": emojiErrorMessageTestId,
|
|
@@ -17,10 +17,19 @@ 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
|
|
20
|
+
import FeatureGates from '@atlaskit/feature-gate-js-client';
|
|
21
21
|
import Button from '@atlaskit/button/new';
|
|
22
22
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
23
23
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
24
|
+
const isRefreshEmojiPickerEnabled = () => {
|
|
25
|
+
if (!FeatureGates.initializeCompleted()) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
30
|
+
const isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
31
|
+
return isEnabled;
|
|
32
|
+
};
|
|
24
33
|
const closeEmojiUploadButton = null;
|
|
25
34
|
const uploadAddRowNew = null;
|
|
26
35
|
const emojiUpload = null;
|
|
@@ -56,7 +65,7 @@ const toDefaultUploadName = fileName => {
|
|
|
56
65
|
return sanitizeName(nameWithoutExtension).slice(0, maxNameLength);
|
|
57
66
|
};
|
|
58
67
|
const isSupportedEmojiUploadFileType = file => {
|
|
59
|
-
if (!
|
|
68
|
+
if (!isRefreshEmojiPickerEnabled()) {
|
|
60
69
|
return true;
|
|
61
70
|
}
|
|
62
71
|
if (supportedEmojiUploadMimeTypes.has(file.type)) {
|
|
@@ -103,7 +112,7 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
|
103
112
|
const emojiChooseFileTitleNew = formatMessage(messages.emojiChooseFileDndTitle);
|
|
104
113
|
const isUploading = uploadStatus === UploadStatus.Uploading;
|
|
105
114
|
const addEmojiDisabled = !previewImage || !name || isUploading;
|
|
106
|
-
return
|
|
115
|
+
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
107
116
|
"data-testid": uploadEmojiComponentTestId,
|
|
108
117
|
className: ax(["_ca0qu2gc _u5f3pxbi _n3tdu2gc _19bvpxbi _1e0c1txw _2lx21bp4 _1bah1b1v"])
|
|
109
118
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -114,7 +123,7 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
|
114
123
|
}, previewImage ? /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiPreviewTitle) : /*#__PURE__*/React.createElement(FormattedMessage, messages.addCustomEmojiLabel))), /*#__PURE__*/React.createElement("div", {
|
|
115
124
|
className: ax(["_zulp12x7 _1e0c1txw _2lx21bp4 _1tker0r7"])
|
|
116
125
|
}, /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, () => /*#__PURE__*/React.createElement(FileChooser, {
|
|
117
|
-
label:
|
|
126
|
+
label: isRefreshEmojiPickerEnabled() ? emojiChooseFileTitleNew : emojiChooseFileTitle,
|
|
118
127
|
onChange: onChooseFile,
|
|
119
128
|
onClick: onClick,
|
|
120
129
|
accept: "image/png,image/jpeg,image/gif",
|
|
@@ -197,7 +206,7 @@ const ChooseEmojiFile = /*#__PURE__*/memo(props => {
|
|
|
197
206
|
id: "new-emoji-name-input",
|
|
198
207
|
"aria-required": true
|
|
199
208
|
})), /*#__PURE__*/React.createElement(Text, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.emojiChooseFileScreenReaderDescription, () => /*#__PURE__*/React.createElement(FileChooser, {
|
|
200
|
-
label:
|
|
209
|
+
label: isRefreshEmojiPickerEnabled() ? emojiChooseFileTitleNew : emojiChooseFileTitle,
|
|
201
210
|
onChange: onChooseFile,
|
|
202
211
|
onClick: onClick,
|
|
203
212
|
accept: "image/png,image/jpeg,image/gif",
|
|
@@ -301,7 +310,7 @@ const EmojiUploadPicker = props => {
|
|
|
301
310
|
const onFileLoad = useCallback(file => async f => {
|
|
302
311
|
try {
|
|
303
312
|
setFilename(file.name);
|
|
304
|
-
if (!name &&
|
|
313
|
+
if (!name && isRefreshEmojiPickerEnabled()) {
|
|
305
314
|
setName(toDefaultUploadName(file.name));
|
|
306
315
|
}
|
|
307
316
|
await ImageUtil.parseImage(f.target.result);
|
|
@@ -354,8 +363,8 @@ const EmojiUploadPicker = props => {
|
|
|
354
363
|
const onChooseFileClicked = () => {
|
|
355
364
|
onFileChooserClicked && onFileChooserClicked();
|
|
356
365
|
};
|
|
357
|
-
const isDuplicateNameError = errorMessage !== null && errorMessage !== undefined &&
|
|
358
|
-
const content = name && previewImage && !
|
|
366
|
+
const isDuplicateNameError = errorMessage !== null && errorMessage !== undefined && isRefreshEmojiPickerEnabled();
|
|
367
|
+
const content = name && previewImage && !isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement(EmojiUploadPreview, {
|
|
359
368
|
errorMessage: errorMessage,
|
|
360
369
|
name: name,
|
|
361
370
|
onAddEmoji: onAddEmoji,
|
|
@@ -375,7 +384,7 @@ const EmojiUploadPicker = props => {
|
|
|
375
384
|
nameErrorMessage: isDuplicateNameError ? errorMessage : undefined,
|
|
376
385
|
intl: intl
|
|
377
386
|
});
|
|
378
|
-
return disableFocusLock ||
|
|
387
|
+
return disableFocusLock || isRefreshEmojiPickerEnabled() ? content : /*#__PURE__*/React.createElement(FocusLock, {
|
|
379
388
|
noFocusGuards: true
|
|
380
389
|
}, content);
|
|
381
390
|
};
|