@atlaskit/emoji 72.2.7 → 72.3.2

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.
Files changed (82) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/afm-cc/tsconfig.json +3 -0
  3. package/afm-products/tsconfig.json +3 -0
  4. package/dist/cjs/api/EmojiRepository.js +2 -9
  5. package/dist/cjs/api/EmojiResource.js +2 -11
  6. package/dist/cjs/api/media/SiteEmojiResource.js +10 -40
  7. package/dist/cjs/components/common/AddEmoji.js +2 -11
  8. package/dist/cjs/components/common/DeleteButton.js +2 -11
  9. package/dist/cjs/components/common/Emoji.js +15 -5
  10. package/dist/cjs/components/common/EmojiDeletePreview.js +3 -12
  11. package/dist/cjs/components/common/EmojiErrorMessage.js +2 -11
  12. package/dist/cjs/components/common/EmojiRadioButton.js +3 -2
  13. package/dist/cjs/components/common/EmojiUploadPicker.js +10 -19
  14. package/dist/cjs/components/common/FileChooser.js +3 -12
  15. package/dist/cjs/components/common/ImageEmoji.js +5 -2
  16. package/dist/cjs/components/common/TonePreviewButton.js +2 -1
  17. package/dist/cjs/components/common/ToneSelectorInternal.js +2 -11
  18. package/dist/cjs/components/common/isRefreshEmojiPickerEnabled.js +2 -14
  19. package/dist/cjs/components/picker/CategorySelector.js +7 -15
  20. package/dist/cjs/components/picker/EmojiPickerComponent.js +16 -25
  21. package/dist/cjs/components/picker/EmojiPickerEmojiRow.js +2 -1
  22. package/dist/cjs/components/picker/EmojiPickerFooter.js +2 -12
  23. package/dist/cjs/components/picker/EmojiPickerInternal.js +2 -8
  24. package/dist/cjs/components/picker/EmojiPickerList.js +2 -12
  25. package/dist/cjs/components/picker/EmojiPickerListSearch.js +2 -10
  26. package/dist/cjs/components/picker/VirtualList.js +3 -12
  27. package/dist/cjs/util/analytics/createEvent.js +1 -1
  28. package/dist/cjs/util/teamoji26RefreshEmojiPicker.js +17 -0
  29. package/dist/es2019/api/EmojiRepository.js +2 -9
  30. package/dist/es2019/api/EmojiResource.js +1 -10
  31. package/dist/es2019/api/media/SiteEmojiResource.js +9 -39
  32. package/dist/es2019/components/common/AddEmoji.js +1 -10
  33. package/dist/es2019/components/common/DeleteButton.js +1 -10
  34. package/dist/es2019/components/common/Emoji.js +14 -4
  35. package/dist/es2019/components/common/EmojiDeletePreview.js +1 -10
  36. package/dist/es2019/components/common/EmojiErrorMessage.js +1 -10
  37. package/dist/es2019/components/common/EmojiRadioButton.js +3 -2
  38. package/dist/es2019/components/common/EmojiUploadPicker.js +1 -10
  39. package/dist/es2019/components/common/FileChooser.js +1 -10
  40. package/dist/es2019/components/common/ImageEmoji.js +5 -2
  41. package/dist/es2019/components/common/TonePreviewButton.js +2 -1
  42. package/dist/es2019/components/common/ToneSelectorInternal.js +1 -10
  43. package/dist/es2019/components/common/isRefreshEmojiPickerEnabled.js +2 -13
  44. package/dist/es2019/components/picker/CategorySelector.js +1 -9
  45. package/dist/es2019/components/picker/EmojiPickerComponent.js +1 -10
  46. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +2 -1
  47. package/dist/es2019/components/picker/EmojiPickerFooter.js +1 -10
  48. package/dist/es2019/components/picker/EmojiPickerInternal.js +2 -8
  49. package/dist/es2019/components/picker/EmojiPickerList.js +1 -11
  50. package/dist/es2019/components/picker/EmojiPickerListSearch.js +1 -9
  51. package/dist/es2019/components/picker/VirtualList.js +1 -10
  52. package/dist/es2019/util/analytics/createEvent.js +1 -1
  53. package/dist/es2019/util/teamoji26RefreshEmojiPicker.js +11 -0
  54. package/dist/esm/api/EmojiRepository.js +2 -9
  55. package/dist/esm/api/EmojiResource.js +1 -10
  56. package/dist/esm/api/media/SiteEmojiResource.js +10 -40
  57. package/dist/esm/components/common/AddEmoji.js +1 -10
  58. package/dist/esm/components/common/DeleteButton.js +1 -10
  59. package/dist/esm/components/common/Emoji.js +15 -5
  60. package/dist/esm/components/common/EmojiDeletePreview.js +1 -10
  61. package/dist/esm/components/common/EmojiErrorMessage.js +1 -10
  62. package/dist/esm/components/common/EmojiRadioButton.js +3 -2
  63. package/dist/esm/components/common/EmojiUploadPicker.js +1 -10
  64. package/dist/esm/components/common/FileChooser.js +1 -10
  65. package/dist/esm/components/common/ImageEmoji.js +5 -2
  66. package/dist/esm/components/common/TonePreviewButton.js +2 -1
  67. package/dist/esm/components/common/ToneSelectorInternal.js +1 -10
  68. package/dist/esm/components/common/isRefreshEmojiPickerEnabled.js +2 -13
  69. package/dist/esm/components/picker/CategorySelector.js +1 -9
  70. package/dist/esm/components/picker/EmojiPickerComponent.js +1 -10
  71. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +2 -1
  72. package/dist/esm/components/picker/EmojiPickerFooter.js +1 -10
  73. package/dist/esm/components/picker/EmojiPickerInternal.js +2 -8
  74. package/dist/esm/components/picker/EmojiPickerList.js +1 -11
  75. package/dist/esm/components/picker/EmojiPickerListSearch.js +1 -9
  76. package/dist/esm/components/picker/VirtualList.js +1 -10
  77. package/dist/esm/util/analytics/createEvent.js +1 -1
  78. package/dist/esm/util/teamoji26RefreshEmojiPicker.js +11 -0
  79. package/dist/types/components/common/Emoji.d.ts +5 -0
  80. package/dist/types/components/common/isRefreshEmojiPickerEnabled.d.ts +0 -4
  81. package/dist/types/util/teamoji26RefreshEmojiPicker.d.ts +4 -0
  82. package/package.json +9 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # @atlaskit/emoji
2
2
 
3
+ ## 72.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 72.3.1
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
15
+ ## 72.3.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`61008cdfc8e14`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/61008cdfc8e14) -
20
+ Added optional `isDecorative?: boolean` prop behind the `emoji_decorative_label` feature gate.
21
+ When set to `true`, the emoji is treated as a decorative image (removes its accessible label) so
22
+ it does not add noise for screen-reader users.
23
+
24
+ ## 72.2.8
25
+
26
+ ### Patch Changes
27
+
28
+ - [`c53eca7e4a2bf`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c53eca7e4a2bf) -
29
+ Cleanup feature gate `add_emoji_media_size_to_media_file_upload_request`. Emoji media uploads now
30
+ always send file size information in the media file upload request.
31
+ - [`5598b12df2212`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5598b12df2212) -
32
+ Add feature gate platform_teamoji_26_refresh_emoji_picker_user_id for teamoji changes - by
33
+ atlassianAccountId, for evaluation from non-tenanted products
34
+ - Updated dependencies
35
+
3
36
  ## 72.2.7
4
37
 
5
38
  ### Patch Changes
@@ -61,6 +61,9 @@
61
61
  {
62
62
  "path": "../../../media/media-client-react/afm-cc/tsconfig.json"
63
63
  },
64
+ {
65
+ "path": "../../../platform/feature-experiments/afm-cc/tsconfig.json"
66
+ },
64
67
  {
65
68
  "path": "../../../platform/feature-flags/afm-cc/tsconfig.json"
66
69
  },
@@ -61,6 +61,9 @@
61
61
  {
62
62
  "path": "../../../media/media-client-react/afm-products/tsconfig.json"
63
63
  },
64
+ {
65
+ "path": "../../../platform/feature-experiments/afm-products/tsconfig.json"
66
+ },
64
67
  {
65
68
  "path": "../../../platform/feature-flags/afm-products/tsconfig.json"
66
69
  },
@@ -16,7 +16,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
16
16
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
17
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
18
18
  var _jsSearch = require("js-search");
19
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
20
19
  var _types = require("../types");
21
20
  var _constants = require("../util/constants");
22
21
  var _getCategoryId = require("../util/get-category-id");
@@ -26,6 +25,7 @@ var _getEmojiVariation = require("./getEmojiVariation");
26
25
  var _UsageFrequencyTracker = require("./internal/UsageFrequencyTracker");
27
26
  var _createSearchEmojiComparator = require("./internal/createSearchEmojiComparator");
28
27
  var _createUsageOnlyEmojiComparator = require("./internal/createUsageOnlyEmojiComparator");
28
+ var _teamoji26RefreshEmojiPicker = require("../util/teamoji26RefreshEmojiPicker");
29
29
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
30
30
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
31
31
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
@@ -141,15 +141,8 @@ var findEmojiIndex = function findEmojiIndex(emojis, toFind) {
141
141
  });
142
142
  return match;
143
143
  };
144
- var teamojiRefreshExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
145
144
  var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
146
- if (!_featureGates.default.initializeCompleted()) {
147
- return false;
148
- }
149
-
150
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
151
- var isEnabled = _featureGates.default.getExperimentValue(teamojiRefreshExperimentName, 'isEnabled', false);
152
- return isEnabled;
145
+ return (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabled)();
153
146
  };
154
147
  var EmojiRepository = exports.default = /*#__PURE__*/function () {
155
148
  // protected to allow subclasses to access (for testing and storybooks).
@@ -20,7 +20,6 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
20
20
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
21
21
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
22
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
24
23
  var _fg = require("@atlaskit/platform-feature-flags/fg");
25
24
  var _utilServiceSupport = require("@atlaskit/util-service-support");
26
25
  var _types = require("../types");
@@ -33,6 +32,7 @@ var _logger = _interopRequireDefault(require("../util/logger"));
33
32
  var _storageAvailable = _interopRequireDefault(require("../util/storage-available"));
34
33
  var _timedPromise = require("../util/timed-promise");
35
34
  var _toEmojiId = require("../util/to-emoji-id");
35
+ var _teamoji26RefreshEmojiPicker = require("../util/teamoji26RefreshEmojiPicker");
36
36
  var _EmojiLoader = _interopRequireDefault(require("./EmojiLoader"));
37
37
  var _EmojiRepository = _interopRequireDefault(require("./EmojiRepository"));
38
38
  var _SiteEmojiResource = _interopRequireDefault(require("./media/SiteEmojiResource"));
@@ -42,16 +42,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
42
42
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
43
43
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
44
44
  function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; } /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
45
- var teamoji26RefreshEmojiPickerExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
46
45
  var teamoji26QueryParam = 'useTeamoji26=true';
47
- var isTeamoji26RefreshEmojiPickerEnabled = function isTeamoji26RefreshEmojiPickerEnabled() {
48
- if (!_featureGates.default.initializeCompleted()) {
49
- return false;
50
- }
51
-
52
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
53
- return _featureGates.default.getExperimentValue(teamoji26RefreshEmojiPickerExperimentName, 'isEnabled', false);
54
- };
55
46
  var addTeamoji26QueryParam = function addTeamoji26QueryParam(url) {
56
47
  if (!url.includes('/atlassian') || /[?&]useTeamoji26=/.test(url)) {
57
48
  return url;
@@ -91,7 +82,7 @@ var EmojiResource = exports.EmojiResource = /*#__PURE__*/function (_AbstractReso
91
82
  return url.replace('/gateway/api/emoji', '/gateway/api/elements/emoji');
92
83
  };
93
84
  var stargateEmojiPathEnabled = (0, _fg.fg)('use-elements-stargate-emoji-path');
94
- var teamoji26RefreshEmojiPickerEnabled = isTeamoji26RefreshEmojiPickerEnabled();
85
+ var teamoji26RefreshEmojiPickerEnabled = (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabled)();
95
86
  var singleEmojiApi = config.singleEmojiApi;
96
87
  var optimisticImageApi = config.optimisticImageApi;
97
88
  var providers = config.providers.map(function (provider) {
@@ -13,7 +13,6 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
13
13
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _getMediaClient = require("@atlaskit/media-client-react/get-media-client");
16
- var _fg = require("@atlaskit/platform-feature-flags/fg");
17
16
  var _utilServiceSupport = require("@atlaskit/util-service-support");
18
17
  var _buildEmojiDescriptionWithAltRepresentation = require("../../util/build-emoji-description-with-alt-representation");
19
18
  var _convertImageToMediaRepresentation = require("../../util/convert-image-to-media-representation");
@@ -195,41 +194,10 @@ var SiteEmojiResource = exports.default = /*#__PURE__*/function () {
195
194
  },
196
195
  useSha256ForUploads: true
197
196
  });
198
- if ((0, _fg.fg)('add_emoji_media_size_to_media_file_upload_request')) {
199
- mediaClient.file.uploadExternal(upload.dataURL, collectionName, undefined, true).then(function (_ref3) {
200
- var uploadableFileUpfrontIds = _ref3.uploadableFileUpfrontIds;
201
- var subscription = mediaClient.file.getFileState(uploadableFileUpfrontIds.id, {
202
- collectionName: collectionName
203
- }).subscribe({
204
- next: function next(state) {
205
- if (state.status === 'uploading' && progressCallback) {
206
- progressCallback({
207
- percent: state.progress * mediaProportionOfProgress
208
- });
209
- } else if (state.status === 'processing' || state.status === 'processed') {
210
- subscription.unsubscribe();
211
- var totalUploadTime = Date.now() - startTime;
212
- var mediaUploadTime = totalUploadTime - tokenLoadTime;
213
- (0, _logger.default)('total upload / media upload times', totalUploadTime, mediaUploadTime);
214
- _this2.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(function (emoji) {
215
- resolve(emoji);
216
- }).catch(function (httpError) {
217
- reject(httpError.reason || httpError);
218
- });
219
- }
220
- },
221
- error: function error(_error) {
222
- reject(_error);
223
- }
224
- });
225
- }).catch(function (error) {
226
- reject(error);
227
- });
228
- } else {
229
- var subscription = mediaClient.file.upload({
230
- content: upload.dataURL,
231
- name: upload.filename,
232
- collection: collectionName
197
+ mediaClient.file.uploadExternal(upload.dataURL, collectionName, undefined, true).then(function (_ref3) {
198
+ var uploadableFileUpfrontIds = _ref3.uploadableFileUpfrontIds;
199
+ var subscription = mediaClient.file.getFileState(uploadableFileUpfrontIds.id, {
200
+ collectionName: collectionName
233
201
  }).subscribe({
234
202
  next: function next(state) {
235
203
  if (state.status === 'uploading' && progressCallback) {
@@ -241,18 +209,20 @@ var SiteEmojiResource = exports.default = /*#__PURE__*/function () {
241
209
  var totalUploadTime = Date.now() - startTime;
242
210
  var mediaUploadTime = totalUploadTime - tokenLoadTime;
243
211
  (0, _logger.default)('total upload / media upload times', totalUploadTime, mediaUploadTime);
244
- _this2.postToEmojiService(upload, state.id).then(function (emoji) {
212
+ _this2.postToEmojiService(upload, uploadableFileUpfrontIds.id).then(function (emoji) {
245
213
  resolve(emoji);
246
214
  }).catch(function (httpError) {
247
215
  reject(httpError.reason || httpError);
248
216
  });
249
217
  }
250
218
  },
251
- error: function error(_error2) {
252
- reject(_error2);
219
+ error: function error(_error) {
220
+ reject(_error);
253
221
  }
254
222
  });
255
- }
223
+ }).catch(function (error) {
224
+ reject(error);
225
+ });
256
226
  });
257
227
  });
258
228
  }
@@ -12,22 +12,13 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _fg = require("@atlaskit/platform-feature-flags/fg");
15
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
16
15
  var _reactIntl = require("react-intl");
17
16
  var _i18n = require("../i18n");
18
17
  var _button = _interopRequireDefault(require("@atlaskit/button/default/button"));
18
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
19
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
20
  var emojiActionsTestId = exports.emojiActionsTestId = 'emoji-actions';
21
21
  var uploadEmojiTestId = exports.uploadEmojiTestId = 'upload-emoji';
22
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
23
- if (!_featureGates.default.initializeCompleted()) {
24
- return false;
25
- }
26
-
27
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
28
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
29
- return isEnabled;
30
- };
31
22
  var addCustomEmoji = null;
32
23
 
33
24
  // Generic Type for the wrapped functional component
@@ -36,7 +27,7 @@ var AddOwnEmoji = exports.AddOwnEmoji = function AddOwnEmoji(props) {
36
27
  var onOpenUpload = props.onOpenUpload,
37
28
  uploadEnabled = props.uploadEnabled;
38
29
  var handleOpenUpload = (0, _react.useCallback)(function (event) {
39
- if ((0, _fg.fg)('platform_emoji_keep_picker_open_on_upload') || isRefreshEmojiPickerEnabled()) {
30
+ if ((0, _fg.fg)('platform_emoji_keep_picker_open_on_upload') || (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
40
31
  event.preventDefault();
41
32
  event.stopPropagation();
42
33
  }
@@ -15,17 +15,8 @@ var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/core/cross-cir
15
15
  var _constants = require("../../util/constants");
16
16
  var _styles = require("./styles");
17
17
  var _compiled = require("@atlaskit/primitives/compiled");
18
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
18
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
19
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 (!_featureGates.default.initializeCompleted()) {
22
- return false;
23
- }
24
-
25
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
26
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
27
- return isEnabled;
28
- };
29
20
  var styles = {
30
21
  boxWrapperStyle: "_1bsbf6fq _4t3if6fq"
31
22
  };
@@ -37,7 +28,7 @@ var refreshedDeleteButton = null;
37
28
  */
38
29
  var RENDER_EMOJI_DELETE_BUTTON_TESTID = exports.RENDER_EMOJI_DELETE_BUTTON_TESTID = 'render-emoji-delete-button';
39
30
  var DeleteButton = function DeleteButton(props) {
40
- var isRefreshEnabled = isRefreshEmojiPickerEnabled();
31
+ var isRefreshEnabled = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)();
41
32
  return /*#__PURE__*/React.createElement("span", {
42
33
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
43
34
  className: (0, _runtime.ax)(["_3um015vq _1e0c1txw _kqswstnw _154ix0bf _1xi2x0bf _1pbykb7n _13t3idpf", isRefreshEnabled && "_154ir5cr _1xi2r5cr", _styles.emojiDeleteButton]),
@@ -30,7 +30,8 @@ var _handleDelete = require("./handleDelete");
30
30
  var _ImageEmoji = require("./ImageEmoji");
31
31
  var _SpriteEmoji = require("./SpriteEmoji");
32
32
  var _UnicodeEmoji = require("./UnicodeEmoji");
33
- var _excluded = ["emoji", "fitToHeight", "selected", "selectOnHover", "className", "showTooltip", "showDelete", "shouldBeInteractive", "tabIndex", "onSelected", "onMouseMove", "onFocus", "onDelete", "onLoadError", "onLoadSuccess", "disableLazyLoad", "autoWidth", "children", "type", "editorEmoji", "renderUnicodeEmojiAsImage"];
33
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
34
+ var _excluded = ["emoji", "fitToHeight", "selected", "selectOnHover", "className", "showTooltip", "showDelete", "shouldBeInteractive", "tabIndex", "onSelected", "onMouseMove", "onFocus", "onDelete", "onLoadError", "onLoadSuccess", "disableLazyLoad", "autoWidth", "children", "type", "editorEmoji", "renderUnicodeEmojiAsImage", "isDecorative"];
34
35
  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); }
35
36
  var emojiSpriteContainer = null;
36
37
  var emojiImageContainer = null;
@@ -84,7 +85,6 @@ var handleFocus = function handleFocus(props, event) {
84
85
  }
85
86
  };
86
87
  var EmojiNodeWrapper = exports.EmojiNodeWrapper = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
87
- var _emoji$name;
88
88
  var emoji = props.emoji,
89
89
  fitToHeight = props.fitToHeight,
90
90
  selected = props.selected,
@@ -107,11 +107,21 @@ var EmojiNodeWrapper = exports.EmojiNodeWrapper = /*#__PURE__*/(0, _react.forwar
107
107
  type = props.type,
108
108
  editorEmoji = props.editorEmoji,
109
109
  renderUnicodeEmojiAsImage = props.renderUnicodeEmojiAsImage,
110
+ isDecorative = props.isDecorative,
110
111
  other = (0, _objectWithoutProperties2.default)(props, _excluded);
111
112
  var intl = (0, _react.useContext)(_reactIntl.IntlContext);
112
- var ariaLabel = editorEmoji ? undefined : intl ? intl.formatMessage(_i18n.messages.changeEmojiShortnameButtonLabel, {
113
- shortName: (_emoji$name = emoji.name) !== null && _emoji$name !== void 0 ? _emoji$name : emoji.shortName
114
- }) : emoji.shortName;
113
+ var isAriaLabelEmpty = editorEmoji || isDecorative && (0, _fg.fg)('emoji_decorative_label');
114
+ var ariaLabel;
115
+ if (isAriaLabelEmpty) {
116
+ ariaLabel = undefined;
117
+ } else if (intl) {
118
+ var _emoji$name;
119
+ ariaLabel = intl.formatMessage(_i18n.messages.changeEmojiShortnameButtonLabel, {
120
+ shortName: (_emoji$name = emoji.name) !== null && _emoji$name !== void 0 ? _emoji$name : emoji.shortName
121
+ });
122
+ } else {
123
+ ariaLabel = emoji.shortName;
124
+ }
115
125
  var tooltipContent = showTooltip && (0, _expValEquals.expValEquals)('platform_editor_emoji_hover_show_tooltip', 'isEnabled', true) ? emoji.shortName || emoji.name || undefined : undefined;
116
126
  var emojiSpan = /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({
117
127
  role: editorEmoji ? undefined : shouldBeInteractive ? 'button' : ariaLabel ? 'img' : 'presentation',
@@ -18,7 +18,6 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
18
18
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
19
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
20
20
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
22
21
  var _reactIntl = require("react-intl");
23
22
  var _button = _interopRequireDefault(require("@atlaskit/button/default/button"));
24
23
  var _heading = _interopRequireDefault(require("@atlaskit/heading/heading"));
@@ -29,18 +28,10 @@ var _CachingEmoji = _interopRequireDefault(require("./CachingEmoji"));
29
28
  var _EmojiErrorMessage = _interopRequireWildcard(require("./EmojiErrorMessage"));
30
29
  var _RetryableButton = _interopRequireDefault(require("./RetryableButton"));
31
30
  var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden/visually-hidden"));
31
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
32
32
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
33
33
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
34
34
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
35
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
36
- if (!_featureGates.default.initializeCompleted()) {
37
- return false;
38
- }
39
-
40
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
41
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
42
- return isEnabled;
43
- };
44
35
  var deleteFooter = null;
45
36
  var deletePreview = null;
46
37
  var deleteText = null;
@@ -57,7 +48,7 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
57
48
  (0, _classCallCheck2.default)(this, EmojiDeletePreview);
58
49
  _this = _callSuper(this, EmojiDeletePreview, [props]);
59
50
  (0, _defineProperty2.default)(_this, "stopClickPropagationForRefreshEmojiPicker", function (event) {
60
- if (isRefreshEmojiPickerEnabled()) {
51
+ if ((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
61
52
  event === null || event === void 0 || event.stopPropagation();
62
53
  }
63
54
  });
@@ -113,7 +104,7 @@ var EmojiDeletePreview = /*#__PURE__*/function (_Component) {
113
104
  loading = _this$state.loading,
114
105
  error = _this$state.error;
115
106
  var formatMessage = intl.formatMessage;
116
- if (isRefreshEmojiPickerEnabled()) {
107
+ if ((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
117
108
  return /*#__PURE__*/React.createElement(_reactFocusLock.default, {
118
109
  noFocusGuards: true
119
110
  }, /*#__PURE__*/React.createElement("div", {
@@ -14,18 +14,9 @@ var _Tooltip = _interopRequireDefault(require("@atlaskit/tooltip/Tooltip"));
14
14
  var _statusError = _interopRequireDefault(require("@atlaskit/icon/core/status-error"));
15
15
  var _errorMessage = require("@atlaskit/form/error-message");
16
16
  var _reactIntl = require("react-intl");
17
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
18
17
  var _i18n = require("../i18n");
18
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
19
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 (!_featureGates.default.initializeCompleted()) {
22
- return false;
23
- }
24
-
25
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
26
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
27
- return isEnabled;
28
- };
29
20
  var errorMessageStyles = {
30
21
  chooseFile: "_1e0c1txw _syaz1tmw _u5f319bv _1bah1y6m",
31
22
  delete: "_1e0c1txw _syaz1tmw _4cvr1h6o _1bahesu3 _u5f31b66",
@@ -53,7 +44,7 @@ var EmojiErrorMessage = function EmojiErrorMessage(props) {
53
44
  label: formatMessage(_i18n.messages.error),
54
45
  spacing: "spacious",
55
46
  testId: emojiErrorIconTestId
56
- }))) : isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
47
+ }))) : (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement("div", {
57
48
  "data-testid": emojiErrorMessageTestId
58
49
  }, /*#__PURE__*/React.createElement(_errorMessage.ErrorMessage, null, message)) : /*#__PURE__*/React.createElement("div", {
59
50
  "data-testid": emojiErrorMessageTestId,
@@ -12,6 +12,7 @@ var _runtime = require("@compiled/react/runtime");
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _Emoji = _interopRequireDefault(require("./Emoji"));
14
14
  var _constants = require("../../util/constants");
15
+ var _teamoji26RefreshEmojiPicker = require("../../util/teamoji26RefreshEmojiPicker");
15
16
  var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden/visually-hidden"));
16
17
  var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
17
18
  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,7 +21,7 @@ var emojiRadio = {
20
21
  default: "_tzy4idpf _kqswstnw _154i14id _1ltv14id _3y8mfajl _157z1r31 _1dzmglyw _1sqm1o36 _fh6w1y54 _1i1213zc"
21
22
  };
22
23
  var handleKeyDown = function handleKeyDown(props, event) {
23
- if ((event.key === 'ArrowLeft' || event.key === 'ArrowRight') && (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', true)) {
24
+ if ((event.key === 'ArrowLeft' || event.key === 'ArrowRight') && (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabledNoExposure)()) {
24
25
  var _props$onArrowKey;
25
26
  event.preventDefault();
26
27
  event.stopPropagation();
@@ -57,7 +58,7 @@ var EmojiRadioButton = exports.EmojiRadioButton = /*#__PURE__*/(0, _react.forwar
57
58
  onKeyDown: function onKeyDown(event) {
58
59
  return handleKeyDown(props, event);
59
60
  },
60
- onChange: (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', true) ? function (e) {
61
+ onChange: (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabledNoExposure)() ? function (e) {
61
62
  return e.preventDefault();
62
63
  } : undefined,
63
64
  className: (0, _runtime.ax)([emojiRadio.default])
@@ -29,20 +29,11 @@ var _EmojiUploadPreview = _interopRequireDefault(require("./EmojiUploadPreview")
29
29
  var _FileChooser = _interopRequireDefault(require("./FileChooser"));
30
30
  var _internalTypes = require("./internal-types");
31
31
  var _fg = require("@atlaskit/platform-feature-flags/fg");
32
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
33
32
  var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
34
33
  var _button = _interopRequireDefault(require("@atlaskit/button/default/button"));
35
34
  var _browserApis = require("@atlaskit/browser-apis");
35
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
36
36
  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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
37
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
38
- if (!_featureGates.default.initializeCompleted()) {
39
- return false;
40
- }
41
-
42
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
43
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
44
- return isEnabled;
45
- };
46
37
  var closeEmojiUploadButton = null;
47
38
  var uploadAddRowNew = null;
48
39
  var emojiUpload = null;
@@ -78,7 +69,7 @@ var toDefaultUploadName = function toDefaultUploadName(fileName) {
78
69
  return sanitizeName(nameWithoutExtension).slice(0, maxNameLength);
79
70
  };
80
71
  var isSupportedEmojiUploadFileType = function isSupportedEmojiUploadFileType(file) {
81
- if (!isRefreshEmojiPickerEnabled()) {
72
+ if (!(0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
82
73
  return true;
83
74
  }
84
75
  if (supportedEmojiUploadMimeTypes.has(file.type)) {
@@ -125,7 +116,7 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
125
116
  var emojiChooseFileTitleNew = formatMessage(_i18n.messages.emojiChooseFileDndTitle);
126
117
  var isUploading = uploadStatus === _internalTypes.UploadStatus.Uploading;
127
118
  var addEmojiDisabled = !previewImage || !name || isUploading;
128
- return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
119
+ return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement("div", {
129
120
  "data-testid": uploadEmojiComponentTestId,
130
121
  className: (0, _runtime.ax)(["_ca0qu2gc _u5f3pxbi _n3tdu2gc _19bvpxbi _1e0c1txw _2lx21bp4 _1bah1b1v"])
131
122
  }, /*#__PURE__*/React.createElement("div", {
@@ -137,7 +128,7 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
137
128
  className: (0, _runtime.ax)(["_zulp12x7 _1e0c1txw _2lx21bp4 _1tker0r7"])
138
129
  }, /*#__PURE__*/React.createElement(_compiled.Box, null, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiChooseFileScreenReaderDescription, function () {
139
130
  return /*#__PURE__*/React.createElement(_FileChooser.default, {
140
- label: isRefreshEmojiPickerEnabled() ? emojiChooseFileTitleNew : emojiChooseFileTitle,
131
+ label: (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? emojiChooseFileTitleNew : emojiChooseFileTitle,
141
132
  onChange: onChooseFile,
142
133
  onClick: onClick,
143
134
  accept: "image/png,image/jpeg,image/gif",
@@ -222,7 +213,7 @@ var ChooseEmojiFile = /*#__PURE__*/(0, _react.memo)(function (props) {
222
213
  "aria-required": true
223
214
  })), /*#__PURE__*/React.createElement(_compiled.Text, null, /*#__PURE__*/React.createElement(_reactIntl.FormattedMessage, _i18n.messages.emojiChooseFileScreenReaderDescription, function () {
224
215
  return /*#__PURE__*/React.createElement(_FileChooser.default, {
225
- label: isRefreshEmojiPickerEnabled() ? emojiChooseFileTitleNew : emojiChooseFileTitle,
216
+ label: (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? emojiChooseFileTitleNew : emojiChooseFileTitle,
226
217
  onChange: onChooseFile,
227
218
  onClick: onClick,
228
219
  accept: "image/png,image/jpeg,image/gif",
@@ -363,7 +354,7 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
363
354
  case 0:
364
355
  _context.prev = 0;
365
356
  setFilename(file.name);
366
- if (!name && isRefreshEmojiPickerEnabled()) {
357
+ if (!name && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
367
358
  setName(toDefaultUploadName(file.name));
368
359
  }
369
360
  _context.next = 1;
@@ -418,7 +409,7 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
418
409
  }
419
410
  }, [cancelChooseFile, errorOnUpload, onFileLoad, onUploadPreviewErrorChange]);
420
411
  var cancelUpload = (0, _react.useCallback)(function (event) {
421
- if ((0, _fg.fg)('platform_emoji_keep_picker_open_on_upload') || isRefreshEmojiPickerEnabled()) {
412
+ if ((0, _fg.fg)('platform_emoji_keep_picker_open_on_upload') || (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
422
413
  event === null || event === void 0 || event.preventDefault();
423
414
  event === null || event === void 0 || event.stopPropagation();
424
415
  }
@@ -437,7 +428,7 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
437
428
  var onChooseFileClicked = function onChooseFileClicked() {
438
429
  onFileChooserClicked && onFileChooserClicked();
439
430
  };
440
- var isDuplicateNameError = errorMessage !== null && errorMessage !== undefined && isRefreshEmojiPickerEnabled();
431
+ var isDuplicateNameError = errorMessage !== null && errorMessage !== undefined && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)();
441
432
 
442
433
  // "Create an emoji with Rovo" AI generation section. Only rendered when the
443
434
  // experiment is on AND a page content id is available (the image generation
@@ -449,7 +440,7 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
449
440
  fireAnalytics: fireAnalytics,
450
441
  onEmojiGenerated: onEmojiGenerated
451
442
  }) : null;
452
- var content = name && previewImage && !isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement(_EmojiUploadPreview.default, {
443
+ var content = name && previewImage && !(0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement(_EmojiUploadPreview.default, {
453
444
  errorMessage: errorMessage,
454
445
  name: name,
455
446
  onAddEmoji: onAddEmoji,
@@ -470,7 +461,7 @@ var EmojiUploadPicker = function EmojiUploadPicker(props) {
470
461
  aiSection: aiSection,
471
462
  intl: intl
472
463
  });
473
- return disableFocusLock || isRefreshEmojiPickerEnabled() ? content : /*#__PURE__*/React.createElement(_reactFocusLock.default, {
464
+ return disableFocusLock || (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? content : /*#__PURE__*/React.createElement(_reactFocusLock.default, {
474
465
  noFocusGuards: true
475
466
  }, content);
476
467
  };
@@ -16,17 +16,8 @@ var _upload = _interopRequireDefault(require("@atlaskit/icon/core/upload"));
16
16
  var _dropTargetForExternal = require("@atlaskit/pragmatic-drag-and-drop/adapter/drop-target-for-external");
17
17
  var _containsFiles = require("@atlaskit/pragmatic-drag-and-drop/utils/contains-files");
18
18
  var _getFiles = require("@atlaskit/pragmatic-drag-and-drop/utils/get-files");
19
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
19
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
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
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
22
- if (!_featureGates.default.initializeCompleted()) {
23
- return false;
24
- }
25
-
26
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
27
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
28
- return isEnabled;
29
- };
30
21
  var chooseFileButtonTestId = exports.chooseFileButtonTestId = 'choose-file-button';
31
22
  var fileUploadInputTestId = exports.fileUploadInputTestId = 'file-upload';
32
23
  var dropzoneTestId = exports.dropzoneTestId = 'file-dropzone';
@@ -85,7 +76,7 @@ var FileChooser = function FileChooser(props) {
85
76
  }, [onChange]);
86
77
  (0, _react.useEffect)(function () {
87
78
  var element = dropzoneRef.current;
88
- if (!element || !isRefreshEmojiPickerEnabled()) {
79
+ if (!element || !(0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
89
80
  return;
90
81
  }
91
82
  var suppressNativeFileDrop = function suppressNativeFileDrop(event) {
@@ -187,7 +178,7 @@ var FileChooser = function FileChooser(props) {
187
178
  },
188
179
  "data-testid": fileUploadInputTestId
189
180
  });
190
- if (isRefreshEmojiPickerEnabled()) {
181
+ if ((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
191
182
  return /*#__PURE__*/_react.default.createElement("div", {
192
183
  ref: dropzoneRef,
193
184
  "data-testid": dropzoneTestId,
@@ -28,6 +28,7 @@ var _DeleteButton = _interopRequireDefault(require("./DeleteButton"));
28
28
  var _Emoji = require("./Emoji");
29
29
  var _handleDelete = require("./handleDelete");
30
30
  var _styles = require("./styles");
31
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
31
32
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
33
  var handleImageError = function handleImageError(props, event) {
33
34
  var emoji = props.emoji,
@@ -53,7 +54,8 @@ var ImageEmoji = exports.ImageEmoji = function ImageEmoji(props) {
53
54
  showDelete = props.showDelete,
54
55
  onLoadSuccess = props.onLoadSuccess,
55
56
  disableLazyLoad = props.disableLazyLoad,
56
- autoWidth = props.autoWidth;
57
+ autoWidth = props.autoWidth,
58
+ isDecorative = props.isDecorative;
57
59
  var _useInView = (0, _useInView3.useInView)({
58
60
  triggerOnce: true
59
61
  }),
@@ -140,11 +142,12 @@ var ImageEmoji = exports.ImageEmoji = function ImageEmoji(props) {
140
142
  onBeforeLoad();
141
143
  }
142
144
  }, [inView, onBeforeLoad]);
145
+ var imgAlt = isDecorative && (0, _fg.fg)('emoji_decorative_label') ? '' : emoji.name || emoji.shortName || '';
143
146
  var emojiNode = /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
144
147
  loading: disableLazyLoad ? 'eager' : 'lazy',
145
148
  src: src,
146
149
  key: src,
147
- alt: emoji.name || emoji.shortName || '',
150
+ alt: imgAlt,
148
151
  "data-emoji-short-name": emoji.shortName,
149
152
  "data-emoji-id": emoji.id,
150
153
  "data-emoji-text": emoji.fallback || emoji.shortName
@@ -11,6 +11,7 @@ require("./TonePreviewButton.compiled.css");
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
+ var _teamoji26RefreshEmojiPicker = require("../../util/teamoji26RefreshEmojiPicker");
14
15
  var _Emoji = _interopRequireDefault(require("./Emoji"));
15
16
  var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
16
17
  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); }
@@ -31,7 +32,7 @@ var TonePreviewButton = exports.TonePreviewButton = /*#__PURE__*/(0, _react.forw
31
32
  _props$isVisible = props.isVisible,
32
33
  isVisible = _props$isVisible === void 0 ? true : _props$isVisible;
33
34
  var fitToHeight = (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_use_unicode_emojis', 'isEnabled', true) ? 24 : undefined;
34
- return (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', true) ? /*#__PURE__*/React.createElement("button", {
35
+ return (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabledNoExposure)() ? /*#__PURE__*/React.createElement("button", {
35
36
  ref: ref,
36
37
  onClick: onSelected,
37
38
  onKeyDown: onKeyDown,