@atlaskit/emoji 69.0.11 → 69.0.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 +8 -0
- package/afm-cc/tsconfig.json +3 -0
- package/afm-jira/tsconfig.json +3 -0
- package/afm-post-office/tsconfig.json +3 -0
- package/dist/cjs/components/common/ResourcedEmojiComponent.js +27 -9
- package/dist/cjs/util/analytics/analytics.js +1 -1
- package/dist/es2019/components/common/ResourcedEmojiComponent.js +28 -4
- package/dist/es2019/util/analytics/analytics.js +1 -1
- package/dist/esm/components/common/ResourcedEmojiComponent.js +28 -10
- package/dist/esm/util/analytics/analytics.js +1 -1
- package/package.json +4 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @atlaskit/emoji
|
|
2
2
|
|
|
3
|
+
## 69.0.12
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#139312](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/139312)
|
|
8
|
+
[`abb297a1fa59c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/abb297a1fa59c) -
|
|
9
|
+
Adding metadata to failed emoji rendering
|
|
10
|
+
|
|
3
11
|
## 69.0.11
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/afm-cc/tsconfig.json
CHANGED
package/afm-jira/tsconfig.json
CHANGED
|
@@ -7,10 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = exports.ResourcedEmojiComponent = void 0;
|
|
9
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
10
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
11
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
|
+
var _interactionMetrics = require("@atlaskit/react-ufo/interaction-metrics");
|
|
14
15
|
var _constants = require("../../util/constants");
|
|
15
16
|
var _typeHelpers = require("../../util/type-helpers");
|
|
16
17
|
var _types = require("../../types");
|
|
@@ -62,9 +63,22 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
62
63
|
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
63
64
|
resolvedEmojiProvider = _useState8[0],
|
|
64
65
|
setResolvedEmojiProvider = _useState8[1];
|
|
66
|
+
var getActiveInterationMetadata = function getActiveInterationMetadata() {
|
|
67
|
+
var activeInteraction = (0, _interactionMetrics.getActiveInteraction)();
|
|
68
|
+
var activeInteractionMetadata = {};
|
|
69
|
+
if (activeInteraction) {
|
|
70
|
+
activeInteractionMetadata = _objectSpread(_objectSpread({}, activeInteraction.metaData['productInteractionName'] ? {
|
|
71
|
+
productInteractionName: activeInteraction.metaData['productInteractionName']
|
|
72
|
+
} : {}), activeInteraction.metaData['productInteractionType'] ? {
|
|
73
|
+
productInteractionType: activeInteraction.metaData['productInteractionType']
|
|
74
|
+
} : {});
|
|
75
|
+
}
|
|
76
|
+
return activeInteractionMetadata;
|
|
77
|
+
};
|
|
65
78
|
var fetchOrGetEmoji = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
66
79
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_emojiProvider, emojiId) {
|
|
67
80
|
var optimisticFetch,
|
|
81
|
+
activeInteractionMetadata,
|
|
68
82
|
foundEmoji,
|
|
69
83
|
_args = arguments;
|
|
70
84
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
@@ -72,12 +86,13 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
72
86
|
case 0:
|
|
73
87
|
optimisticFetch = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
|
|
74
88
|
if (!_emojiProvider.fetchByEmojiId) {
|
|
89
|
+
activeInteractionMetadata = getActiveInterationMetadata();
|
|
75
90
|
setEmoji(undefined);
|
|
76
91
|
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
|
|
77
|
-
metadata: {
|
|
92
|
+
metadata: _objectSpread({
|
|
78
93
|
reason: 'missing fetchByEmojiId interface',
|
|
79
94
|
source: 'ResourcedEmojiComponent'
|
|
80
|
-
}
|
|
95
|
+
}, activeInteractionMetadata)
|
|
81
96
|
});
|
|
82
97
|
}
|
|
83
98
|
foundEmoji = _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
|
|
@@ -88,8 +103,9 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
88
103
|
setEmoji(emoji);
|
|
89
104
|
if (!emoji) {
|
|
90
105
|
// emoji is undefined
|
|
106
|
+
var _activeInteractionMetadata = getActiveInterationMetadata();
|
|
91
107
|
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
|
|
92
|
-
metadata: {
|
|
108
|
+
metadata: _objectSpread({
|
|
93
109
|
reason: 'failed to find',
|
|
94
110
|
source: 'ResourcedEmojiComponent',
|
|
95
111
|
data: {
|
|
@@ -98,13 +114,14 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
98
114
|
shortName: emojiId.shortName
|
|
99
115
|
}
|
|
100
116
|
}
|
|
101
|
-
}
|
|
117
|
+
}, _activeInteractionMetadata)
|
|
102
118
|
});
|
|
103
119
|
}
|
|
104
120
|
}).catch(function () {
|
|
105
121
|
setEmoji(undefined);
|
|
122
|
+
var activeInteractionMetadata = getActiveInterationMetadata();
|
|
106
123
|
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
|
|
107
|
-
metadata: {
|
|
124
|
+
metadata: _objectSpread({
|
|
108
125
|
reason: 'failed to load',
|
|
109
126
|
source: 'ResourcedEmojiComponent',
|
|
110
127
|
data: {
|
|
@@ -113,7 +130,7 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
113
130
|
shortName: emojiId.shortName
|
|
114
131
|
}
|
|
115
132
|
}
|
|
116
|
-
}
|
|
133
|
+
}, activeInteractionMetadata)
|
|
117
134
|
});
|
|
118
135
|
}).finally(function () {
|
|
119
136
|
setLoaded(true);
|
|
@@ -197,13 +214,14 @@ var ResourcedEmojiComponent = exports.ResourcedEmojiComponent = function Resourc
|
|
|
197
214
|
return emoji;
|
|
198
215
|
}, [emoji, optimisticImageURL, fallback, fitToHeight, id, shortName]);
|
|
199
216
|
var handleOnLoadError = (0, _react.useCallback)(function (emojiId) {
|
|
217
|
+
var activeInteractionMetadata = getActiveInterationMetadata();
|
|
200
218
|
setImageLoadError(true);
|
|
201
219
|
(0, _analytics.sampledUfoRenderedEmoji)(emojiId).failure({
|
|
202
|
-
metadata: {
|
|
220
|
+
metadata: _objectSpread({
|
|
203
221
|
reason: 'load error',
|
|
204
222
|
source: 'ResourcedEmojiComponent',
|
|
205
223
|
emojiId: emojiId.id
|
|
206
|
-
}
|
|
224
|
+
}, activeInteractionMetadata)
|
|
207
225
|
});
|
|
208
226
|
}, []);
|
|
209
227
|
return /*#__PURE__*/_react.default.createElement(_EmojiCommonProvider.EmojiCommonProvider, {
|
|
@@ -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: "69.0.
|
|
23
|
+
packageVersion: "69.0.12"
|
|
24
24
|
}, attributes)
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
2
|
+
import { getActiveInteraction } from '@atlaskit/react-ufo/interaction-metrics';
|
|
2
3
|
import { defaultEmojiHeight } from '../../util/constants';
|
|
3
4
|
import { isImageRepresentation, isMediaRepresentation, isPromise } from '../../util/type-helpers';
|
|
4
5
|
import { UfoEmojiTimings } from '../../types';
|
|
@@ -33,13 +34,30 @@ export const ResourcedEmojiComponent = props => {
|
|
|
33
34
|
const [loaded, setLoaded] = useState(false);
|
|
34
35
|
const [imageLoadError, setImageLoadError] = useState(false);
|
|
35
36
|
const [resolvedEmojiProvider, setResolvedEmojiProvider] = useState();
|
|
37
|
+
const getActiveInterationMetadata = () => {
|
|
38
|
+
const activeInteraction = getActiveInteraction();
|
|
39
|
+
let activeInteractionMetadata = {};
|
|
40
|
+
if (activeInteraction) {
|
|
41
|
+
activeInteractionMetadata = {
|
|
42
|
+
...(activeInteraction.metaData['productInteractionName'] ? {
|
|
43
|
+
productInteractionName: activeInteraction.metaData['productInteractionName']
|
|
44
|
+
} : {}),
|
|
45
|
+
...(activeInteraction.metaData['productInteractionType'] ? {
|
|
46
|
+
productInteractionType: activeInteraction.metaData['productInteractionType']
|
|
47
|
+
} : {})
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
return activeInteractionMetadata;
|
|
51
|
+
};
|
|
36
52
|
const fetchOrGetEmoji = useCallback(async (_emojiProvider, emojiId, optimisticFetch = false) => {
|
|
37
53
|
if (!_emojiProvider.fetchByEmojiId) {
|
|
54
|
+
const activeInteractionMetadata = getActiveInterationMetadata();
|
|
38
55
|
setEmoji(undefined);
|
|
39
56
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
40
57
|
metadata: {
|
|
41
58
|
reason: 'missing fetchByEmojiId interface',
|
|
42
|
-
source: 'ResourcedEmojiComponent'
|
|
59
|
+
source: 'ResourcedEmojiComponent',
|
|
60
|
+
...activeInteractionMetadata
|
|
43
61
|
}
|
|
44
62
|
});
|
|
45
63
|
}
|
|
@@ -51,6 +69,7 @@ export const ResourcedEmojiComponent = props => {
|
|
|
51
69
|
setEmoji(emoji);
|
|
52
70
|
if (!emoji) {
|
|
53
71
|
// emoji is undefined
|
|
72
|
+
const activeInteractionMetadata = getActiveInterationMetadata();
|
|
54
73
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
55
74
|
metadata: {
|
|
56
75
|
reason: 'failed to find',
|
|
@@ -60,12 +79,14 @@ export const ResourcedEmojiComponent = props => {
|
|
|
60
79
|
id: emojiId.id,
|
|
61
80
|
shortName: emojiId.shortName
|
|
62
81
|
}
|
|
63
|
-
}
|
|
82
|
+
},
|
|
83
|
+
...activeInteractionMetadata
|
|
64
84
|
}
|
|
65
85
|
});
|
|
66
86
|
}
|
|
67
87
|
}).catch(() => {
|
|
68
88
|
setEmoji(undefined);
|
|
89
|
+
const activeInteractionMetadata = getActiveInterationMetadata();
|
|
69
90
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
70
91
|
metadata: {
|
|
71
92
|
reason: 'failed to load',
|
|
@@ -75,7 +96,8 @@ export const ResourcedEmojiComponent = props => {
|
|
|
75
96
|
id: emojiId.id,
|
|
76
97
|
shortName: emojiId.shortName
|
|
77
98
|
}
|
|
78
|
-
}
|
|
99
|
+
},
|
|
100
|
+
...activeInteractionMetadata
|
|
79
101
|
}
|
|
80
102
|
});
|
|
81
103
|
}).finally(() => {
|
|
@@ -153,12 +175,14 @@ export const ResourcedEmojiComponent = props => {
|
|
|
153
175
|
return emoji;
|
|
154
176
|
}, [emoji, optimisticImageURL, fallback, fitToHeight, id, shortName]);
|
|
155
177
|
const handleOnLoadError = useCallback(emojiId => {
|
|
178
|
+
const activeInteractionMetadata = getActiveInterationMetadata();
|
|
156
179
|
setImageLoadError(true);
|
|
157
180
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
158
181
|
metadata: {
|
|
159
182
|
reason: 'load error',
|
|
160
183
|
source: 'ResourcedEmojiComponent',
|
|
161
|
-
emojiId: emojiId.id
|
|
184
|
+
emojiId: emojiId.id,
|
|
185
|
+
...activeInteractionMetadata
|
|
162
186
|
}
|
|
163
187
|
});
|
|
164
188
|
}, []);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
5
|
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; }
|
|
5
6
|
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; }
|
|
6
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
7
7
|
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
8
|
+
import { getActiveInteraction } from '@atlaskit/react-ufo/interaction-metrics';
|
|
8
9
|
import { defaultEmojiHeight } from '../../util/constants';
|
|
9
10
|
import { isImageRepresentation, isMediaRepresentation, isPromise } from '../../util/type-helpers';
|
|
10
11
|
import { UfoEmojiTimings } from '../../types';
|
|
@@ -52,9 +53,22 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
|
|
|
52
53
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
53
54
|
resolvedEmojiProvider = _useState8[0],
|
|
54
55
|
setResolvedEmojiProvider = _useState8[1];
|
|
56
|
+
var getActiveInterationMetadata = function getActiveInterationMetadata() {
|
|
57
|
+
var activeInteraction = getActiveInteraction();
|
|
58
|
+
var activeInteractionMetadata = {};
|
|
59
|
+
if (activeInteraction) {
|
|
60
|
+
activeInteractionMetadata = _objectSpread(_objectSpread({}, activeInteraction.metaData['productInteractionName'] ? {
|
|
61
|
+
productInteractionName: activeInteraction.metaData['productInteractionName']
|
|
62
|
+
} : {}), activeInteraction.metaData['productInteractionType'] ? {
|
|
63
|
+
productInteractionType: activeInteraction.metaData['productInteractionType']
|
|
64
|
+
} : {});
|
|
65
|
+
}
|
|
66
|
+
return activeInteractionMetadata;
|
|
67
|
+
};
|
|
55
68
|
var fetchOrGetEmoji = useCallback( /*#__PURE__*/function () {
|
|
56
69
|
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_emojiProvider, emojiId) {
|
|
57
70
|
var optimisticFetch,
|
|
71
|
+
activeInteractionMetadata,
|
|
58
72
|
foundEmoji,
|
|
59
73
|
_args = arguments;
|
|
60
74
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
@@ -62,12 +76,13 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
|
|
|
62
76
|
case 0:
|
|
63
77
|
optimisticFetch = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
|
|
64
78
|
if (!_emojiProvider.fetchByEmojiId) {
|
|
79
|
+
activeInteractionMetadata = getActiveInterationMetadata();
|
|
65
80
|
setEmoji(undefined);
|
|
66
81
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
67
|
-
metadata: {
|
|
82
|
+
metadata: _objectSpread({
|
|
68
83
|
reason: 'missing fetchByEmojiId interface',
|
|
69
84
|
source: 'ResourcedEmojiComponent'
|
|
70
|
-
}
|
|
85
|
+
}, activeInteractionMetadata)
|
|
71
86
|
});
|
|
72
87
|
}
|
|
73
88
|
foundEmoji = _emojiProvider.fetchByEmojiId(emojiId, optimisticFetch);
|
|
@@ -78,8 +93,9 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
|
|
|
78
93
|
setEmoji(emoji);
|
|
79
94
|
if (!emoji) {
|
|
80
95
|
// emoji is undefined
|
|
96
|
+
var _activeInteractionMetadata = getActiveInterationMetadata();
|
|
81
97
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
82
|
-
metadata: {
|
|
98
|
+
metadata: _objectSpread({
|
|
83
99
|
reason: 'failed to find',
|
|
84
100
|
source: 'ResourcedEmojiComponent',
|
|
85
101
|
data: {
|
|
@@ -88,13 +104,14 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
|
|
|
88
104
|
shortName: emojiId.shortName
|
|
89
105
|
}
|
|
90
106
|
}
|
|
91
|
-
}
|
|
107
|
+
}, _activeInteractionMetadata)
|
|
92
108
|
});
|
|
93
109
|
}
|
|
94
110
|
}).catch(function () {
|
|
95
111
|
setEmoji(undefined);
|
|
112
|
+
var activeInteractionMetadata = getActiveInterationMetadata();
|
|
96
113
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
97
|
-
metadata: {
|
|
114
|
+
metadata: _objectSpread({
|
|
98
115
|
reason: 'failed to load',
|
|
99
116
|
source: 'ResourcedEmojiComponent',
|
|
100
117
|
data: {
|
|
@@ -103,7 +120,7 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
|
|
|
103
120
|
shortName: emojiId.shortName
|
|
104
121
|
}
|
|
105
122
|
}
|
|
106
|
-
}
|
|
123
|
+
}, activeInteractionMetadata)
|
|
107
124
|
});
|
|
108
125
|
}).finally(function () {
|
|
109
126
|
setLoaded(true);
|
|
@@ -187,13 +204,14 @@ export var ResourcedEmojiComponent = function ResourcedEmojiComponent(props) {
|
|
|
187
204
|
return emoji;
|
|
188
205
|
}, [emoji, optimisticImageURL, fallback, fitToHeight, id, shortName]);
|
|
189
206
|
var handleOnLoadError = useCallback(function (emojiId) {
|
|
207
|
+
var activeInteractionMetadata = getActiveInterationMetadata();
|
|
190
208
|
setImageLoadError(true);
|
|
191
209
|
sampledUfoRenderedEmoji(emojiId).failure({
|
|
192
|
-
metadata: {
|
|
210
|
+
metadata: _objectSpread({
|
|
193
211
|
reason: 'load error',
|
|
194
212
|
source: 'ResourcedEmojiComponent',
|
|
195
213
|
emojiId: emojiId.id
|
|
196
|
-
}
|
|
214
|
+
}, activeInteractionMetadata)
|
|
197
215
|
});
|
|
198
216
|
}, []);
|
|
199
217
|
return /*#__PURE__*/React.createElement(EmojiCommonProvider, {
|
|
@@ -13,7 +13,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
|
|
|
13
13
|
actionSubjectId: actionSubjectId,
|
|
14
14
|
attributes: _objectSpread({
|
|
15
15
|
packageName: "@atlaskit/emoji",
|
|
16
|
-
packageVersion: "69.0.
|
|
16
|
+
packageVersion: "69.0.12"
|
|
17
17
|
}, attributes)
|
|
18
18
|
};
|
|
19
19
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/emoji",
|
|
3
|
-
"version": "69.0.
|
|
3
|
+
"version": "69.0.12",
|
|
4
4
|
"description": "Fabric emoji React components",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -38,13 +38,14 @@
|
|
|
38
38
|
"@atlaskit/analytics-next": "^11.0.0",
|
|
39
39
|
"@atlaskit/button": "^23.0.0",
|
|
40
40
|
"@atlaskit/css": "^0.10.0",
|
|
41
|
-
"@atlaskit/heading": "^5.
|
|
41
|
+
"@atlaskit/heading": "^5.2.0",
|
|
42
42
|
"@atlaskit/icon": "^25.5.0",
|
|
43
43
|
"@atlaskit/media-client": "^32.0.0",
|
|
44
44
|
"@atlaskit/media-client-react": "^4.0.0",
|
|
45
45
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
46
46
|
"@atlaskit/platform-feature-flags-react": "^0.1.0",
|
|
47
|
-
"@atlaskit/primitives": "^14.
|
|
47
|
+
"@atlaskit/primitives": "^14.4.0",
|
|
48
|
+
"@atlaskit/react-ufo": "^3.4.0",
|
|
48
49
|
"@atlaskit/spinner": "^18.0.0",
|
|
49
50
|
"@atlaskit/textfield": "^8.0.0",
|
|
50
51
|
"@atlaskit/theme": "^18.0.0",
|