@atlaskit/emoji 70.10.5 → 70.10.7
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 +15 -0
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +28 -3
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +29 -3
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/components/common/ResourcedEmojiComponent.js +28 -3
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 70.10.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 70.10.6
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`95ba1db6aa5f7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/95ba1db6aa5f7) -
|
|
14
|
+
Use findByEmojiId with retry for shortName-only lookups and render native unicode characters for
|
|
15
|
+
STANDARD emojis behind platform_twemoji_removal_unicode_emojis feature gate
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
|
|
3
18
|
## 70.10.5
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -20,6 +20,7 @@ var _analytics = require("../../util/analytics");
|
|
|
20
20
|
var _EmojiCommonProvider = require("../../context/EmojiCommonProvider");
|
|
21
21
|
var _ufoExperiences = require("../../util/analytics/ufoExperiences");
|
|
22
22
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
23
|
+
var _emojiIdToEmoji = require("../../util/emojiIdToEmoji");
|
|
23
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); }
|
|
24
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; }
|
|
25
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; }
|
|
@@ -88,7 +89,10 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
88
89
|
}
|
|
89
90
|
});
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
+
|
|
93
|
+
// When id is absent/empty, fetchByEmojiId won't retry if the catalogue isn't loaded yet.
|
|
94
|
+
// findByEmojiId has retryIfLoading built in — use it for shortName-only lookups.
|
|
95
|
+
foundEmoji = !emojiId.id && (0, _platformFeatureFlags.fg)('platform_twemoji_removal_unicode_emojis') ? _emojiProvider.findByEmojiId(emojiId) : _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
|
|
92
96
|
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).mark(_types.UfoEmojiTimings.METADATA_START);
|
|
93
97
|
if ((0, _typeHelpers.isPromise)(foundEmoji)) {
|
|
94
98
|
setLoaded(false);
|
|
@@ -170,14 +174,35 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
170
174
|
});
|
|
171
175
|
}, [emojiProvider]);
|
|
172
176
|
var emojiRenderState = (0, _react.useMemo)(function () {
|
|
173
|
-
if (!emoji && !loaded && !optimisticImageURL) {
|
|
177
|
+
if (!emoji && !loaded && !optimisticImageURL || optimisticImageURL && !emoji && !id && (0, _platformFeatureFlags.fg)('platform_twemoji_removal_unicode_emojis')) {
|
|
174
178
|
return ResourcedEmojiComponentRenderStatesEnum.INITIAL;
|
|
175
179
|
} else if (!emoji && loaded || imageLoadError) {
|
|
176
180
|
return ResourcedEmojiComponentRenderStatesEnum.FALLBACK;
|
|
177
181
|
}
|
|
178
182
|
return ResourcedEmojiComponentRenderStatesEnum.EMOJI;
|
|
179
|
-
}, [emoji, loaded, optimisticImageURL, imageLoadError]);
|
|
183
|
+
}, [emoji, loaded, optimisticImageURL, imageLoadError, id]);
|
|
180
184
|
var optimisticEmojiDescription = (0, _react.useMemo)(function () {
|
|
185
|
+
// For STANDARD emojis, use native unicode character instead of optimistic image.
|
|
186
|
+
if ((0, _platformFeatureFlags.fg)('platform_twemoji_removal_unicode_emojis')) {
|
|
187
|
+
var resolvedId = id || (emoji === null || emoji === void 0 ? void 0 : emoji.id);
|
|
188
|
+
if (!resolvedId) return undefined;
|
|
189
|
+
var unicodeEmoji = (0, _emojiIdToEmoji.emojiIdToEmoji)(resolvedId);
|
|
190
|
+
if (unicodeEmoji) {
|
|
191
|
+
return _objectSpread(_objectSpread({}, emoji !== null && emoji !== void 0 ? emoji : {
|
|
192
|
+
id: id,
|
|
193
|
+
shortName: shortName,
|
|
194
|
+
fallback: fallback,
|
|
195
|
+
type: 'STANDARD',
|
|
196
|
+
category: '',
|
|
197
|
+
searchable: true
|
|
198
|
+
}), {}, {
|
|
199
|
+
representation: {
|
|
200
|
+
unicodeEmoji: unicodeEmoji
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
181
206
|
// reduce blast radius by targeting page title
|
|
182
207
|
if (pageTitleEmoji && optimisticImageURL && (0, _platformFeatureFlags.fg)('platform_emoji_prevent_img_src_changing')) {
|
|
183
208
|
return {
|
|
@@ -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.6"
|
|
24
24
|
}, attributes)
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -8,6 +8,7 @@ import { sampledUfoRenderedEmoji } from '../../util/analytics';
|
|
|
8
8
|
import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
|
|
9
9
|
import { hasUfoMarked } from '../../util/analytics/ufoExperiences';
|
|
10
10
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
11
|
+
import { emojiIdToEmoji } from '../../util/emojiIdToEmoji';
|
|
11
12
|
var ResourcedEmojiComponentRenderStatesEnum = /*#__PURE__*/function (ResourcedEmojiComponentRenderStatesEnum) {
|
|
12
13
|
ResourcedEmojiComponentRenderStatesEnum["INITIAL"] = "INITIAL";
|
|
13
14
|
ResourcedEmojiComponentRenderStatesEnum["FALLBACK"] = "FALLBACK";
|
|
@@ -49,7 +50,10 @@ export const ResourcedEmojiComponent = ({
|
|
|
49
50
|
}
|
|
50
51
|
});
|
|
51
52
|
}
|
|
52
|
-
|
|
53
|
+
|
|
54
|
+
// When id is absent/empty, fetchByEmojiId won't retry if the catalogue isn't loaded yet.
|
|
55
|
+
// findByEmojiId has retryIfLoading built in — use it for shortName-only lookups.
|
|
56
|
+
const foundEmoji = !emojiId.id && fg('platform_twemoji_removal_unicode_emojis') ? _emojiProvider.findByEmojiId(emojiId) : _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
|
|
53
57
|
sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_START);
|
|
54
58
|
if (isPromise(foundEmoji)) {
|
|
55
59
|
setLoaded(false);
|
|
@@ -122,14 +126,36 @@ export const ResourcedEmojiComponent = ({
|
|
|
122
126
|
});
|
|
123
127
|
}, [emojiProvider]);
|
|
124
128
|
const emojiRenderState = useMemo(() => {
|
|
125
|
-
if (!emoji && !loaded && !optimisticImageURL) {
|
|
129
|
+
if (!emoji && !loaded && !optimisticImageURL || optimisticImageURL && !emoji && !id && fg('platform_twemoji_removal_unicode_emojis')) {
|
|
126
130
|
return ResourcedEmojiComponentRenderStatesEnum.INITIAL;
|
|
127
131
|
} else if (!emoji && loaded || imageLoadError) {
|
|
128
132
|
return ResourcedEmojiComponentRenderStatesEnum.FALLBACK;
|
|
129
133
|
}
|
|
130
134
|
return ResourcedEmojiComponentRenderStatesEnum.EMOJI;
|
|
131
|
-
}, [emoji, loaded, optimisticImageURL, imageLoadError]);
|
|
135
|
+
}, [emoji, loaded, optimisticImageURL, imageLoadError, id]);
|
|
132
136
|
const optimisticEmojiDescription = useMemo(() => {
|
|
137
|
+
// For STANDARD emojis, use native unicode character instead of optimistic image.
|
|
138
|
+
if (fg('platform_twemoji_removal_unicode_emojis')) {
|
|
139
|
+
const resolvedId = id || (emoji === null || emoji === void 0 ? void 0 : emoji.id);
|
|
140
|
+
if (!resolvedId) return undefined;
|
|
141
|
+
const unicodeEmoji = emojiIdToEmoji(resolvedId);
|
|
142
|
+
if (unicodeEmoji) {
|
|
143
|
+
return {
|
|
144
|
+
...(emoji !== null && emoji !== void 0 ? emoji : {
|
|
145
|
+
id,
|
|
146
|
+
shortName,
|
|
147
|
+
fallback,
|
|
148
|
+
type: 'STANDARD',
|
|
149
|
+
category: '',
|
|
150
|
+
searchable: true
|
|
151
|
+
}),
|
|
152
|
+
representation: {
|
|
153
|
+
unicodeEmoji
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
133
159
|
// reduce blast radius by targeting page title
|
|
134
160
|
if (pageTitleEmoji && optimisticImageURL && fg('platform_emoji_prevent_img_src_changing')) {
|
|
135
161
|
return {
|
|
@@ -14,6 +14,7 @@ import { sampledUfoRenderedEmoji } from '../../util/analytics';
|
|
|
14
14
|
import { EmojiCommonProvider } from '../../context/EmojiCommonProvider';
|
|
15
15
|
import { hasUfoMarked } from '../../util/analytics/ufoExperiences';
|
|
16
16
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
17
|
+
import { emojiIdToEmoji } from '../../util/emojiIdToEmoji';
|
|
17
18
|
var ResourcedEmojiComponentRenderStatesEnum = /*#__PURE__*/function (ResourcedEmojiComponentRenderStatesEnum) {
|
|
18
19
|
ResourcedEmojiComponentRenderStatesEnum["INITIAL"] = "INITIAL";
|
|
19
20
|
ResourcedEmojiComponentRenderStatesEnum["FALLBACK"] = "FALLBACK";
|
|
@@ -79,7 +80,10 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(_ref) {
|
|
|
79
80
|
}
|
|
80
81
|
});
|
|
81
82
|
}
|
|
82
|
-
|
|
83
|
+
|
|
84
|
+
// When id is absent/empty, fetchByEmojiId won't retry if the catalogue isn't loaded yet.
|
|
85
|
+
// findByEmojiId has retryIfLoading built in — use it for shortName-only lookups.
|
|
86
|
+
foundEmoji = !emojiId.id && fg('platform_twemoji_removal_unicode_emojis') ? _emojiProvider.findByEmojiId(emojiId) : _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
|
|
83
87
|
sampledUfoRenderedEmoji(emojiId).mark(UfoEmojiTimings.METADATA_START);
|
|
84
88
|
if (isPromise(foundEmoji)) {
|
|
85
89
|
setLoaded(false);
|
|
@@ -161,14 +165,35 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(_ref) {
|
|
|
161
165
|
});
|
|
162
166
|
}, [emojiProvider]);
|
|
163
167
|
var emojiRenderState = useMemo(function () {
|
|
164
|
-
if (!emoji && !loaded && !optimisticImageURL) {
|
|
168
|
+
if (!emoji && !loaded && !optimisticImageURL || optimisticImageURL && !emoji && !id && fg('platform_twemoji_removal_unicode_emojis')) {
|
|
165
169
|
return ResourcedEmojiComponentRenderStatesEnum.INITIAL;
|
|
166
170
|
} else if (!emoji && loaded || imageLoadError) {
|
|
167
171
|
return ResourcedEmojiComponentRenderStatesEnum.FALLBACK;
|
|
168
172
|
}
|
|
169
173
|
return ResourcedEmojiComponentRenderStatesEnum.EMOJI;
|
|
170
|
-
}, [emoji, loaded, optimisticImageURL, imageLoadError]);
|
|
174
|
+
}, [emoji, loaded, optimisticImageURL, imageLoadError, id]);
|
|
171
175
|
var optimisticEmojiDescription = useMemo(function () {
|
|
176
|
+
// For STANDARD emojis, use native unicode character instead of optimistic image.
|
|
177
|
+
if (fg('platform_twemoji_removal_unicode_emojis')) {
|
|
178
|
+
var resolvedId = id || (emoji === null || emoji === void 0 ? void 0 : emoji.id);
|
|
179
|
+
if (!resolvedId) return undefined;
|
|
180
|
+
var unicodeEmoji = emojiIdToEmoji(resolvedId);
|
|
181
|
+
if (unicodeEmoji) {
|
|
182
|
+
return _objectSpread(_objectSpread({}, emoji !== null && emoji !== void 0 ? emoji : {
|
|
183
|
+
id: id,
|
|
184
|
+
shortName: shortName,
|
|
185
|
+
fallback: fallback,
|
|
186
|
+
type: 'STANDARD',
|
|
187
|
+
category: '',
|
|
188
|
+
searchable: true
|
|
189
|
+
}), {}, {
|
|
190
|
+
representation: {
|
|
191
|
+
unicodeEmoji: unicodeEmoji
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
172
197
|
// reduce blast radius by targeting page title
|
|
173
198
|
if (pageTitleEmoji && optimisticImageURL && fg('platform_emoji_prevent_img_src_changing')) {
|
|
174
199
|
return {
|
|
@@ -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: "70.10.
|
|
17
|
+
packageVersion: "70.10.6"
|
|
18
18
|
}, attributes)
|
|
19
19
|
};
|
|
20
20
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/emoji",
|
|
3
|
-
"version": "70.10.
|
|
3
|
+
"version": "70.10.7",
|
|
4
4
|
"description": "Fabric emoji React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"@atlaskit/css": "^0.19.0",
|
|
45
45
|
"@atlaskit/form": "^15.5.0",
|
|
46
46
|
"@atlaskit/heading": "^5.4.0",
|
|
47
|
-
"@atlaskit/icon": "^35.
|
|
47
|
+
"@atlaskit/icon": "^35.1.0",
|
|
48
48
|
"@atlaskit/media-client": "^36.3.0",
|
|
49
49
|
"@atlaskit/media-client-react": "^5.1.0",
|
|
50
50
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"@atlaskit/primitives": "^19.0.0",
|
|
53
53
|
"@atlaskit/spinner": "^19.1.0",
|
|
54
54
|
"@atlaskit/textfield": "^8.3.0",
|
|
55
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
55
|
+
"@atlaskit/tmp-editor-statsig": "^83.0.0",
|
|
56
56
|
"@atlaskit/tokens": "^13.0.0",
|
|
57
|
-
"@atlaskit/tooltip": "^22.
|
|
57
|
+
"@atlaskit/tooltip": "^22.3.0",
|
|
58
58
|
"@atlaskit/ufo": "^0.5.0",
|
|
59
59
|
"@atlaskit/util-service-support": "^6.4.0",
|
|
60
60
|
"@atlaskit/visually-hidden": "^3.1.0",
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
"@atlaskit/elements-test-helpers": "workspace:^",
|
|
81
81
|
"@atlaskit/media-core": "^37.1.0",
|
|
82
82
|
"@atlaskit/ssr": "workspace:^",
|
|
83
|
-
"@atlaskit/theme": "^
|
|
83
|
+
"@atlaskit/theme": "^25.0.0",
|
|
84
84
|
"@atlassian/a11y-jest-testing": "^0.11.0",
|
|
85
85
|
"@atlassian/feature-flags-test-utils": "^1.1.0",
|
|
86
86
|
"@emotion/jest": "^11.8.0",
|