@atlaskit/emoji 71.14.0 → 71.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/emoji
2
2
 
3
+ ## 71.15.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`dd9429468d1d0`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/dd9429468d1d0) -
8
+ Clean up platform_emoji_grid_presentation FG
9
+
10
+ ## 71.15.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [`7d37c14edffa7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7d37c14edffa7) -
15
+ Update i18n NPM package versions for editor,editor-extensions,activity-platform,media,elements
16
+ (Group 3)
17
+
18
+ ### Patch Changes
19
+
20
+ - [`22c03f298a7de`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/22c03f298a7de) -
21
+ Add an optional promise cache to `EmojiLoader`, keyed by the request URL, so that loaders created
22
+ for the same provider config reuse a single in-flight/resolved request instead of refetching.
23
+ Gated behind the `cache_emoji_loader_for_the_same_config` feature flag; behaviour is unchanged
24
+ when the flag is off.
25
+
3
26
  ## 71.14.0
4
27
 
5
28
  ### Minor Changes
@@ -7,7 +7,15 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
11
  var _EmojiUtils = require("./EmojiUtils");
12
+ /**
13
+ * Shared cache of in-flight/resolved emoji load promises, keyed by the request URL so that
14
+ * multiple loaders created for the same provider config reuse a single request instead of
15
+ * refetching. Only consulted when `cache_emoji_loader_for_the_same_config` is enabled.
16
+ */
17
+ var emojiPromiseCache = new Map();
18
+
11
19
  /**
12
20
  * Emoji providers should return JSON in the format defined by EmojiServiceResponse.
13
21
  */
@@ -23,8 +31,28 @@ var EmojiLoader = exports.default = /*#__PURE__*/function () {
23
31
  return (0, _createClass2.default)(EmojiLoader, [{
24
32
  key: "loadEmoji",
25
33
  value: function loadEmoji() {
26
- var emojisPromise = (0, _EmojiUtils.emojiRequest)(this.config);
27
- return emojisPromise.then(function (emojiServiceResponse) {
34
+ if ((0, _platformFeatureFlags.fg)('cache_emoji_loader_for_the_same_config')) {
35
+ var cacheKey = this.config.url;
36
+ var cachedPromise = emojiPromiseCache.get(cacheKey);
37
+ if (cachedPromise) {
38
+ return cachedPromise;
39
+ }
40
+ var emojiPromise = this.fetchEmoji();
41
+ // Evict on failure so a rejected promise is not cached, allowing retries to refetch.
42
+ emojiPromise.catch(function () {
43
+ if (emojiPromiseCache.get(cacheKey) === emojiPromise) {
44
+ emojiPromiseCache.delete(cacheKey);
45
+ }
46
+ });
47
+ emojiPromiseCache.set(cacheKey, emojiPromise);
48
+ return emojiPromise;
49
+ }
50
+ return this.fetchEmoji();
51
+ }
52
+ }, {
53
+ key: "fetchEmoji",
54
+ value: function fetchEmoji() {
55
+ return (0, _EmojiUtils.emojiRequest)(this.config).then(function (emojiServiceResponse) {
28
56
  return (0, _EmojiUtils.denormaliseEmojiServiceResponse)(emojiServiceResponse);
29
57
  });
30
58
  }
@@ -11,7 +11,6 @@ require("./EmojiPickerCategoryHeading.compiled.css");
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _runtime = require("@compiled/react/runtime");
13
13
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
- var _expValEqualsNoExposure = require("@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure");
15
14
  var _heading = _interopRequireDefault(require("@atlaskit/heading"));
16
15
  var _reactIntl = require("react-intl");
17
16
  var _typeHelpers = require("../../util/type-helpers");
@@ -33,12 +32,8 @@ var EmojiPickerCategoryHeading = function EmojiPickerCategoryHeading(_ref) {
33
32
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
34
33
  ,
35
34
  className: className,
36
- "data-testid": RENDER_EMOJI_PICKER_CATEGORY_HEADING_TESTID
37
- // A11Y-31084: With the list-markup experiment (or the existing reaction-emoji
38
- // flag) the picker no longer uses grid semantics, so the category heading
39
- // must not be a "rowheader" (which requires a row parent).
40
- ,
41
- role: (0, _platformFeatureFlags.fg)('platform_a11y_fixes_reaction_emoji') || (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_a11y_fixes_emoji_picker_list', 'isEnabled', true) ? 'presentation' : 'rowheader'
35
+ "data-testid": RENDER_EMOJI_PICKER_CATEGORY_HEADING_TESTID,
36
+ role: "presentation"
42
37
  }, (0, _platformFeatureFlags.fg)('platform_emoji_a11y_category_heading') ? /*#__PURE__*/React.createElement("div", {
43
38
  className: (0, _runtime.ax)(["_11c8fhey _19pkidpf _2hwxidpf _otyridpf _18u0idpf _vchhusvi _syazi7uo _ca0q12x7 _n3td12x7 _19bvu2gc _u5f3u2gc _1p1d1qyh _299mangw"])
44
39
  }, /*#__PURE__*/React.createElement(_heading.default, {
@@ -11,7 +11,6 @@ require("./EmojiPickerEmojiRow.compiled.css");
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
15
  var _reactIntl = require("react-intl");
17
16
  var _CachingEmoji = _interopRequireDefault(require("../common/CachingEmoji"));
@@ -94,16 +93,13 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
94
93
  id = emoji.id;
95
94
  var key = id ? "".concat(id, "-").concat(title) : "".concat(shortName, "-").concat(title);
96
95
  var focus = currentEmojisFocus.rowIndex === rowIndex && currentEmojisFocus.columnIndex === index;
97
- return /*#__PURE__*/React.createElement("span", (0, _extends2.default)({
96
+ return /*#__PURE__*/React.createElement("span", {
98
97
  key: key,
99
- role: (0, _platformFeatureFlags.fg)('platform_a11y_fixes_reaction_emoji') ? 'presentation' : 'gridcell'
100
- }, (0, _platformFeatureFlags.fg)('platform_a11y_fixes_reaction_emoji') ? {} : {
101
- 'aria-colindex': index + 1
102
- }, {
98
+ role: "presentation",
103
99
  onMouseLeave: onMouseLeave,
104
100
  onBlur: onMouseLeave,
105
101
  className: (0, _runtime.ax)(["_1e0c1o8l _y3gn1h6o _1bsb1ylp _1wcg1qi0 _1678tlke _7b50u2gc _1rf4u2gc _b4kiu2gc _bm9mu2gc _1lvc1tcg _1cf71tcg _8vlfze3t _1909ze3t _1tcfze3t _n7xcze3t _4ubfu2gc _18x3u2gc _fw9su2gc _29jju2gc _qpkw1tcg _elsp1tcg _vtzrze3t _w2q0ze3t _o5kcze3t _1mc3ze3t _115ch2mm _yrst1ssb _85ft1ssb _5mfndbra _1k8z1tcg _17dz1tcg _zdyf1ule _1mn81tcg _u5ah1tcg"])
106
- }), /*#__PURE__*/React.createElement(_CachingEmoji.default, {
102
+ }, /*#__PURE__*/React.createElement(_CachingEmoji.default, {
107
103
  emoji: emoji,
108
104
  selectOnHover: true,
109
105
  onSelected: onSelected,
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.virtualListScrollContainerTestId = exports.VirtualList = void 0;
10
10
  require("./VirtualList.compiled.css");
11
11
  var _runtime = require("@compiled/react/runtime");
12
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
13
  var _react = _interopRequireWildcard(require("react"));
15
14
  var _reactVirtual = require("@tanstack/react-virtual");
@@ -293,7 +292,7 @@ var VirtualList = exports.VirtualList = /*#__PURE__*/_react.default.forwardRef(f
293
292
  },
294
293
  "data-testid": virtualListScrollContainerTestId,
295
294
  "aria-labelledby": "emoji-picker-table-description",
296
- role: useListSemantics ? 'application' : (0, _platformFeatureFlags.fg)('platform_emoji_grid_presentation') ? 'presentation' : 'grid',
295
+ role: useListSemantics ? 'application' : 'presentation',
297
296
  tabIndex: useListSemantics ? -1 : undefined,
298
297
  className: (0, _runtime.ax)(["_1reo15vq _18m91wug _n3tdu2gc _nt751r31 _49pcglyw _1hvw1o36"])
299
298
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -308,17 +307,14 @@ var VirtualList = exports.VirtualList = /*#__PURE__*/_react.default.forwardRef(f
308
307
  onKeyDown: handleKeyDown,
309
308
  role: "presentation"
310
309
  }, rowVirtualizer.getVirtualItems().map(function (virtualRow, index) {
311
- return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
310
+ return /*#__PURE__*/_react.default.createElement("div", {
312
311
  key: virtualRow.key,
313
312
  style: {
314
313
  height: "".concat(virtualRow.size, "px"),
315
314
  transform: "translateY(".concat(virtualRow.start, "px)")
316
315
  },
317
- role: useListSemantics ? 'presentation' : 'row'
318
- }, useListSemantics ? {} : {
319
- 'aria-rowindex': index + 1
320
- }, {
316
+ role: "presentation",
321
317
  className: (0, _runtime.ax)(["_kqswstnw _154iidpf _1ltvidpf _1bsb1osq"])
322
- }), rowRenderer(virtualRow));
318
+ }, rowRenderer(virtualRow));
323
319
  })));
324
320
  });
@@ -20,7 +20,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
20
20
  actionSubjectId: actionSubjectId,
21
21
  attributes: _objectSpread({
22
22
  packageName: "@atlaskit/emoji",
23
- packageVersion: "71.13.3"
23
+ packageVersion: "71.15.0"
24
24
  }, attributes)
25
25
  };
26
26
  };
@@ -1,5 +1,13 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
1
2
  import { denormaliseEmojiServiceResponse, emojiRequest } from './EmojiUtils';
2
3
 
4
+ /**
5
+ * Shared cache of in-flight/resolved emoji load promises, keyed by the request URL so that
6
+ * multiple loaders created for the same provider config reuse a single request instead of
7
+ * refetching. Only consulted when `cache_emoji_loader_for_the_same_config` is enabled.
8
+ */
9
+ const emojiPromiseCache = new Map();
10
+
3
11
  /**
4
12
  * Emoji providers should return JSON in the format defined by EmojiServiceResponse.
5
13
  */
@@ -12,7 +20,25 @@ export default class EmojiLoader {
12
20
  * Returns a promise with an array of Emoji from all providers.
13
21
  */
14
22
  loadEmoji() {
15
- const emojisPromise = emojiRequest(this.config);
16
- return emojisPromise.then(emojiServiceResponse => denormaliseEmojiServiceResponse(emojiServiceResponse));
23
+ if (fg('cache_emoji_loader_for_the_same_config')) {
24
+ const cacheKey = this.config.url;
25
+ const cachedPromise = emojiPromiseCache.get(cacheKey);
26
+ if (cachedPromise) {
27
+ return cachedPromise;
28
+ }
29
+ const emojiPromise = this.fetchEmoji();
30
+ // Evict on failure so a rejected promise is not cached, allowing retries to refetch.
31
+ emojiPromise.catch(() => {
32
+ if (emojiPromiseCache.get(cacheKey) === emojiPromise) {
33
+ emojiPromiseCache.delete(cacheKey);
34
+ }
35
+ });
36
+ emojiPromiseCache.set(cacheKey, emojiPromise);
37
+ return emojiPromise;
38
+ }
39
+ return this.fetchEmoji();
40
+ }
41
+ fetchEmoji() {
42
+ return emojiRequest(this.config).then(emojiServiceResponse => denormaliseEmojiServiceResponse(emojiServiceResponse));
17
43
  }
18
44
  }
@@ -3,7 +3,6 @@ import "./EmojiPickerCategoryHeading.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { fg } from '@atlaskit/platform-feature-flags';
6
- import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
7
6
  import Heading from '@atlaskit/heading';
8
7
  import { FormattedMessage } from 'react-intl';
9
8
  import { isMessagesKey } from '../../util/type-helpers';
@@ -24,12 +23,8 @@ const EmojiPickerCategoryHeading = ({
24
23
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
25
24
  ,
26
25
  className: className,
27
- "data-testid": RENDER_EMOJI_PICKER_CATEGORY_HEADING_TESTID
28
- // A11Y-31084: With the list-markup experiment (or the existing reaction-emoji
29
- // flag) the picker no longer uses grid semantics, so the category heading
30
- // must not be a "rowheader" (which requires a row parent).
31
- ,
32
- role: fg('platform_a11y_fixes_reaction_emoji') || expValEqualsNoExposure('platform_a11y_fixes_emoji_picker_list', 'isEnabled', true) ? 'presentation' : 'rowheader'
26
+ "data-testid": RENDER_EMOJI_PICKER_CATEGORY_HEADING_TESTID,
27
+ role: "presentation"
33
28
  }, fg('platform_emoji_a11y_category_heading') ? /*#__PURE__*/React.createElement("div", {
34
29
  className: ax(["_11c8fhey _19pkidpf _2hwxidpf _otyridpf _18u0idpf _vchhusvi _syazi7uo _ca0q12x7 _n3td12x7 _19bvu2gc _u5f3u2gc _1p1d1qyh _299mangw"])
35
30
  }, /*#__PURE__*/React.createElement(Heading, {
@@ -1,5 +1,4 @@
1
1
  /* EmojiPickerEmojiRow.tsx generated by @compiled/babel-plugin v0.40.0 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
2
  import "./EmojiPickerEmojiRow.compiled.css";
4
3
  import * as React from 'react';
5
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -90,16 +89,13 @@ const EmojiPickerEmojiRow = ({
90
89
  } = emoji;
91
90
  const key = id ? `${id}-${title}` : `${shortName}-${title}`;
92
91
  const focus = currentEmojisFocus.rowIndex === rowIndex && currentEmojisFocus.columnIndex === index;
93
- return /*#__PURE__*/React.createElement("span", _extends({
92
+ return /*#__PURE__*/React.createElement("span", {
94
93
  key: key,
95
- role: fg('platform_a11y_fixes_reaction_emoji') ? 'presentation' : 'gridcell'
96
- }, fg('platform_a11y_fixes_reaction_emoji') ? {} : {
97
- 'aria-colindex': index + 1
98
- }, {
94
+ role: "presentation",
99
95
  onMouseLeave: onMouseLeave,
100
96
  onBlur: onMouseLeave,
101
97
  className: ax(["_1e0c1o8l _y3gn1h6o _1bsb1ylp _1wcg1qi0 _1678tlke _7b50u2gc _1rf4u2gc _b4kiu2gc _bm9mu2gc _1lvc1tcg _1cf71tcg _8vlfze3t _1909ze3t _1tcfze3t _n7xcze3t _4ubfu2gc _18x3u2gc _fw9su2gc _29jju2gc _qpkw1tcg _elsp1tcg _vtzrze3t _w2q0ze3t _o5kcze3t _1mc3ze3t _115ch2mm _yrst1ssb _85ft1ssb _5mfndbra _1k8z1tcg _17dz1tcg _zdyf1ule _1mn81tcg _u5ah1tcg"])
102
- }), /*#__PURE__*/React.createElement(CachingEmoji, {
98
+ }, /*#__PURE__*/React.createElement(CachingEmoji, {
103
99
  emoji: emoji,
104
100
  selectOnHover: true,
105
101
  onSelected: onSelected,
@@ -1,5 +1,4 @@
1
1
  /* VirtualList.tsx generated by @compiled/babel-plugin v0.40.0 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
2
  import "./VirtualList.compiled.css";
4
3
  import { ax, ix } from "@compiled/react/runtime";
5
4
  import React, { useCallback, useImperativeHandle } from 'react';
@@ -281,7 +280,7 @@ export const VirtualList = /*#__PURE__*/React.forwardRef((props, ref) => {
281
280
  },
282
281
  "data-testid": virtualListScrollContainerTestId,
283
282
  "aria-labelledby": "emoji-picker-table-description",
284
- role: useListSemantics ? 'application' : fg('platform_emoji_grid_presentation') ? 'presentation' : 'grid',
283
+ role: useListSemantics ? 'application' : 'presentation',
285
284
  tabIndex: useListSemantics ? -1 : undefined,
286
285
  className: ax(["_1reo15vq _18m91wug _n3tdu2gc _nt751r31 _49pcglyw _1hvw1o36"])
287
286
  }, /*#__PURE__*/React.createElement("div", {
@@ -295,16 +294,13 @@ export const VirtualList = /*#__PURE__*/React.forwardRef((props, ref) => {
295
294
  ref: virtualistItemsRef,
296
295
  onKeyDown: handleKeyDown,
297
296
  role: "presentation"
298
- }, rowVirtualizer.getVirtualItems().map((virtualRow, index) => /*#__PURE__*/React.createElement("div", _extends({
297
+ }, rowVirtualizer.getVirtualItems().map((virtualRow, index) => /*#__PURE__*/React.createElement("div", {
299
298
  key: virtualRow.key,
300
299
  style: {
301
300
  height: `${virtualRow.size}px`,
302
301
  transform: `translateY(${virtualRow.start}px)`
303
302
  },
304
- role: useListSemantics ? 'presentation' : 'row'
305
- }, useListSemantics ? {} : {
306
- 'aria-rowindex': index + 1
307
- }, {
303
+ role: "presentation",
308
304
  className: ax(["_kqswstnw _154iidpf _1ltvidpf _1bsb1osq"])
309
- }), rowRenderer(virtualRow)))));
305
+ }, rowRenderer(virtualRow)))));
310
306
  });
@@ -9,7 +9,7 @@ const createEvent = (eventType, action, actionSubject, actionSubjectId, attribut
9
9
  actionSubjectId,
10
10
  attributes: {
11
11
  packageName: "@atlaskit/emoji",
12
- packageVersion: "71.13.3",
12
+ packageVersion: "71.15.0",
13
13
  ...attributes
14
14
  }
15
15
  });
@@ -1,7 +1,15 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
+ import { fg } from '@atlaskit/platform-feature-flags';
3
4
  import { denormaliseEmojiServiceResponse, emojiRequest } from './EmojiUtils';
4
5
 
6
+ /**
7
+ * Shared cache of in-flight/resolved emoji load promises, keyed by the request URL so that
8
+ * multiple loaders created for the same provider config reuse a single request instead of
9
+ * refetching. Only consulted when `cache_emoji_loader_for_the_same_config` is enabled.
10
+ */
11
+ var emojiPromiseCache = new Map();
12
+
5
13
  /**
6
14
  * Emoji providers should return JSON in the format defined by EmojiServiceResponse.
7
15
  */
@@ -17,8 +25,28 @@ var EmojiLoader = /*#__PURE__*/function () {
17
25
  return _createClass(EmojiLoader, [{
18
26
  key: "loadEmoji",
19
27
  value: function loadEmoji() {
20
- var emojisPromise = emojiRequest(this.config);
21
- return emojisPromise.then(function (emojiServiceResponse) {
28
+ if (fg('cache_emoji_loader_for_the_same_config')) {
29
+ var cacheKey = this.config.url;
30
+ var cachedPromise = emojiPromiseCache.get(cacheKey);
31
+ if (cachedPromise) {
32
+ return cachedPromise;
33
+ }
34
+ var emojiPromise = this.fetchEmoji();
35
+ // Evict on failure so a rejected promise is not cached, allowing retries to refetch.
36
+ emojiPromise.catch(function () {
37
+ if (emojiPromiseCache.get(cacheKey) === emojiPromise) {
38
+ emojiPromiseCache.delete(cacheKey);
39
+ }
40
+ });
41
+ emojiPromiseCache.set(cacheKey, emojiPromise);
42
+ return emojiPromise;
43
+ }
44
+ return this.fetchEmoji();
45
+ }
46
+ }, {
47
+ key: "fetchEmoji",
48
+ value: function fetchEmoji() {
49
+ return emojiRequest(this.config).then(function (emojiServiceResponse) {
22
50
  return denormaliseEmojiServiceResponse(emojiServiceResponse);
23
51
  });
24
52
  }
@@ -3,7 +3,6 @@ import "./EmojiPickerCategoryHeading.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { fg } from '@atlaskit/platform-feature-flags';
6
- import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
7
6
  import Heading from '@atlaskit/heading';
8
7
  import { FormattedMessage } from 'react-intl';
9
8
  import { isMessagesKey } from '../../util/type-helpers';
@@ -24,12 +23,8 @@ var EmojiPickerCategoryHeading = function EmojiPickerCategoryHeading(_ref) {
24
23
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
25
24
  ,
26
25
  className: className,
27
- "data-testid": RENDER_EMOJI_PICKER_CATEGORY_HEADING_TESTID
28
- // A11Y-31084: With the list-markup experiment (or the existing reaction-emoji
29
- // flag) the picker no longer uses grid semantics, so the category heading
30
- // must not be a "rowheader" (which requires a row parent).
31
- ,
32
- role: fg('platform_a11y_fixes_reaction_emoji') || expValEqualsNoExposure('platform_a11y_fixes_emoji_picker_list', 'isEnabled', true) ? 'presentation' : 'rowheader'
26
+ "data-testid": RENDER_EMOJI_PICKER_CATEGORY_HEADING_TESTID,
27
+ role: "presentation"
33
28
  }, fg('platform_emoji_a11y_category_heading') ? /*#__PURE__*/React.createElement("div", {
34
29
  className: ax(["_11c8fhey _19pkidpf _2hwxidpf _otyridpf _18u0idpf _vchhusvi _syazi7uo _ca0q12x7 _n3td12x7 _19bvu2gc _u5f3u2gc _1p1d1qyh _299mangw"])
35
30
  }, /*#__PURE__*/React.createElement(Heading, {
@@ -1,5 +1,4 @@
1
1
  /* EmojiPickerEmojiRow.tsx generated by @compiled/babel-plugin v0.40.0 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
2
  import "./EmojiPickerEmojiRow.compiled.css";
4
3
  import * as React from 'react';
5
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -85,16 +84,13 @@ var EmojiPickerEmojiRow = function EmojiPickerEmojiRow(_ref) {
85
84
  id = emoji.id;
86
85
  var key = id ? "".concat(id, "-").concat(title) : "".concat(shortName, "-").concat(title);
87
86
  var focus = currentEmojisFocus.rowIndex === rowIndex && currentEmojisFocus.columnIndex === index;
88
- return /*#__PURE__*/React.createElement("span", _extends({
87
+ return /*#__PURE__*/React.createElement("span", {
89
88
  key: key,
90
- role: fg('platform_a11y_fixes_reaction_emoji') ? 'presentation' : 'gridcell'
91
- }, fg('platform_a11y_fixes_reaction_emoji') ? {} : {
92
- 'aria-colindex': index + 1
93
- }, {
89
+ role: "presentation",
94
90
  onMouseLeave: onMouseLeave,
95
91
  onBlur: onMouseLeave,
96
92
  className: ax(["_1e0c1o8l _y3gn1h6o _1bsb1ylp _1wcg1qi0 _1678tlke _7b50u2gc _1rf4u2gc _b4kiu2gc _bm9mu2gc _1lvc1tcg _1cf71tcg _8vlfze3t _1909ze3t _1tcfze3t _n7xcze3t _4ubfu2gc _18x3u2gc _fw9su2gc _29jju2gc _qpkw1tcg _elsp1tcg _vtzrze3t _w2q0ze3t _o5kcze3t _1mc3ze3t _115ch2mm _yrst1ssb _85ft1ssb _5mfndbra _1k8z1tcg _17dz1tcg _zdyf1ule _1mn81tcg _u5ah1tcg"])
97
- }), /*#__PURE__*/React.createElement(CachingEmoji, {
93
+ }, /*#__PURE__*/React.createElement(CachingEmoji, {
98
94
  emoji: emoji,
99
95
  selectOnHover: true,
100
96
  onSelected: onSelected,
@@ -1,5 +1,4 @@
1
1
  /* VirtualList.tsx generated by @compiled/babel-plugin v0.40.0 */
2
- import _extends from "@babel/runtime/helpers/extends";
3
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
3
  import "./VirtualList.compiled.css";
5
4
  import { ax, ix } from "@compiled/react/runtime";
@@ -284,7 +283,7 @@ export var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
284
283
  },
285
284
  "data-testid": virtualListScrollContainerTestId,
286
285
  "aria-labelledby": "emoji-picker-table-description",
287
- role: useListSemantics ? 'application' : fg('platform_emoji_grid_presentation') ? 'presentation' : 'grid',
286
+ role: useListSemantics ? 'application' : 'presentation',
288
287
  tabIndex: useListSemantics ? -1 : undefined,
289
288
  className: ax(["_1reo15vq _18m91wug _n3tdu2gc _nt751r31 _49pcglyw _1hvw1o36"])
290
289
  }, /*#__PURE__*/React.createElement("div", {
@@ -299,17 +298,14 @@ export var VirtualList = /*#__PURE__*/React.forwardRef(function (props, ref) {
299
298
  onKeyDown: handleKeyDown,
300
299
  role: "presentation"
301
300
  }, rowVirtualizer.getVirtualItems().map(function (virtualRow, index) {
302
- return /*#__PURE__*/React.createElement("div", _extends({
301
+ return /*#__PURE__*/React.createElement("div", {
303
302
  key: virtualRow.key,
304
303
  style: {
305
304
  height: "".concat(virtualRow.size, "px"),
306
305
  transform: "translateY(".concat(virtualRow.start, "px)")
307
306
  },
308
- role: useListSemantics ? 'presentation' : 'row'
309
- }, useListSemantics ? {} : {
310
- 'aria-rowindex': index + 1
311
- }, {
307
+ role: "presentation",
312
308
  className: ax(["_kqswstnw _154iidpf _1ltvidpf _1bsb1osq"])
313
- }), rowRenderer(virtualRow));
309
+ }, rowRenderer(virtualRow));
314
310
  })));
315
311
  });
@@ -14,7 +14,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
14
14
  actionSubjectId: actionSubjectId,
15
15
  attributes: _objectSpread({
16
16
  packageName: "@atlaskit/emoji",
17
- packageVersion: "71.13.3"
17
+ packageVersion: "71.15.0"
18
18
  }, attributes)
19
19
  };
20
20
  };
@@ -10,4 +10,5 @@ export default class EmojiLoader {
10
10
  * Returns a promise with an array of Emoji from all providers.
11
11
  */
12
12
  loadEmoji(): Promise<EmojiResponse>;
13
+ private fetchEmoji;
13
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/emoji",
3
- "version": "71.14.0",
3
+ "version": "71.15.1",
4
4
  "description": "Fabric emoji React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -29,7 +29,7 @@
29
29
  "access": "public"
30
30
  },
31
31
  "dependencies": {
32
- "@atlaskit/afm-i18n-platform-elements-emoji": "2.196.0",
32
+ "@atlaskit/afm-i18n-platform-elements-emoji": "2.200.0",
33
33
  "@atlaskit/analytics-next": "^12.3.0",
34
34
  "@atlaskit/browser-apis": "^1.2.0",
35
35
  "@atlaskit/button": "^24.3.0",
@@ -50,7 +50,7 @@
50
50
  "@atlaskit/spinner": "^20.1.0",
51
51
  "@atlaskit/textfield": "^9.1.0",
52
52
  "@atlaskit/theme": "^26.1.0",
53
- "@atlaskit/tmp-editor-statsig": "^135.0.0",
53
+ "@atlaskit/tmp-editor-statsig": "^135.2.0",
54
54
  "@atlaskit/tokens": "^16.3.0",
55
55
  "@atlaskit/tooltip": "^23.2.0",
56
56
  "@atlaskit/ufo": "^1.0.0",
@@ -128,9 +128,6 @@
128
128
  "platform_suppression_removal_fix_reactions": {
129
129
  "type": "boolean"
130
130
  },
131
- "platform_emoji_grid_presentation": {
132
- "type": "boolean"
133
- },
134
131
  "platform_emoji_keep_picker_open_on_upload": {
135
132
  "type": "boolean"
136
133
  },
@@ -142,6 +139,9 @@
142
139
  },
143
140
  "platform_a11y_fixes_reaction_emoji": {
144
141
  "type": "boolean"
142
+ },
143
+ "cache_emoji_loader_for_the_same_config": {
144
+ "type": "boolean"
145
145
  }
146
146
  },
147
147
  "platform-experiments": {