@atlaskit/emoji 72.2.6 → 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.
Files changed (85) hide show
  1. package/CHANGELOG.md +62 -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/components/typeahead/EmojiTypeAheadComponent.js +3 -3
  28. package/dist/cjs/util/analytics/createEvent.js +1 -1
  29. package/dist/cjs/util/teamoji26RefreshEmojiPicker.js +17 -0
  30. package/dist/es2019/api/EmojiRepository.js +2 -9
  31. package/dist/es2019/api/EmojiResource.js +1 -10
  32. package/dist/es2019/api/media/SiteEmojiResource.js +9 -39
  33. package/dist/es2019/components/common/AddEmoji.js +1 -10
  34. package/dist/es2019/components/common/DeleteButton.js +1 -10
  35. package/dist/es2019/components/common/Emoji.js +14 -4
  36. package/dist/es2019/components/common/EmojiDeletePreview.js +1 -10
  37. package/dist/es2019/components/common/EmojiErrorMessage.js +1 -10
  38. package/dist/es2019/components/common/EmojiRadioButton.js +3 -2
  39. package/dist/es2019/components/common/EmojiUploadPicker.js +1 -10
  40. package/dist/es2019/components/common/FileChooser.js +1 -10
  41. package/dist/es2019/components/common/ImageEmoji.js +5 -2
  42. package/dist/es2019/components/common/TonePreviewButton.js +2 -1
  43. package/dist/es2019/components/common/ToneSelectorInternal.js +1 -10
  44. package/dist/es2019/components/common/isRefreshEmojiPickerEnabled.js +2 -13
  45. package/dist/es2019/components/picker/CategorySelector.js +1 -9
  46. package/dist/es2019/components/picker/EmojiPickerComponent.js +1 -10
  47. package/dist/es2019/components/picker/EmojiPickerEmojiRow.js +2 -1
  48. package/dist/es2019/components/picker/EmojiPickerFooter.js +1 -10
  49. package/dist/es2019/components/picker/EmojiPickerInternal.js +2 -8
  50. package/dist/es2019/components/picker/EmojiPickerList.js +1 -11
  51. package/dist/es2019/components/picker/EmojiPickerListSearch.js +1 -9
  52. package/dist/es2019/components/picker/VirtualList.js +1 -10
  53. package/dist/es2019/components/typeahead/EmojiTypeAheadComponent.js +1 -1
  54. package/dist/es2019/util/analytics/createEvent.js +1 -1
  55. package/dist/es2019/util/teamoji26RefreshEmojiPicker.js +11 -0
  56. package/dist/esm/api/EmojiRepository.js +2 -9
  57. package/dist/esm/api/EmojiResource.js +1 -10
  58. package/dist/esm/api/media/SiteEmojiResource.js +10 -40
  59. package/dist/esm/components/common/AddEmoji.js +1 -10
  60. package/dist/esm/components/common/DeleteButton.js +1 -10
  61. package/dist/esm/components/common/Emoji.js +15 -5
  62. package/dist/esm/components/common/EmojiDeletePreview.js +1 -10
  63. package/dist/esm/components/common/EmojiErrorMessage.js +1 -10
  64. package/dist/esm/components/common/EmojiRadioButton.js +3 -2
  65. package/dist/esm/components/common/EmojiUploadPicker.js +1 -10
  66. package/dist/esm/components/common/FileChooser.js +1 -10
  67. package/dist/esm/components/common/ImageEmoji.js +5 -2
  68. package/dist/esm/components/common/TonePreviewButton.js +2 -1
  69. package/dist/esm/components/common/ToneSelectorInternal.js +1 -10
  70. package/dist/esm/components/common/isRefreshEmojiPickerEnabled.js +2 -13
  71. package/dist/esm/components/picker/CategorySelector.js +1 -9
  72. package/dist/esm/components/picker/EmojiPickerComponent.js +1 -10
  73. package/dist/esm/components/picker/EmojiPickerEmojiRow.js +2 -1
  74. package/dist/esm/components/picker/EmojiPickerFooter.js +1 -10
  75. package/dist/esm/components/picker/EmojiPickerInternal.js +2 -8
  76. package/dist/esm/components/picker/EmojiPickerList.js +1 -11
  77. package/dist/esm/components/picker/EmojiPickerListSearch.js +1 -9
  78. package/dist/esm/components/picker/VirtualList.js +1 -10
  79. package/dist/esm/components/typeahead/EmojiTypeAheadComponent.js +1 -1
  80. package/dist/esm/util/analytics/createEvent.js +1 -1
  81. package/dist/esm/util/teamoji26RefreshEmojiPicker.js +11 -0
  82. package/dist/types/components/common/Emoji.d.ts +5 -0
  83. package/dist/types/components/common/isRefreshEmojiPickerEnabled.d.ts +0 -4
  84. package/dist/types/util/teamoji26RefreshEmojiPicker.d.ts +4 -0
  85. package/package.json +12 -7
@@ -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,
@@ -13,7 +13,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
13
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _reactIntl = require("react-intl");
16
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
17
16
  var _analytics = require("../../util/analytics/analytics");
18
17
  var _toneSelectedEvent = require("../../util/analytics/toneSelectedEvent");
19
18
  var _toneSelectorOpenedEvent = require("../../util/analytics/toneSelectorOpenedEvent");
@@ -21,18 +20,10 @@ var _i18n = require("../i18n");
21
20
  var _EmojiRadioButton = _interopRequireDefault(require("./EmojiRadioButton"));
22
21
  var _ToneSelector = require("./ToneSelector");
23
22
  var _setSkinToneAriaLabelText = require("./setSkinToneAriaLabelText");
23
+ var _isRefreshEmojiPickerEnabled = require("./isRefreshEmojiPickerEnabled");
24
24
  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); }
25
25
  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; }
26
26
  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; }
27
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
28
- if (!_featureGates.default.initializeCompleted()) {
29
- return false;
30
- }
31
-
32
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
33
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
34
- return isEnabled;
35
- };
36
27
  var hidden = null;
37
28
  var extractAllTones = function extractAllTones(emoji) {
38
29
  if (emoji.skinVariations) {
@@ -113,7 +104,7 @@ var ToneSelectorInternal = exports.ToneSelectorInternal = function ToneSelectorI
113
104
  "aria-label": formatMessage(_i18n.messages.emojiSelectSkinToneListAriaLabelText),
114
105
  className: (0, _runtime.ax)([!isVisible && "_tzy4idpf _3um015vq _1e0cglyw"])
115
106
  }, emojiToneCollection.map(function (tone, renderIndex) {
116
- return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/_react.default.createElement(_EmojiRadioButton.default, {
107
+ return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/_react.default.createElement(_EmojiRadioButton.default, {
117
108
  ref: function ref(el) {
118
109
  radioRefs.current[renderIndex] = el;
119
110
  if (tone.isSelected && selectedToneRadioRef) {
@@ -1,22 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.isRefreshEmojiPickerEnabled = void 0;
8
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
9
- /**
10
- * @jsxRuntime classic
11
- * @jsx jsx
12
- */
13
-
7
+ var _teamoji26RefreshEmojiPicker = require("../../util/teamoji26RefreshEmojiPicker");
14
8
  var isRefreshEmojiPickerEnabled = exports.isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
15
- if (!_featureGates.default.initializeCompleted()) {
16
- return false;
17
- }
18
-
19
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
20
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
21
- return isEnabled;
9
+ return (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabled)();
22
10
  };
@@ -25,16 +25,8 @@ var _categorySelectorCategoryTestId = require("./categorySelectorCategoryTestId"
25
25
  var _EmojiPickerList = require("./EmojiPickerList");
26
26
  var _sortCategories = require("./sortCategories");
27
27
  var _sortCategoriesNew = require("./sortCategoriesNew");
28
+ var _isRefreshEmojiPickerEnabled = require("../common/isRefreshEmojiPickerEnabled");
28
29
  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); }
29
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
30
- if (!_featureGates.default.initializeCompleted()) {
31
- return false;
32
- }
33
-
34
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
35
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
36
- return isEnabled;
37
- };
38
30
  var isEmojiPickerInitialFocusFixEnabled = function isEmojiPickerInitialFocusFixEnabled() {
39
31
  if (!_featureGates.default.initializeCompleted()) {
40
32
  return false;
@@ -61,8 +53,8 @@ var addNewCategories = function addNewCategories(oldCategories, newCategories) {
61
53
  return oldCategories;
62
54
  }
63
55
  return oldCategories.concat(newCategories.filter(function (category) {
64
- return !!(isRefreshEmojiPickerEnabled() ? _categories.CategoryDescriptionMapNew : _categories.CategoryDescriptionMap)[category];
65
- })).sort(isRefreshEmojiPickerEnabled() ? _sortCategoriesNew.sortCategoriesNew : _sortCategories.sortCategories);
56
+ return !!((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? _categories.CategoryDescriptionMapNew : _categories.CategoryDescriptionMap)[category];
57
+ })).sort((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? _sortCategoriesNew.sortCategoriesNew : _sortCategories.sortCategories);
66
58
  };
67
59
  var categorySelectorComponentTestId = exports.categorySelectorComponentTestId = 'category-selector-component';
68
60
  var CategorySelector = function CategorySelector(props) {
@@ -156,14 +148,14 @@ var CategorySelector = function CategorySelector(props) {
156
148
  };
157
149
  var categoriesSection;
158
150
  if (categories) {
159
- categoriesSection = isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
151
+ categoriesSection = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement("div", {
160
152
  role: "tablist",
161
153
  "aria-label": formatMessage(_i18n.messages.categoriesSelectorLabel),
162
154
  "data-testid": categorySelectorComponentTestId,
163
155
  ref: categoryRef,
164
156
  className: (0, _runtime.ax)(["_ca0qze3t _n3tdze3t _19bvu2gc _u5f3u2gc _1e0c1txw _2lx2vrvc _1bah1b1v _4cvr1fhb"])
165
157
  }, categories.map(function (categoryId, index) {
166
- var category = isRefreshEmojiPickerEnabled() ? _categories.CategoryDescriptionMapNew[categoryId] : _categories.CategoryDescriptionMap[categoryId];
158
+ var category = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? _categories.CategoryDescriptionMapNew[categoryId] : _categories.CategoryDescriptionMap[categoryId];
167
159
  var Icon = category.icon;
168
160
  var categoryName = formatMessage(_i18n.messages[category.name]);
169
161
  return /*#__PURE__*/React.createElement(_Tooltip.default, {
@@ -193,7 +185,7 @@ var CategorySelector = function CategorySelector(props) {
193
185
  ref: categoryRef,
194
186
  className: (0, _runtime.ax)(["_ca0q12x7 _n3td12x7 _19bvu2gc _u5f3u2gc _1e0c1txw _2lx2vrvc _1bah1b1v _4cvr1h6o"])
195
187
  }, categories.map(function (categoryId, index) {
196
- var category = isRefreshEmojiPickerEnabled() ? _categories.CategoryDescriptionMapNew[categoryId] : _categories.CategoryDescriptionMap[categoryId];
188
+ var category = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? _categories.CategoryDescriptionMapNew[categoryId] : _categories.CategoryDescriptionMap[categoryId];
197
189
  var Icon = category.icon;
198
190
  var categoryName = formatMessage(_i18n.messages[category.name]);
199
191
  return /*#__PURE__*/React.createElement(_Tooltip.default, {
@@ -218,7 +210,7 @@ var CategorySelector = function CategorySelector(props) {
218
210
  })));
219
211
  }));
220
212
  }
221
- return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
213
+ return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement("div", {
222
214
  className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug _bfhkvuon _13li1mok _qrwq1mok _ca0qze3t _n3tdze3t _1doce4h9 _1il9nqa1 _1o3i1l7x _dpd31txw"])
223
215
  }, categoriesSection) : /*#__PURE__*/React.createElement("div", {
224
216
  className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug _bfhkhfxm _dpd31txw"])
@@ -19,7 +19,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
19
19
  var _reactDom = require("react-dom");
20
20
  var _reactIntl = require("react-intl");
21
21
  var _browserApis = require("@atlaskit/browser-apis");
22
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
23
22
  var _combine = require("@atlaskit/pragmatic-drag-and-drop/utils/combine");
24
23
  var _dropTargetForExternal = require("@atlaskit/pragmatic-drag-and-drop/adapter/drop-target-for-external");
25
24
  var _monitorForExternal = require("@atlaskit/pragmatic-drag-and-drop/adapter/monitor-for-external");
@@ -55,6 +54,7 @@ var _isPromise = require("../../util/is-promise");
55
54
  var _productivityColors = require("../../util/productivity-colors");
56
55
  var _RecordSelectionDefault = require("../common/RecordSelectionDefault");
57
56
  var _UploadEmoji = require("../common/UploadEmoji");
57
+ var _isRefreshEmojiPickerEnabled = require("../common/isRefreshEmojiPickerEnabled");
58
58
  var _i18n = require("../i18n");
59
59
  var _CategorySelector = _interopRequireDefault(require("./CategorySelector"));
60
60
  var _EmojiPickerFooter = _interopRequireDefault(require("./EmojiPickerFooter"));
@@ -62,15 +62,6 @@ var _EmojiPickerList = require("./EmojiPickerList");
62
62
  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); }
63
63
  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; }
64
64
  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; }
65
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
66
- if (!_featureGates.default.initializeCompleted()) {
67
- return false;
68
- }
69
-
70
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
71
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
72
- return isEnabled;
73
- };
74
65
  var emojiPickerBoxShadow = "var(--ds-shadow-overlay, 0px 8px 12px #1E1F2126, 0px 0px 1px #1E1F214f)";
75
66
  var emojiPickerHeight = 295;
76
67
  var emojiPickerHeightWithPreview = 349; // emojiPickerHeight + emojiPickerPreviewHeight;
@@ -139,7 +130,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
139
130
  var _useEmoji = (0, _useEmoji2.useEmoji)(),
140
131
  emojiProvider = _useEmoji.emojiProvider,
141
132
  isUploadSupported = _useEmoji.isUploadSupported;
142
- var isTeamojiExperimentEnabled = isRefreshEmojiPickerEnabled();
133
+ var isTeamojiExperimentEnabled = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)();
143
134
  var _useState = (0, _react.useState)([]),
144
135
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
145
136
  filteredEmojis = _useState2[0],
@@ -237,7 +228,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
237
228
  }, [selectedEmoji]);
238
229
  var uploadEnabled = isUploadSupported && !uploading;
239
230
  var onEmojiLeave = (0, _react.useCallback)(function () {
240
- if (isRefreshEmojiPickerEnabled() && uploadEnabled) {
231
+ if ((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() && uploadEnabled) {
241
232
  setSelectedEmoji(undefined);
242
233
  }
243
234
  }, [uploadEnabled]);
@@ -245,16 +236,16 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
245
236
  // Ignore scroll-driven category changes while a programmatic reveal()
246
237
  // scroll is in progress — they would flicker the indicator through
247
238
  // intermediate categories before landing on the correct one.
248
- if (isProgrammaticScroll.current && isRefreshEmojiPickerEnabled()) {
239
+ if (isProgrammaticScroll.current && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
249
240
  return;
250
241
  }
251
242
  // Ignore scroll-driven category changes while the upload or delete screen is open
252
- if ((uploading || emojiToDelete) && isRefreshEmojiPickerEnabled()) {
243
+ if ((uploading || emojiToDelete) && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
253
244
  return;
254
245
  }
255
246
  if (activeCategory !== category) {
256
247
  setActiveCategory(category);
257
- if (!query && isRefreshEmojiPickerEnabled()) {
248
+ if (!query && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
258
249
  lastNonSearchCategory.current = category;
259
250
  }
260
251
  }
@@ -271,7 +262,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
271
262
  setUploadErrorMessage(undefined);
272
263
  });
273
264
  fireAnalytics((0, _uploadCancelButton.uploadCancelButton)());
274
- if (isRefreshEmojiPickerEnabled()) {
265
+ if ((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
275
266
  setTimeout(function () {
276
267
  var _getDocument;
277
268
  (_getDocument = (0, _browserApis.getDocument)()) === null || _getDocument === void 0 || (_getDocument = _getDocument.getElementById('add-custom-emoji')) === null || _getDocument === void 0 || _getDocument.focus();
@@ -421,7 +412,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
421
412
  }
422
413
 
423
414
  // If the upload or delete screen is open, close it when a category is selected
424
- if (isRefreshEmojiPickerEnabled()) {
415
+ if ((0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
425
416
  if (uploading) {
426
417
  setUploading(false);
427
418
  setUploadErrorMessage(undefined);
@@ -483,7 +474,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
483
474
  };
484
475
  if (searchQuery !== query) {
485
476
  // Capture the active category before entering search so we can keep it highlighted
486
- if (!query && searchQuery && isRefreshEmojiPickerEnabled()) {
477
+ if (!query && searchQuery && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
487
478
  lastNonSearchCategory.current = activeCategory;
488
479
  }
489
480
  setQuery(searchQuery);
@@ -499,7 +490,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
499
490
  // cannot reach underlying page drop handlers (e.g. the Confluence editor).
500
491
  (0, _react.useEffect)(function () {
501
492
  var _getDocument2;
502
- if (!uploading || !isRefreshEmojiPickerEnabled()) {
493
+ if (!uploading || !(0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
503
494
  return;
504
495
  }
505
496
  var body = (_getDocument2 = (0, _browserApis.getDocument)()) === null || _getDocument2 === void 0 ? void 0 : _getDocument2.body;
@@ -569,7 +560,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
569
560
  });
570
561
  scrollToUploadedEmoji(emojiDescription);
571
562
  };
572
- if (!isRefreshEmojiPickerEnabled()) {
563
+ if (!(0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) {
573
564
  _context.next = 2;
574
565
  break;
575
566
  }
@@ -707,9 +698,9 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
707
698
  emojiProvider.unsubscribe(onProviderChange);
708
699
  };
709
700
  }, [emojiProvider, onProviderChange]);
710
- var showPreview = isRefreshEmojiPickerEnabled() ? !uploading : selectedEmoji && !uploading;
711
- var shouldRenderFooter = showPreview && !(emojiToDelete && isRefreshEmojiPickerEnabled()) && !(query && filteredEmojis.length === 0 && isRefreshEmojiPickerEnabled()) && (Boolean(selectedEmoji) || uploadEnabled || !isRefreshEmojiPickerEnabled());
712
- var useFooterSpaceForList = showPreview && !selectedEmoji && !uploadEnabled && !emojiToDelete && !(query && filteredEmojis.length === 0) && isRefreshEmojiPickerEnabled();
701
+ var showPreview = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? !uploading : selectedEmoji && !uploading;
702
+ var shouldRenderFooter = showPreview && !(emojiToDelete && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) && !(query && filteredEmojis.length === 0 && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)()) && (Boolean(selectedEmoji) || uploadEnabled || !(0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)());
703
+ var useFooterSpaceForList = showPreview && !selectedEmoji && !uploadEnabled && !emojiToDelete && !(query && filteredEmojis.length === 0) && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)();
713
704
 
714
705
  // When the AI emoji section is shown in the upload panel, grow the picker so
715
706
  // the section isn't clipped by the fixed upload height.
@@ -720,7 +711,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
720
711
  role: "dialog",
721
712
  "aria-label": formatMessage(_i18n.messages.emojiPickerTitle),
722
713
  "aria-modal": true,
723
- 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() ? hasUploadPreviewError ? withUploadRefreshAndPreviewErrorHeight[size] : withUploadRefreshHeight[size] : query && filteredEmojis.length === 0 && isRefreshEmojiPickerEnabled() ? withNoResultsRefreshHeight[size] : showPreview ? withPreviewHeight[size] : withoutPreviewHeight[size], showAiUpload && "_4t3ikbql _c71l8k0t"]),
714
+ className: (0, _runtime.ax)([(0, _isRefreshEmojiPickerEnabled.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 && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? withDeleteRefreshHeight[size] : uploading && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? hasUploadPreviewError ? withUploadRefreshAndPreviewErrorHeight[size] : withUploadRefreshHeight[size] : query && filteredEmojis.length === 0 && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? withNoResultsRefreshHeight[size] : showPreview ? withPreviewHeight[size] : withoutPreviewHeight[size], showAiUpload && "_4t3ikbql _c71l8k0t"]),
724
715
  style: {
725
716
  "--_19dn98e": (0, _runtime.ix)("".concat(emojiPickerHeight, "px")),
726
717
  "--_gsvyy7": (0, _runtime.ix)("".concat(emojiPickerWidth, "px"))
@@ -732,7 +723,7 @@ var EmojiPickerComponent = function EmojiPickerComponent(_ref) {
732
723
  onKeyDown: suppressKeyPress,
733
724
  className: (0, _runtime.ax)(["_16jlkb7n _1o9zkb7n _i0dlf1ug _1reo15vq _18m915vq _1e0c1txw _2lx21bp4 _1bah1yb4 _1tkeidpf", showAiUpload && "_1reo15vq _18m91wug"])
734
725
  }, /*#__PURE__*/React.createElement(_CategorySelector.default, {
735
- activeCategoryId: (uploading || emojiToDelete) && isRefreshEmojiPickerEnabled() ? null : activeCategory,
726
+ activeCategoryId: (uploading || emojiToDelete) && (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? null : activeCategory,
736
727
  dynamicCategories: dynamicCategories,
737
728
  disableCategories: disableCategories,
738
729
  onCategorySelected: onCategorySelected
@@ -14,6 +14,7 @@ var _runtime = require("@compiled/react/runtime");
14
14
  var _reactIntl = require("react-intl");
15
15
  var _CachingEmoji = _interopRequireDefault(require("../common/CachingEmoji"));
16
16
  var _useEmojiPickerListContext = require("../../hooks/useEmojiPickerListContext");
17
+ var _teamoji26RefreshEmojiPicker = require("../../util/teamoji26RefreshEmojiPicker");
17
18
  var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
18
19
  var _i18n = require("../i18n");
19
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); }
@@ -36,7 +37,7 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
36
37
  var _useIntl = (0, _reactIntl.useIntl)(),
37
38
  formatMessage = _useIntl.formatMessage;
38
39
  var fitToHeight = (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_use_unicode_emojis', 'isEnabled', true) ? 24 : undefined;
39
- var preventFocusOnMouseDown = (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', true);
40
+ var preventFocusOnMouseDown = (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabledNoExposure)();
40
41
  var handleFocus = function handleFocus(index) {
41
42
  return function (emojiId, emoji, event) {
42
43
  setEmojisFocus({
@@ -1,7 +1,6 @@
1
1
  /* EmojiPickerFooter.tsx generated by @compiled/babel-plugin v2.0.0 */
2
2
  "use strict";
3
3
 
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
5
  Object.defineProperty(exports, "__esModule", {
7
6
  value: true
@@ -15,17 +14,8 @@ var _reactIntl = require("react-intl");
15
14
  var _compiled = require("@atlaskit/primitives/compiled");
16
15
  var _EmojiPreviewComponent = require("../common/EmojiPreviewComponent");
17
16
  var _AddEmoji = require("../common/AddEmoji");
18
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
17
+ var _isRefreshEmojiPickerEnabled = require("../common/isRefreshEmojiPickerEnabled");
19
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
- 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
19
  var emojiPickerFooter = null;
30
20
  var emojiPickerFooterWithTopShadow = null;
31
21
  var emojiPickerFooterWithTopShadowNew = null;
@@ -38,7 +28,7 @@ var EmojiPickerFooter = function EmojiPickerFooter(_ref) {
38
28
  onOpenUpload = _ref.onOpenUpload,
39
29
  uploadEnabled = _ref.uploadEnabled;
40
30
  var intl = (0, _reactIntl.useIntl)();
41
- return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
31
+ return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement("div", {
42
32
  "data-testid": emojiPickerFooterTestId,
43
33
  className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug", "_x3doia51"])
44
34
  }, selectedEmoji ? /*#__PURE__*/React.createElement(_compiled.Box, {
@@ -16,10 +16,10 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
16
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
18
  var _react = _interopRequireDefault(require("react"));
19
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
20
19
  var _EmojiCommonProvider = require("../../context/EmojiCommonProvider");
21
20
  var _ufoExperiences = require("../../util/analytics/ufoExperiences");
22
21
  var _constants = require("../../util/constants");
22
+ var _teamoji26RefreshEmojiPicker = require("../../util/teamoji26RefreshEmojiPicker");
23
23
  var _LoadingEmojiComponent = _interopRequireDefault(require("../common/LoadingEmojiComponent"));
24
24
  var _UfoErrorBoundary = require("../common/UfoErrorBoundary");
25
25
  var _LoadingItem = require("./LoadingItem");
@@ -28,13 +28,7 @@ var _excluded = ["emojiProvider"];
28
28
  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)); }
29
29
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
30
  var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
31
- if (!_featureGates.default.initializeCompleted()) {
32
- return false;
33
- }
34
-
35
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
36
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
37
- return isEnabled;
31
+ return (0, _teamoji26RefreshEmojiPicker.isTeamoji26RefreshEmojiPickerEnabled)();
38
32
  };
39
33
  var emojiPicker = null;
40
34
  var emojiPickerNew = null;
@@ -10,12 +10,12 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
10
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _reactIntl = require("react-intl");
13
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
14
13
  var _EmojiPickerListContext = require("../../context/EmojiPickerListContext");
15
14
  var _constants = require("../../util/constants");
16
15
  var _filterHiddenEmojis = require("../../util/filter-hidden-emojis");
17
16
  var _productivityColors = require("../../util/productivity-colors");
18
17
  var _EmojiActions = _interopRequireDefault(require("../common/EmojiActions"));
18
+ var _isRefreshEmojiPickerEnabled = require("../common/isRefreshEmojiPickerEnabled");
19
19
  var _i18n = require("../i18n");
20
20
  var _categories = require("./categories");
21
21
  var _CategoryHeadingItem = require("./CategoryHeadingItem");
@@ -35,16 +35,6 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
35
35
  */
36
36
  var RENDER_EMOJI_PICKER_LIST_TESTID = exports.RENDER_EMOJI_PICKER_LIST_TESTID = 'render-emoji-picker-list';
37
37
  var categoryClassname = 'emoji-category';
38
- var teamojiRefreshExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
39
- var isRefreshEmojiPickerEnabled = function isRefreshEmojiPickerEnabled() {
40
- if (!_featureGates.default.initializeCompleted()) {
41
- return false;
42
- }
43
-
44
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
45
- var isEnabled = _featureGates.default.getExperimentValue(teamojiRefreshExperimentName, 'isEnabled', false);
46
- return isEnabled;
47
- };
48
38
  var atlassianCategory = 'ATLASSIAN';
49
39
  var productivityAtlassianSubcategory = 'Productivity';
50
40
  var atlassianSubcategoryOrder = ['Faces', 'Hands', 'Reactions', 'Objects', productivityAtlassianSubcategory, 'Logos'];
@@ -129,7 +119,7 @@ var EmojiPickerVirtualListInternal = exports.EmojiPickerVirtualListInternal = /*
129
119
  _useState0 = (0, _slicedToArray2.default)(_useState9, 2),
130
120
  categoriesChanged = _useState0[0],
131
121
  setCategoriesChanged = _useState0[1];
132
- var isTeamojiExperimentEnabled = isRefreshEmojiPickerEnabled();
122
+ var isTeamojiExperimentEnabled = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)();
133
123
  var visibleEmojis = (0, _react.useMemo)(function () {
134
124
  return isTeamojiExperimentEnabled ? (0, _filterHiddenEmojis.filterHiddenEmojis)(emojis) : emojis;
135
125
  }, [emojis, isTeamojiExperimentEnabled]);
@@ -19,16 +19,8 @@ var _useDebounce = require("use-debounce");
19
19
  var _constants = require("../../util/constants");
20
20
  var _i18n = require("../i18n");
21
21
  var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
22
+ var _isRefreshEmojiPickerEnabled = require("../common/isRefreshEmojiPickerEnabled");
22
23
  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 (!_featureGates.default.initializeCompleted()) {
25
- return false;
26
- }
27
-
28
- // eslint-disable-next-line @atlaskit/platform/use-recommended-utils
29
- var isEnabled = _featureGates.default.getExperimentValue('platform_teamoji_26_refresh_emoji_picker', 'isEnabled', false);
30
- return isEnabled;
31
- };
32
24
  var isEmojiPickerInitialFocusFixEnabled = function isEmojiPickerInitialFocusFixEnabled() {
33
25
  if (!_featureGates.default.initializeCompleted()) {
34
26
  return false;
@@ -91,7 +83,7 @@ var EmojiPickerListSearch = exports.EmojiPickerListSearch = function EmojiPicker
91
83
  role: "status"
92
84
  }, dirty ? query === '' ? formatMessage(_i18n.messages.searchResultsStatusSeeAll) : formatMessage(_i18n.messages.searchResultsStatus, {
93
85
  count: resultsCount
94
- }) : null), isRefreshEmojiPickerEnabled() ? /*#__PURE__*/_react.default.createElement("div", {
86
+ }) : null), (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/_react.default.createElement("div", {
95
87
  className: (0, _runtime.ax)(["_n6341l7x _18z11b66"])
96
88
  }, /*#__PURE__*/_react.default.createElement(_textField.default, {
97
89
  role: "searchbox",
@@ -12,21 +12,12 @@ var _runtime = require("@compiled/react/runtime");
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
14
  var _reactVirtual = require("@tanstack/react-virtual");
15
- var _featureGates = _interopRequireDefault(require("@atlaskit/feature-gate-js-client/feature-gates"));
16
15
  var _useEmojiPickerListContext = require("../../hooks/useEmojiPickerListContext");
17
16
  var _constants = require("../../util/constants");
17
+ var _isRefreshEmojiPickerEnabled = require("../common/isRefreshEmojiPickerEnabled");
18
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); }
19
19
  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; }
20
20
  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; }
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 virtualList = null;
31
22
  var virtualRowStyle = null;
32
23
  var virtualListScrollContainerTestId = exports.virtualListScrollContainerTestId = 'virtual-list-scroll-container';
@@ -72,7 +63,7 @@ var VirtualList = exports.VirtualList = /*#__PURE__*/_react.default.forwardRef(f
72
63
  var elemBottom = elementRect.bottom;
73
64
  var parentTop = parentRect.top;
74
65
  var parentBottom = parentRect.bottom;
75
- var isVisible = isRefreshEmojiPickerEnabled() ? elemTop >= parentTop && elemBottom <= parentBottom : elemBottom > parentTop && elemTop < parentBottom;
66
+ var isVisible = (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? elemTop >= parentTop && elemBottom <= parentBottom : elemBottom > parentTop && elemTop < parentBottom;
76
67
  return isVisible;
77
68
  };
78
69
  var getFirstVisibleListElementIndex = (0, _react.useCallback)(function () {
@@ -91,7 +82,7 @@ var VirtualList = exports.VirtualList = /*#__PURE__*/_react.default.forwardRef(f
91
82
  var _virtualList$firstVis;
92
83
  return ((_virtualList$firstVis = virtualList[firstVisibleIndex]) === null || _virtualList$firstVis === void 0 ? void 0 : _virtualList$firstVis.index) || 0;
93
84
  }
94
- return isRefreshEmojiPickerEnabled() ? ((_virtualList$ = virtualList[0]) === null || _virtualList$ === void 0 ? void 0 : _virtualList$.index) || 0 : 0;
85
+ return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? ((_virtualList$ = virtualList[0]) === null || _virtualList$ === void 0 ? void 0 : _virtualList$.index) || 0 : 0;
95
86
  }, [rowVirtualizer]);
96
87
 
97
88
  /**
@@ -14,7 +14,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _react = _interopRequireWildcard(require("react"));
16
16
  var _reactDom = require("react-dom");
17
- var _uuid = _interopRequireDefault(require("uuid"));
17
+ var _uuid = require("uuid");
18
18
  var _EmojiCommonProvider = require("../../context/EmojiCommonProvider");
19
19
  var _types = require("../../types");
20
20
  var _typeaheadCancelledEvent = require("../../util/analytics/typeaheadCancelledEvent");
@@ -153,7 +153,7 @@ var EmojiTypeAheadComponent = exports.default = /*#__PURE__*/function (_PureComp
153
153
  _this.selectedTone = props.emojiProvider.getSelectedTone();
154
154
  _this.pressed = false;
155
155
  // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
156
- _this.sessionId = (0, _uuid.default)();
156
+ _this.sessionId = (0, _uuid.v4)();
157
157
  _this.selected = false;
158
158
  return _this;
159
159
  }
@@ -191,7 +191,7 @@ var EmojiTypeAheadComponent = exports.default = /*#__PURE__*/function (_PureComp
191
191
  }
192
192
  });
193
193
  // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
194
- this.sessionId = (0, _uuid.default)();
194
+ this.sessionId = (0, _uuid.v4)();
195
195
  this.selected = false;
196
196
  }
197
197
  }, {
@@ -19,7 +19,7 @@ var createEvent = exports.createEvent = function createEvent(eventType, action,
19
19
  actionSubjectId: actionSubjectId,
20
20
  attributes: _objectSpread({
21
21
  packageName: "@atlaskit/emoji",
22
- packageVersion: "72.2.5"
22
+ packageVersion: "72.3.0"
23
23
  }, attributes)
24
24
  };
25
25
  };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.teamoji26RefreshEmojiPickerUserIdGateName = exports.teamoji26RefreshEmojiPickerExperimentName = exports.isTeamoji26RefreshEmojiPickerEnabledNoExposure = exports.isTeamoji26RefreshEmojiPickerEnabled = void 0;
7
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
8
+ var _unsafeExpValNoExposure = require("@atlaskit/platform-feature-experiments/unsafe-exp-val-no-exposure");
9
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
10
+ var teamoji26RefreshEmojiPickerExperimentName = exports.teamoji26RefreshEmojiPickerExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
11
+ var teamoji26RefreshEmojiPickerUserIdGateName = exports.teamoji26RefreshEmojiPickerUserIdGateName = 'platform_teamoji_26_refresh_emoji_picker_user_id';
12
+ var isTeamoji26RefreshEmojiPickerEnabled = exports.isTeamoji26RefreshEmojiPickerEnabled = function isTeamoji26RefreshEmojiPickerEnabled() {
13
+ return (0, _isExperimentEnabled.isExperimentEnabled)(teamoji26RefreshEmojiPickerExperimentName) || (0, _fg.fg)(teamoji26RefreshEmojiPickerUserIdGateName);
14
+ };
15
+ var isTeamoji26RefreshEmojiPickerEnabledNoExposure = exports.isTeamoji26RefreshEmojiPickerEnabledNoExposure = function isTeamoji26RefreshEmojiPickerEnabledNoExposure() {
16
+ return (0, _unsafeExpValNoExposure.UNSAFE_expValNoExposure)(teamoji26RefreshEmojiPickerExperimentName, 'isEnabled', false) === true || (0, _fg.fg)(teamoji26RefreshEmojiPickerUserIdGateName);
17
+ };
@@ -1,7 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  /* eslint-disable @repo/internal/deprecations/deprecation-ticket-required -- VOLTC-139 tracks removal of these deprecated re-export shims. */
3
3
  import { Search, UnorderedSearchIndex } from 'js-search';
4
- import FeatureGates from '@atlaskit/feature-gate-js-client/feature-gates';
5
4
  import { SearchSort } from '../types';
6
5
  import { defaultCategories, frequentCategory } from '../util/constants';
7
6
  import { getCategoryId } from '../util/get-category-id';
@@ -11,6 +10,7 @@ import { getEmojiVariation } from './getEmojiVariation';
11
10
  import { UsageFrequencyTracker } from './internal/UsageFrequencyTracker';
12
11
  import { createSearchEmojiComparator } from './internal/createSearchEmojiComparator';
13
12
  import { createUsageOnlyEmojiComparator } from './internal/createUsageOnlyEmojiComparator';
13
+ import { isTeamoji26RefreshEmojiPickerEnabled } from '../util/teamoji26RefreshEmojiPicker';
14
14
  // FS-1097 - duplicated in mentions - extract at some point into a shared library
15
15
  class Tokenizer {
16
16
  tokenize(text) {
@@ -92,15 +92,8 @@ const findEmojiIndex = (emojis, toFind) => {
92
92
  });
93
93
  return match;
94
94
  };
95
- const teamojiRefreshExperimentName = 'platform_teamoji_26_refresh_emoji_picker';
96
95
  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;
96
+ return isTeamoji26RefreshEmojiPickerEnabled();
104
97
  };
105
98
  export default class EmojiRepository {
106
99
  // protected to allow subclasses to access (for testing and storybooks).