@atlaskit/emoji 72.2.7 → 72.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +27 -0
- package/afm-cc/tsconfig.json +3 -0
- package/afm-products/tsconfig.json +3 -0
- package/dist/cjs/api/EmojiRepository.js +2 -9
- package/dist/cjs/api/EmojiResource.js +2 -11
- package/dist/cjs/api/media/SiteEmojiResource.js +10 -40
- package/dist/cjs/components/common/AddEmoji.js +2 -11
- package/dist/cjs/components/common/DeleteButton.js +2 -11
- package/dist/cjs/components/common/Emoji.js +15 -5
- package/dist/cjs/components/common/EmojiDeletePreview.js +3 -12
- package/dist/cjs/components/common/EmojiErrorMessage.js +2 -11
- package/dist/cjs/components/common/EmojiRadioButton.js +3 -2
- package/dist/cjs/components/common/EmojiUploadPicker.js +10 -19
- package/dist/cjs/components/common/FileChooser.js +3 -12
- package/dist/cjs/components/common/ImageEmoji.js +5 -2
- package/dist/cjs/components/common/TonePreviewButton.js +2 -1
- package/dist/cjs/components/common/ToneSelectorInternal.js +2 -11
- package/dist/cjs/components/common/isRefreshEmojiPickerEnabled.js +2 -14
- package/dist/cjs/components/picker/CategorySelector.js +7 -15
- package/dist/cjs/components/picker/EmojiPickerComponent.js +16 -25
- package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +2 -1
- package/dist/cjs/components/picker/EmojiPickerFooter.js +2 -12
- package/dist/cjs/components/picker/EmojiPickerInternal.js +2 -8
- package/dist/cjs/components/picker/EmojiPickerList.js +2 -12
- package/dist/cjs/components/picker/EmojiPickerListSearch.js +2 -10
- package/dist/cjs/components/picker/VirtualList.js +3 -12
- package/dist/cjs/util/analytics/createEvent.js +1 -1
- package/dist/cjs/util/teamoji26RefreshEmojiPicker.js +17 -0
- package/dist/es2019/api/EmojiRepository.js +2 -9
- package/dist/es2019/api/EmojiResource.js +1 -10
- package/dist/es2019/api/media/SiteEmojiResource.js +9 -39
- package/dist/es2019/components/common/AddEmoji.js +1 -10
- package/dist/es2019/components/common/DeleteButton.js +1 -10
- package/dist/es2019/components/common/Emoji.js +14 -4
- package/dist/es2019/components/common/EmojiDeletePreview.js +1 -10
- package/dist/es2019/components/common/EmojiErrorMessage.js +1 -10
- package/dist/es2019/components/common/EmojiRadioButton.js +3 -2
- package/dist/es2019/components/common/EmojiUploadPicker.js +1 -10
- package/dist/es2019/components/common/FileChooser.js +1 -10
- package/dist/es2019/components/common/ImageEmoji.js +5 -2
- package/dist/es2019/components/common/TonePreviewButton.js +2 -1
- package/dist/es2019/components/common/ToneSelectorInternal.js +1 -10
- package/dist/es2019/components/common/isRefreshEmojiPickerEnabled.js +2 -13
- package/dist/es2019/components/picker/CategorySelector.js +1 -9
- package/dist/es2019/components/picker/EmojiPickerComponent.js +1 -10
- package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +2 -1
- package/dist/es2019/components/picker/EmojiPickerFooter.js +1 -10
- package/dist/es2019/components/picker/EmojiPickerInternal.js +2 -8
- package/dist/es2019/components/picker/EmojiPickerList.js +1 -11
- package/dist/es2019/components/picker/EmojiPickerListSearch.js +1 -9
- package/dist/es2019/components/picker/VirtualList.js +1 -10
- package/dist/es2019/util/analytics/createEvent.js +1 -1
- package/dist/es2019/util/teamoji26RefreshEmojiPicker.js +11 -0
- package/dist/esm/api/EmojiRepository.js +2 -9
- package/dist/esm/api/EmojiResource.js +1 -10
- package/dist/esm/api/media/SiteEmojiResource.js +10 -40
- package/dist/esm/components/common/AddEmoji.js +1 -10
- package/dist/esm/components/common/DeleteButton.js +1 -10
- package/dist/esm/components/common/Emoji.js +15 -5
- package/dist/esm/components/common/EmojiDeletePreview.js +1 -10
- package/dist/esm/components/common/EmojiErrorMessage.js +1 -10
- package/dist/esm/components/common/EmojiRadioButton.js +3 -2
- package/dist/esm/components/common/EmojiUploadPicker.js +1 -10
- package/dist/esm/components/common/FileChooser.js +1 -10
- package/dist/esm/components/common/ImageEmoji.js +5 -2
- package/dist/esm/components/common/TonePreviewButton.js +2 -1
- package/dist/esm/components/common/ToneSelectorInternal.js +1 -10
- package/dist/esm/components/common/isRefreshEmojiPickerEnabled.js +2 -13
- package/dist/esm/components/picker/CategorySelector.js +1 -9
- package/dist/esm/components/picker/EmojiPickerComponent.js +1 -10
- package/dist/esm/components/picker/EmojiPickerEmojiRow.js +2 -1
- package/dist/esm/components/picker/EmojiPickerFooter.js +1 -10
- package/dist/esm/components/picker/EmojiPickerInternal.js +2 -8
- package/dist/esm/components/picker/EmojiPickerList.js +1 -11
- package/dist/esm/components/picker/EmojiPickerListSearch.js +1 -9
- package/dist/esm/components/picker/VirtualList.js +1 -10
- package/dist/esm/util/analytics/createEvent.js +1 -1
- package/dist/esm/util/teamoji26RefreshEmojiPicker.js +11 -0
- package/dist/types/components/common/Emoji.d.ts +5 -0
- package/dist/types/components/common/isRefreshEmojiPickerEnabled.d.ts +0 -4
- package/dist/types/util/teamoji26RefreshEmojiPicker.d.ts +4 -0
- package/package.json +9 -4
|
@@ -9,7 +9,6 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
9
9
|
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; }
|
|
10
10
|
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) { _defineProperty(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; }
|
|
11
11
|
import { getMediaClient } from '@atlaskit/media-client-react/get-media-client';
|
|
12
|
-
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
13
12
|
import { utils as serviceUtils } from '@atlaskit/util-service-support';
|
|
14
13
|
import { buildEmojiDescriptionWithAltRepresentation } from '../../util/build-emoji-description-with-alt-representation';
|
|
15
14
|
import { convertImageToMediaRepresentation } from '../../util/convert-image-to-media-representation';
|
|
@@ -188,41 +187,10 @@ var SiteEmojiResource = /*#__PURE__*/function () {
|
|
|
188
187
|
},
|
|
189
188
|
useSha256ForUploads: true
|
|
190
189
|
});
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
collectionName: collectionName
|
|
196
|
-
}).subscribe({
|
|
197
|
-
next: function next(state) {
|
|
198
|
-
if (state.status === 'uploading' && progressCallback) {
|
|
199
|
-
progressCallback({
|
|
200
|
-
percent: state.progress * mediaProportionOfProgress
|
|
201
|
-
});
|
|
202
|
-
} else if (state.status === 'processing' || state.status === 'processed') {
|
|
203
|
-
subscription.unsubscribe();
|
|
204
|
-
var totalUploadTime = Date.now() - startTime;
|
|
205
|
-
var mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
206
|
-
debug('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
207
|
-
_this2.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(function (emoji) {
|
|
208
|
-
resolve(emoji);
|
|
209
|
-
}).catch(function (httpError) {
|
|
210
|
-
reject(httpError.reason || httpError);
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
},
|
|
214
|
-
error: function error(_error) {
|
|
215
|
-
reject(_error);
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
}).catch(function (error) {
|
|
219
|
-
reject(error);
|
|
220
|
-
});
|
|
221
|
-
} else {
|
|
222
|
-
var subscription = mediaClient.file.upload({
|
|
223
|
-
content: upload.dataURL,
|
|
224
|
-
name: upload.filename,
|
|
225
|
-
collection: collectionName
|
|
190
|
+
mediaClient.file.uploadExternal(upload.dataURL, collectionName, undefined, true).then(function (_ref3) {
|
|
191
|
+
var uploadableFileUpfrontIds = _ref3.uploadableFileUpfrontIds;
|
|
192
|
+
var subscription = mediaClient.file.getFileState(uploadableFileUpfrontIds.id, {
|
|
193
|
+
collectionName: collectionName
|
|
226
194
|
}).subscribe({
|
|
227
195
|
next: function next(state) {
|
|
228
196
|
if (state.status === 'uploading' && progressCallback) {
|
|
@@ -234,18 +202,20 @@ var SiteEmojiResource = /*#__PURE__*/function () {
|
|
|
234
202
|
var totalUploadTime = Date.now() - startTime;
|
|
235
203
|
var mediaUploadTime = totalUploadTime - tokenLoadTime;
|
|
236
204
|
debug('total upload / media upload times', totalUploadTime, mediaUploadTime);
|
|
237
|
-
_this2.postToEmojiService(upload,
|
|
205
|
+
_this2.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(function (emoji) {
|
|
238
206
|
resolve(emoji);
|
|
239
207
|
}).catch(function (httpError) {
|
|
240
208
|
reject(httpError.reason || httpError);
|
|
241
209
|
});
|
|
242
210
|
}
|
|
243
211
|
},
|
|
244
|
-
error: function error(
|
|
245
|
-
reject(
|
|
212
|
+
error: function error(_error) {
|
|
213
|
+
reject(_error);
|
|
246
214
|
}
|
|
247
215
|
});
|
|
248
|
-
}
|
|
216
|
+
}).catch(function (error) {
|
|
217
|
+
reject(error);
|
|
218
|
+
});
|
|
249
219
|
});
|
|
250
220
|
});
|
|
251
221
|
}
|
|
@@ -4,21 +4,12 @@ import * as React from 'react';
|
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import { Fragment, useCallback } from 'react';
|
|
6
6
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
7
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
8
7
|
import { FormattedMessage } from 'react-intl';
|
|
9
8
|
import { messages } from '../i18n';
|
|
10
9
|
import Button from '@atlaskit/button/default/button';
|
|
10
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
11
11
|
export var emojiActionsTestId = 'emoji-actions';
|
|
12
12
|
export var uploadEmojiTestId = 'upload-emoji';
|
|
13
|
-
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
14
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
19
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
20
|
-
return isEnabled;
|
|
21
|
-
};
|
|
22
13
|
var addCustomEmoji = null;
|
|
23
14
|
|
|
24
15
|
// Generic Type for the wrapped functional component
|
|
@@ -7,16 +7,7 @@ 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
|
|
11
|
-
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
12
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
17
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
18
|
-
return isEnabled;
|
|
19
|
-
};
|
|
10
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
20
11
|
var styles = {
|
|
21
12
|
boxWrapperStyle: "_1bsbf6fq _4t3if6fq"
|
|
22
13
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* Emoji.tsx generated by @compiled/babel-plugin v2.0.0 */
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["emoji", "fitToHeight", "selected", "selectOnHover", "className", "showTooltip", "showDelete", "shouldBeInteractive", "tabIndex", "onSelected", "onMouseMove", "onFocus", "onDelete", "onLoadError", "onLoadSuccess", "disableLazyLoad", "autoWidth", "children", "type", "editorEmoji", "renderUnicodeEmojiAsImage"];
|
|
4
|
+
var _excluded = ["emoji", "fitToHeight", "selected", "selectOnHover", "className", "showTooltip", "showDelete", "shouldBeInteractive", "tabIndex", "onSelected", "onMouseMove", "onFocus", "onDelete", "onLoadError", "onLoadSuccess", "disableLazyLoad", "autoWidth", "children", "type", "editorEmoji", "renderUnicodeEmojiAsImage", "isDecorative"];
|
|
5
5
|
import "./Emoji.compiled.css";
|
|
6
6
|
import { ax, ix } from "@compiled/react/runtime";
|
|
7
7
|
import React, { useEffect, useContext, forwardRef } from 'react';
|
|
@@ -23,6 +23,7 @@ import { handleDelete } from './handleDelete';
|
|
|
23
23
|
import { ImageEmoji } from './ImageEmoji';
|
|
24
24
|
import { SpriteEmoji } from './SpriteEmoji';
|
|
25
25
|
import { UnicodeEmoji } from './UnicodeEmoji';
|
|
26
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
26
27
|
var emojiSpriteContainer = null;
|
|
27
28
|
var emojiImageContainer = null;
|
|
28
29
|
|
|
@@ -75,7 +76,6 @@ var handleFocus = function handleFocus(props, event) {
|
|
|
75
76
|
}
|
|
76
77
|
};
|
|
77
78
|
export var EmojiNodeWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
78
|
-
var _emoji$name;
|
|
79
79
|
var emoji = props.emoji,
|
|
80
80
|
fitToHeight = props.fitToHeight,
|
|
81
81
|
selected = props.selected,
|
|
@@ -98,11 +98,21 @@ export var EmojiNodeWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
98
98
|
type = props.type,
|
|
99
99
|
editorEmoji = props.editorEmoji,
|
|
100
100
|
renderUnicodeEmojiAsImage = props.renderUnicodeEmojiAsImage,
|
|
101
|
+
isDecorative = props.isDecorative,
|
|
101
102
|
other = _objectWithoutProperties(props, _excluded);
|
|
102
103
|
var intl = useContext(IntlContext);
|
|
103
|
-
var
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
var isAriaLabelEmpty = editorEmoji || isDecorative && fg('emoji_decorative_label');
|
|
105
|
+
var ariaLabel;
|
|
106
|
+
if (isAriaLabelEmpty) {
|
|
107
|
+
ariaLabel = undefined;
|
|
108
|
+
} else if (intl) {
|
|
109
|
+
var _emoji$name;
|
|
110
|
+
ariaLabel = intl.formatMessage(messages.changeEmojiShortnameButtonLabel, {
|
|
111
|
+
shortName: (_emoji$name = emoji.name) !== null && _emoji$name !== void 0 ? _emoji$name : emoji.shortName
|
|
112
|
+
});
|
|
113
|
+
} else {
|
|
114
|
+
ariaLabel = emoji.shortName;
|
|
115
|
+
}
|
|
106
116
|
var tooltipContent = showTooltip && expValEquals('platform_editor_emoji_hover_show_tooltip', 'isEnabled', true) ? emoji.shortName || emoji.name || undefined : undefined;
|
|
107
117
|
var emojiSpan = /*#__PURE__*/React.createElement("span", _extends({
|
|
108
118
|
role: editorEmoji ? undefined : shouldBeInteractive ? 'button' : ariaLabel ? 'img' : 'presentation',
|
|
@@ -12,7 +12,6 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
12
12
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
13
13
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
14
14
|
import { Component } from 'react';
|
|
15
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
16
15
|
import { FormattedMessage, injectIntl } from 'react-intl';
|
|
17
16
|
import AkButton from '@atlaskit/button/default/button';
|
|
18
17
|
import Heading from '@atlaskit/heading/heading';
|
|
@@ -23,15 +22,7 @@ import CachingEmoji from './CachingEmoji';
|
|
|
23
22
|
import EmojiErrorMessage, { emojiErrorScreenreaderTestId } from './EmojiErrorMessage';
|
|
24
23
|
import RetryableButton from './RetryableButton';
|
|
25
24
|
import VisuallyHidden from '@atlaskit/visually-hidden/visually-hidden';
|
|
26
|
-
|
|
27
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
32
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
33
|
-
return isEnabled;
|
|
34
|
-
};
|
|
25
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
35
26
|
var deleteFooter = null;
|
|
36
27
|
var deletePreview = null;
|
|
37
28
|
var deleteText = null;
|
|
@@ -6,17 +6,8 @@ import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
|
6
6
|
import ErrorIcon from '@atlaskit/icon/core/status-error';
|
|
7
7
|
import { ErrorMessage } from '@atlaskit/form/error-message';
|
|
8
8
|
import { useIntl } from 'react-intl';
|
|
9
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
10
9
|
import { messages } from '../i18n';
|
|
11
|
-
|
|
12
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
17
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
18
|
-
return isEnabled;
|
|
19
|
-
};
|
|
10
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
20
11
|
var errorMessageStyles = {
|
|
21
12
|
chooseFile: "_1e0c1txw _syaz1tmw _u5f319bv _1bah1y6m",
|
|
22
13
|
delete: "_1e0c1txw _syaz1tmw _4cvr1h6o _1bahesu3 _u5f31b66",
|
|
@@ -4,6 +4,7 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
4
4
|
import React, { memo, forwardRef } from 'react';
|
|
5
5
|
import Emoji from './Emoji';
|
|
6
6
|
import { TONESELECTOR_KEYBOARD_KEYS_SUPPORTED } from '../../util/constants';
|
|
7
|
+
import { isTeamoji26RefreshEmojiPickerEnabledNoExposure } from '../../util/teamoji26RefreshEmojiPicker';
|
|
7
8
|
import VisuallyHidden from '@atlaskit/visually-hidden/visually-hidden';
|
|
8
9
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
9
10
|
var emojiButton = null;
|
|
@@ -11,7 +12,7 @@ var emojiRadio = {
|
|
|
11
12
|
default: "_tzy4idpf _kqswstnw _154i14id _1ltv14id _3y8mfajl _157z1r31 _1dzmglyw _1sqm1o36 _fh6w1y54 _1i1213zc"
|
|
12
13
|
};
|
|
13
14
|
var handleKeyDown = function handleKeyDown(props, event) {
|
|
14
|
-
if ((event.key === 'ArrowLeft' || event.key === 'ArrowRight') &&
|
|
15
|
+
if ((event.key === 'ArrowLeft' || event.key === 'ArrowRight') && isTeamoji26RefreshEmojiPickerEnabledNoExposure()) {
|
|
15
16
|
var _props$onArrowKey;
|
|
16
17
|
event.preventDefault();
|
|
17
18
|
event.stopPropagation();
|
|
@@ -48,7 +49,7 @@ export var EmojiRadioButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
48
49
|
onKeyDown: function onKeyDown(event) {
|
|
49
50
|
return handleKeyDown(props, event);
|
|
50
51
|
},
|
|
51
|
-
onChange:
|
|
52
|
+
onChange: isTeamoji26RefreshEmojiPickerEnabledNoExposure() ? function (e) {
|
|
52
53
|
return e.preventDefault();
|
|
53
54
|
} : undefined,
|
|
54
55
|
className: ax([emojiRadio.default])
|
|
@@ -21,20 +21,11 @@ import EmojiUploadPreview from './EmojiUploadPreview';
|
|
|
21
21
|
import FileChooser from './FileChooser';
|
|
22
22
|
import { UploadStatus } from './internal-types';
|
|
23
23
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
24
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
25
24
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
26
25
|
import Button from '@atlaskit/button/default/button';
|
|
27
26
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
28
27
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
29
|
-
|
|
30
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
35
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
36
|
-
return isEnabled;
|
|
37
|
-
};
|
|
28
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
38
29
|
var closeEmojiUploadButton = null;
|
|
39
30
|
var uploadAddRowNew = null;
|
|
40
31
|
var emojiUpload = null;
|
|
@@ -8,16 +8,7 @@ import UploadIcon from '@atlaskit/icon/core/upload';
|
|
|
8
8
|
import { dropTargetForExternal } from '@atlaskit/pragmatic-drag-and-drop/adapter/drop-target-for-external';
|
|
9
9
|
import { containsFiles } from '@atlaskit/pragmatic-drag-and-drop/utils/contains-files';
|
|
10
10
|
import { getFiles } from '@atlaskit/pragmatic-drag-and-drop/utils/get-files';
|
|
11
|
-
import
|
|
12
|
-
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
13
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
18
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
19
|
-
return isEnabled;
|
|
20
|
-
};
|
|
11
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
21
12
|
export var chooseFileButtonTestId = 'choose-file-button';
|
|
22
13
|
export var fileUploadInputTestId = 'file-upload';
|
|
23
14
|
export var dropzoneTestId = 'file-dropzone';
|
|
@@ -20,6 +20,7 @@ import DeleteButton from './DeleteButton';
|
|
|
20
20
|
import { EmojiNodeWrapper } from './Emoji';
|
|
21
21
|
import { handleDelete } from './handleDelete';
|
|
22
22
|
import { emojiNodeStyles, commonSelectedStyles, selectOnHoverStyles, emojiMainStyle, emojiImage, deletableEmoji } from './styles';
|
|
23
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
23
24
|
var handleImageError = function handleImageError(props, event) {
|
|
24
25
|
var emoji = props.emoji,
|
|
25
26
|
onLoadError = props.onLoadError;
|
|
@@ -44,7 +45,8 @@ export var ImageEmoji = function ImageEmoji(props) {
|
|
|
44
45
|
showDelete = props.showDelete,
|
|
45
46
|
onLoadSuccess = props.onLoadSuccess,
|
|
46
47
|
disableLazyLoad = props.disableLazyLoad,
|
|
47
|
-
autoWidth = props.autoWidth
|
|
48
|
+
autoWidth = props.autoWidth,
|
|
49
|
+
isDecorative = props.isDecorative;
|
|
48
50
|
var _useInView = useInView({
|
|
49
51
|
triggerOnce: true
|
|
50
52
|
}),
|
|
@@ -131,11 +133,12 @@ export var ImageEmoji = function ImageEmoji(props) {
|
|
|
131
133
|
onBeforeLoad();
|
|
132
134
|
}
|
|
133
135
|
}, [inView, onBeforeLoad]);
|
|
136
|
+
var imgAlt = isDecorative && fg('emoji_decorative_label') ? '' : emoji.name || emoji.shortName || '';
|
|
134
137
|
var emojiNode = /*#__PURE__*/React.createElement("img", _extends({
|
|
135
138
|
loading: disableLazyLoad ? 'eager' : 'lazy',
|
|
136
139
|
src: src,
|
|
137
140
|
key: src,
|
|
138
|
-
alt:
|
|
141
|
+
alt: imgAlt,
|
|
139
142
|
"data-emoji-short-name": emoji.shortName,
|
|
140
143
|
"data-emoji-id": emoji.id,
|
|
141
144
|
"data-emoji-text": emoji.fallback || emoji.shortName
|
|
@@ -3,6 +3,7 @@ import "./TonePreviewButton.compiled.css";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import { forwardRef, memo } from 'react';
|
|
6
|
+
import { isTeamoji26RefreshEmojiPickerEnabledNoExposure } from '../../util/teamoji26RefreshEmojiPicker';
|
|
6
7
|
import Emoji from './Emoji';
|
|
7
8
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
8
9
|
export var tonePreviewTestId = 'tone-preview';
|
|
@@ -22,7 +23,7 @@ export var TonePreviewButton = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
22
23
|
_props$isVisible = props.isVisible,
|
|
23
24
|
isVisible = _props$isVisible === void 0 ? true : _props$isVisible;
|
|
24
25
|
var fitToHeight = expValEqualsNoExposure('platform_use_unicode_emojis', 'isEnabled', true) ? 24 : undefined;
|
|
25
|
-
return
|
|
26
|
+
return isTeamoji26RefreshEmojiPickerEnabledNoExposure() ? /*#__PURE__*/React.createElement("button", {
|
|
26
27
|
ref: ref,
|
|
27
28
|
onClick: onSelected,
|
|
28
29
|
onKeyDown: onKeyDown,
|
|
@@ -7,7 +7,6 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
7
7
|
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) { _defineProperty(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; }
|
|
8
8
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
9
9
|
import { useIntl } from 'react-intl';
|
|
10
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
11
10
|
import { createAndFireEventInElementsChannel } from '../../util/analytics/analytics';
|
|
12
11
|
import { toneSelectedEvent } from '../../util/analytics/toneSelectedEvent';
|
|
13
12
|
import { toneSelectorOpenedEvent } from '../../util/analytics/toneSelectorOpenedEvent';
|
|
@@ -15,15 +14,7 @@ import { messages } from '../i18n';
|
|
|
15
14
|
import EmojiRadioButton from './EmojiRadioButton';
|
|
16
15
|
import { toneSelectorTestId } from './ToneSelector';
|
|
17
16
|
import { setSkinToneAriaLabelText } from './setSkinToneAriaLabelText';
|
|
18
|
-
|
|
19
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
20
|
-
return false;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
24
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
25
|
-
return isEnabled;
|
|
26
|
-
};
|
|
17
|
+
import { isRefreshEmojiPickerEnabled } from './isRefreshEmojiPickerEnabled';
|
|
27
18
|
var hidden = null;
|
|
28
19
|
var extractAllTones = function extractAllTones(emoji) {
|
|
29
20
|
if (emoji.skinVariations) {
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @jsxRuntime classic
|
|
3
|
-
* @jsx jsx
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
1
|
+
import { isTeamoji26RefreshEmojiPickerEnabled } from '../../util/teamoji26RefreshEmojiPicker';
|
|
7
2
|
export var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
8
|
-
|
|
9
|
-
return false;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
13
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
14
|
-
return isEnabled;
|
|
3
|
+
return isTeamoji26RefreshEmojiPickerEnabled();
|
|
15
4
|
};
|
|
@@ -17,15 +17,7 @@ import { categorySelectorCategoryTestId } from './categorySelectorCategoryTestId
|
|
|
17
17
|
import { RENDER_EMOJI_PICKER_LIST_TESTID } from './EmojiPickerList';
|
|
18
18
|
import { sortCategories } from './sortCategories';
|
|
19
19
|
import { sortCategoriesNew } from './sortCategoriesNew';
|
|
20
|
-
|
|
21
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
26
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
27
|
-
return isEnabled;
|
|
28
|
-
};
|
|
20
|
+
import { isRefreshEmojiPickerEnabled } from '../common/isRefreshEmojiPickerEnabled';
|
|
29
21
|
var isEmojiPickerInitialFocusFixEnabled = function isEmojiPickerInitialFocusFixEnabled() {
|
|
30
22
|
if (!FeatureGates.initializeCompleted()) {
|
|
31
23
|
return false;
|
|
@@ -13,7 +13,6 @@ import { useCallback, useEffect, useMemo, useRef, useState, createRef, memo } fr
|
|
|
13
13
|
import { unstable_batchedUpdates as batchedUpdates } from 'react-dom';
|
|
14
14
|
import { FormattedMessage, useIntl } from 'react-intl';
|
|
15
15
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
16
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
17
16
|
import { combine } from '@atlaskit/pragmatic-drag-and-drop/utils/combine';
|
|
18
17
|
import { dropTargetForExternal } from '@atlaskit/pragmatic-drag-and-drop/adapter/drop-target-for-external';
|
|
19
18
|
import { monitorForExternal } from '@atlaskit/pragmatic-drag-and-drop/adapter/monitor-for-external';
|
|
@@ -49,19 +48,11 @@ import { isPromise } from '../../util/is-promise';
|
|
|
49
48
|
import { defaultProductivityColor, getStoredProductivityColor, storeProductivityColor } from '../../util/productivity-colors';
|
|
50
49
|
import { createRecordSelectionDefault } from '../common/RecordSelectionDefault';
|
|
51
50
|
import { uploadEmoji } from '../common/UploadEmoji';
|
|
51
|
+
import { isRefreshEmojiPickerEnabled } from '../common/isRefreshEmojiPickerEnabled';
|
|
52
52
|
import { messages } from '../i18n';
|
|
53
53
|
import CategorySelector from './CategorySelector';
|
|
54
54
|
import EmojiPickerFooter from './EmojiPickerFooter';
|
|
55
55
|
import { EmojiPickerVirtualListInternal as EmojiPickerList } from './EmojiPickerList';
|
|
56
|
-
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
57
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
62
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
63
|
-
return isEnabled;
|
|
64
|
-
};
|
|
65
56
|
var emojiPickerBoxShadow = "var(--ds-shadow-overlay, 0px 8px 12px #1E1F2126, 0px 0px 1px #1E1F214f)";
|
|
66
57
|
var emojiPickerHeight = 295;
|
|
67
58
|
var emojiPickerHeightWithPreview = 349; // emojiPickerHeight + emojiPickerPreviewHeight;
|
|
@@ -6,6 +6,7 @@ import { memo } from 'react';
|
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
7
|
import CachingEmoji from '../common/CachingEmoji';
|
|
8
8
|
import { useEmojiPickerListContext } from '../../hooks/useEmojiPickerListContext';
|
|
9
|
+
import { isTeamoji26RefreshEmojiPickerEnabledNoExposure } from '../../util/teamoji26RefreshEmojiPicker';
|
|
9
10
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
10
11
|
import { messages } from '../i18n';
|
|
11
12
|
var emojiItem = null;
|
|
@@ -27,7 +28,7 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
|
|
|
27
28
|
var _useIntl = useIntl(),
|
|
28
29
|
formatMessage = _useIntl.formatMessage;
|
|
29
30
|
var fitToHeight = expValEqualsNoExposure('platform_use_unicode_emojis', 'isEnabled', true) ? 24 : undefined;
|
|
30
|
-
var preventFocusOnMouseDown =
|
|
31
|
+
var preventFocusOnMouseDown = isTeamoji26RefreshEmojiPickerEnabledNoExposure();
|
|
31
32
|
var handleFocus = function handleFocus(index) {
|
|
32
33
|
return function (emojiId, emoji, event) {
|
|
33
34
|
setEmojisFocus({
|
|
@@ -7,16 +7,7 @@ import { useIntl } from 'react-intl';
|
|
|
7
7
|
import { Box } from '@atlaskit/primitives/compiled';
|
|
8
8
|
import { EmojiPreviewComponent } from '../common/EmojiPreviewComponent';
|
|
9
9
|
import { AddOwnEmoji } from '../common/AddEmoji';
|
|
10
|
-
import
|
|
11
|
-
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
12
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
17
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
18
|
-
return isEnabled;
|
|
19
|
-
};
|
|
10
|
+
import { isRefreshEmojiPickerEnabled } from '../common/isRefreshEmojiPickerEnabled';
|
|
20
11
|
var emojiPickerFooter = null;
|
|
21
12
|
var emojiPickerFooterWithTopShadow = null;
|
|
22
13
|
var emojiPickerFooterWithTopShadowNew = null;
|
|
@@ -12,22 +12,16 @@ import { ax, ix } from "@compiled/react/runtime";
|
|
|
12
12
|
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
13
13
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
14
14
|
import React from 'react';
|
|
15
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
16
15
|
import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
|
|
17
16
|
import { ufoExperiences } from '../../util/analytics/ufoExperiences';
|
|
18
17
|
import { defaultEmojiPickerSize } from '../../util/constants';
|
|
18
|
+
import { isTeamoji26RefreshEmojiPickerEnabled } from '../../util/teamoji26RefreshEmojiPicker';
|
|
19
19
|
import LoadingEmojiComponent from '../common/LoadingEmojiComponent';
|
|
20
20
|
import { UfoErrorBoundary } from '../common/UfoErrorBoundary';
|
|
21
21
|
import { LoadingItem } from './LoadingItem';
|
|
22
22
|
import { emojiPickerLoader } from './emojiPickerLoader';
|
|
23
23
|
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
24
|
-
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
29
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
30
|
-
return isEnabled;
|
|
24
|
+
return isTeamoji26RefreshEmojiPickerEnabled();
|
|
31
25
|
};
|
|
32
26
|
var emojiPicker = null;
|
|
33
27
|
var emojiPickerNew = null;
|
|
@@ -2,12 +2,12 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
3
|
import React, { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { useIntl } from 'react-intl';
|
|
5
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
6
5
|
import { EmojiPickerListContextProvider } from '../../context/EmojiPickerListContext';
|
|
7
6
|
import { customCategory, defaultEmojiPickerSize, emojiPickerPreviewHeight, frequentCategory, searchCategory, userCustomTitle, yourUploadsCategory } from '../../util/constants';
|
|
8
7
|
import { filterHiddenEmojis } from '../../util/filter-hidden-emojis';
|
|
9
8
|
import { filterProductivityEmojisByColor, getProductivityColorPreviewEmojis } from '../../util/productivity-colors';
|
|
10
9
|
import EmojiActions from '../common/EmojiActions';
|
|
10
|
+
import { isRefreshEmojiPickerEnabled } from '../common/isRefreshEmojiPickerEnabled';
|
|
11
11
|
import { messages } from '../i18n';
|
|
12
12
|
import { CategoryDescriptionMap, CategoryDescriptionMapNew } from './categories';
|
|
13
13
|
import { CategoryHeadingItem } from './CategoryHeadingItem';
|
|
@@ -27,16 +27,6 @@ import { virtualItemRenderer } from './virtualItemRenderer';
|
|
|
27
27
|
*/
|
|
28
28
|
export var RENDER_EMOJI_PICKER_LIST_TESTID = 'render-emoji-picker-list';
|
|
29
29
|
var categoryClassname = 'emoji-category';
|
|
30
|
-
var teamojiRefreshExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
|
|
31
|
-
var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
|
|
32
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
37
|
-
var isEnabled = FeatureGates.getExperimentValue(teamojiRefreshExperimentName, 'isEnabled', false);
|
|
38
|
-
return isEnabled;
|
|
39
|
-
};
|
|
40
30
|
var atlassianCategory = 'ATLASSIAN';
|
|
41
31
|
var productivityAtlassianSubcategory = 'Productivity';
|
|
42
32
|
var atlassianSubcategoryOrder = ['Faces', 'Hands', 'Reactions', 'Objects', productivityAtlassianSubcategory, 'Logos'];
|
|
@@ -11,15 +11,7 @@ import { useDebouncedCallback } from 'use-debounce';
|
|
|
11
11
|
import { EMOJI_SEARCH_DEBOUNCE } from '../../util/constants';
|
|
12
12
|
import { messages } from '../i18n';
|
|
13
13
|
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
14
|
-
|
|
15
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
16
|
-
return false;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
20
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
21
|
-
return isEnabled;
|
|
22
|
-
};
|
|
14
|
+
import { isRefreshEmojiPickerEnabled } from '../common/isRefreshEmojiPickerEnabled';
|
|
23
15
|
var isEmojiPickerInitialFocusFixEnabled = function isEmojiPickerInitialFocusFixEnabled() {
|
|
24
16
|
if (!FeatureGates.initializeCompleted()) {
|
|
25
17
|
return false;
|
|
@@ -6,18 +6,9 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
6
6
|
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) { _defineProperty(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; }
|
|
7
7
|
import React, { useCallback, useImperativeHandle } from 'react';
|
|
8
8
|
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
9
|
-
import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
|
|
10
9
|
import { useEmojiPickerListContext } from '../../hooks/useEmojiPickerListContext';
|
|
11
10
|
import { EMOJIPICKERLIST_KEYBOARD_KEYS_SUPPORTED, EMOJI_LIST_COLUMNS, EMOJI_LIST_PAGE_COUNT, KeyboardNavigationDirection, KeyboardKeys } from '../../util/constants';
|
|
12
|
-
|
|
13
|
-
if (!FeatureGates.initializeCompleted()) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// eslint-disable-next-line @atlaskit/platform/use-recommended-utils
|
|
18
|
-
var isEnabled = FeatureGates.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
|
|
19
|
-
return isEnabled;
|
|
20
|
-
};
|
|
11
|
+
import { isRefreshEmojiPickerEnabled } from '../common/isRefreshEmojiPickerEnabled';
|
|
21
12
|
var virtualList = null;
|
|
22
13
|
var virtualRowStyle = null;
|
|
23
14
|
export var virtualListScrollContainerTestId = 'virtual-list-scroll-container';
|
|
@@ -12,7 +12,7 @@ export var createEvent = function createEvent(eventType, action, actionSubject,
|
|
|
12
12
|
actionSubjectId: actionSubjectId,
|
|
13
13
|
attributes: _objectSpread({
|
|
14
14
|
packageName: "@atlaskit/emoji",
|
|
15
|
-
packageVersion: "72.
|
|
15
|
+
packageVersion: "72.3.0"
|
|
16
16
|
}, attributes)
|
|
17
17
|
};
|
|
18
18
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
2
|
+
import { UNSAFE_expValNoExposure } from '@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure';
|
|
3
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
4
|
+
export var teamoji26RefreshEmojiPickerExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
|
|
5
|
+
export var teamoji26RefreshEmojiPickerUserIdGateName = 'platform_teamoji_26_refresh_emoji_picker_user_id';
|
|
6
|
+
export var isTeamoji26RefreshEmojiPickerEnabled = function isTeamoji26RefreshEmojiPickerEnabled() {
|
|
7
|
+
return isExperimentEnabled(teamoji26RefreshEmojiPickerExperimentName) || fg(teamoji26RefreshEmojiPickerUserIdGateName);
|
|
8
|
+
};
|
|
9
|
+
export var isTeamoji26RefreshEmojiPickerEnabledNoExposure = function isTeamoji26RefreshEmojiPickerEnabledNoExposure() {
|
|
10
|
+
return UNSAFE_expValNoExposure(teamoji26RefreshEmojiPickerExperimentName, 'isEnabled', false) === true || fg(teamoji26RefreshEmojiPickerUserIdGateName);
|
|
11
|
+
};
|
|
@@ -35,6 +35,11 @@ export interface Props extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'onMo
|
|
|
35
35
|
* Fits emoji to height in pixels, keeping aspect ratio
|
|
36
36
|
*/
|
|
37
37
|
fitToHeight?: number;
|
|
38
|
+
/**
|
|
39
|
+
* When true, the emoji is treated as decorative (purely visual).
|
|
40
|
+
* This removes the aria-label so screen readers will skip the emoji.
|
|
41
|
+
*/
|
|
42
|
+
isDecorative?: boolean;
|
|
38
43
|
/**
|
|
39
44
|
* Called when an emoji is deleted
|
|
40
45
|
*/
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const teamoji26RefreshEmojiPickerExperimentName = "platform_teamoji_26_refresh_emoji_picker";
|
|
2
|
+
export declare const teamoji26RefreshEmojiPickerUserIdGateName = "platform_teamoji_26_refresh_emoji_picker_user_id";
|
|
3
|
+
export declare const isTeamoji26RefreshEmojiPickerEnabled: () => boolean;
|
|
4
|
+
export declare const isTeamoji26RefreshEmojiPickerEnabledNoExposure: () => boolean;
|