@atlaskit/emoji 70.10.10 → 70.10.12
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 +16 -0
- package/dist/cjs/api/EmojiResource.js +75 -74
- package/dist/cjs/api/media/SiteEmojiResource.js +12 -12
- package/dist/cjs/components/common/EmojiRadioButton.js +11 -0
- package/dist/cjs/components/common/EmojiUploadPicker.js +11 -10
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +2 -2
- package/dist/cjs/components/common/ToneSelector.js +29 -5
- package/dist/cjs/components/picker/EmojiPickerComponent.js +7 -7
- package/dist/cjs/components/uploader/EmojiUploadComponent.js +14 -14
- package/dist/cjs/context/EmojiContextProvider.js +12 -11
- package/dist/cjs/hooks/useEmoji.js +9 -9
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/cjs/util/analytics/samplingUfo.js +18 -18
- package/dist/es2019/components/common/EmojiRadioButton.js +9 -0
- package/dist/es2019/components/common/ToneSelector.js +26 -4
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/api/EmojiResource.js +75 -74
- package/dist/esm/api/media/SiteEmojiResource.js +12 -12
- package/dist/esm/components/common/EmojiRadioButton.js +11 -0
- package/dist/esm/components/common/EmojiUploadPicker.js +10 -9
- package/dist/esm/components/common/ResourcedEmojiComponent.js +2 -2
- package/dist/esm/components/common/ToneSelector.js +28 -4
- package/dist/esm/components/picker/EmojiPickerComponent.js +7 -7
- package/dist/esm/components/uploader/EmojiUploadComponent.js +13 -13
- package/dist/esm/context/EmojiContextProvider.js +11 -10
- package/dist/esm/hooks/useEmoji.js +9 -9
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/dist/esm/util/analytics/samplingUfo.js +18 -18
- package/dist/types/components/common/EmojiRadioButton.d.ts +1 -0
- package/dist/types-ts4.5/components/common/EmojiRadioButton.d.ts +1 -0
- package/package.json +2 -3
|
@@ -21,7 +21,7 @@ var _UploadEmoji = require("../common/UploadEmoji");
|
|
|
21
21
|
var _analytics = require("../../util/analytics");
|
|
22
22
|
var _ufoExperiences = require("../../util/analytics/ufoExperiences");
|
|
23
23
|
var _i18n = require("../i18n");
|
|
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
|
|
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 _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); }
|
|
25
25
|
var emojiPickerWidth = 350;
|
|
26
26
|
var emojiUploadWidget = null;
|
|
27
27
|
var emojiUploadFooter = null;
|
|
@@ -51,8 +51,8 @@ var EmojiUploadComponent = function EmojiUploadComponent(props) {
|
|
|
51
51
|
}, []);
|
|
52
52
|
var onUploadEmoji = /*#__PURE__*/function () {
|
|
53
53
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(upload, retry, onSuccessHandler) {
|
|
54
|
-
var errorSetter, message;
|
|
55
|
-
return _regenerator.default.wrap(function
|
|
54
|
+
var errorSetter, message, _t;
|
|
55
|
+
return _regenerator.default.wrap(function (_context) {
|
|
56
56
|
while (1) switch (_context.prev = _context.next) {
|
|
57
57
|
case 0:
|
|
58
58
|
_ufoExperiences.ufoExperiences['emoji-uploaded'].start();
|
|
@@ -60,27 +60,27 @@ var EmojiUploadComponent = function EmojiUploadComponent(props) {
|
|
|
60
60
|
retry: retry
|
|
61
61
|
});
|
|
62
62
|
if (!(0, _EmojiResource.supportsUploadFeature)(emojiProvider)) {
|
|
63
|
-
_context.next =
|
|
63
|
+
_context.next = 4;
|
|
64
64
|
break;
|
|
65
65
|
}
|
|
66
66
|
fireAnalytics((0, _analytics.uploadConfirmButton)({
|
|
67
67
|
retry: retry
|
|
68
68
|
}));
|
|
69
|
-
_context.prev =
|
|
70
|
-
_context.next =
|
|
69
|
+
_context.prev = 1;
|
|
70
|
+
_context.next = 2;
|
|
71
71
|
return emojiProvider.prepareForUpload();
|
|
72
|
-
case
|
|
72
|
+
case 2:
|
|
73
73
|
errorSetter = function errorSetter(message) {
|
|
74
74
|
setUploadErrorMessage(message);
|
|
75
75
|
}; // internally handled error from upload callback
|
|
76
76
|
(0, _UploadEmoji.uploadEmoji)(upload, emojiProvider, errorSetter, onUploaded(onSuccessHandler), fireAnalytics, retry);
|
|
77
|
-
_context.next =
|
|
77
|
+
_context.next = 4;
|
|
78
78
|
break;
|
|
79
|
-
case
|
|
80
|
-
_context.prev =
|
|
81
|
-
|
|
79
|
+
case 3:
|
|
80
|
+
_context.prev = 3;
|
|
81
|
+
_t = _context["catch"](1);
|
|
82
82
|
// error from upload token generation
|
|
83
|
-
message =
|
|
83
|
+
message = _t instanceof Error ? _t.message : 'Issue with generating upload token';
|
|
84
84
|
_ufoExperiences.ufoExperiences['emoji-uploaded'].failure({
|
|
85
85
|
metadata: {
|
|
86
86
|
source: 'EmojiUploadComponent',
|
|
@@ -88,11 +88,11 @@ var EmojiUploadComponent = function EmojiUploadComponent(props) {
|
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
setUploadErrorMessage(_i18n.messages.emojiUploadFailed);
|
|
91
|
-
case
|
|
91
|
+
case 4:
|
|
92
92
|
case "end":
|
|
93
93
|
return _context.stop();
|
|
94
94
|
}
|
|
95
|
-
}, _callee, null, [[
|
|
95
|
+
}, _callee, null, [[1, 3]]);
|
|
96
96
|
}));
|
|
97
97
|
return function onUploadEmoji(_x, _x2, _x3) {
|
|
98
98
|
return _ref.apply(this, arguments);
|
|
@@ -11,7 +11,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _EmojiContext = require("./EmojiContext");
|
|
13
13
|
var _logger = _interopRequireDefault(require("../util/logger"));
|
|
14
|
-
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
|
|
14
|
+
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); }
|
|
15
15
|
var EmojiContextProvider = exports.EmojiContextProvider = function EmojiContextProvider(_ref) {
|
|
16
16
|
var children = _ref.children,
|
|
17
17
|
emojiContextValue = _ref.emojiContextValue;
|
|
@@ -25,24 +25,25 @@ var EmojiContextProvider = exports.EmojiContextProvider = function EmojiContextP
|
|
|
25
25
|
}
|
|
26
26
|
function _fetchEmojiProvider() {
|
|
27
27
|
_fetchEmojiProvider = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
28
|
-
|
|
28
|
+
var _t;
|
|
29
|
+
return _regenerator.default.wrap(function (_context) {
|
|
29
30
|
while (1) switch (_context.prev = _context.next) {
|
|
30
31
|
case 0:
|
|
31
32
|
_context.prev = 0;
|
|
32
|
-
_context.next =
|
|
33
|
+
_context.next = 1;
|
|
33
34
|
return memoizedEmojiContextValue === null || memoizedEmojiContextValue === void 0 ? void 0 : memoizedEmojiContextValue.emoji.emojiProvider.fetchEmojiProvider();
|
|
34
|
-
case
|
|
35
|
-
_context.next =
|
|
35
|
+
case 1:
|
|
36
|
+
_context.next = 3;
|
|
36
37
|
break;
|
|
37
|
-
case
|
|
38
|
-
_context.prev =
|
|
39
|
-
|
|
40
|
-
(0, _logger.default)('fetchEmojiProvider error catched from outside',
|
|
41
|
-
case
|
|
38
|
+
case 2:
|
|
39
|
+
_context.prev = 2;
|
|
40
|
+
_t = _context["catch"](0);
|
|
41
|
+
(0, _logger.default)('fetchEmojiProvider error catched from outside', _t);
|
|
42
|
+
case 3:
|
|
42
43
|
case "end":
|
|
43
44
|
return _context.stop();
|
|
44
45
|
}
|
|
45
|
-
}, _callee, null, [[0,
|
|
46
|
+
}, _callee, null, [[0, 2]]);
|
|
46
47
|
}));
|
|
47
48
|
return _fetchEmojiProvider.apply(this, arguments);
|
|
48
49
|
}
|
|
@@ -30,26 +30,26 @@ var useEmoji = exports.useEmoji = function useEmoji() {
|
|
|
30
30
|
if (supportsUploadFeature(emojiProvider)) {
|
|
31
31
|
var checkIfUploadIsSupported = /*#__PURE__*/function () {
|
|
32
32
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
33
|
-
var supported;
|
|
34
|
-
return _regenerator.default.wrap(function
|
|
33
|
+
var supported, _t;
|
|
34
|
+
return _regenerator.default.wrap(function (_context) {
|
|
35
35
|
while (1) switch (_context.prev = _context.next) {
|
|
36
36
|
case 0:
|
|
37
37
|
_context.prev = 0;
|
|
38
|
-
_context.next =
|
|
38
|
+
_context.next = 1;
|
|
39
39
|
return emojiProvider.isUploadSupported();
|
|
40
|
-
case
|
|
40
|
+
case 1:
|
|
41
41
|
supported = _context.sent;
|
|
42
42
|
setIsUploadSupported(supported);
|
|
43
43
|
return _context.abrupt("return", true);
|
|
44
|
-
case
|
|
45
|
-
_context.prev =
|
|
46
|
-
|
|
44
|
+
case 2:
|
|
45
|
+
_context.prev = 2;
|
|
46
|
+
_t = _context["catch"](0);
|
|
47
47
|
return _context.abrupt("return", false);
|
|
48
|
-
case
|
|
48
|
+
case 3:
|
|
49
49
|
case "end":
|
|
50
50
|
return _context.stop();
|
|
51
51
|
}
|
|
52
|
-
}, _callee, null, [[0,
|
|
52
|
+
}, _callee, null, [[0, 2]]);
|
|
53
53
|
}));
|
|
54
54
|
return function checkIfUploadIsSupported() {
|
|
55
55
|
return _ref.apply(this, arguments);
|
|
@@ -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: "70.10.
|
|
23
|
+
packageVersion: "70.10.11"
|
|
24
24
|
}, attributes)
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -76,18 +76,18 @@ var withSampling = exports.withSampling = function withSampling(ufoExperience) {
|
|
|
76
76
|
var start = /*#__PURE__*/function () {
|
|
77
77
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
|
|
78
78
|
var isSampled;
|
|
79
|
-
return _regenerator.default.wrap(function
|
|
79
|
+
return _regenerator.default.wrap(function (_context) {
|
|
80
80
|
while (1) switch (_context.prev = _context.next) {
|
|
81
81
|
case 0:
|
|
82
82
|
if (!hasSampledFromStart(ufoExperience)) {
|
|
83
|
-
_context.next =
|
|
83
|
+
_context.next = 1;
|
|
84
84
|
break;
|
|
85
85
|
}
|
|
86
86
|
return _context.abrupt("return");
|
|
87
|
-
case
|
|
87
|
+
case 1:
|
|
88
88
|
isSampled = options.samplingFunc || isExperienceSampled;
|
|
89
89
|
if (isSampled(options.samplingRate)) {
|
|
90
|
-
_context.next =
|
|
90
|
+
_context.next = 2;
|
|
91
91
|
break;
|
|
92
92
|
}
|
|
93
93
|
if (ufoExperience.instanceId) {
|
|
@@ -95,14 +95,14 @@ var withSampling = exports.withSampling = function withSampling(ufoExperience) {
|
|
|
95
95
|
}
|
|
96
96
|
ufoExperiencesSampled[ufoExperience.id].sampled = false;
|
|
97
97
|
return _context.abrupt("return");
|
|
98
|
-
case
|
|
98
|
+
case 2:
|
|
99
99
|
// update sampled records
|
|
100
100
|
if (ufoExperience.instanceId) {
|
|
101
101
|
ufoExperiencesSampled[ufoExperience.id].sampledInstance[ufoExperience.instanceId] = true;
|
|
102
102
|
ufoExperiencesSampled[ufoExperience.id].sampled = true;
|
|
103
103
|
}
|
|
104
104
|
return _context.abrupt("return", ufoExperience.start(options.startTime));
|
|
105
|
-
case
|
|
105
|
+
case 3:
|
|
106
106
|
case "end":
|
|
107
107
|
return _context.stop();
|
|
108
108
|
}
|
|
@@ -114,17 +114,17 @@ var withSampling = exports.withSampling = function withSampling(ufoExperience) {
|
|
|
114
114
|
}();
|
|
115
115
|
var success = /*#__PURE__*/function () {
|
|
116
116
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(config) {
|
|
117
|
-
return _regenerator.default.wrap(function
|
|
117
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
118
118
|
while (1) switch (_context2.prev = _context2.next) {
|
|
119
119
|
case 0:
|
|
120
120
|
if (hasSampledFromStart(ufoExperience)) {
|
|
121
|
-
_context2.next =
|
|
121
|
+
_context2.next = 1;
|
|
122
122
|
break;
|
|
123
123
|
}
|
|
124
124
|
return _context2.abrupt("return", null);
|
|
125
|
-
case
|
|
125
|
+
case 1:
|
|
126
126
|
return _context2.abrupt("return", ufoExperience.success(config));
|
|
127
|
-
case
|
|
127
|
+
case 2:
|
|
128
128
|
case "end":
|
|
129
129
|
return _context2.stop();
|
|
130
130
|
}
|
|
@@ -136,17 +136,17 @@ var withSampling = exports.withSampling = function withSampling(ufoExperience) {
|
|
|
136
136
|
}();
|
|
137
137
|
var failure = /*#__PURE__*/function () {
|
|
138
138
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(config) {
|
|
139
|
-
return _regenerator.default.wrap(function
|
|
139
|
+
return _regenerator.default.wrap(function (_context3) {
|
|
140
140
|
while (1) switch (_context3.prev = _context3.next) {
|
|
141
141
|
case 0:
|
|
142
142
|
if (hasSampledFromStart(ufoExperience)) {
|
|
143
|
-
_context3.next =
|
|
143
|
+
_context3.next = 1;
|
|
144
144
|
break;
|
|
145
145
|
}
|
|
146
146
|
return _context3.abrupt("return", null);
|
|
147
|
-
case
|
|
147
|
+
case 1:
|
|
148
148
|
return _context3.abrupt("return", ufoExperience.failure(config));
|
|
149
|
-
case
|
|
149
|
+
case 2:
|
|
150
150
|
case "end":
|
|
151
151
|
return _context3.stop();
|
|
152
152
|
}
|
|
@@ -158,17 +158,17 @@ var withSampling = exports.withSampling = function withSampling(ufoExperience) {
|
|
|
158
158
|
}();
|
|
159
159
|
var abort = /*#__PURE__*/function () {
|
|
160
160
|
var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(config) {
|
|
161
|
-
return _regenerator.default.wrap(function
|
|
161
|
+
return _regenerator.default.wrap(function (_context4) {
|
|
162
162
|
while (1) switch (_context4.prev = _context4.next) {
|
|
163
163
|
case 0:
|
|
164
164
|
if (hasSampledFromStart(ufoExperience)) {
|
|
165
|
-
_context4.next =
|
|
165
|
+
_context4.next = 1;
|
|
166
166
|
break;
|
|
167
167
|
}
|
|
168
168
|
return _context4.abrupt("return", null);
|
|
169
|
-
case
|
|
169
|
+
case 1:
|
|
170
170
|
return _context4.abrupt("return", ufoExperience.abort(config));
|
|
171
|
-
case
|
|
171
|
+
case 2:
|
|
172
172
|
case "end":
|
|
173
173
|
return _context4.stop();
|
|
174
174
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import "./EmojiRadioButton.compiled.css";
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { memo, forwardRef } from 'react';
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
6
|
import Emoji from './Emoji';
|
|
6
7
|
import { TONESELECTOR_KEYBOARD_KEYS_SUPPORTED } from '../../util/constants';
|
|
7
8
|
import VisuallyHidden from '@atlaskit/visually-hidden';
|
|
@@ -10,6 +11,13 @@ const emojiRadio = {
|
|
|
10
11
|
default: "_tzy4idpf _kqswstnw _154i14id _1ltv14id _3y8mfajl _157z1r31 _1dzmglyw _1sqm1o36 _fh6w1y54 _1i1213zc"
|
|
11
12
|
};
|
|
12
13
|
const handleKeyDown = (props, event) => {
|
|
14
|
+
if ((event.key === 'ArrowLeft' || event.key === 'ArrowRight') && fg('platform_emoji_picker_refresh')) {
|
|
15
|
+
var _props$onArrowKey;
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
event.stopPropagation();
|
|
18
|
+
(_props$onArrowKey = props.onArrowKey) === null || _props$onArrowKey === void 0 ? void 0 : _props$onArrowKey.call(props, event.key === 'ArrowRight' ? 1 : -1);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
13
21
|
if (TONESELECTOR_KEYBOARD_KEYS_SUPPORTED.includes(event.key)) {
|
|
14
22
|
const {
|
|
15
23
|
onSelected
|
|
@@ -41,6 +49,7 @@ export const EmojiRadioButton = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
41
49
|
return (_props$onSelected = props.onSelected) === null || _props$onSelected === void 0 ? void 0 : _props$onSelected.call(props);
|
|
42
50
|
},
|
|
43
51
|
onKeyDown: event => handleKeyDown(props, event),
|
|
52
|
+
onChange: fg('platform_emoji_picker_refresh') ? e => e.preventDefault() : undefined,
|
|
44
53
|
className: ax([emojiRadio.default])
|
|
45
54
|
}), /*#__PURE__*/React.createElement(Emoji, {
|
|
46
55
|
emoji: emoji,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* ToneSelector.tsx generated by @compiled/babel-plugin v0.39.1 */
|
|
2
2
|
import "./ToneSelector.compiled.css";
|
|
3
|
-
import * as React from 'react';
|
|
4
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
-
import { memo, useEffect, useMemo, useRef } from 'react';
|
|
4
|
+
import React, { memo, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
6
|
import { withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
7
7
|
import { createAndFireEventInElementsChannel, toneSelectedEvent, toneSelectorOpenedEvent } from '../../util/analytics';
|
|
8
8
|
import { setSkinToneAriaLabelText } from './setSkinToneAriaLabelText';
|
|
@@ -28,6 +28,8 @@ export const ToneSelectorInternal = props => {
|
|
|
28
28
|
} = props;
|
|
29
29
|
const isMounted = useRef(false);
|
|
30
30
|
const selectedToneRadioRef = useRef(null);
|
|
31
|
+
// Refs for all radio inputs — used for FG-gated arrow-key focus management
|
|
32
|
+
const radioRefs = useRef([]);
|
|
31
33
|
const {
|
|
32
34
|
formatMessage
|
|
33
35
|
} = useIntl();
|
|
@@ -62,6 +64,12 @@ export const ToneSelectorInternal = props => {
|
|
|
62
64
|
createAndFireEventInElementsChannel(event)(createAnalyticsEvent);
|
|
63
65
|
}
|
|
64
66
|
};
|
|
67
|
+
const onArrowKey = useCallback((currentIndex, direction) => {
|
|
68
|
+
var _radioRefs$current$ne;
|
|
69
|
+
const len = radioRefs.current.length;
|
|
70
|
+
const nextIndex = (currentIndex + direction + len) % len;
|
|
71
|
+
(_radioRefs$current$ne = radioRefs.current[nextIndex]) === null || _radioRefs$current$ne === void 0 ? void 0 : _radioRefs$current$ne.focus();
|
|
72
|
+
}, []);
|
|
65
73
|
const onToneSelectedHandler = toneValue => () => {
|
|
66
74
|
if (selectedTone === toneValue && onToneClose) {
|
|
67
75
|
onToneClose();
|
|
@@ -83,8 +91,22 @@ export const ToneSelectorInternal = props => {
|
|
|
83
91
|
id: "emoji-picker-tone-selector",
|
|
84
92
|
"aria-label": formatMessage(messages.emojiSelectSkinToneListAriaLabelText),
|
|
85
93
|
className: ax([!isVisible && "_tzy4idpf _3um015vq _1e0cglyw"])
|
|
86
|
-
}, emojiToneCollection.map(tone => {
|
|
87
|
-
return /*#__PURE__*/React.createElement(EmojiRadioButton, {
|
|
94
|
+
}, emojiToneCollection.map((tone, renderIndex) => {
|
|
95
|
+
return fg('platform_emoji_picker_refresh') ? /*#__PURE__*/React.createElement(EmojiRadioButton, {
|
|
96
|
+
ref: el => {
|
|
97
|
+
radioRefs.current[renderIndex] = el;
|
|
98
|
+
if (tone.isSelected && selectedToneRadioRef) {
|
|
99
|
+
selectedToneRadioRef.current = el;
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
defaultChecked: tone.isSelected,
|
|
103
|
+
ariaLabelText: tone.label,
|
|
104
|
+
key: `${tone.id}`,
|
|
105
|
+
emoji: tone,
|
|
106
|
+
onArrowKey: direction => onArrowKey(renderIndex, direction),
|
|
107
|
+
onSelected: onToneSelectedHandler(tone.toneIndex),
|
|
108
|
+
selectOnHover: true
|
|
109
|
+
}) : /*#__PURE__*/React.createElement(EmojiRadioButton, {
|
|
88
110
|
ref: tone.isSelected ? selectedToneRadioRef : null,
|
|
89
111
|
defaultChecked: tone.isSelected,
|
|
90
112
|
ariaLabelText: tone.label,
|