@atlaskit/emoji 73.0.2 → 73.0.4
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/components/common/Emoji.js +1 -2
- package/dist/cjs/components/common/EmojiActions.js +7 -2
- package/dist/cjs/components/common/ImageEmoji.js +1 -2
- package/dist/cjs/components/common/ToneSelectorInternal.js +9 -0
- package/dist/cjs/util/analytics/createEvent.js +1 -1
- package/dist/es2019/components/common/Emoji.js +1 -2
- package/dist/es2019/components/common/EmojiActions.js +7 -2
- package/dist/es2019/components/common/ImageEmoji.js +1 -2
- package/dist/es2019/components/common/ToneSelectorInternal.js +9 -0
- package/dist/es2019/util/analytics/createEvent.js +1 -1
- package/dist/esm/components/common/Emoji.js +1 -2
- package/dist/esm/components/common/EmojiActions.js +7 -2
- package/dist/esm/components/common/ImageEmoji.js +1 -2
- package/dist/esm/components/common/ToneSelectorInternal.js +9 -0
- package/dist/esm/util/analytics/createEvent.js +1 -1
- package/package.json +10 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 73.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`ab72bd9e98147`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ab72bd9e98147) -
|
|
8
|
+
Clean up: emoji_decorative_label
|
|
9
|
+
|
|
10
|
+
## 73.0.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [`e54e1541aa52f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e54e1541aa52f) -
|
|
15
|
+
Fix the skin-tone selector closing when focus moves between its controls or when clicking a tone
|
|
16
|
+
behind `platform_emoji_skin_tone_blur_fix` when `platform_suppression_removal_fix_reactions` is
|
|
17
|
+
enabled.
|
|
18
|
+
|
|
3
19
|
## 73.0.2
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
|
@@ -13,7 +13,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
13
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
14
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
15
|
var _reactIntl = require("react-intl");
|
|
16
|
-
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
17
16
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
18
17
|
var _Tooltip = _interopRequireDefault(require("@atlaskit/tooltip/Tooltip"));
|
|
19
18
|
var _types = require("../../types");
|
|
@@ -102,7 +101,7 @@ var EmojiNodeWrapper = exports.EmojiNodeWrapper = /*#__PURE__*/(0, _react.forwar
|
|
|
102
101
|
isDecorative = props.isDecorative,
|
|
103
102
|
other = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
104
103
|
var intl = (0, _react.useContext)(_reactIntl.IntlContext);
|
|
105
|
-
var isAriaLabelEmpty = editorEmoji || isDecorative
|
|
104
|
+
var isAriaLabelEmpty = editorEmoji || isDecorative;
|
|
106
105
|
var ariaLabel;
|
|
107
106
|
if (isAriaLabelEmpty) {
|
|
108
107
|
ariaLabel = undefined;
|
|
@@ -256,6 +256,11 @@ var EmojiActions = exports.EmojiActions = function EmojiActions(props) {
|
|
|
256
256
|
}
|
|
257
257
|
setShowToneSelector(false);
|
|
258
258
|
}, [shouldUseProductivityColorControl, showToneSelector, onToneSelectorCancelled]);
|
|
259
|
+
var onBlurHandler = (0, _react.useCallback)(function (event) {
|
|
260
|
+
if (!(0, _fg.fg)('platform_emoji_skin_tone_blur_fix') || !event.currentTarget.contains(event.relatedTarget)) {
|
|
261
|
+
onMouseLeaveHandler();
|
|
262
|
+
}
|
|
263
|
+
}, [onMouseLeaveHandler]);
|
|
259
264
|
(0, _react.useEffect)(function () {
|
|
260
265
|
if (shouldUseProductivityColorControl && showToneSelector) {
|
|
261
266
|
wasProductivityColorSelectorOpen.current = true;
|
|
@@ -309,7 +314,7 @@ var EmojiActions = exports.EmojiActions = function EmojiActions(props) {
|
|
|
309
314
|
return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/React.createElement("div", {
|
|
310
315
|
"data-testid": emojiActionsTestId,
|
|
311
316
|
onMouseLeave: onMouseLeaveHandler,
|
|
312
|
-
onBlur: (0, _fg.fg)('platform_suppression_removal_fix_reactions') ?
|
|
317
|
+
onBlur: (0, _fg.fg)('platform_suppression_removal_fix_reactions') ? onBlurHandler : undefined,
|
|
313
318
|
className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug"])
|
|
314
319
|
}, /*#__PURE__*/React.createElement("div", {
|
|
315
320
|
className: (0, _runtime.ax)(["_1e0c1txw _1bahesu3 _4cvr1h6o"])
|
|
@@ -327,7 +332,7 @@ var EmojiActions = exports.EmojiActions = function EmojiActions(props) {
|
|
|
327
332
|
})))) : /*#__PURE__*/React.createElement("div", {
|
|
328
333
|
"data-testid": emojiActionsTestId,
|
|
329
334
|
onMouseLeave: onMouseLeaveHandler,
|
|
330
|
-
onBlur: (0, _fg.fg)('platform_suppression_removal_fix_reactions') ?
|
|
335
|
+
onBlur: (0, _fg.fg)('platform_suppression_removal_fix_reactions') ? onBlurHandler : undefined,
|
|
331
336
|
className: (0, _runtime.ax)(["_16jlidpf _1o9zidpf _i0dl1wug _n7zl1uh4 _16qsjgpa"])
|
|
332
337
|
}, /*#__PURE__*/React.createElement("div", {
|
|
333
338
|
className: (0, _runtime.ax)(["_1e0c1txw _1bahesu3 _4cvr1h6o"])
|
|
@@ -12,7 +12,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _browserApis = require("@atlaskit/browser-apis");
|
|
15
|
-
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
16
15
|
var _Tooltip = _interopRequireDefault(require("@atlaskit/tooltip/Tooltip"));
|
|
17
16
|
var _shouldUseAltRepresentation = require("../../api/shouldUseAltRepresentation");
|
|
18
17
|
var _useInView3 = require("../../hooks/useInView");
|
|
@@ -142,7 +141,7 @@ var ImageEmoji = exports.ImageEmoji = function ImageEmoji(props) {
|
|
|
142
141
|
onBeforeLoad();
|
|
143
142
|
}
|
|
144
143
|
}, [inView, onBeforeLoad]);
|
|
145
|
-
var imgAlt = isDecorative
|
|
144
|
+
var imgAlt = isDecorative ? '' : emoji.name || emoji.shortName || '';
|
|
146
145
|
var emojiNode = /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({
|
|
147
146
|
loading: disableLazyLoad ? 'eager' : 'lazy',
|
|
148
147
|
src: src,
|
|
@@ -13,6 +13,7 @@ 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 _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
16
17
|
var _analytics = require("../../util/analytics/analytics");
|
|
17
18
|
var _toneSelectedEvent = require("../../util/analytics/toneSelectedEvent");
|
|
18
19
|
var _toneSelectorOpenedEvent = require("../../util/analytics/toneSelectorOpenedEvent");
|
|
@@ -80,6 +81,12 @@ var ToneSelectorInternal = exports.ToneSelectorInternal = function ToneSelectorI
|
|
|
80
81
|
var nextIndex = (currentIndex + direction + len) % len;
|
|
81
82
|
(_radioRefs$current$ne = radioRefs.current[nextIndex]) === null || _radioRefs$current$ne === void 0 || _radioRefs$current$ne.focus();
|
|
82
83
|
}, []);
|
|
84
|
+
var onMouseDownHandler = (0, _react.useCallback)(function (event) {
|
|
85
|
+
if ((0, _fg.fg)('platform_emoji_skin_tone_blur_fix')) {
|
|
86
|
+
// Keep focus inside the selector until the label activates its radio.
|
|
87
|
+
event.preventDefault();
|
|
88
|
+
}
|
|
89
|
+
}, []);
|
|
83
90
|
var onToneSelectedHandler = function onToneSelectedHandler(toneValue) {
|
|
84
91
|
return function () {
|
|
85
92
|
if (selectedTone === toneValue && onToneClose) {
|
|
@@ -99,9 +106,11 @@ var ToneSelectorInternal = exports.ToneSelectorInternal = function ToneSelectorI
|
|
|
99
106
|
isMounted.current = true;
|
|
100
107
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
101
108
|
role: "radiogroup",
|
|
109
|
+
tabIndex: (0, _fg.fg)('platform_emoji_skin_tone_blur_fix') ? -1 : undefined,
|
|
102
110
|
"data-testid": _ToneSelector.toneSelectorTestId,
|
|
103
111
|
id: "emoji-picker-tone-selector",
|
|
104
112
|
"aria-label": formatMessage(_i18n.messages.emojiSelectSkinToneListAriaLabelText),
|
|
113
|
+
onMouseDown: onMouseDownHandler,
|
|
105
114
|
className: (0, _runtime.ax)([!isVisible && "_tzy4idpf _3um015vq _1e0cglyw"])
|
|
106
115
|
}, emojiToneCollection.map(function (tone, renderIndex) {
|
|
107
116
|
return (0, _isRefreshEmojiPickerEnabled.isRefreshEmojiPickerEnabled)() ? /*#__PURE__*/_react.default.createElement(_EmojiRadioButton.default, {
|
|
@@ -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: "73.0.
|
|
22
|
+
packageVersion: "73.0.3"
|
|
23
23
|
}, attributes)
|
|
24
24
|
};
|
|
25
25
|
};
|
|
@@ -4,7 +4,6 @@ import "./Emoji.compiled.css";
|
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import React, { useEffect, useContext, forwardRef } from 'react';
|
|
6
6
|
import { IntlContext } from 'react-intl';
|
|
7
|
-
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
8
7
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
9
8
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
10
9
|
import { UfoEmojiTimings } from '../../types';
|
|
@@ -100,7 +99,7 @@ export const EmojiNodeWrapper = /*#__PURE__*/forwardRef((props, ref) => {
|
|
|
100
99
|
...other
|
|
101
100
|
} = props;
|
|
102
101
|
const intl = useContext(IntlContext);
|
|
103
|
-
const isAriaLabelEmpty = editorEmoji || isDecorative
|
|
102
|
+
const isAriaLabelEmpty = editorEmoji || isDecorative;
|
|
104
103
|
let ariaLabel;
|
|
105
104
|
if (isAriaLabelEmpty) {
|
|
106
105
|
ariaLabel = undefined;
|
|
@@ -238,6 +238,11 @@ export const EmojiActions = props => {
|
|
|
238
238
|
}
|
|
239
239
|
setShowToneSelector(false);
|
|
240
240
|
}, [shouldUseProductivityColorControl, showToneSelector, onToneSelectorCancelled]);
|
|
241
|
+
const onBlurHandler = useCallback(event => {
|
|
242
|
+
if (!fg('platform_emoji_skin_tone_blur_fix') || !event.currentTarget.contains(event.relatedTarget)) {
|
|
243
|
+
onMouseLeaveHandler();
|
|
244
|
+
}
|
|
245
|
+
}, [onMouseLeaveHandler]);
|
|
241
246
|
useEffect(() => {
|
|
242
247
|
if (shouldUseProductivityColorControl && showToneSelector) {
|
|
243
248
|
wasProductivityColorSelectorOpen.current = true;
|
|
@@ -291,7 +296,7 @@ export const EmojiActions = props => {
|
|
|
291
296
|
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
292
297
|
"data-testid": emojiActionsTestId,
|
|
293
298
|
onMouseLeave: onMouseLeaveHandler,
|
|
294
|
-
onBlur: fg('platform_suppression_removal_fix_reactions') ?
|
|
299
|
+
onBlur: fg('platform_suppression_removal_fix_reactions') ? onBlurHandler : undefined,
|
|
295
300
|
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug"])
|
|
296
301
|
}, /*#__PURE__*/React.createElement("div", {
|
|
297
302
|
className: ax(["_1e0c1txw _1bahesu3 _4cvr1h6o"])
|
|
@@ -309,7 +314,7 @@ export const EmojiActions = props => {
|
|
|
309
314
|
})))) : /*#__PURE__*/React.createElement("div", {
|
|
310
315
|
"data-testid": emojiActionsTestId,
|
|
311
316
|
onMouseLeave: onMouseLeaveHandler,
|
|
312
|
-
onBlur: fg('platform_suppression_removal_fix_reactions') ?
|
|
317
|
+
onBlur: fg('platform_suppression_removal_fix_reactions') ? onBlurHandler : undefined,
|
|
313
318
|
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug _n7zl1uh4 _16qsjgpa"])
|
|
314
319
|
}, /*#__PURE__*/React.createElement("div", {
|
|
315
320
|
className: ax(["_1e0c1txw _1bahesu3 _4cvr1h6o"])
|
|
@@ -3,7 +3,6 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { useEffect, useCallback, useMemo } from 'react';
|
|
5
5
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
6
|
-
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
7
6
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
8
7
|
import { shouldUseAltRepresentation } from '../../api/shouldUseAltRepresentation';
|
|
9
8
|
import { useInView } from '../../hooks/useInView';
|
|
@@ -127,7 +126,7 @@ export const ImageEmoji = props => {
|
|
|
127
126
|
onBeforeLoad();
|
|
128
127
|
}
|
|
129
128
|
}, [inView, onBeforeLoad]);
|
|
130
|
-
const imgAlt = isDecorative
|
|
129
|
+
const imgAlt = isDecorative ? '' : emoji.name || emoji.shortName || '';
|
|
131
130
|
const emojiNode = /*#__PURE__*/React.createElement("img", _extends({
|
|
132
131
|
loading: disableLazyLoad ? 'eager' : 'lazy',
|
|
133
132
|
src: src,
|
|
@@ -3,6 +3,7 @@ import "./ToneSelectorInternal.compiled.css";
|
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
4
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
6
7
|
import { createAndFireEventInElementsChannel } from '../../util/analytics/analytics';
|
|
7
8
|
import { toneSelectedEvent } from '../../util/analytics/toneSelectedEvent';
|
|
8
9
|
import { toneSelectorOpenedEvent } from '../../util/analytics/toneSelectorOpenedEvent';
|
|
@@ -71,6 +72,12 @@ export const ToneSelectorInternal = props => {
|
|
|
71
72
|
const nextIndex = (currentIndex + direction + len) % len;
|
|
72
73
|
(_radioRefs$current$ne = radioRefs.current[nextIndex]) === null || _radioRefs$current$ne === void 0 ? void 0 : _radioRefs$current$ne.focus();
|
|
73
74
|
}, []);
|
|
75
|
+
const onMouseDownHandler = useCallback(event => {
|
|
76
|
+
if (fg('platform_emoji_skin_tone_blur_fix')) {
|
|
77
|
+
// Keep focus inside the selector until the label activates its radio.
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
}
|
|
80
|
+
}, []);
|
|
74
81
|
const onToneSelectedHandler = toneValue => () => {
|
|
75
82
|
if (selectedTone === toneValue && onToneClose) {
|
|
76
83
|
onToneClose();
|
|
@@ -88,9 +95,11 @@ export const ToneSelectorInternal = props => {
|
|
|
88
95
|
isMounted.current = true;
|
|
89
96
|
return /*#__PURE__*/React.createElement("div", {
|
|
90
97
|
role: "radiogroup",
|
|
98
|
+
tabIndex: fg('platform_emoji_skin_tone_blur_fix') ? -1 : undefined,
|
|
91
99
|
"data-testid": toneSelectorTestId,
|
|
92
100
|
id: "emoji-picker-tone-selector",
|
|
93
101
|
"aria-label": formatMessage(messages.emojiSelectSkinToneListAriaLabelText),
|
|
102
|
+
onMouseDown: onMouseDownHandler,
|
|
94
103
|
className: ax([!isVisible && "_tzy4idpf _3um015vq _1e0cglyw"])
|
|
95
104
|
}, emojiToneCollection.map((tone, renderIndex) => {
|
|
96
105
|
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement(EmojiRadioButton, {
|
|
@@ -6,7 +6,6 @@ import "./Emoji.compiled.css";
|
|
|
6
6
|
import { ax, ix } from "@compiled/react/runtime";
|
|
7
7
|
import React, { useEffect, useContext, forwardRef } from 'react';
|
|
8
8
|
import { IntlContext } from 'react-intl';
|
|
9
|
-
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
10
9
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
11
10
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
12
11
|
import { UfoEmojiTimings } from '../../types';
|
|
@@ -93,7 +92,7 @@ export var EmojiNodeWrapper = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
93
92
|
isDecorative = props.isDecorative,
|
|
94
93
|
other = _objectWithoutProperties(props, _excluded);
|
|
95
94
|
var intl = useContext(IntlContext);
|
|
96
|
-
var isAriaLabelEmpty = editorEmoji || isDecorative
|
|
95
|
+
var isAriaLabelEmpty = editorEmoji || isDecorative;
|
|
97
96
|
var ariaLabel;
|
|
98
97
|
if (isAriaLabelEmpty) {
|
|
99
98
|
ariaLabel = undefined;
|
|
@@ -247,6 +247,11 @@ export var EmojiActions = function EmojiActions(props) {
|
|
|
247
247
|
}
|
|
248
248
|
setShowToneSelector(false);
|
|
249
249
|
}, [shouldUseProductivityColorControl, showToneSelector, onToneSelectorCancelled]);
|
|
250
|
+
var onBlurHandler = useCallback(function (event) {
|
|
251
|
+
if (!fg('platform_emoji_skin_tone_blur_fix') || !event.currentTarget.contains(event.relatedTarget)) {
|
|
252
|
+
onMouseLeaveHandler();
|
|
253
|
+
}
|
|
254
|
+
}, [onMouseLeaveHandler]);
|
|
250
255
|
useEffect(function () {
|
|
251
256
|
if (shouldUseProductivityColorControl && showToneSelector) {
|
|
252
257
|
wasProductivityColorSelectorOpen.current = true;
|
|
@@ -300,7 +305,7 @@ export var EmojiActions = function EmojiActions(props) {
|
|
|
300
305
|
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement("div", {
|
|
301
306
|
"data-testid": emojiActionsTestId,
|
|
302
307
|
onMouseLeave: onMouseLeaveHandler,
|
|
303
|
-
onBlur: fg('platform_suppression_removal_fix_reactions') ?
|
|
308
|
+
onBlur: fg('platform_suppression_removal_fix_reactions') ? onBlurHandler : undefined,
|
|
304
309
|
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug"])
|
|
305
310
|
}, /*#__PURE__*/React.createElement("div", {
|
|
306
311
|
className: ax(["_1e0c1txw _1bahesu3 _4cvr1h6o"])
|
|
@@ -318,7 +323,7 @@ export var EmojiActions = function EmojiActions(props) {
|
|
|
318
323
|
})))) : /*#__PURE__*/React.createElement("div", {
|
|
319
324
|
"data-testid": emojiActionsTestId,
|
|
320
325
|
onMouseLeave: onMouseLeaveHandler,
|
|
321
|
-
onBlur: fg('platform_suppression_removal_fix_reactions') ?
|
|
326
|
+
onBlur: fg('platform_suppression_removal_fix_reactions') ? onBlurHandler : undefined,
|
|
322
327
|
className: ax(["_16jlidpf _1o9zidpf _i0dl1wug _n7zl1uh4 _16qsjgpa"])
|
|
323
328
|
}, /*#__PURE__*/React.createElement("div", {
|
|
324
329
|
className: ax(["_1e0c1txw _1bahesu3 _4cvr1h6o"])
|
|
@@ -4,7 +4,6 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
5
|
import React, { useEffect, useCallback, useMemo } from 'react';
|
|
6
6
|
import { getDocument } from '@atlaskit/browser-apis';
|
|
7
|
-
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
8
7
|
import Tooltip from '@atlaskit/tooltip/Tooltip';
|
|
9
8
|
import { shouldUseAltRepresentation } from '../../api/shouldUseAltRepresentation';
|
|
10
9
|
import { useInView } from '../../hooks/useInView';
|
|
@@ -133,7 +132,7 @@ export var ImageEmoji = function ImageEmoji(props) {
|
|
|
133
132
|
onBeforeLoad();
|
|
134
133
|
}
|
|
135
134
|
}, [inView, onBeforeLoad]);
|
|
136
|
-
var imgAlt = isDecorative
|
|
135
|
+
var imgAlt = isDecorative ? '' : emoji.name || emoji.shortName || '';
|
|
137
136
|
var emojiNode = /*#__PURE__*/React.createElement("img", _extends({
|
|
138
137
|
loading: disableLazyLoad ? 'eager' : 'lazy',
|
|
139
138
|
src: src,
|
|
@@ -7,6 +7,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
7
7
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
8
8
|
import React, { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
9
9
|
import { useIntl } from 'react-intl';
|
|
10
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
10
11
|
import { createAndFireEventInElementsChannel } from '../../util/analytics/analytics';
|
|
11
12
|
import { toneSelectedEvent } from '../../util/analytics/toneSelectedEvent';
|
|
12
13
|
import { toneSelectorOpenedEvent } from '../../util/analytics/toneSelectorOpenedEvent';
|
|
@@ -71,6 +72,12 @@ export var ToneSelectorInternal = function ToneSelectorInternal(props) {
|
|
|
71
72
|
var nextIndex = (currentIndex + direction + len) % len;
|
|
72
73
|
(_radioRefs$current$ne = radioRefs.current[nextIndex]) === null || _radioRefs$current$ne === void 0 || _radioRefs$current$ne.focus();
|
|
73
74
|
}, []);
|
|
75
|
+
var onMouseDownHandler = useCallback(function (event) {
|
|
76
|
+
if (fg('platform_emoji_skin_tone_blur_fix')) {
|
|
77
|
+
// Keep focus inside the selector until the label activates its radio.
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
}
|
|
80
|
+
}, []);
|
|
74
81
|
var onToneSelectedHandler = function onToneSelectedHandler(toneValue) {
|
|
75
82
|
return function () {
|
|
76
83
|
if (selectedTone === toneValue && onToneClose) {
|
|
@@ -90,9 +97,11 @@ export var ToneSelectorInternal = function ToneSelectorInternal(props) {
|
|
|
90
97
|
isMounted.current = true;
|
|
91
98
|
return /*#__PURE__*/React.createElement("div", {
|
|
92
99
|
role: "radiogroup",
|
|
100
|
+
tabIndex: fg('platform_emoji_skin_tone_blur_fix') ? -1 : undefined,
|
|
93
101
|
"data-testid": toneSelectorTestId,
|
|
94
102
|
id: "emoji-picker-tone-selector",
|
|
95
103
|
"aria-label": formatMessage(messages.emojiSelectSkinToneListAriaLabelText),
|
|
104
|
+
onMouseDown: onMouseDownHandler,
|
|
96
105
|
className: ax([!isVisible && "_tzy4idpf _3um015vq _1e0cglyw"])
|
|
97
106
|
}, emojiToneCollection.map(function (tone, renderIndex) {
|
|
98
107
|
return isRefreshEmojiPickerEnabled() ? /*#__PURE__*/React.createElement(EmojiRadioButton, {
|
|
@@ -12,7 +12,7 @@ export var createEvent = function createEvent(eventType, action, actionSubject,
|
|
|
12
12
|
actionSubjectId: actionSubjectId,
|
|
13
13
|
attributes: _objectSpread({
|
|
14
14
|
packageName: "@atlaskit/emoji",
|
|
15
|
-
packageVersion: "73.0.
|
|
15
|
+
packageVersion: "73.0.3"
|
|
16
16
|
}, attributes)
|
|
17
17
|
};
|
|
18
18
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/emoji",
|
|
3
|
-
"version": "73.0.
|
|
3
|
+
"version": "73.0.4",
|
|
4
4
|
"description": "Fabric emoji React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"@atlaskit/afm-i18n-platform-elements-emoji": "2.270.0",
|
|
36
36
|
"@atlaskit/analytics-next": "^12.6.0",
|
|
37
37
|
"@atlaskit/browser-apis": "^1.2.0",
|
|
38
|
-
"@atlaskit/button": "^25.
|
|
38
|
+
"@atlaskit/button": "^25.5.0",
|
|
39
39
|
"@atlaskit/css": "^1.1.0",
|
|
40
40
|
"@atlaskit/feature-gate-js-client": "^7.0.0",
|
|
41
41
|
"@atlaskit/form": "^18.2.0",
|
|
@@ -79,13 +79,17 @@
|
|
|
79
79
|
"devDependencies": {
|
|
80
80
|
"@af/integration-testing": "workspace:^",
|
|
81
81
|
"@af/visual-regression": "workspace:^",
|
|
82
|
+
"@atlaskit/docs": "^12.3.0",
|
|
83
|
+
"@atlaskit/editor-test-helpers": "workspace:^",
|
|
82
84
|
"@atlaskit/media-core": "^39.0.0",
|
|
85
|
+
"@atlaskit/popup": "^10.0.0",
|
|
86
|
+
"@atlaskit/section-message": "^10.2.0",
|
|
83
87
|
"@atlaskit/ssr": "workspace:^",
|
|
84
88
|
"@atlaskit/util-data-test": "^19.1.0",
|
|
85
89
|
"@atlassian/a11y-jest-testing": "^0.17.0",
|
|
86
90
|
"@atlassian/experiment-test-utils": "^0.2.0",
|
|
87
91
|
"@atlassian/feature-flags-test-utils": "^1.3.0",
|
|
88
|
-
"@atlassian/ufo": "^1.
|
|
92
|
+
"@atlassian/ufo": "^1.1.0",
|
|
89
93
|
"@atlassian/ufo-experimental": "^1.1.0",
|
|
90
94
|
"@atlassian/workbench": "workspace:*",
|
|
91
95
|
"@emotion/jest": "^11.8.0",
|
|
@@ -127,6 +131,9 @@
|
|
|
127
131
|
"platform_suppression_removal_fix_reactions": {
|
|
128
132
|
"type": "boolean"
|
|
129
133
|
},
|
|
134
|
+
"platform_emoji_skin_tone_blur_fix": {
|
|
135
|
+
"type": "boolean"
|
|
136
|
+
},
|
|
130
137
|
"platform_bitbucket_fix_shortname_and_ordering": {
|
|
131
138
|
"type": "boolean"
|
|
132
139
|
},
|
|
@@ -135,9 +142,6 @@
|
|
|
135
142
|
},
|
|
136
143
|
"platform_teamoji_26_refresh_emoji_picker_user_id": {
|
|
137
144
|
"type": "boolean"
|
|
138
|
-
},
|
|
139
|
-
"emoji_decorative_label": {
|
|
140
|
-
"type": "boolean"
|
|
141
145
|
}
|
|
142
146
|
},
|
|
143
147
|
"platform-experiments": {
|